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.




Theme Forest

Comments

  1. Alexandre mai 25th

    Comment Arrow

    Bon théoriquement, j’ai du corriger mes boulettes ;)


  2. Jérémy mai 30th

    Comment Arrow

    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.


  3. Alexandre mai 30th

    Comment Arrow

    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 :)


  4. Jérémy mai 30th

    Comment Arrow

    Les modules catégories / posts seront bientôt dispo sur le git ?


  5. Alexandre mai 30th

    Comment Arrow

    Oui, je suis entrain d’y travailler :)


  6. Jérémy mai 30th

    Comment Arrow

    OK, J’attends avec impatience la suite :)


  7. Jérémy mai 30th

    Comment Arrow

    Tiens juste en passant, y’a-t-il la possibilité de recevoir des alertes mails lorsque tu post un nouveau billet ?

    Merci!


  8. bibinou juin 2nd

    Comment Arrow

    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


  9. Jan Santos décembre 24th

    Comment Arrow

    Oui, je suis entrain d’y travailler :)


Add Yours

  • Author Avatar

    YOU


Comment Arrow



About Author

Alexandre

Tenancier de ce blog, je suis avant tout un fan du web et de ses technologies. Si vous voulez en savoir plus, rendez-vous sur la page à propos.