Préambule
Way-Plan c'est quoi ?
Way-Plan est un logiciel de gestion de référence pour gérer une activité de transport de personnes. Il propose des modules de planning, de gestion commerciale, une application mobile pour les chauffeurs, de gestion administrative, de communication avec les clients et de pilotage de l’entreprise. Way-Plan s’accompagne également d’un service de conseil, de formation et de conduite du changement pour aider les clients à utiliser au mieux le logiciel. Way-Plan est développé par l’entreprise Waynium et est destiné aux entreprises de transport de personnes, de transport scolaire, de transport à la demande et de transport d’autocariste.
Objectif de la mission
Nous travaillons avec waynium pour tous les développements spécifiques sous WordPress.
Les problématiques rencontrées par l’équipe de way-plan étaient les suivantes lors de la création d’un environnement de test :
- Les emails pouvaient s’envoyer via le staging
- Les clients avaient un compte sur le staging et donc auraient pût si connecter
- Des tâches automatiques prévues sur la prod pourrait être exécuté sur le staging lors du clonage des données
- Le site pourrait être indexer par google par mégarde
- L’administration était indissociable de la production
Le but de la mission était de résoudre tous ces soucis.
Déroulement et choix techniques
Nous avons opté pour la création d’un plugin custom qui sert à nettoyer le site en staging après son clonage.
Cela implique évidement de mettre en place des sécurités pour ne pas supprimer toutes les données en production par mégarde. Pour prévenir ce problème nous avons créer une constante qui vérifie si le domain contient bien le mot staging ou preprod.
Voilà ce que cela donne en code :
define( 'IS_STAGING_WAY_PLAN', strpos( $_SERVER['HTTP_HOST'], 'staging' ) !== false || strpos( $_SERVER['HTTP_HOST'], 'preprod' ) !== false );
Simple et efficace ! Nous avons juste à vérifier cette constante pour activer ou non des fonctionnalités.
Nous avons mis en place une serie de fonctions php qui s’exécute pour résoudre les différentes problématiques.
Voici la liste des fonctionnalités :
- Suppression des utilisateurs non administrateurs
- Suppression de toutes les commandes
- Passage du site Web no index
- Suppression de tous les mandats SEPA
- Passage en mode maintenance du site
- Suppression des e-mails de suivi et des abonnés
- Suppression de toutes les tâches CRON
Le résultat
Voilà ce que cela donne en back-office :
Enfin nous avons mis en place une liste de fonctionnalités qu’on peut cocher et lancer pour mettre en place rapidement le staging selon les besoins du moment :
- Pour tester un parcours utilisateur
- Pour vérifier que les mises à jours fonctionnent bien avant de les faire en production
- Pour debug un problème rencontrer sur la prod
Voici une petite démo :