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 »- Préparer le système de développement
- Mettre en place le système de staging
- Copier les données de production
- Tester le staging
- Déployer le staging vers la production (optionnel)
✅ Avantages d’un système de staging
Section intitulée « ✅ Avantages d’un système de staging »- 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
🛠 Prérequis
Section intitulée « 🛠 Prérequis »- 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“
🧱 Guide étape par étape
Section intitulée « 🧱 Guide étape par étape »1. Mettre en place le système de staging
Section intitulée « 1. Mettre en place le système de staging »Une installation Docker est recommandée :
SysConfig
2. Nettoyer le système de développement
Section intitulée « 2. Nettoyer le système de développement »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 »3. Copier les données de production
Section intitulée « 3. Copier les données de production »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.
4. Adapter la configuration
Section intitulée « 4. Adapter la configuration »1
5. Empêcher l’envoi d’e-mails
Section intitulée « 5. Empêcher l’envoi d’e-mails »Dans SysConfig :
- Régler
SendmailModulesurKernel::System::Email::DoNotSendEmail - Alternative : modifier le serveur SMTP sur
127.0.0.1et le port sur1
🔬 Tests dans le staging
Section intitulée « 🔬 Tests dans le staging »- 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
🔐 Sécuriser le staging
Section intitulée « 🔐 Sécuriser le staging »- Restreindre l’accès via VPN ou liste blanche IP
- Configurer
robots.txtpour 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 :
- Arrêter le serveur de production
- Copier la base de données et les répertoires du staging vers la production
- Adapter
Config.pm - Redémarrer la production
🧪 Exemples d’outils pour l’automatisation
Section intitulée « 🧪 Exemples d’outils pour l’automatisation »Playwright(pour les tests E2E)rsyncpour un transfert de données rapidedocker-composepour un environnement orchestrécronousystemdpour des sauvegardes régulières- Scripts Python pour l’anonymisation ou la migration de structure
Conclusion
Section intitulée « Conclusion »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.