Leçons PHP - Partie 3 - Création de son propre CMS
La création de sites avec un CMS ne se limite pas à Drupal, Joomla ou Wordpress. Dans le monde, la majorité des sites sont réalisés avec des CMS développés sur mesure. Malgré la grande quantité de code PHP déjà écrite, les développeurs utilisent très souvent leurs propres créations. Essayons de comprendre pourquoi utiliser son propre CMS.
Oui, Drupal est un système puissant avec un grand nombre de modules, hooks et fonctions pour créer ses propres modules. Beaucoup savent écrire leurs modules, mais regardons combien de personnes contribuent au développement même de Drupal. Vous avez probablement lu que Drupal est l’œuvre de centaines, voire de milliers de développeurs. Mais voyons qui fait vraiment Drupal.
Sur la page de téléchargement de Drupal, il y a une section listant les développeurs qui travaillent sur le noyau de Drupal, c’est-à-dire sur le CMS lui-même.
drupal.org/node/3060/committers?sort=desc&order=Commits
Sur cette page, la liste des développeurs avec leurs contributions au noyau. Voici la liste :
Développeur | Dernière modification | Première modification | Modifications |
---|---|---|---|
Dries | Il y a 3 jours | Il y a 11 ans | 10501 modifications |
webchick | Il y a 5 jours | Il y a 3 ans | 3108 modifications |
Gábor Hojtsy | Il y a 2 jours | Il y a 4 ans | 1635 modifications |
Steven | Il y a 4 ans | Il y a 11 ans | 1156 modifications |
drumm | Il y a 1 an | Il y a 5 ans | 764 modifications |
killes@www.drop.org | Il y a 4 ans | Il y a 6 ans | 506 modifications |
Kjartan | Il y a 5 ans | Il y a 11 ans | 383 modifications |
catch | Il y a 2 jours | Il y a 21 semaines | 329 modifications |
Jeroen | Il y a 10 ans | Il y a 11 ans | 101 modifications |
Git Migration | Il y a 1 an | Il y a 10 ans | 38 modifications |
jhodgdon | Il y a 2 jours | Il y a 2 jours | 3 modifications |
quicksketch | Il y a 16 semaines | Il y a 16 semaines | 3 modifications |
pillarsdotnet | Il y a 23 semaines | Il y a 23 semaines | 2 modifications |
Commençons par la liste :
Dries (10k modifications) - Dries Buytaert, fondateur du projet Drupal. Comme vous pouvez le voir, Drupal a plus de 11 ans. Dries a créé la société Acquia, qui fournit un support technique pour les sites Drupal (payant contrairement à Drupal lui-même), ainsi que le développement de Drupal et de ses modules. Dans une interview, Dries a indiqué qu’il ne développe plus directement Drupal en tant que programmeur, mais qu’il gère principalement la société Acquia. Le grand nombre de modifications du noyau s’explique par le fait qu’on lui envoie des patches prêts à être ajoutés qu’il intègre.
webchick (3k modifications) - de son vrai nom Angie Byron, développeuse de Drupal 7. Elle a travaillé (ou travaille ?) chez Lullabot, mais son profil drupal.org indique que pour l’embaucher sur un projet, il faut contacter Acquia. Angie a aussi développé Drush, un ensemble d’outils en ligne de commande pour Drupal. Aujourd’hui, elle est une des principales développeuses Drupal.
Gábor Hojtsy - un des principaux développeurs de Drupal 6. Il a aussi développé les fonctionnalités d’internationalisation et de traduction dans Drupal 7.
Il y a bien sûr d’autres développeurs du noyau, qui ont travaillé sur des parties spécifiques de Drupal. Mais ceux-ci sont les principaux. Ainsi, même si on dit que Drupal est l’œuvre de milliers de développeurs, le noyau est principalement l’œuvre de quelques personnes. Cela montre que même des CMS très importants sont développés par un nombre limité de personnes.
Revenons à la question initiale : pourquoi développer son propre CMS ? Vous vous souvenez combien de temps vous avez passé à apprendre Drupal ? Pour certains développeurs, créer un CMS prend moins de temps que d’apprendre un CMS de la taille de Drupal.
PHP est un langage simple (comparé à d’autres langages), tout le monde peut écrire du code PHP, peu de connaissances sont nécessaires pour les choses simples. Bien sûr, avec le temps, il faudra apprendre beaucoup pour écrire un CMS évolutif, mais regardons les avantages de son propre CMS :
1. Vous savez où tout se trouve. À quelle fréquence regardez-vous le code de taxonomy.module ou comment.module ? Pas très souvent, et vous ? Le code est écrit, les fonctions documentées, les templates surchargés. Que demander de plus ? Et si un problème ou une erreur survient ? Que faire ? Poster sur drupal.org et attendre que des développeurs noyau débordés répondent ? Ce n’est pas une solution.
2. Grande vitesse de fonctionnement. Il est bien connu que Drupal est lent, envoie beaucoup de requêtes à la base de données. Un CMS maison fonctionnera beaucoup plus rapidement. Mais il y a un revers : Drupal a déjà des modules d’optimisation et de cache, donc ce problème existe surtout sur les hébergements mutualisés.
3. Vous êtes maître chez vous. Vous pouvez ne pas respecter la règle « ne pas toucher au noyau » et modifier directement le noyau. C’est très pratique et vous n’aurez pas à attendre la sortie d’une nouvelle version pour activer vos modifications.
Il y a bien sûr des inconvénients, mais… ne parlons pas d’eux, il est clair que Drupal est bon, pas besoin de répéter pourquoi, tout le monde le sait.
Donc, vous avez décidé d’écrire votre propre CMS, commençons.