Comment fonctionne la maintenance WordPress

Par Jb Audras17 octobre 2016

Maintenance préventive, corrective, évolutive et TMA… définissons ce qu’est la maintenance WordPress.

La maintenance d’un parc de sites WordPress est un sujet sensible mais essentiel, auquel nous avons décidé d’accorder une importance toute particulière. Depuis quelques semaines, notre process de maintenance WordPress a évolué pour offrir à nos clients une offre claire, efficace et surtout transparente. Cela repose sur trois points : une sélection des projets pouvant en bénéficier (il y a des prérequis), l’utilisation d’outils efficaces et la mise en place d’une transparence technique et commerciale incontestable.

Dans ce premier article, commençons déjà par débroussailler le sujet : c’est quoi la maintenance WordPress ?

La maintenance WordPress préventive

C’est la maintenance effectuée à des intervalles prédéterminés et destinée à réduire la probabilité de défaillance ou de dégradation d’un bien ou d’un service.

Pour résumer, c’est la loi de Murphy : tout ce qui est susceptible de mal tourner tournera nécessairement mal. Cela peut paraître un poil fataliste, mais pas de langue de bois : la maintenance préventive est le point de départ essentiel de toute politique de maintenance.

Sur WP comme sur n’importe quel CMS ou logiciel open-source, nous sommes exposés à des failles de sécurité et une installation doit être constamment mise à jour et sauvegardée pour prévenir au maximum l’intégrité du site de tout dysfonctionnement à venir. Que ce soit suite à un piratage ou suite à l’arrêt du bon fonctionnement d’un service associé au site web.

La maintenance préventive consiste en deux actions principales :

  • Mettre à jour le noyau WP, et les extensions et thèmes utilisés
  • Sauvegarder souvent et archiver ces sauvegardes de façon incrémentale

Cela suppose également une excellente connaissance des dépendances logicielles (extensions) de l’installation et un suivi de leurs évolutions à venir pour prévenir les risques de régression suite à une mise à jour. De la même façon, il est nécessaire de suivre les évolutions à venir du CMS pour prévenir au maximum les futures incompatibilités.

Les développements spécifiques et les éventuelles modifications apportées aux plugins ou aux thèmes (via un thème enfant !) doivent être particulièrement surveillés.

Généralement, s’agissant de code maison, cela n’est pas le plus difficile mais attention toutefois au code devenu obsolète et produit par un développeur qui n’est plus dans l’équipe projet. En cas de changement d’équipe technique, il est parfois plus avantageux pour une agence et pour ses clients de planifier un nouveau développement de certaines fonctionnalités par les développeurs qui seront chargés de maintenir ces développements spécifiques plutôt que de conserver une « boîte noire » qui finira potentiellement un jour par coûter cher en maintenance. Ceci doit être calculé sur le long terme.

La maintenance WordPress corrective

Ce sont les opérations de maintenance effectuées après détection d’une panne et qui sont destinées à remettre un bien ou un service dans l’état dans lequel il peut accomplir sa fonction.

Pour faire simple, c’est quand le site ou une de ses dépendances casse et qu’il faut réparer. Plusieurs causes (non exhaustives) peuvent vous amener à effectuer de la maintenance corrective :

  • Absence de maintenance préventive : ça finit souvent par de la maintenance corrective =)
  • Absence d’anticipation dans le cadre de la maintenance préventive, par exemple dans le cas de fonctionnalités dépréciées par le noyau WordPress au fil du temps ; sur une mise à jour d’extension ne proposant pas de rétro-compatibilité ; ou encore dans le cas d’un développement maison ne respectant pas les orientations des best practices recommandées par la team core de développeuses et de développeurs du noyau WordPress.
  • Code maison qui n’a pas été maintenu au fur et à mesure de l’évolution de WordPress ou de ses dépendances fonctionnelles
  • WebService qui cesse d’exister ou de fonctionner comme précédemment, modification d’API
  • Bug introduit par une nouvelle version d’extension, voire même du noyau WordPress

Quand une politique de maintenance préventive efficace est en place, on évite généralement une grande partie des problèmes entraînant ce type d’interventions.

Attention encore une fois aux développements spécifiques : mieux vaut parfois passer du temps en amont à bien développer pour WordPress et à faire évoluer le code maison plutôt que de conserver du code qui vous fait accumuler, au fil du temps, ce qu’on nomme la dette technique.

La dette technique, c’est tout ce qui fonctionne à peu près à un instant T mais que l’on sait moyennement performant, voir carrément brinquebalant. Souvent, la question n’est pas de savoir si ça va casser, mais plutôt quand ça va casser. Même si vous êtes surbookés, mieux vaut généralement planifier de s’en occuper au plus vite car cette dette technique qui s’accumule finira très souvent par vous prendre plus de temps en réparation qu’une refonte d’ampleur. Le pire avec la dette technique, c’est que trop souvent on se voile la face pour ne le découvrir que trop tard.

En gros on en paye les intérêts tout au long de la vie du projet, puis on fini quand même par payer plein pot plus tard, à l’occasion d’un hack ou d’un défaillance majeure… dur dur.

La maintenance WordPress évolutive

C’est une évolution de l’applicatif, généralement pour modifier son comportement à proposer de nouvelles fonctionnalités.

Ça peut concerner tout ce qui n’était pas prévu au départ –les évolutions donc– mais aussi des lots planifiés en amont de la livraison, comme fonctionnalités « + + » que l’on gardera pour plus tard.

Ne nous mentons pas, un site internet est rarement « parfait » ou dépourvu de défauts dès sa mise en ligne. Un crédit-temps de maintenance évolutive devrait donc toujours être prévu et budgétisé en amont, ne serait-ce que pour les toutes petites évolutions « qui n’apparaissent pas dans le cahier des charges » (vous savez, les fonctionnalités omises pour des tas de raisons plus ou moins raisonnables !).

Ce sont autant de points de crispation très connus par les freelances, agences, et bien évidemment par leurs clients. Un crédit-temps de maintenance évolutive forfaitaire permet d’y faire face.

Attention cependant à bien séparer les types d’évolutions : on ne construit par une V2 sur la base d’un forfait de maintenance =)

Ce crédit-temps est nécessairement bien cadré (dans le cadre du contrat de maintenance) pour définir : une durée, un périmètre, des délais d’intervention…

La tierce maintenance applicative

En résumé : sur WordPress, tout est TMA, ou presque.

Dans l’ingénierie informatique, la Tierce Maintenance Applicative (TMA) est un type de maintenance à part entière. Il s’agit de la maintenance du code produit par d’autres.

OMG. Le code produit par d’autres /o\

Pour connaitre le quotidien d’une développeuse spécialisée dans la TMA, je vous invite à consulter ce superbe billet de 24 jours de web. En quelques mots, son job c’est d’auditer, comprendre et réparer les merdouilles des autres. Brrr.

Oui mais sur WordPress, nous y sommes exposés tout le temps. L’écosystème basé sur l’open-source (qu’il soit gratuit ou payant) nous force à nous intéresser au code produit par d’autres. C’est un point hyper important car rien ne peut vous garantir du sérieux avec lequel votre extension fétiche a été développée. Rien ne vous indique également que celle-ci se révèlera toujours viable dans 6 mois, 2 ans, 5 ans, 10 ans…

Be aware : nous qui maintenons des parcs de sites WordPress devons forcément développer une vraie expertise en TMA. Nous nous devons de connaître le code produit par les extensions que nous maintenons. Bien sûr, cette connaissance s’acquiert bien souvent indirectement par le biais de la communauté et de ses différents supports d’expression (forums, blogs, slacks, meetups, WordCamps, groupes de discussions entre confrères et consœurs…). Il est donc essentiel pour une équipe technique de s’intégrer pleinement dans cette communauté.

Dans le prochain billet de cette série, on verra quels sont les meilleurs outils actuels pour gérer un parc de sites WordPress en maintenance. Stay tuned!

 

Créé avec DeliPress

Jb Audras

Auteur Jb Audras

Directeur technique de l’agence, auteur d’extensions, contributeur core WP, lead de WordPress 4.9.5, responsable général de la traduction (GTE) de WordPress en français et coordinateur du meetup WP Valence – @audrasjb

Tous les articles de Jb Audras

Laissez une réponse