En route vers le SdZv4

Le Site du Zéro a maintenant 10 ans. Les choses ont beaucoup évolué depuis 1999 sur le Web : on ne conçoit plus du tout des sites web de la même manière. J’ai eu la chance d’observer cette évolution au fil des années et d’en faire profiter progressivement le Site du Zéro.

Route

Que de changements entre la toute première version en HTML 4 lancée un après-midi alors au collège, et l’actuelle version 3 qui sert de base à un site fréquenté par 2 millions de visiteurs uniques par mois ! L’évolution majeure du site, comme certains d’entre vous le savent sûrement, est arrivée avec cette fameuse « v3 » qui a été développée en grande partie par Pierre Dubuc (karamilo) aujourd’hui mon associé, ainsi que d’autres personnes qui y ont participé de près ou de loin et qu’on n’oublie pas : winzou, Duael, IAN, Venom, zaz et bien d’autres.

Depuis le lancement de la version 3 en novembre 2005 (lors d’un après-midi pluvieux depuis un appartement miteux à Londres), le site n’a jamais cessé d’évoluer bien au contraire. Les modules du site se sont sans cesse développés, ont été améliorés, transformés, et il en est allé de même pour le design du site. Ce sont pour la plupart des évolutions réalisées par une poignée de bénévoles courageux (que nous ne remercierons jamais assez) mais aussi depuis 2 ans par les développeurs en stage chez Simple IT ainsi que par Romain qui est notre premier développeur salarié depuis fin novembre 2009.

Bref, comme vous le voyez, tout ceci a une longue histoire et les choses se sont accélérées pour nous récemment. A tel point qu’il y a généralement 2 à 3 développeurs en continu sur le site (ce qui reste très inférieur à nos besoins, mais cela va évoluer). Or, le travail en commun avec différentes façons de développer finit par montrer progressivement ses limites.

Le SdZ-framework de la v3

C’est Pierre qui a posé les bases du framework actuel dès 2003 (le lancement de la v3 ayant pris 2 ans à l’époque). Sa structure MVC et sa conception intelligente qui se focalise sur les performances ont permis au site de supporter l’évolution fulgurante du site ces dernières années. Nous sommes en effet passés de 3-4000 visiteurs / jour à 70 000 visiteurs / jour, toujours avec le même framework de base. Parvenir à supporter 2 millions de visiteurs par mois avec seulement 2 serveurs en pratique (un frontal web et un sql) tient parfois du miracle, mais c’est pourtant ce que nous faisons.

Or, le monde du Web a évolué rapidement et on entend parler notamment des framework RAD (Rapid Application Development) que sont :

  • Ruby on Rails (un des pionniers)
  • Django
  • Symfony
  • CakePHP
  • etc.

Ces frameworks font la même chose que notre framework actuel : ils gèrent toute la base du site et délèguent les tâches spécifiques à des modules. Ils ont comme particularité d’être plus lourds et plus lents en général car ils rajoutent plusieurs couches d’abstraction, ce qui fait qu’on peut dire sans prendre trop de risques que le sdzframework est pour nous le plus rapide. Normal, il est spécifiquement adapté au SdZ.

Cependant, tous ces frameworks ont aussi de nombreux points forts pour lesquels le sdz-framework a clairement un train de retard. Parmi eux, les bonnes pratiques de développement tels que les tests unitaires et fonctionnels, des outils avancés de débuggage, des systèmes relationnel-objet (ORM), des systèmes de migration de données, de tâches, l’intégration native d’outils Javascript et AJAX, etc.

Si nous avons implémenté progressivement une partie de ces choses-là au fil du temps, le tout manque de cohérence par rapport aux frameworks connus. Il faut aussi compter le temps de formation des nouveaux stagiaires et employés à notre framework qui n’est pas toujours évident à comprendre au début. Et, bien que ce ne soit pas un prérequis, notre framework actuel n’est pas orienté objet et ne peut pas bénéficier de fonctionnalités telle que l’héritage (je rappelle que la v3 a été développée à l’époque de PHP 4, donc toute POO était exclue).

Evoluer vers une v4 pour plus de clarté

Nous ne fonçons pas forcément dans un mur avec la v3 maintenant, mais il est clair que si un jour nous arrivons à une dizaine de développeurs dans nos locaux voire plus (ce qui est probable), il risque d’être un peu tard pour se rendre compte que nos outils deviennent trop limités ou trop délicats à maintenir.

Nous avons donc entamé il y a quelques mois un début de réflexion autour de la possibilité de faire évoluer le site et de le porter sous un framework connu. Les intérêts de passer à ce type de framework open-source sont nombreux :

  • Il ne sera plus nécessaire de maintenir les fonctionnalités de base du site (système de sessions, de comptes, de cache, de requêtes ajax) et on pourra se concentrer sur ce qui est spécifique au site et donc faire évoluer plus rapidement le site.
  • Le framework étant connu et particulièrement documenté, nous n’aurons pas à maintenir de documentation propre au framework.
  • Par conséquent, la durée de formation des nouveaux développeurs sera réduite et nous pourrons annoncer dans nos offres de stage / emploi qu’il est nécessaire de connaître Symfony.
  • On disposera d’outils puissants pour retracer les erreurs et même les anticiper, ce qui limitera considérablement les risques de régression.

L’idée centrale est de se concentrer sur ce qu’on appelle le métier, c’est-à-dire sur ce qui est propre au site, tout en se reposant sur une architecture solide en laquelle nous avons confiance.

Quand vous décorez l’intérieur de votre maison, vous n’avez pas besoin de penser à la charge que doivent supporter les murs porteurs ou à la meilleure façon de plâtrer du béton ? Eh bien avec un site web, c’est exactement la même chose. On préfère passer du temps à aménager l’intérieur plutôt qu’à se préoccuper de choses qui ne sont pas notre métier. ;o)

Pourquoi Symfony ?

Symfony

Les frameworks de qualité sont nombreux, j’en ai cité quelques-uns plus haut. Il fallait faire un choix là-dedans, en considérant :

  • La « facilité » de migration (toute relative car ça reste complexe)
  • La communauté et la pérennité du projet
  • Son caractère open-source, un élément indispensable à nos yeux pour pouvoir « hacker » le framework au besoin et probablement proposer des retours pour l’améliorer.

Les frameworks tels que Ruby on Rails et Django ont donc été exclus d’office, car ils sont basés sur d’autres langages (Ruby et Python) ce qui aurait demandé une charge de travail beaucoup trop importante.

Parmi les frameworks PHP, c’est Symfony que nous avons retenu pour la qualité de sa documentation, son tutoriel Jobeet (et nous on aime ça les bons tutos !), sa pérennité (le projet est activement développé et maintenu) et ses références (Dailymotion est en train de passer à Symfony, forcément ça motive et ça encourage !).

La (très) délicate migration

Il ne suffit pas d’avoir la volonté, il faut encore s’organiser. A ce titre, j’ai eu la chance de rencontrer le génial vincent1870 (pardon pour tes chevilles vincent) qui est un des principaux développeurs du site des zCorrecteurs. Il se trouve qu’il s’intéresse beaucoup à Symfony et qu’il a depuis quelques temps une bonne vue d’ensemble du sdzframework. Il a ces derniers temps fait un travail remarquable pour adapter Symfony à nos besoins, trouver une méthode de migration réaliste et progressive et documenter cette méthode. Depuis peu, Romain l’a rejoint pour l’aider à adapter certaines sections spécifiques tels que les crons.

Beaucoup de choses ont déjà été faites sur une branche Git de développement du site. A l’heure actuelle, nous arrivons à poser les premières bases de Symfony et à le coupler au sdzframework. En effet, il est inconcevable de geler le développement du site pendant qu’on le porte vers Symfony (ce qui représente beaucoup de travail). Nous allons donc le faire module par module, progressivement, en gelant les modules un à un.

La migration vers Symfony prendra forcément du temps, on l’estime entre 8 et 12 mois, ce qui est conséquent. Nous pensons mettre en production les premières bases vers la fin de ce mois-ci. Le SdZ semblera être exactement le même, si ce n’est que c’est Symfony qui traitera la requête et qui la routera soit vers l’ancien framework si le module n’a pas été porté, soit vers Symfony lui-même si celui-ci a été porté. Un des premiers modules à être porté devrait être le livre d’or (choisi en raison de son extrême simplicité :-° ).

Quels changements ?

Pour les visiteurs, il n’y aura aucun changement au début (à part peut-être quelques curieux bugs de temps en temps, on ne pourra pas y échapper ^^ ). A terme, ils verront de nouvelles fonctionnalités plus régulièrement, le tout sera plus cohérent et il y aura moins de bugs.

Pour les développeurs, le changement sera énorme au niveau de la structure du code. A terme, le développement du site devrait être beaucoup plus rapide, beaucoup plus facile et beaucoup plus sûr. Mais nous n’en sommes pas encore là. ;o)

66 Comment
  1. Hello,

    Pourquoi pas, pour un truc aussi gros… Mais qu’en sera-t-il des vieux scripts, qui étaient +/- attendus en open source, genre les TPL ? Ce pourrait être interessant de les ouvrir une fois qu’ils ne seront plus vraiment utilisés…

    Et sinon, puisqu’il y un gros framework derrière, laisser les sources du site +/- ouvertes (sans les infos compromettantes of course), ou toujours la tactique (très bof) de l’obscurité ?

  2. Le seul gros intérêt du framework actuel c’est son moteur de templates (qu’on va conserver). Le reste n’est juste vraiment pas intéressant ou trop spécifique au SdZ pour avoir un intérêt pour d’autres personnes.

    Il y a de gros fantasmes derrière notre framework actuel mais il est tellement spécifique qu’il ne servirait à rien en d’autres mains. En revanche, hacker symfony et l’améliorer et proposer ces améliorations en open-source, ça ça a du sens. :)

  3. Très bien le billet, ça marque bien l’évolution du site en effet ! C’est un chantier d’envergure assez énorme, mais une fois que tout ça sera fini je serai bien plus tranquille. Enfin le plus délicat reste la première mise en prod, car c’est là qu’on se rendra compte au bout de quelques jours si on n’a pas trop de bugs inattendus, et surtout pas de bugs trop bloquants.

    Et en effet s’il y a moyen de libérer de petites améliorations (genre les librairies que j’ai dû écrire pour étendre les fonctionnalités de symfony) sous forme de plugin, il n’y a absolument aucun problème de mon côté, même si la décision finale ne me revient pas. Et de toute façon il y a le temps, le code commence tout juste à se stabiliser.

  4. Donc en gros, toujours sur l’obscurité (moi perso il ne m’interesse pas trop le framework en lui-même, ce qui m’interessait c’était le moteur de tpl en fait).

    Tant pis, et bonne chance pour l’adaptation ^^

  5. Superbe choix pour le framework. Et vous ne serrez pas déçu!

    Je travaille avec celui-ci depuis 6 mois en milieu professionnel et c’est un réel plus. Que se soit au niveau des plus-values de la société pour le client ou plus simplement pour l’interactivité entre développeurs internes et externes.

  6. Un gros boulot qui vous attend là 0o je vous souhaites donc bon courage à toute l’équipe! :)
    Sinon pour votre ancien framework pourquoi ne pas en faire une version standalone si c’est possible bien sur (a moins que le code soit vraiment trop spécifique au sdz actuel)

    A+

  7. vincent1870 et talus > en effet, le moteur de template est le seul intérêt du code actuel que l’on conserve. On verra s’il se révèle suffisamment stable et rapide sous symfony, et pourquoi pas on pourra éventuellement le diffuser sous forme de plugin. Mais nous n’en sommes pas encore là, il nous faut plus de recul avec symfony.

  8. Ce serait en effet très bien que le SdZ soit migré vers Symfony !
    Sinon petite répétition dans le billet : « ce qui est spécifique au site et donc faire évoluer plus rapidement le site. ». :)

  9. De toute les manières, ce n’est pas comme si intégrer un moteur de templates n’était pas intégrable dans Symfony (qui offre un contrôle sur tous les élements(DI)). C’est vrai que ça permet de développer plus vite (rien qu’avec les 800 plugins, par exemple :°).

    Vous allez prendre quel ORM :p ?

  10. Juste une petite incohérence quand tu dis que vous pourrez mettre Symfony dans les annonces de recrutement avant d’annoncer le choix de ce framework.

    Ça ne présage que du bon en tout cas cette annonce.

  11. Nami-Doc : on utilise Doctrine. Personnellement quand j’ai commencé à découvrir symfony, Propel était l’ORM principal. Mais c’était il y a quelque temps mine de rien (le temps du tutoriel askeet), et c’était plus par curiosité qu’autre chose. Quand je m’y suis réellement remis quelque temps après, Doctrine était l’ORM recommandé. C’est le seul que j’ai donc réellement utilisé et j’en suis satisfait. Il constitue à mes yeux une solution plus pérenne que Propel au niveau de l’intégration symfony.

    Et en effet la base impressionnante de plugins est vraiment utile, je lorgne déjà sur un ou deux ajouts intéressants. Même si dans le tas, tu as en un certain nombre qui sont restés sur de vieilles versions de symfony (1.2 notamment), c’est dommage.

  12. Eeeh ben il était temps!

    Avant de parler de la migration j’aimerais faire remarquer que le tutoriel cité existe même en version Française.

    En ce qui concerne le choix de Symphony, qu’est ce qui vous l’a fait choisir parmi ces tant d’autres framworks par exemple CodeIgniter qui est bien trop présente et je dirais beaucoup plus que Symphony(et je n’abuse rien) ?

    pourquoi je disais qu’il était temps ? spécialement par ce que, en comparant les sites francophones à ceux de nos amis anglo-saxons, on trouve que la qualité des tutoriels traités, la qualité des designs, des systèmes et framworks utilisés sont bien meilleurs!

    c’est pas que je critique le SdZ, je fais partie des lecteurs les plus anciens du site même si je ne suis pas vraiment actif sur les forums, et j’avoue qu’il m’a beaucoup aidé au début. Mais l’évolution de son contenu ne s’est pas vraiment améliorée.

    une proposition ? oui j’en ai, des exemples qui pourront remédier à ce problème. par exemple:

    * Attirer des auteur à écrire des articles en les payant sur leurs travaux comme font: http://tutsplus.com/ ou http://www.smashingmagazine.com/

    * lancer des concours bien plus souvent que vous le faites (en faite elle est passée où la rubrique des concours ?)

    j’espère que mon commentaire sera prit en compte.
    Cordialement.

  13. Talus : j’ai vu ça aujourd’hui oui. Ça m’a l’air d’être vraiment un renouveau pour symfony, un vent de fraicheur agréable. Mais oui c’est à exclure car ça ne sera stable qu’en fin d’année. De plus, symfony 1.4 est en LTS jusqu’à fin 2012, donc on a le temps de voir venir !

  14. Merci pour la maj à Talus au passage. Commencer à adapter maintenant, ce sera une source de soucis en moins au passage… Mais c’est tout à fait compréhensible ceci dit. :D

  15. Symfony c’est pas plus ou moins mort ? Lors d’une conférence PHP en 2009, je me souviens que les devs et utilisateurs de Symfony tiraient la tronche…
    C’est d’ailleurs pour cela que j’ai choisi le Zend Framework :)

  16. Symfony est un très bon framework je penses que vous avez fait le bon choix et je doit dire que je ne m’y attendais pas. J’ai travaillé sur la version 1.0 de symfony, mais j’ai pas eu le temps de m’y former correctement donc je code un peu crado dessus, et faut je me mette sur la 1.4 maintenant.

    Bref je raconte ma vie mais au final la vraie question que je me poses, est étant donné la refonte du tuto php et la prévision d’un livre sur ce même thème pour 2010 (cf dossier presse) envisage tu de faire une partie sur symfony dans le livre ou sur le site ? :p

    En tout cas, bonne chance et bon courage pour la migration et la mise en prod.

  17. Baptiste, Symfony, c’est tout ce qu’il y a de plus vivant. Peut-être fais tu référence à des framework php4, tels que CakePHP par exemple, qui pour l’instant, on en entend plus tellement parlé…

  18. « Le seul gros intérêt du framework actuel c’est son moteur de templates (qu’on va conserver). Le reste n’est juste vraiment pas intéressant ou trop spécifique au SdZ pour avoir un intérêt pour d’autres personnes. »

    Ce qui m’intéresse c’est la structure du framework, comment fonctionne votre système de numéro pour les actions ? C’est pas possible d’expliquer cela en gros, mais asser clair ?

    Merci

  19. Et niveau performances, vous n’avez pas peur de plomber vos serveurs?
    Les mauvaises langues associent souvent symphony au terme « usine à gaz »

  20. 12 mois de travail avec tout ceux qui travailleront dessus, ça doit être effectivement énorme O_o
    Enfin on espère que tout se passera correctement et bonne continuation!

  21. Bonjour,

    C’est une excellente nouvelle pour le SdZ.
    Je suis aussi un peu surpris que vous n’ayez pas choisi le Zend Framework.

    Dans tous les cas, on en avait déjà parlé pendant mon stage et je pense que c’est une excellente décision, surtout que vous avez un CDI à plein temps pour suivre la migration.

    Je suis content de voir la progression fulgurante du SdZ sur ces derniers mois. ça bouge et ça fait plaisir de voir des décisions ambitieuses comme celles là.

    Bon courage et bonne continuation.

  22. On va le répéter, (c’est Symfony pas symphony déjà), symfony est un des frameworks les plus légers. (Faites donc des tests avec le Zend à 100%, ou Cake …) Y’a des gros sites dessus (répétition: DailyMotion par exemple).

    @Adrien13 > Bah ça veut quand même dire tout refaire :p

  23. Jordan, Adrien93 : quand M@teo dit 12 mois, c’est du début de la migration du premier module à la fin du dernier. Tout a été conçu justement pour continuer à travailler en parallèle sur les deux versions. On peut donc imaginer très facilement qu’un développeur travaille sur la migration d’un module, pendant que les autres bossent sur les nouvelles fonctions. On ne va pas freezer tout le développement pendant 1 an, c’est juste pas possible !

    Jonier : la problématique a été intégrée dans la migration, mais ça ne sera dans tous les cas pas disponible lors de la première mise en prod, c’est certain ça.

  24. Qu’est ce qui vous a fait pencher vers Symfony plutot que Zend ou encore Cake ?
    Ca m’interesse car je suis en train de peser le pour et le contre entre les 2 premiers pour un site.

  25. hello!

    Pourquoi ne metteriez-vous pas le SdZ open-source (ou une partie du site)? Beaucoup de gens se demandent « Comment c’est fait à l’intérieur » et pas que sur ce site. Ça serait intéressant, ça pourrait servir d’exemple à ceux qui font du PHP, exemple d’architecture de site web, etc…
    Les zéros pourraient vous aider aussi si vous le souhaitez. Vous avez toujours privilégiez le open-source et le libre, pourquoi pas en faire de même avec le site? En plus il y a très peu de sites web qui le font.
    Ceci pourrait aussi servir pour le tuto sur php, genre une partie « Exemples de sites » et vous présentez un peu ça… Car, vous devez le savoir (en particulier Mathieu) que lorsqu’on finit votre tutoriel, on connait le php et on sait l’utiliser mais c’est l’organisation qui fait défaut. Une personne qui vient de finir ce tuto ne pourra pas « bien » coder. Trop de requêtes inutiles au serveur (base de données ou autres), intégration de code php dans une page html, etc… J’ai connu des développeurs ou l’organisation n’était pas là et ceci joue sur les ressources, le site, etc…

    Bref, si vous montrez le code source du site, c’est à titre d’exemple, et autres raisons. Comme en maths on montre notre démarche (pourquoi si et ça, etc…). La grandeur du code source (plus de 50 000 lignes? C’est à dire combien de fichiers?) n’aura pas d’effet car il y a des projets open-source ou le projet est très grand.

    Sur ce, bonne chance dans votre intégration! Je suis tout de même un peu triste que le SdZ ne sera plus fait « maison » et qu’il doit exploiter des outils « tout fait »…

    Au plaisir!

  26. C’est sans doute une bonne chose mais il serait intéressant, par la même occasion, d’ouvrir le code du sdzframework ainsi que son moteur de template (karatemplate si je me souviens bien). Depuis le temps que c’est demandé…

    Bonne continuation.

  27. @Talus > CakePHP est toujours en activité, seulement le nombre de développeurs est plus restreint, et ils ont récemment changé tout une tripotée de leurs outils qui visiblement n’étaient pas adaptés.
    La 1.3 est en marche (PHP4/5) et la 2.0 aussi (PHP5+).

  28. @Kissifrot > Pour la version 2 : PHP 5.3+ il me semble, même.

    @Nami > Symfony, avec un grand S, c’est pour la version 2.0. Avant c’était symfony. :)

    @Manulion > +1 pour l’ouverture (et c’est ce que je dis depuis le début)… Que ce soit spécifique au site ou pas, on s’en fout, ca donne un bon exemple et c’est pas plus mal (après faut garder les trucs __vraiment__ confidentiel à part, of course)…

  29. Pour le choix symfony / Zend, c’est sans doute de ma faute car je ne connais réellement que symfony. J’ai un aperçu de Zend, mais je n’accroche pas à sa philosophie. Subjectif donc, les deux sont de grands frameworks utilisés dans le monde professionnel. De plus Mathieu s’intéressait aussi quelque peu à symfony, donc on est tombés d’accord.

    En ce qui concerne CakePHP par exemple, je les trouve (personnellement) trop amateurs et pas encore prêts pour le monde de l’entreprise. La version stable de CakePHP tourne encore sous PHP4 ce qui fait qu’elle passe à côté d’un bon nombre de fonctionnalités de PHP 5.x. Et il lui manque un certain nombre de choses dont symfony dispose (à moins que je ne sois passé à côté).

  30. @Talus > Oui, je sais, j’ai passé les 24 dernières heures à lire des slides et autres du sfLive10 ;).

    CakePHP est encore … trop jeune, trop amateur comme l’a dit vincent1870: pas de génération CRUD, un ORM plus que basique, pas vraiment de fonctionnalitées …

    Pour le ZendFramework, c’est dit souvent, c’est plus des librairies plus-ou-moins liées les unes avec les autres …

  31. Salut, je voudrais savoir si le parseur de zCode sera lui aussi repensé, car visiblement il est assez anarchique, et ce serait dommage de se priver de certaines améliorations pour un prétexte type « le parseur est trop fragile, on y touche pas ! ».

    Sinon +1 pour open-sourciser le sdz-framework.

    Merci à toute l’équipe ;)

  32. Je crois que le parseur a été commenté il y a environ un mois (j’insiste sur le « je crois ») et certains bugs corrigés, donc il doit déjà être moins archaïque.

  33. Dans le staff technique du SDZ, il n’y a que des programmeurs ?
    Si c’est le cas, faudrait peut être penser a embaucher un SysAdmin/DBA non ? Histoire d’optimiser un peut tout le reste ;)

  34. Bonjour,

    Pour le parseur de zCode ce n’est pas qu’il soit fragile, c’est que c’est complexe. Il y’a beaucoup de traitement interne. Le recoder prendrais beaucoup plus de temps que corriger les erreurs.
    Pour ce qui est du code source du SdZ il n’y a aucun intérêt pour nous de le publier. Et pour vous non plus puisqu’il s’agit d’un projet Symfony comme tous les projets Symfony.
    Je n’engage que moi bien-sûr, ce n’est pas moi qui prendrais des décisions mais en tous cas je ne suis pas partisans de cette idée, de plus les cours du SdZ vous expliquent justement ce qu’il y a derrière un site web.

  35. « Pour le parseur de zCode ce n’est pas qu’il soit fragile, c’est que c’est complexe. Il y’a beaucoup de traitement interne. Le recoder prendrais beaucoup plus de temps que corriger les erreurs. »

    J’ai jamais compris ça.
    Parce que basiquement, ce « parseur » peut être résumé à une validation XML et une simple XSLT (et un passage par pygments pour colorier le code).
    Ou alors j’ai loupé un épisode ?

  36. Le parseur est codé de façon brute avec DOM. Il est efficace mais son code est vraiment très complexe et long. Cela est dû notamment à la gestion de plusieurs langues qui est nécessaire, mais rend le code pas toujours très explicite.

    Pour la libération, je suis d’accord avec Romain. La libération de l’ancien framework n’apporterait rien, car le code est dépassé d’un point de vue de PHP 5 et des techniques actuelles. Pour le « nouveau » code, bah c’est un projet symfony classique. Je suis plutôt d’accord avec Mathieu que publier tel ou tel point sous forme de plugin peut être intéressant si cela peut resservir à d’autres, par contre publier le site entier, bof.

  37. « Pour ce qui est du code source du SdZ il n’y a aucun intérêt pour nous de le publier. Et pour vous non plus puisqu’il s’agit d’un projet Symfony comme tous les projets Symfony.
    Je n’engage que moi bien-sûr, ce n’est pas moi qui prendrais des décisions mais en tous cas je ne suis pas partisans de cette idée, de plus les cours du SdZ vous expliquent justement ce qu’il y a derrière un site web. »

    Alors montrer le code de la version 3? Il y a un grand intérêt. Au niveau de l’architecture du site, son organisation. Cela servirait à titre d’exemple d’organisation de site web. Parce qu’il y a des gens qui font de mauvaises architectures. Ceci pourrait même faire l’objet d’un chapitre php: « Bien organiser son site! », présentation de questions à se poser lorsqu’on crée les dossiers, et présentation de votre architecture, pourquoi avez-vous fait ci et ça?…
    Il y a aussi l’intérêt de voir comment vous organisez vos serveur (aller plus en profondeur que ce que vous avez dit dans différentes news… mais ça va un peu loin peut-être…).

    C’est du Symphony, ça serait un bon exemple pour montrer ce qu’on peut faire avec!

    Bref, je ne fais que dire que vous pouvez vous servir du code de v3 à titre d’exemple, pour les curieux, ou pour appuyer les connaissances php du tuto, pour montrer que ce que vous faites c’est pas de la gnognote :p , etc…

  38. J’avais oublié le multi-langues sur le zCode, et effectivement si c’est fait avec DOM… (je ne sais pas quel serait le plus performant entre DOM et XSLT pour ce genre de choses, tiens…)

    Sinon je vais faire tache, mais je vois pas non plus l’utilité de libérer le code du site du zéro.
    Parce que c’est pas un truc que la communauté pourra réutiliser ni améliorer.
    Pire, le code actuel étant « dépassé », ça va donner de mauvais exemples.

    Or, certains (beaucoup trop de gens, et pas que des débutants) prennent tout ce qui vient du Site du Zéro comme « la Technique Ultime qu’il faut Absolument Copier ».
    Cf les cas de votre hébergeur et de votre système de versionning.

  39. SpaceFox je suis totalement d’accord avec toi. Si c’est pour voir des copies conformes du sdz. Parce que je me rappel de la version avant new wave. Tout les sites des zéro avaient la même structure que le SDZ de l’époque. Donc si c’est pour avoir en plus le moteur qui va avec c’est pas la peine.

    Et pour l’argument de l’exemple, d’une part comme tu l’a dis le code est aparament dépassé et c’est comme dire qu’un débutant peut s’inspirer en regardant le code d’un framework tel que symphony ou (pire) d’un forum phpBB.

  40. « Pire, le code actuel étant « dépassé », ça va donner de mauvais exemples. »

    Exactement ! Il ne faut pas perdre de vue que le site a été développé dans un autre contexte : sous PHP 4 et sans supposer un fort travail en équipe plus tard. Donc on ne pourrais que vous dire de ne pas suivre cet exemple… d’ailleurs si on change aujourd’hui pour Symfony c’est qu’il y a de bonnes raisons, on ne peut que vous conseiller la même chose :)

  41. je viens de découvrir que je suis l’un des 70 000 schtroumpfs qui s’éclairent de vos lumières tutorielles.
    Je ne désespère pas de comprendre, un jour, chaque mot des posts ci-dessus (c;)
    Un énorme merci pour tout ce boulot et votre générosité à partager vos connaissances. A charge de revanche.
    Steph (prothésiculteur)

  42. Je suis content de savoir que le nouveau site du zéro sera propulsé par le framework symfony. Lorsque vous aurez migré une bonne partie du site, je serai intéressé d’avoir un retour sur la tenue en charge, la démarche de migration, les soucis que vous avez rencontrés… si c’est possible ;)

  43. Excellent choix. Je suis actuellement en plein apprentissage de Symfony et dois avouer qu’il est très complet. Ce ne sera que gain de temps pour les développeurs, vous vous en rendrez compte bien vite. :)

  44. je viens de connaitre votre site sdz sur le journal la voix du nord etant debutante je n’ai pas tres bien compris pouvez vous car je ne suis patres caiée mettez moi sur la voie s.v.p merçi

  45. Salut à vous les simple-itiens :)

    je viens de voir que le livre d’or n’est pas en ligne, vous rencontrez bcp de soucis pour la migration ?

    Bon courage pour la suite en tout cas.

    Franck

  46. Je n’avais pas réagi précédemment, mais le karatemplate est-il toujours en PHP4 ou l’avez-vous migré vers une version plus récente de PHP5 ?

  47. « karatemplate » est en PHP4 objet, autrement dit pas du « vrai objet ».
    On y touchera probablement pas car ce moteur est maintenant ultra stable et rapide et ne demande aucune maintenance, contrairement à d’autres parties du framework. C’est d’ailleurs pour cela que symfony arrive !

  48. Bonsoir,

    Je suis curieux de suivre l’évolution du SDZ sur un framework public, j’aurais cependant une question à titre personnel : qu’est-ce qui vous a rebuté quant à l’utilisation de CakePHP si vous vous y êtes penchés ? Etant utilisateur courant de ce FW il est bon de recevoir des avis négatifs sur son outil afin de l’améliorer du fait que je ne connais que ce FW là.

    Merci d’avance

  49. En fait je ne crois pas qu’on ait forcément beaucoup parlé d’autres frameworks. Faudrait que je relise tout les logs, mais de mémoire Mathieu m’avait parlé de son envie d’améliorer un peu le framework, et de symfony, et il se trouve que je le connaissais un peu, j’en ai dit du bien, et on a commencé à voir s’il pouvait correspondre à nos besoins. Il se trouve qu’il convenait.

    À titre tout à fait personnel, je trouve que CakePHP, s’il est séduisant, souffre de quelques défauts. Déjà, le fait qu’il supporte encore PHP4 est assez rédhibitoire, ça force une couche de compatibilité par forcément agréable, et le prive d’une bonne dose de fonctionnalités. Je sais qu’une version full PHP5 est en développement, mais pour un utilisateur on s’y perd, il doit y avoir trois branches en développement en parallèle. Après, je vais peut-être dire une bêtise, mais il me semble moins « entreprise-ready » que symfony ou Zend, qui pensent aux entreprises. Le framework est vraiment très utilisé, y compris par de très gros clients, et il y a un support à destination des entreprises en cas de gros souci. Ce n’est peut-être pas le plus gênant, mais ça peut jouer. ;)

  50. CakePHP charge ~ tous les fichiers non ? enfin j’avais lu des trucs étonnant sûr :°. Enfin bref, symfony c’est stabilité rapiditié « plugin-inidité » (:-°) et des trucs sympas. Y’a un CakeGuardPlugin ? Un truc du genre ? CakeForum ? Un truc du genre ? Des (très très) gros sites basés dessus ? Enfin c’est pas contre Cake, ça peut rester sympa, mais effectivement c’est vachement moins entreprise-ready.

  51. [je re-poste par ce que mon commentaire avait prit 3h pour s’afficher ici]

    Eeeh ben il était temps!

    Avant de parler de la migration j’aimerais faire remarquer que le tutoriel cité existe même en version Française.

    En ce qui concerne le choix de Symphony, qu’est ce qui vous l’a fait choisir parmi ces tant d’autres framworks par exemple CodeIgniter qui est bien trop présente et je dirais beaucoup plus que Symphony(et je n’abuse rien) ?

    pourquoi je disais qu’il était temps ? spécialement par ce que, en comparant les sites francophones à ceux de nos amis anglo-saxons, on trouve que la qualité des tutoriels traités, la qualité des designs, des systèmes et framworks utilisés sont bien meilleurs!

    c’est pas que je critique le SdZ, je fais partie des lecteurs les plus anciens du site même si je ne suis pas vraiment actif sur les forums, et j’avoue qu’il m’a beaucoup aidé au début. Mais l’évolution de son contenu ne s’est pas vraiment améliorée.

    une proposition ? oui j’en ai, des exemples qui pourront remédier à ce problème. par exemple:

    * Attirer des auteur à écrire des articles en les payant sur leurs travaux comme font: http://tutsplus.com/ ou http://www.smashingmagazine.com/

    * lancer des concours bien plus souvent que vous le faites (en faite elle est passée où la rubrique des concours ?)

    j’espère que mon commentaire sera prit en compte.
    Cordialement.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Plus d'articles sur ce sujet