Collaboration Squad et Kanban : Projet SoluCloud (Nextcloud)
1. Contexte et Objectifs
Dans le cadre de la maintenance d'une plateforme GLPI, la perte de données est un risque critique. L'objectif est de mettre en place une stratégie de sauvegarde robuste, automatisée et déportée sur un stockage Cloud (SoluCloud) pour garantir la continuité de service en cas de panne majeure du serveur local. L'objectif de ce projet "Squad" était de passer d'une gestion individuelle à une gestion collaborative (Agilité) pour livrer un service GLPI hautement disponible, sécurisé et industrialisé. Le projet repose sur trois piliers : la production, l'automatisation et la résilience.
2. Besoins identifiés
Automatisation du transfert : Déploiement d'un script capable de propulser les archives locales vers un serveur distant via le protocole WebDAV.
Sécurisation des accès : Utilisation d'un fichier de configuration masqué (.nextcloud.creds) pour séparer le code source des identifiants sensibles.
Contrôle d'intégrité : Génération systématique d'empreintes MD5 pour vérifier que les fichiers n'ont subi aucune corruption lors du transfert réseau.
Traçabilité (Audit) : Mise en place d'un système de journalisation (Logs) pour suivre l'historique des succès et des échecs de sauvegarde.
Le travail a été réparti entre trois profils d'experts pour couvrir l'ensemble du cycle de vie du service :
-
Étudiant A (Lead Prod) : Garant de l'infrastructure. Gestion des quotas et de la documentation finale.
-
Étudiant B (Lead Automation) : Expert en durcissement. Automatisation de la sécurité (HTTPS/SSL) et injection des outils métiers (Plugins Passwords et Draw.io) via scripts PHP/Bash.
-
Étudiant C (Lead Backup) : Responsable de la résilience. Création de l'automate de sauvegarde déportée vers le Cloud avec contrôle d'intégrité (MD5) et journalisation.
3. Solution technique
Infrastructure et Socle :
-
Déploiement LAMP : Installation et optimisation de la pile Linux, Apache, MariaDB, PHP.
-
Service de Stockage : Configuration du serveur Nextcloud servant de cible WebDAV pour les sauvegardes externalisées.
Sécurisation et Métier :
-
Industrialisation SSL : Scripting pour la génération de certificats et la redirection forcée vers le HTTPS.
-
Extension fonctionnelle : Automatisation de l'installation des plugins via l'outil occ de Nextcloud ou CLI GLPI, garantissant un environnement de travail complet dès le déploiement.
Résilience et Industrialisation :
-
Backup as Code : Développement du script glpi_to_cloud.sh pour l'extraction et l'envoi des bases de données et fichiers de config.
-
Sécurité des Secrets : Mise en place d'une gestion de credentials hors-dépôt (.gitignore) pour protéger les accès Cloud.
-
Auditabilité : Implémentation d'un système de logs (/var/log/solucloud_backup.log) pour assurer un suivi d'exploitation professionnel.
4. Réalisation
GitLab Commun : Utilisation d'un dépôt unique pour la fusion des codes. Maîtrise des workflows git pull / git push pour éviter les conflits.
Scripting Avancé : Création du script glpi_to_cloud.sh gérant la génération des MD5, le transfert et la gestion des erreurs.
Gestion des logs système : Configuration automatique du fichier /var/log/solucloud_backup.log avec gestion des droits (chown) pour permettre l'écriture par l'utilisateur applicatif.
Sécurité des secrets : Création d'un fichier modèle nextcloud.creds.example pour guider les futurs administrateurs sans exposer les mots de passe réels.
Méthode Kanban : Pilotage des tâches via GitLab Board pour assurer la transparence de l'avancement entre les membres de la Squad.
Cycle de Cross-Test : Mise en place d'audits croisés où chaque étudiant teste et valide le script de son camarade sur sa propre machine de Lab.
5. Preuves de réalisation
Étape A : Pilotage Agile
Board Kanban initial : Une capture d'écran du tableau GitLab montrant les 11 tickets créés, labellisés et correctement assignés aux membres de la Squad (A, B et C).

Étape B : Déploiement de l'Infrastructure
Dashboard Nextcloud : Une capture de votre interface d'accueil une fois l'installation LAMP et la configuration initiale terminées.

Étape C : Industrialisation et Sécurité
Automatisation Résilience (Étudiant C) : Capture du code du script glpi_to_cloud.sh montrant la gestion des logs, du transfert WebDAV et de l'empreinte MD5.

Industrialisation Services (Étudiant B) : Capture du code du script install_plugins.sh montrant l'injection des apps (Passwords/Draw.io) et la configuration du HTTPS (redirection sed).

Durcissement Admin (Étudiant A) : Capture de l'interface d'administration montrant le quota de 1 Go appliqué au compte prenom_srv_backup.

Identité Visuelle (Étudiant A) : Capture de la page de connexion personnalisée avec le logo Solutech et le slogan.

Étape D : Validation et Clôture
Documentation Unifiée : Capture du fichier README.md final sur GitLab, fusionnant les procédures d'installation et de sauvegarde.

Cartographie Industrielle : Capture du schéma réalisé sur Draw.io (Topologie en étoile : Switch, Routeur, GLPI, SoluCloud et IPs).

Procès-Verbal de Recette : Capture du fichier RECETTE.md complété et signé avec le verdict GO.

Clôture de Sprint : Capture du Board Kanban final montrant tous les tickets dans la colonne Closed.
