Peanut : Semaine 6 – peanutPage (fin et bonus)
Bonjour à tous,
Pour cette sixième semaine, la fin de la version 1.0 du module peanutPage. Ce module est donc fonctionnel et vous pouvez d’ors et déjà l’utiliser. Un petit passage en intégration (sur un vrai-faux site) m’à même permis d’ajouter quelques fonctions bien utiles pour le commun des mortels.
Avec ce module, le plugin csDoctrineActAsSortable a été ajouté ainsi que le plugin sfCKEditorPlugin.
Quelques ajouts xHTML/CSS ont été faits afin d’améliorer un peu le tout au niveau graphique et rendre le backend un peu plus sexy.
Bonus, le module contact a également été ajouté. Rien de bien exceptionnel à ce niveau puisque le formulaire de contact met tout simplement en place le tutoriel symfony forms in action. J’ai tout de même créé un petit validateur au passage baptisé sfValidatorSimpleCaptcha permettant de valider un captcha simple (sur la base d’un addition avec deux opérateurs).
Le module contact est donc également en version 1.0
Le plus important étant que maintenant, vous pouvez utiliser peanut pour créer un site simple de quelques pages même si cela reviendra à utiliser une grosse berline pour aller acheter votre pain.
Le wiki
J’ai ajouté quelques pages au wiki github afin de vous donner quelques informations sur la suite et le programme en perspective. Si vous repérez des bugs mais que vous ne voulez pas forcément proposer une solution, n’hésitez pas à utiliser la gestion de ticket github. Tout est bon à prendre pour moi avec ce projet.
Modification de l’utilisation de Git
J’ai décidé d’utiliser les submodules git afin de gérer les plugins dans le projet. Les submodules Git sont un peu l’équivalent des externals de SVN. Concrètement cela permet d’ajouter des projets git à l’intérieur même d’un superprojet git et donc de pouvoir faciliter les updates.
Dans notre cas, cela permettra de gérer les plugins du projet en offrant à tous la possibilité de télécharger directement le plugin (ou proposer des modifications) sur le repository associé.
Deux submodules ont été ajoutés pour le moment, symfony et mon fork de sfDoctrineGuardPlugin.
Oups!
J’ai fait une « petite » erreur de manipulation avec mes branches Git suite à l’utilisation des submodules. Git a en effet quelques problèmes pour gérer l’ajout de submodule sur une branche lors d’un checkout sur une branche sans submodules (d’après ce que j’ai compris). Résultat des courses, une fausse manip en essayant de faire fonctionner le tout et ma branche master disparait. Il m’a donc fallu la recréer et… Il faut forger pour être forgeron
Un cours de Git m’attends vendredi soir pour régler les petits problèmes associés à cette erreur (rien de méchant). J’aurais donc tendance à vous conseiller d’attendre samedi pour faire une mise à jour (ou alors de ne pas oublier de créer un répertoire « cache » à la racine du projet. Au passage, peanut sera tagué en version 1 et un site demo sera mis en ligne dans la semaine.
Modification de la roadmap
Etant donné que j’ai besoin d’utiliser peanut pour un projet, je vais un peu modifier la roadmap annoncé la semaine dernière. Le projet va donc évoluer de la façon suivante :
- Création du module peanutCategories
- Création du module peanutPosts
- Création du plugin peanutPosts
- Création du module peanutComments
- Création du plugin peanutComments
- Création du module peanutSEO
- Création du plugin peanutSEO
Si tout se passe bien, le tout devrait prendre de 3 à 4 itérations pour les v1 de ses modules/plugins.
Je passerais ensuite au refactoring/amélioration/debug de l’ensemble des modules. Chacun de ses modules (à travers leurs plugins) auront leurs propres repository Git et seront intégrés sous la forme de submodules dans le projet principal. Cela permettra au passage de pouvoir profiter d’un ou plusieurs plugins de son choix sans utiliser la base (même si certains plugins comme le module peanutSEO seront dépendants d’autres plugins).
Ce sera tout pour cette semaine !
A la semaine prochaine
Et pour rappel, vous pouvez récupérer le projet sur Github.
- Peanut : Semaine 7 – peanutPosts
- Peanut : Semaine 5 – peanutPage (1ere partie)
- Lancement du projet peanut
- sfDoctrineActAsSeoablePlugin et peanutSeoPlugin disponibles sur Github
- Premier push pour peanut






Alexandre mai 25th
Bon théoriquement, j’ai du corriger mes boulettes
Jérémy mai 30th
Salut, Je viens de tester ton code, tout marche trés bien.
Je vais suivre de trés près ton développement car il me sera bien utile !
Félicitations, et bon courage pour la suite.
Si jamais tu a des questions sur symfony, je commence à avoir un peu d’expérience, alors n’hésite pas
Actuellement, je bosse sur un projet symfony qui va bientôt se concrétiser par une version béta dans les semaines à venir.
Alexandre mai 30th
Bonjour Jérémy,
Merci pour ton feedback, si tu es intéressé, je te conseille effectivement de bien suivre le développement de ce projet. La création du module catégories/posts m’a fait découvrir certaines choses qui vont amener une refactorisation plus importante que je ne l’aurais penser pour le module page afin de proposer deux alternatives CMS.
J’espère que le projet te sera utile
Jérémy mai 30th
Les modules catégories / posts seront bientôt dispo sur le git ?
Alexandre mai 30th
Oui, je suis entrain d’y travailler
Jérémy mai 30th
OK, J’attends avec impatience la suite
Jérémy mai 30th
Tiens juste en passant, y’a-t-il la possibilité de recevoir des alertes mails lorsque tu post un nouveau billet ?
Merci!
bibinou juin 2nd
Le feed utilise déjà Feedburner, le monsieur du blog devrait ajouter la souscription par mail !
http://www.google.com/support/feedburner/bin/answer.py?answer=78982&cbid=-1cj165mc53qs8&src=cb&lev=answer
Jan Santos décembre 24th
Oui, je suis entrain d’y travailler
Add Yours
YOU