Aller au contenu

Système de staging Znuny – Migration et environnement de test sécurisé

Système de staging Znuny – Migration et environnement de test sécurisé

Section intitulée « Système de staging Znuny – Migration et environnement de test sécurisé »

Un système de staging est l’environnement idéal pour tester en toute sécurité les modifications apportées au système de tickets – avec Znuny. Il s’agit d’une copie exacte du système de production dans lequel les fonctionnalités, les configurations et les données sont migrées, testées et validées – sans aucun impact sur le système live.

🗾 Compatibilité : Les étapes décrites dans cet article s’appliquent à Znuny 6.x+. Les fichiers de configuration sont cohérents et signalés si nécessaire.


🔄 Aperçu : Processus de migration du système de staging

Section intitulée « 🔄 Aperçu : Processus de migration du système de staging »
  1. Préparer le système de développement
  2. Mettre en place le système de staging
  3. Copier les données de production
  4. Tester le staging
  5. Déployer le staging vers la production (optionnel)

  • Test sécurisé de la configuration, du Custom Code & des Packages
  • Tests de bout en bout automatisés avec, par exemple, Playwright
  • Tests conformes au RGPD après anonymisation
  • Tests de restauration & vérification des sauvegardes

  • Ubuntu 20.04+ ou Debian 10+
  • Docker (recommandé) ou installation Linux manuelle
  • Ressources système suffisantes (8 Go de RAM, 4 CPUs)
  • Accès aux données de production actuelles (DB & système de fichiers)
  • Possibilité de désactiver l’envoi d’e-mails (par ex. via un SMTP factice)

`customer_user“

Une installation Docker est recommandée : SysConfig

Si vous utilisez un système de développement comme base : SendmailModule

Section intitulée « Si vous utilisez un système de développement comme base : SendmailModule »

Kernel::System::Email::DoNotSendEmail Importer dans le staging : 127.0.0.1

🔐 Protection des données : Anonymisez toutes les données clients de production, par exemple dans la table customer_user, ou supprimez les adresses e-mail à l’aide d’un script SQL.


1

Dans SysConfig :

  • Régler SendmailModule sur Kernel::System::Email::DoNotSendEmail
  • Alternative : modifier le serveur SMTP sur 127.0.0.1 et le port sur 1

  • Utiliser des scripts Playwright ou Cypress pour les tests UI
  • Utiliser bin/znuny.Console.pl Maint::Test::System
  • Vérifier l’intégrité des données & le comportement de l’UI
  • Désactiver les intégrations telles que LDAP ou les Webservices, ou les rediriger vers un serveur de test

  • Restreindre l’accès via VPN ou liste blanche IP
  • Configurer robots.txt pour empêcher l’indexation
  • Si nécessaire, ajouter une Basic-Auth via Nginx
  • Sécuriser le SSL via un certificat SAN ou Wildcard (*.staging.example.com)

🔄 Optionnel : Déployer le staging vers la production

Section intitulée « 🔄 Optionnel : Déployer le staging vers la production »

Une fois les tests terminés dans le staging :

  1. Arrêter le serveur de production
  2. Copier la base de données et les répertoires du staging vers la production
  3. Adapter Config.pm
  4. Redémarrer la production

  • Playwright (pour les tests E2E)
  • rsync pour un transfert de données rapide
  • docker-compose pour un environnement orchestré
  • cron ou systemd pour des sauvegardes régulières
  • Scripts Python pour l’anonymisation ou la migration de structure

Un système de staging Znuny offre une sécurité maximale lors de l’introduction de modifications. Grâce à une migration structurée, des données de test anonymisées et des tests automatisés, vous évitez les pannes et assurez des déploiements stables.

🔁 Conseil : Intégrez les processus de staging dans votre pipeline CI/CD pour une assurance qualité automatisée à chaque modification.