Mise à jour de mon site Drupal ou Wordpress

Une problématique souvent rencontrée par les agences web qui ont un portefeuille conséquent de clients est de s’assurer du bon suivi de l’infogérance préventive des CMS qu’elle vend à ses clients.

Qu’est ce que l’infogérance préventive ?

Chez Choosit, l’infogérance préventive correspond à la maintenance évolutive, c’est-à-dire s’assurer d’avoir des sites web à jour en termes de version, que ce soit le cœur des CMS ou les plugins.

C’est d’ailleurs souvent quelque chose qui est relégué au second plan et qui tombe dans l’oubli rapidement malheureusement. C’est à cause de cela que l’on se retrouve avec des milliers de sites zombies et des fuites de données.

Nous avons mis en place un système pour piloter ces opérations de mises à jour et apporter de la plus value à cette tâche essentielle et surtout assurer un bon niveau de sécurité pour nos clients et nos infrastructures. Le but est d’apporter une réactivité et une exhaustivité dans l’application des patchs de sécurité afin que les sites de nos clients ne soient pas la cible de personnes mal intentionnées.

Cette mécanique repose sur 3 éléments :

  • nos plugins custom de monitoring
  • notre dashboard de pilotage
  • notre outil de planification et de ticketing.
schéma drupal/Jira
mécanisme maintenance évolutive

Le plugin de monitoring

Nous avons un plugin par type de CMS. Ils sont le premier maillon de la chaîne. Basiquement, chaque plugin nous permet d’obtenir un endpoint sur chaque CMS qui nous renvoie le besoin ou non d’une mise à jour. Ils s’appuient à chaque fois sur les fonctionnalités internes des CMS (WordPress, Drupal…). Ils s’expriment en JSON et nous renvoient un booléen. Évidemment, ce endpoint est privé et plusieurs mécanismes dont un token unique permettant d’y accéder de manière sécurisée. Ce endpoint est développé majoritairement en PHP et déployé sur chaque nouveau site que nous produisons.

Le dashboard de pilotage

Notre dashboard est basé sur un Google Sheet accompagné d’un script Google App Script

Il liste l’ensemble de nos clients sous contrat et les endpoints associés des sites. Une tâche planifiée permet de l’exécuter chaque nuit afin d’interroger l’ensemble de nos CMS. Ce tableau est donc autonome et héberge sa propre configuration (clés api, tokens, adresse email à prévenir en cas d’erreur, etc). Nous tenons également dans ce même tableau, un journal d’exécution. Google nous prévient aussi en cas d’erreur dans la tâche planifiée.

La combinaison de Google Sheet et de Google App Script nous a permis de déployer sur le cloud cette application en un temps record. La phase d’apprentissage pour construire l’outil est relativement rapide, la documentation est complète et très bien réalisée. Il aurait été beaucoup plus long et coûteux de développer ceci from scratch. A ma connaissance, aucune solution sur le marché n’existe pour réaliser ce type d’opération dans le contexte où nous évoluons.

Outil de planification et ticketing

Nous avons choisi cette combinaison d’outils car c’est là que la magie opère. Si un CMS a besoin d’être mis à jour, nous déclenchons automatiquement la création d’un ticket depuis la feuille Google Sheet directement dans notre outil de planification Atlassian Jira au travers de l’API REST mise à disposition par Atlassian.
Une requête POST authentifiée est réalisée depuis notre dashboard Google Sheet et reçue par Jira.

Ainsi, le matin, nous trouvons nos tickets de mises à jour créés dans le backlog des projets associés aux CMS, prêts à être assignés aux équipes. Nous avons choisi de ne pas attribuer automatiquement le ticket afin de garder la main sur ceux-ci en fonction de la charge des équipes. Le dashboard est, en retour, mis à jour en fonction de l’état du ticket dans Jira.

Nous pouvons suivre le bon déroulement des opérations et surtout informer le client lorsque les mises à jour sont réalisées. Nous avons prévu d’automatiser cette dernière opération via une règle d’automatisation dans Jira liée au statut du ticket. Dans une prochaine version, nous afficherons directement ces actions dans le portail d’assistance de notre client également.

Conclusion

Nous arrivons à mettre à jour de manière réactive et proactive les CMS que l’on opère pour la plus grande satisfaction des clients et pour la sécurité de nos infrastructures. C’est une valeur ajoutée pour nos équipes qui sont très investies dans ces processus. Un bon nombre de nos concurrents ne réalisent malheureusement pas ce suivi et ce service après-vente.
Aucun outil n’existe sur le marché avec un tel niveau de suivi et d’interconnexion avec nos outils de planification. A cette date l’outil fonctionne depuis plusieurs semaines et a prouvé son efficacité.

Voir l’étude de cas
Lire l’article