Accueil
Histoire d'un Composant Joomla
Je m'appelle Marc Letouzé, né en 1968 à Toulon. Je me suis intéressé très tôt à l'informatique, plutôt côté développement. En fin de 3ème, j’intègre une école de formation technique par concours, et entre à la DCN de Cherbourg, à la Production des Sous-marins nucléaire Nouvelle Génération (SNG).
Dans le cadre des programmes liés à l'export de petits Sous-marins Classique (Agosta90B), j’intègre Management Des Projets pendant 6 ans. Je développe 2 applications spécifiques pour le Transfert de Techno vers le Pakistan, sur le suivi des pièces de rechange, dans et hors garantie.
Le développement d'applications me conduit jusqu'au Département Informatique de DCN Cherbourg ou je développe pendant quelques années. VB6, Form2000, Shell, SQL, et un peu de web pour l'Intranet ...
Dans le même temps, le premier FAI (AOL) arrive dans la commune en 1995. Mon épouse est éleveur de Husky de Sibérie, une passion que nous partageons entre l'élevage des chiots, les entraînements de l'attelage sur terre, et les courses internationales de traîneau sur neige.
Les sites Internet que nous parcourons me donnent envie d'avoir le mien. J'achète mon premier livre sur le HTML, Javascript, puis le PHP/MySQL révolutionne la mise en page. Notre site ' liubov.net ' évolue, devient plus dynamique ...
Un collègue me fait découvrir le CMS Joomla! Début 2008. Whaooo ! je me rappelle encore de cette découverte qui m'a scotché (à mon fauteuil)! Nuits blanches, et migration de mon CMS "maison" vers Joomla! 1.5.4 de l'époque et le superbe Template RT_Vertigo08 qui fusionne magnifiquement avec notre passion. J'adhére à l'AFUJ cette là.
Je développe mes premiers composants chez DCNS pour des besoins spécifiques de portail d'entreprise et courant 2009, je rationalise toutes mes idées dans la première version de l'extension: JBreeding Manager. Un composant de gestion d'élevage multi-race installable sous Joomla! Bien évidemment, avant de me lancer dans l'écriture, j'ai longtemps cherché. La JED, Google, rien, le néant absolu dans ce secteur d'activité! Il faut croire que les Éleveurs-Développeurs-Utilisateurs de Joomla! ne sont pas légion.
Passionnés par l'élevage, ce composant a beaucoup contribué à faire connaître notre travail de sélection à travers notre site. Beaucoup sont figés alors que l'actualité d'un bon élevage est quasi quotidienne. Les fiches des Reproducteurs, le suivi de leur palmarès. Les portées actuelles et attendues. Les Yearling, jeunes espoirs de l'année, et enfin les chiots du moment et leur statut (dispo, option, réservé, vendu) et les séances photo hebdomadaires. A la maison, tout le monde a pris le composant en main, et c'est la bagarre pour changer le statut d'un chiot lors du processus de réservation! C'est cette réactivité que nos clients apprécient. Aujourd’hui les huskies 'Liubov' sont connus dans le monde entier, nos chiots s'envolent partout; USA, Russie, Europe et beaucoup restent en France bien sûr. Puis tout s'est accéléré. J1.5, J2.5 et toutes ces étapes intermédiaires que le code doit suivre pour rester propre et compatible. Cette période m'a pris pas mal de temps et a beaucoup bridé la créativité du moment. Je me suis posé des questions sur le choix de Joomla! à ce moment là.
Enfin, il y eu une formidable rencontre. Je m’apprêtais à ré-écrire complément mon extension pour la portabilité sous Joomla 3.x qui se profilait. J'avais plein de nouvelles idées, des fonctionnalités qui allaient nous être très utiles et qui contribueraient à enrichir le site.
A force de recherche sur les générateurs de Composant, je suis tombé sur le service en ligne j-cook.pro de Jocelyn Huard. L'adhésion fut instantanée pour moi tant cela correspondait à mes attentes. L'ouverture d'un compte gratuit pour se faire la main, prendre le temps de comprendre la chronologie du Builder, la simplicité du Drag&Drop, et enfin tester sa création dans la SandBox. C'est un environnement de test de votre composant, qui évolue au même rythme que les versions de Joomla. En très peu de temps, je suis arrivé au bout de mon nouveau projet, surtout coté gestion des données (BackEnd). Pour le Frontend, il suffit de construire ses Layouts (Pages) au plus prés de ce que l'on veut présenter. Il ne reste plus qu'a télécharger le Package (Voir Abonnement) pour l'installer sur votre environnement de développement.
La suite du travail, c'est juste la mise en forme des vues pour le rendu HTML à votre convenance. C'est ce qui me plaît beaucoup dans ce concept. On arrive avec un composant évolutif et fonctionnel à 90%, sans avoir écrit une seule ligne de code. Toute la structure du code MVC vous attend pour affiner le requetage si besoin (models), enrichir votre fichier de configuration, les paramètres spécifiques à votre composant (config.xml) et personnaliser votre panneau de contrôle.
Ce dernier donne accès aux différentes fiches de données permettant une présentation très détaillée de l'activité. Les Étalons et les Lices recensent les reproducteurs confirmés dans une race. Nous y renseignons tous les ascendants de nos chiens et entretenons une base de données depuis plus de vingt ans, la plus riche possible. La filiation est créée avec la fiche de Gestion d'un chien, ou l'on renseignera ses parents, ainsi que toutes les données biométriques disponibles. Ces filiations permettent l'affichage dynamique de la généalogie d'un chien sur 5 générations, avec ou sans photo.
Pedigree de Liubov's JollyNeige
Pour le moment, ce moteur de Pedigree est externe à Joomla et se connecte aux données du composant mais je projette de le ré-écrire complètement pour l'intégrer afin de sécuriser cette connexion. Le statut du chien conditionnera le requétage pour l'affichage des différentes pages Frontend, comme Les Mâles, Les Femelles, Les Chiots actuels, Les Yearlings et Les Ancêtres de nos chiens.
D'autres Liens de Menu sont également disponibles pour voir les Portées Actuelles & Attendues...
Le plan d'élevage est annoncé lorsque nous créons le mariage réalisé entre 2 reproducteurs. Nous renseignons la date de naissance estimée. Ces données alimenteront un Module dédié, permettant à nos visiteurs de découvrir les Portées Attendues. Si le mariage a déjà été réalisé, le composant détectera et présentera automatiquement les chiots précédents, suivant le paramétrage défini pour cette page.
Dès que les chiots naissent, nous renseignons la date de naissance, le nombre de chiots, la photo de la portée ainsi que le descriptif complet des sexes et des couleurs de robes. Ces données supplémentaires alimente alors le Module Portées Actuelles donnant directement accès à la page de présentation de la portée. Dès le lendemain, nous créons chaque nouveau chiot en leur affectant un nom provisoire que nous choisissons et prenons les premières photo portrait pour compléter leur fiche.
La mise en page HTML est prise en charge par un Template dédié au composant. Toutes les vignettes sont cliquables et renvoient vers un article, s'il est renseigné dans la Fiche, ou une superbe popup de classe JCE MediaBox de l'image.
Ce composant dédié à l'élevage n'est malheureusement pas encore disponible sur la JED .fr ou .org, pour le moment. Je reçois régulièrement des demandes, surtout de l'étranger mais je souhaite cependant poser les quelques dernières briques avant sa publication.
En conclusion, voici les 2 sites familiaux propulsés par le composant JBreedingV3.9.
https://belier-angora.liubov.net/
- Détails
- Écrit par : Marc Letouzé