mardi 6 septembre 2011

MVC et cp_engine


Aujourd’hui j’ai bien envie de vous parler de notre façon de travailler. Étant une toute petite équipe, nous n’avons pas de temps à perdre avec la relecture des lignes de codes faites la veille, nous cherchons plutôt une solution viable pour minimiser le temps passé à déboguer. Pour cela, rien de tels que découper l’application en plusieurs parties distinctes.
C’est là que le concept de MVC intervient. Il s’agit de l’acronyme de Model – View – Controler. En gros nous avons trois partie ayant chaqu’une un rôle très spécifique.
La partie Model se charge des données. Dans ces classes nous écrivons les différentes requêtes qui seront utile au site. Aussi bien les SELECT que les INSERT, UPDATE et DELETE. Personnellement, là je me lâche un peu, car pas toutes les requêtes écrites ne seront utilisé. Mais si lors d’une prochaines mise à jours le besoins se fait sentir, pas besoin de revenir sur le Model !
Les Vues, comme son nom laisse supposer, gère le rendu final. Dans ces fichiers, on trouvera tout le code HTML bien connu de tous. C’est ici qu’on appel les images, fichiers multimédia… Le Javascript et autres langages permettant de fluidifier le site sont aussi traités dans cette partie.
Il nous reste donc à voir le Contrôleur. Pour faire simple, c’est dans ces scripts que l’on va dire qu’on utilise tel Model pour récupérer les informations et les afficher avec tel Vue. Tout simplement.
Notre Framework baptisé cp_engine, utilise se procédé. Afin de nous permettre de faire des sites très complexes en un minimum de temps, et donc au prix le moins élevé possible, nous avons rajouté quelques petits bonus.
Une classe nous permet de « généré à la volé » des requêtes SQL. Ca nous permet de créer des requêtes très rapidement et en toute simplicité. Il y a aussi un gain au niveau de la relecture du code car celui-ci est beaucoup moins dense et plus lisible. Avec notre moteur de Template, nous ne raisonnons pas en terme de pages mais de bloques. Les bloques peuvent s’imbriquer, se superposer… pour donner des pages.
La relecture est facile car il est plus aisé de cibler le bloque à retravailler et celui-ci ne fera que quelques lignes. De plus, il vie très bien l’insertion de code php ou de script divers et varié, ce qui permet d’avoir des contrôleurs les plus légers possible. Et il est très rare qu’on ai à revenir dessus pour des raisons de débogage ou de mises à jour.
On est très loin de ces sites web écris avec des scripts à plus de 10000 lignes, indigestes et illisibles.
Au niveau des plugins, le cp_engine s'enrichie à chaque nouveau projet. Nous avons à disposition et en ne faisant appel qu’à une fonction à un très puissant éditeur de texte pour les « text area », un calendrier pour les champs date
C’est dans cette partie qu’on ajoute toutes les librairies dont on a besoin comme par exemple JQuery, ainsi que des scripts utile comme des outils de vérifications et qualifications des données…
Voilà pour ce bref topo sur le codage web vue par CustomProject !
A très bientôt pour d’autres aventures…

Aucun commentaire:

Enregistrer un commentaire