La vie quotidienne d’une équipe de développement web n’est pas forcement de tout repos… L’agence Altitude (GDS Group) nous confie la refonte technique du site entrepriseetsante.fr cet été.
Un cas interessant car nous reprendrons à l’identique le design graphique du site en production pour sortir le projet de l’emprise du CMS Joomla! et re-déployer le site avec notre propre framework, basé sur PHP et CodeIgniter.
L’occasion unique d’une confrontation directe de 2 choix de technos de publication web. Où l’on montre l’inégalité des contextes de publication devant l’open source… Dans le cas présent, et sûrement dans bien d’autres, choisir une intégration Joomla! n’a certainement pas été la meilleure idée.
• Joomla! (et WordPress aussi), les hackers ne sont pas nos amis
A l’origine de ce projet, on a site web en production, déployé avec le CMS Joomla! que nous connaissons bien. Nous intervenons à plusieurs reprises pour contrer des attaques de piratage successives du site. On colmate les brèches et autres back-doors, on restaure les sauvegardes… A peine publié, le site est plusieurs fois “down”, l’hébergeur va même jusqu’à couper les accès… Un vrai problème.
C’est connu, la lutte des développeurs contre le piratage est incessante. Les CMS Open Source comme Joomla! ou WordPress sont une cible privilégiée des hackers de tous poils… C’est la rançon de leur popularité. Les communautés qui travaillent sur ces outils consacrent une part d’énergie non négligeable à ce combat. Les mises à jour de sécurité se suivent les unes après les autres. Et les intégrateurs doivent suivre, et la solution contre les attaques consiste à suivre aussi, en mettant à jour leur version en production… Ça fait partie du job.
Malheureusement on trouve dans notre cas une version du CMS obsolete. Les plug-in installés ne sont plus mis à jour, et sont incompatibles avec les versions plus récentes du CMS. Ils présentent des failles de sécurité connues, par la communauté… Et surtout et d’abord par les pirates !
Et sur le projet web lui-même, certains aspects de l’intégration sont toujours en chantier.
• Développement Web : proposer des choix techniques adaptés au projet
Sans doute un mauvais choix au départ
A l’analyse, et en dehors de la problèmatique du piratage, les fonctionnalités souhaitées par l’éditeur dépassent les “capacités” naturelles de Joomla!, le CMS est sans doute adapté à nombreux cas de publication web… Blog, publication d’articles ou de contenus institutionnels… Mais pas ici.
L’ajout de multiples plug-ins pour tenter de parvenir à remplir le cahier des charges complique le déploiement et la gestion du site web. Dans le back-office, le contenu est finalement quasiement ingérable…
Une histoire de site web certainement issue d’un mauvais enchaînement de choix successifs, où l’on a tenté de “rentrer au chausse-pied” un projet dans une techno pas ou peu adaptée… Un classique.
Mais sans connaître tous les aspects de l’histoire, ne sombrons pas dans la critique facile… Concentrons nous sur notre objectif : développer un outil de communication web opérationnel.
Une proposition simple…
Nous prenons la décision de tout remettre à plat pour re-développer le site à partir de zéro. Les choix technos restent Open Source et largement partagés par les communautés en ligne et les professionnels : PHP / MySQL / jQuery et Javascript… Nous proposons un développement spécifique, sur base de notre framework, précisement adapté pour produire un site fidèle à la maquette graphique, qui proposera au visiteur toutes les fonctionnalités souhaitées et aussi pour notre webmaster une gestion simple et efficace de son contenu dans le Back-Office réalisé sur mesures…
• Une intégration Joomla! vs un développement sous CodeIgniter : les comptes sont bons
Un cas très intéressant car nous avons ici une occasion unique de comparer 2 livraisons du même projet web, avec le même design graphique. Le premier intégré sous Joomla! et l’autre développé sur la base de notre framework, un CodeIgniter enrichi par nos développeurs. Profitons-en !
Avec ce simple changement de techno, et avant une optimisation plus poussée, les résultats sont sans appel : le poids de la page d’accueil est réduit à 35% du poids original (de 740 à 255 Ko), et en moyenne, le temps de chargement d’une page passe de plus de 3 secondes pour le Joomla! à environ 1,50 seconde pour la nouvelle livraison.
Integ. Joomla! | Dev. E SYSTEMES | ||
Page d’accueil | 741.3 Ko | 256.3 Ko | -65,50% |
Chargement Moyen | 3,24 sec. | 1,55 sec. | -52,50% |
Requettes réseau | 53 | 38 | -30,00 % |
Javascript | 11 fichiers | 3 fichiers | -73,00% |
Javascript | 143.5 Ko | 56.2 Ko | -61,00 % |
(mesures effectuées sur Firefox et Safari, avec Firebug , YSlow et PageSpeed )
Un cas client (finalement) réussi…
Enfin débarrassé des attaques et hackings permanents, nettement et naturellement optimisé, le site web gagne en vitesse d’affichage, et la publication via le backoffice en maniabilité et en simplicité. Nous profitons de la souplesse de notre framework de développement pour adapter le back-office en une véritable plateforme de publication automatisée pour le magazine imprimé ! Le site est la version web du magazine… On pourrait aussi dire que le magazine est la version imprimée du site web… ( lire cet article sur le sujet )
Le développement de ce site web, intimement lié à son magazine papier, est un “cas client” réussi. Et pourtant, ce n’était pas gagné. Une histoire enrichissante en plus d’un point, pour nous en tant que développeurs, aussi pour notre client…
Et finalement pour le visiteur. Mais n’est-ce pas pour lui qu’enfin on fait tout cela ?
Quelques pistes de reflexion pour conclure (ou lancer le débat ?).
- L’optimisation du chargement d’un site dans le navigateur est une priorité du développeur
- Les CMS libres sont une solution à envisager. Certainement pas pour tous les projets.
- Les hackers sont partout sur la toile, ils cherchent et privilégient les cibles faciles et répandues
- L’open source est un bon choix et assure la pérennité de l’investissement informatique
- Bien choisir son prestataire et la techno, en fonction du projet, pas de la techno
- WordPress occuperait 15 à 20% du marché web selon les sources (50% des CMS “gratuits”)
- Le langage serveur PHP serait le moteur de près de 75% des sites en production
Quitte à choisir un CMS “tout fait” plutôt choisir WordPress ? Le CMS “fait du bruit” et occupe la scène. Finalement, allez vous vraiment intervenir vous même sur le développement de votre site ?
Non ! Vous allez confier votre projet à un prestataire… Alors, faites vos choix pour les bonnes raisons.
Vous trouverez certainement plus de développeurs PHP que d’intégrateurs WordPress pour assurer votre projet sur le long cours… Et fin de compte, vous gagnez en liberté. Et ça, c’est important.
• A lire aussi sur le Live Blog E SYSTEMES :
A propos du site : Entreprise et santé, le site web qui imprime un magazine !
De l’optimisation du temps de chargement d’une page web
• Liens “technos” :
A propos de PHP sur Wikipedia
Le CMS Joomla!
WordPress sur Wikipedia
Le framework PHP CodeIgniter
Firebug pour Firefox
YSlow, plug-in d’analyse des performances
PageSpeed, analyse des performances chez Google Developpers
Le site de l’agence Altitude – GDS Group
Entreprise et santé, version web