Peanut : Semaine 5 – peanutPage (1ere partie)

Bonjour à tous,

Cette semaine a permis d’assurer la création du premier « vrai » module pour peanut à savoir le module peanutPage. Ce module a été pour moi l’occasion de me mettre aux tests unitaires. Je dois dire que j’ai vraiment trouvé ça intéressant non-seulement pour les avantages « connus » des tests unitaires mais aussi d’un point de vue intellectuel. Mes tests ne sont pas forcément les plus complets pour le moment mais je pense que tout cela s’améliorera avec mon niveau.

Comme j’aborde le sujet, sachez que je vous encourage à vous lancer dans ce genre de projet. J’ai vraiment appris en 5 semaines un nombre conséquent de nouvelles « choses » et pourtant cela ne va pas encore très loin au niveau des fonctionnalités. Mais voila, cette espèce d’obligation de ne pas livrer à tous le monde quelque chose d’innutilisable aide forcément à faire de son mieux et à respecter les bonnes pratiques dans leur ensemble. Je ne vous parle même pas de l’auto-formation et de la documentation relative à tous ce travail même si cela ne se reflête pas de façon flagrante pour le moment dans le projet. Par contre, c’est une autre histoire au niveau professionnel avec des projets interne techniquement plus solide et abouti (notamment à travers un projet d’extranet dont je suis entrain de créer les bases).

Et je me demande vraiment pourquoi j’ai autant attendu pour me mettre à dev… :)

Ceci dit, revenons à nos moutons. Pour l’instant le module page est complet au niveau du backoffice (avec la personnalisation des formulaires) et des fonctions ont été créées dans le model (on dit merci au TDD). Un module frontend a été créé mais n’est pas du tout adapté au besoin. Cela viendra dans la prochaine itération.

J’ai un peu affiné mes itérations, un module devrait être livré en deux à trois itérations au minimum (mon emploi du temps profesionnel l’oblige). C’est en tout cas ce qui me parait le plus sage à l’heure actuelle car je mange vraiment beaucoup de documentation en ce moment (petite pensée pour les tests fonctionnels qui arrivent). Cela devrait donc donner quelque chose dans le genre :

  • Semaine 1 : Création du module, des fonctions de bases et de la partie administration
  • Semaine 2 : Création du frontend et si besoin, ajout de fonctions dans le model
  • Semaine 3 : Création du plugin correspondant au module

Au niveau des modules, je part à priori la dessus :

  • Création du module page
  • Création d’un module contact (avec un formulaire de contact type)
  • Création du module post (aka articles/catégories)
  • Création du module SEO

Une fois ces modules créés :

  • Refactorisation du model et des différentes fonctions afin d’optimiser le tout au niveau technique
  • Ajout de fonctionnalités type AJAX pour le backoffice

Et enfin, création de nouveaux modules selon le même principe : commentaires, FAQ… Le projet sera ouvert à ce niveau. Il sera bien évidemment possible de créer son propre plugin pour améliorer peanut. Il faudra également que l’on parle à un moment de la tournure du projet au niveaux des fonctionnalités, il y aura une question ouverte :) .

Nous pourrons donc considérer que peanut sera d’ici deux semaines utilisable en tant que CMS lite (par exemple 5 pages et un formulaire de contact) même si cela reviendra à sortir la grosse artillerie pour un petit besoin. Une fois les modules post/SEO créé, je m’occuperais de faire tourner mon blog sur peanut histoire d’avoir une démo « live ».

Pour terminer, un petit lien vers un article du blog de n1k0 qui m’a été utile pour ne pas utiliser getInstance dans la gestion I18n des formulaires du backoffice. Un blog incontournable à ajouter à ses flux RSS.




Theme Forest

Comments

No comments yet.

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.