Quelques nouvelles du projet

juin 6th, 2009 par Blaise Leave a reply »

Bonjour,

Cela faisait longtemps qu’on ne vous avait pas un peu informé du déroulement des opérations. Cet article est là pour corriger la chose. Dans cet article, pour changer un peu par rapport au dernier, je vais parler du développement (enfin c’est plutôt Adrien qui va vous en parler :D ), mais aussi du contenu, des tutoriels que je rédige.

Toujours plus de contenu

Développer ou remplir ?

Toutes les personnes qui ont un site web entre leurs mains penseront la même chose : un site sans contenu, c’est comme une assiette sans nourriture, ça n’amène à rien, ce n’est pas attractif.

Nous avons fait l’erreur avec la version 1 de Bloonet de préférer un développement « durable » plutôt qu’un gros contenu. Eh bien oui, c’est vrai : un site qui tourne pas rond c’est comme un site sans contenu, ça n’attire pas. Si le visiteur doit patienter 1 minute pour avoir une page, il va vite laisser tomber. Et même si nous (enfin plutôt Adrien à l’époque) étions partis dans cet objectif qu’il fallait privilégier le développement du site plutôt que le contenu, il faut avouer qu’au final, on se retrouvait avec pas grand chose. Adrien avait commencé à s’améliorer en PHP avec Bloonet, mais n’était pas encore très bon. Le niveau de code n’était donc pas sensationnel, l’optimisation laissait à désirer :-°

La rédaction, toute une aventure

Bref, revenons au contenu de la V2. Comme vous le savez sûrement, c’est moi qui m’en occupe. Je suis actuellement en train de rédiger un tutoriel (très complet, ne vous inquiétez pas, vous trouverez votre bonheur) sur Mozilla Firefox, le navigateur Internet très utilisé. Même si il est déjà en ligne, il reste accessible uniquement par les Admins ! niak ! Tout cela pour vous dire qu’il est déjà fait à 85% (voire plus), que chaque tutoriel me prend du temps (enfin ce n’est que le premier) car je veux des tutoriels digne de ce nom !

Enfin, ce n’est pas vraiment là que je veux en venir, même si je souhaitais vous informer de mon parcours de ce côté là. J’aimerais votre avis. Même si ça va me prendre du temps et que tout ne sera sûrement pas fait à la mise en ligne du site, j’ai pour objectif personnel de faire un tutoriel sur tous (ou presque) les navigateurs Internet, sur les principaux éditeurs de codes source, sur les plus grands logiciels de développement. Il faut savoir que ces tutoriels serviront principalement aux développeurs, mais aussi aux personnes ne développent pas (pour les navigateurs par exemple).

J’aimerais donc avoir votre avis sur quels tutoriels rédiger. Donner moi une liste des tutoriels (pas trop longue quand même pour le moment) que vous aimeriez bien avoir sur Boonet. Petite information, il n’y aura pas de tutoriel pour expliquer comment coder (le Site du Zéro remplit déjà parfaitement cette fonction) mais seulement pour expliquer avec quoi coder (quels logiciels autrement dit).

A vos clavier ! C’est parti.

Quelques news du développement

C’est mon tour, mais je ne vais pas vous parler du développement précisément, mais plutôt des choix que nous avons du effectuer, certains durs, d’autre absolument pas !

Optimisation, ou ergonomie ?

L’optimisation et l’ergonomie étant mes principaux objectifs, j’essaye de les remplir au maximum. Le problème, c’est que ce sont 2 objectifs totalement opposés pour le serveur, un peu moins pour le client.

Je m’explique : lorsque vous cherchez à optimiser, vous cherchez à faire le moins de calculs possibles, le moins d’actions et voire même de faire le plus léger possible. Au contraire, lorsque vous favorisez l’ergonomie, vous cherchez à faire un maximum de fonctions pour simplifier le travail de tous vos clients. Légère opposition entre les deux, n’est-ce pas ?

Vous comprendrez donc qu’il n’y a pas de solution miracle, cependant il y a quand même une solution, aussi logique soit-elle : l’optimisation de l’ergonomie. Optimisez au maximum toutes les fonctions, ce sera moins gourmand pour le serveur et donc plus rapide.

La solution de l’optimisation extrême n’est absolument pas la bonne, un site web rapide, mais affreux et très difficile à utiliser et à comprendre sera peu visité. La solution de l’extrême ergonomie n’en n’est pas une non plus, c’est l’erreur de la v1 d’ailleurs. Un site beau dans l’ensemble, des tonnes de fonctions inutiles donc indispensables, mais peu optimisées..

Mais c’est normal, sans avoir dans l’idée de me vanter, j’ai énormément progressé depuis la v1 de Bloonet. Ce qui ne peut m’être que bénéfique, c’est d’ailleurs pour ça que je recommence entièrement, car le code de la v1 était relativement mal pensé, et sale. Là j’en suis à l’opposé, un code logique, bien pensé et propre, pour une facilité de réutilisation.

Ajax inside

Dans un site, c’est toujours plus agréable de ne pas avoir à recharger la page pour avoir les informations principales, et pourtant c’est le cas sur beaucoup de sites aujourd’hui. Il y aurait plusieurs raisons à ça, comme par exemple la peur de surcharger le serveur, qui n’a pas lieu d’être dans une utilisation raisonnable.

Bloonet (v2) sera donc accompagné par de l’Ajax, mais de quelle manière ? Pour ceux qui ne le savent pas, il y a pas mal de solutions différentes pour utiliser de l’Ajax. Le choix a été plutôt rapide de mon côté, après avoir réfléchi sur notre utilisation d’Ajax, j’ai choisi la méthode du XMLHttpRequest. Certainement pas la plus répandue, mais c’était celle qui convenait le plus à notre utilisation, tant du côté rapidité, que du côté fonctionnalités, qui sont réellement nombreuses !

Made of PHP & MySQL

Pas de changement de ce côté là, nous continuons comme nous l’avons toujours fait. Mais cela pourrait changer dans pas si longtemps que ça, pas trop du côté de MySQL, mais pour PHP.

Et pour cause : PHP prends pas mal de retard sur une bonne partie des autres langages, du côté des fonctionnalités mais aussi et surtout du côté de la légèreté, de la rapidité, et du laxisme du language.

Oui du laxisme ! Pourquoi ? Je sais pas si vous codez en PHP, mais vous devez savoir que rares sont les erreurs qui bloquent complètement le langage (E_PARSE, et E_FATAL). C’est la cause de pas mal de failles. Bref, le Ruby devrait donc bientôt faire partie de nos connaissances.

Using Talus’ TPL

J’en avais déjà fait allusion je crois, Bloonet v2 utilisera un moteur de templates. Je n’ai pas mis longtemps à choisir, n’en ayant entendu que du bien, je me suis directement tourné vers Talus’ TPL, un très bon moteur rapide, fonctionnel, et optimisé !

Si j’ai choisi d’en utiliser un pour la première fois depuis que je fais du dev (et ça fait un moment !) , c’est que cette fois je souhaite rendre possible, et faciliter le travail par équipe ainsi que la traduction. Les traducteurs n’ayant donc uniquement qu’à modifier les TPL, et les développeurs les sources, ce devrait être assez simple de ne pas gâcher le travail des autres =) .

Mais je m’adresse à vous, les développeurs qui sont sceptiques d’utiliser un tel outil, en fait, c’est simple, mais compliqué à la fois parce qu’il faut parfois faire des combinaisons assez foireuses pour arriver au résultat voulu, mais c’est normal. D’ailleurs ça pimente un peu le dev, et ça, c’est drôle !

Je pense que c’est tout, à bientôt pour de nouvelles informations bien plus amusantes cette fois !

Advertisement

7 comments

  1. Tulifer dit :

    Ah le ruby, peut de personne y pense à celui ci.

  2. Adrien dit :

    Effectivement, c’est pourtant un très bon langage =)

  3. scientifix94 dit :

    @Adrien Perso je préfère encore PHP mais j’apprends actuellement django… Va faire un tour, tu y trouveras peut être quelque chose de génial pour toi… http://www.django-fr.org

  4. Adrien dit :

    @scientifix94 Python n’est pas trop le genre de language utilisé par les sites web, et il faut quand même une assez grosse communauté qui l’utilise dans ce chemin là pour pouvoir avoir de l’aide ;) . Le Ruby convient déjà plus =)

  5. Xarch dit :

    Si j’étais vous, j’attendrais Ruby 2, parce que les performances de Ruby par rapport à PHP…
    Django est vraiment sympa en tout cas. Et il est utilisé par les site web ! Google l’utilise (beaucoup) !

  6. Sithran dit :

    J’aimerais souligner que les motifs présentés quant au choix d’un moteur de templates sont mauvais : si vous voulez une sépération du fond et de la forme, utilisez MVC, si vous voulez du multilangue, utilisez Gettext.

    Ensuite, pour le choix de Ruby, je me demande si c’est bel et bien réfléchis.
    Vous comptez déployer ça comment ? Parce que, surtout pour le type de site que vous voulez faire, et au vu de vos connaissances, il semblerait bien plus approprié pour vous d’utiliser le couple Python/Django, bien que Python suffise seul, c’est tellement mieux de pouvoir bénéficier d’une architecture déjà prête, et bon, pour Django, c’est pas la communauté qui manque.

Laisser un commentaire