Une nouvelle année pleine d'espoirs

Comme tous les ans, j'écris un article sur l'évolution du projet Reflectiv ainsi qu'une petite réflexion personnelle. Cela fait maintenant 3 ans que c'est le cas (2008, 2009, 2010) et c'est un rite que j'aime prendre, qui permet de voir ce qui a été accomplit et ce qu'il reste à faire.

En commençant par un petit compte rendu sur l'année 2010, l'ensemble est mitigé: Nos trois principaux projets (Skual, GSpanel et le framework Catapult) n'ont pas très bien évolué. Skual et GSpanel toujours au stade de projet et le framework n'a pas vraiment été retravaillé depuis sa première sortie. J'ai tenté de le refaire de fond en comble, mais rien d'officiel n'en est sorti. Mais tout n'est pas perdu, j'ai l'idée de base pour un framework performant et complet, reste plus qu'à lier toutes les briques ensembles.

Durant cette année, nous avons aussi mis en place un nouveau projet, pendant la fuite de pétrole géré par BP. Le projet n'a pas duré très longtemps et n'a pas vraiment eu l'intéressement escompté. Tant pis.

De manière générale, le projet Reflectiv à tourné quelque peu au ralenti, principalement dû à mon stage de fin d'étude qui m'a pris beaucoup de temps et de disponibilité.

Mais tout n'est pas noir, notre projet Black-Frames se porte à merveille, avec plus de 800 visiteurs en moyenne et un pic prometteur à 1003 le 23 décembre!

Media_httpblog1reflec_bwtam

Ensuite, le début de cette année s'annonce original puisque je me suis mis officiellement à mon compte, à temps plein. Cela signifie que je vais pouvoir vraiment m'investir dans nos projets. Mais qu'en est-il ?

Tout d'abord, mon fil rouge n'aura pas vraiment de rapport avec Reflectiv, donc je ne vais pas m'étendre ici, mais c'est LE projet sur lequel je travaillerais en priorité.

En parallèle, voici les 4 projets que nous allons tenter de mettre en place durant l'année 2011 :

  • Une refonte de Reflectiv, avec l'externalisation du blog sur un service dédié
  • Un redesign de Black-Frames, entre autres afin d'accueillir vraiment les images des visiteurs
  • Probablement travailler sur Catapult
  • Avec Antoine, on envisage de faire 1 design par semaine, avec HTML/CSS/JS, qui seront publiés sur ThemeForest (au moins au début). Si la vente marche très bien, pourquoi pas ouvrir une boutique à côté

Voilà pour ce premier article de l'année. Ce sera probablement le dernier sur cette plateforme, avant la migration vers la nouvelle version de Reflectiv. Nous n'avons pas encore de date quant à cette évolution, espérons juste que ce soit rapidement :)

Tous nos vœux de réussite pour cette nouvelle année, dans tous les domaines !

Filed under  //  2011   Development   GSPanel   General   Projects   Think2Gather   black-frames   nouvelle année   projets   reflectiv   skual  
Posted by Cyril Nicodème 

6 techniques pour éviter les blocages

Ce coup-ci, c'est le blog de Zurb qui nous donne 6 conseils pour éviter les "barrages routiers" lors de la réalisation de site web, bien qu'à mon avis, ses conseils s'adressent à tout type de projets.

Dans cette liste, nous avons :

  1. Pas de deadline claire
  2. Perfectionnisme
  3. Objectifs de lancement mal définis
  4. Mauvaise gestion de planning projet
  5. Un manque d'ingénieurie
  6. Aucune interface client

En plus, l'article est bien détaillé et agréable à lire ! :)

Filed under  //  Advices   Development   General   Projects   barrage   client   deadline   gestion   goal   interface   objectifs   perfection   planning   projet  
Posted by Cyril Nicodème 

Critiquer une page web en moins de 30 secondes

L'article du jour nous viens du blog de Zurb, apportant 5 techniques permettant de critiquer une page web rapidement, simplement, et sans outils.

Les 5 techniques proposées sont :

  1. Analysez ou vos yeux vont au chargement de la page.
  2. Plissez les yeux, afin de voir ce qui ressort le plus de votre page.
  3. Scannez la page diagonalement, partant d'en haut à gauche vers en bas à droite. (bien sûr, l'inverse s'applique dans certains pays).
  4. L'astuce des "5 trucs" : regardez la page 5 secondes, puis fermez les yeux et indiquez les 5 poins qui vous ont le plus marqué.
  5. Trouvez les intersections, les endroits qui attirent vos yeux.

Pour le 3ième point, je ne pourrai vous conseiller que le très pratique outil proposé par google : BrowserSize

Filed under  //  Advices   Development   Scripts   browsersize   critique   scan   web  
Posted by Cyril Nicodème 

5 erreurs de base sur l'utilisabilité que vous devriez éviter

L'article du jour nous viens du blog Echoenduring, sur l'utilisabilité (il n'y a pas réellement de traduction pour "Usability").

Le post dresse une liste de 5 points à éviter lorsque vous réalisez des sites webs. Certains sont évidents, d'autres moins, et c'est toujours bon de faire un petit rappel !

  1. Devinez ou le menu se cache ?
  2. Menu déroulant non fonctionnels.
  3. Page de contact introuvables
  4. Pas de Favicon ou de titre
  5. Navigation possible uniquement via le fil d'Ariane (Breadcrumb)

Filed under  //  Development   breakdown   contact   eviter   favicon   liste   menu   navigation   page   points  
Posted by Cyril Nicodème 

[Frameworks] Un Controller ne doit pas avoir de logique métier!

Il existe de nombreuses pratiques pour développer du code propre, pérenne et accessible. Nommer la liste ici serait une perte de temps.

Parmi toutes ces lois, techniques et conseilles, la liste des 13 plus mauvaises pratiques appliquées à Rails soulève un point intéressant que l'on ne retrouve pas forcément dans les sites à base de Frameworks :

Chubby Controllers Must Die

There should be no business logic in a controller.

Read that again.

There should be no business logic in a controller.

Controllers do two things: they take data from the params or session and send it to the model. The MODEL performs all the necessary logic. Then, the controller does the other thing that's completely necessary: it decides what should be shown to the user. That's it. The sum total of a controller action is two steps long.

  1. Send information to the model.
  2. Decide what to display.
If you are doing ANYTHING ELSE in your action, you are doing it in the wrong place. The end.

Le problème n'est pas forcément le développeur, qui ignore cette pratique, mais aussi les créateurs du framework, qui, par l'absence de composants adaptés, force le développeur à mettre du code métier dans ses controlleurs.

J'apprécie particulièrement cette remarque qui soulève un point fondamental sur l'usage des frameworks et prouve que leur utilisation n'est pas le stade ultime en matière de développement efficace.

Ce n'est pas parce que vous utilisez un framework que vous faites les choses bien !

Filed under  //  Development   Projects   chubby   controller   framework   practices   techniques   tips  
Posted by Cyril Nicodème 

Question de conception, GSPanel

La réalisation de GSPanel avance tranquillement, et je bloque actuellement sur un point, donc j'aimerai votre avis.

Lorsqu'un utilisateur aura ajouté une machine, il devra ajouter des jeux. Au niveau structurel, la page d'ajout proposera au tout début une simple liste déroulante, contenant tous les jeux proposés. Une fois que l'utilisateur aura fait son choix, le vrai formulaire apparaîtra avec les valeurs adéquates (nom du jeu, version, dossier d'installation, etc).

Le problème est au niveau des jeux. A la base, je pensais que le mieux était de faire un fichier xml par jeux. Ce fichier contiendrait les informations suivantes :

  • Nom (du jeu)
  • Version
  • Logo
  • Chemin du script d'installation (sur nos serevurs)
  • Liste de paramètres pour le script
  • Chemin d'exécution du jeu
  • Paramètres pour lancer le jeu (tel que port, ip, etc)

(d'ailleurs, si j'en oublie, n'hésitez pas !)

Le problème, est que pour afficher une liste de 50 jeux, il faudra parcourir 50 fichiers, et en plus ouvrir celui que l'utilisateur aura sélectionné pour récupérer les autres données, et cela à chaque fois que l'utilisateur affichera la page "Ajouter".

Ça peux vite devenir lourd !

Du coup, j'aurais deux solutions, mais j'aimerai vos avis (quelle solution serait la meilleure ? (d'autres propositions sont permises)) :

  1. Faire un master file xml, qui contiendrait la liste des fichiers xml avec le nom du jeu (la liste affichera le nom et aura comme clée le fichier).
    Le problème avec cette méthode est qu'il faut mettre à jour le master file à chaque fois qu'un nouveau jeu est ajouté.
  2. L'autre solution consisterait à tout mettre en base. On oublie complètement le chargement des fichiers xml dans ce cas. Là, le problème est que cette implémentation impose la création de trois nouvelles tables : les informations du jeu, les paramètres du script d'installation et les paramètres du jeu.

D'après vous, quelle serait la meilleure méthode, laquelle utiliseriez-vous ? Serait-ce la 1 ? la 2 ? ou une autre carrément plus adaptée ? :)

Merci de me laisser vos avis !

Filed under  //  Development   GSPanel   Projects   Python   avis   base   installation   jeu   liste   paramètres   question   script   table   xml  
Posted by Cyril Nicodème 

Netbeans : Only using space tabs for python

I like to use tab as separator for all my files (html/css/js) but it is recommended to use space tabulation for python files.

With netbeans, the problem is if you go in the preferences :

Tools > Options > Editor > Formatting

you can see the parameter "Expand tabs to spaces" when you are using "Language : All Languages" and "Category : Tabs and Indents" (Of course, I didn't checked this one in order to have tabs and not space).

But, now if you choose Python as Language, there is no "Tabs and Indents" category.

So by default, you had to choose to expand tabs to space for all your files in order to have the python files to work.

But I've found the solution to just using space for python files, and tab for the rest.

All you have to do is to add the following lines to the file

[Netbeans Installed Folder]/.netbeans/6.8/config/Editors/text/x-python/Preferences/org-netbeans-modules-editor-settings-CustomPreferences.xml
<entry javaType="java.lang.String" name="code-template-expand-key" xml:space="preserve">
        <value><![CDATA[TAB]]></value>
    </entry>
    <entry javaType="java.lang.Boolean" name="expand-tabs" xml:space="preserve">
        <value><![CDATA[true]]></value>
    </entry>

Restart your editors and that's it ! You can now have space for python and tabs for the rest of your script files !

Hope this helps !

Filed under  //  Development   Netbeans 6.8   Projects   Python   expand   indent   size   space   tabs  
Posted by Cyril Nicodème 

Soyez prêt pour HTML 5

Bon, je sais qu'avant de pouvoir utiliser HTML5 à fond, il va déjà falloir ne plus utiliser ie6, mais je ne peux pas corriger ce problème ! Il faut voir avec ces grosses sociétés ultra conservatrice qui utilisent le prétexte du "ca marchera plus" ... (bref je m'égare)

De toute façon, si vous pouvez le vérifier, vous verrez que nos sites ne fonctionnent pas pour ie6 (et pan dans tes dents). On va pas se prendre la tête a réaliser un site pour ie6, ce serait une excuse de plus pour ces entreprises, de garder papy.

Notre intérêt ici est de vous proposer la découverte du futur bijou du web (oui je sais, j'en fait beaucoup ;)), j'ai nommé l'HTML5. Si en plus, on peux y glisser quelques notions de CSS3, pourquoi pas !

J'ai gardé au court du temps plusieurs liens d'articles qui traitent d'HTML5, que ce soit en général ou traitant d'une partie spécifique. La liste est très longue, et couvre de nombreux domaines. Comme toujours, le meilleur conseil que je puisse vous donner est de pratiquer. Vous en apprendrez beaucoup plus !

Alors, j'ai essayé de ne garder que le meilleur des articles, afin de vous proposer la crème en terme d'information, que j'ai classé par thème. J'espère que vous trouverez ces liens utiles :)

Enjoy !

Read the rest of this post »

Filed under  //  Development   General   articles   canvas   css3   database   field   forms   html5   liste   ressources   storage   videos  
Posted by Cyril Nicodème 

GSPanel - Coming soon en page d'accueil

Nous venons de mettre à jour la page d'accueil de notre projet GSPanel.

Cette page affiche maintenant un très joli "Coming soon".

Pour faire suite à notre précédent article sur le sujet, la deadline définitive est prévue pour début juin.

Nous espérons respecter cette limite et vous proposer un produit de qualité dans les temps impartis ! (qui a dit "impossible" ? ;)).

Une version alpha est cependant prévue pour la fin mars (30/03). Nous contacterons les personnes ayant déjà renseignée leur email pour leur proposer de tester l'application.

Rendez-vous donc fin mars !

Filed under  //  Development   GSPanel   Projects   coming   newsletter   release   soon  
Posted by Cyril Nicodème 

Amélioration du script d'ajout d'image sur Black-Frames

Le script cron que l'on utilisais pour mettre à jour les images sur Black-Frames souffrait d'un bug gênant.

En effet, lorsqu'il n'y avait plus d'images à afficher, le script envoyait quand même un tweet vide et moche, du genre :

http://black-frames.net/i- - :

C'est maintenant chose corrigée. Lorsqu'il n'y a plus d'images dans le système de queue, le script prends une ancienne image affichée et la remet au goût du jour, ce afin de toujours proposer des images.

Certains vont penser que du coup, le site semblera un peu répétitif. Nous avons une base de plus de 1500 images. Si on part du principe que l'on affiche 5 images par jours, vous verrez la même image au bout de 300 jours.

Mais cela ne veux pas dire que nous n'ajouterons plus de nouvelles images ! Nous avons encore de côté 300 images à ajouter (il faut juste trouver le temps de le faire) et nous récupérons régulièrement de nouvelles images !

Ce script nous permettra juste d'effectuer une mise à jour constante du site afin de vous proposer des images régulièrement !

Filed under  //  Development   Php   Projects   Scripts   black-frames   bug   cron   tweet   twitter  
Posted by Cyril Nicodème