Situation Pro : Projet SoluCloud - Agilité et Industrialisation
1. Contexte et Objectifs
Dans le cadre de la fusion entre Solutech et Horizon, la DSI a identifié deux failles majeures : l'absence de sauvegarde déportée (hors-site) pour le serveur GLPI et la centralisation non sécurisée des secrets techniques (mots de passe administrateur, clés SSH, identifiants de base de données) L'objectif de cette mission était de déployer SoluCloud (solution souveraine basée sur Nextcloud) en fonctionnant en Squad (équipe projet de 3). Nous avons utilisé une méthodologie Agile/Kanban pour coordonner le déploiement de serveurs de Labs et de Production, tout en industrialisant la configuration par scripts.
2. Besoins identifiés
- Collaboration agile : Piloter le projet à plusieurs sans conflit de tâches (Imputabilité).
- Sécurisation des flux : Garantir l'accès via HTTPS obligatoire pour protéger les données.
- Gestion des secrets : Mettre en place un coffre-fort numérique pour l'équipe technique.
- Résilience (Règle 3-2-1) : Déporter les sauvegardes du serveur GLPI vers le Cloud (copie hors-site).
- Industrialisation : Automatiser l'installation des modules et la redirection de sécurité par script.
3. Solution technique retenue et justifications
Pour répondre aux exigences de Solutech, nous avons mis en œuvre la chaîne technologique suivante :
- GitLab Kanban & Gestion des étiquettes (Labels) :
- Justification : L'utilisation de colonnes personnalisées (
Doing,Testing,Closed) permet un suivi précis du workflow. Cela prouve la maîtrise de la Compétence 1.4 en évitant que deux techniciens travaillent sur la même brique simultanément.
- Justification : L'utilisation de colonnes personnalisées (
- Nextcloud sur socle LAMP :
- Justification : Nextcloud offre une souveraineté totale sur les données. Le choix des plugins Passwords (gestion des secrets) et Draw.io (schémas réseau) transforme un simple stockage en un véritable hub d'ingénierie.
- Protocole HTTPS & Redirection Apache (
sed) :- Justification : Sécurisation du transport. L'automatisation de la redirection via un script Bash garantit qu'aucun serveur de l'entreprise ne restera vulnérable en HTTP "clair".
- Sauvegarde déportée via WebDAV (
curl) :- Justification : Application de la règle du 3-2-1. En utilisant Nextcloud comme cible de sauvegarde pour GLPI, nous assurons qu'un sinistre physique sur le serveur de gestion de parc ne détruira pas ses propres archives.
- Séparation des Secrets et du Code (.gitignore) :
- Justification : Utilisation d'un fichier
.nextcloud.credslocal non versionné. C'est une pratique de cybersécurité essentielle pour éviter la fuite d'identifiants sur la forge logicielle.
- Justification : Utilisation d'un fichier
4. Réalisation (Ce que j'ai fait)
- Initialisation Agile : Configuration du Board Kanban GitLab avec 12 tickets détaillés et répartition des rôles au sein de la Squad.
- Mise en service de l'infrastructure : Déploiement du serveur LAMP et installation de l'instance Nextcloud sur une VM Debian dédiée.
- Industrialisation technique :
- Rédaction du script
install_plugins.shpour injecter Passwords/Draw.io et forcer le HTTPS. - Rédaction du script
glpi_to_cloud.sh(Étudiant C) incluant la gestion de l'intégrité par MD5 et la journalisation des succès/échecs.
- Rédaction du script
- Cycle de Cross-Test (DevOps) : Validation croisée des scripts sur les serveurs de "Lab" avant toute mise en production.
- Recette et Documentation : Rédaction d'un Procès-Verbal de recette (
RECETTE.md) et fusion des procédures techniques dans unREADME.mdunifié.
5. Preuves de réalisation finale
| N° | Preuve | Description |
|---|---|---|
| 1 | Board Kanban Initial | Tableau GitLab avec les 11 tickets créés, labellisés et assignés aux membres (A, B et C). |
| 2 | Dashboard Nextcloud | Page d'accueil après installation LAMP et configuration initiale. |
| 3 | Automatisation Résilience (Étudiant C) | Code du script glpi_to_cloud.sh (gestion logs, transfert WebDAV, MD5). |
| 4 | Industrialisation Services (Étudiant B) | Code du script install_plugins.sh (injection apps Passwords/Draw.io et redirection HTTPS via sed). |
| 5 | Durcissement Admin (Étudiant A) | Interface d'admin montrant le quota de 1 Go sur le compte prenom_srv_backup. |
| 6 | Identité Visuelle (Étudiant A) | Page de connexion personnalisée (Logo Solutech + Slogan). |
| 7 | Documentation Unifiée | Fichier README.md final sur GitLab (procédures fusionnées). |
| 8 | Cartographie | Schéma Draw.io (Topologie en étoile : Switch, Routeur, GLPI, SoluCloud, IPs). |
| 9 | Procès-Verbal | Fichier RECETTE.md complété, signé, avec mention "GO". |
| 10 | Clôture de Sprint | Board Kanban final avec tous les tickets dans la colonne Closed. |
📸 Preuve 1 : Board Kanban Initial
Tableau GitLab avec les 11 tickets créés, labellisés et assignés aux membres (A, B et C).
📸 Preuve 2 : Dashboard Nextcloud
Page d'accueil après installation LAMP et configuration initiale.
📸 Preuve 3 : Automatisation Résilience (Étudiant C)
Code du script glpi_to_cloud.sh (gestion logs, transfert WebDAV, MD5).
📸 Preuve 4 : Industrialisation Services (Étudiant B)
Code du script install_plugins.sh (injection apps Passwords/Draw.io et redirection HTTPS via sed).
📸 Preuve 5 : Durcissement Admin (Étudiant A)
Interface d'admin montrant le quota de 1 Go sur le compte prenom_srv_backup.
📸 Preuve 6 : Identité Visuelle (Étudiant A)
Page de connexion personnalisée (Logo Solutech + Slogan).
📸 Preuve 7 : Documentation Unifiée
Fichier README.md final sur GitLab (procédures fusionnées).
📸 Preuve 8 : Cartographie
Schéma Draw.io (Topologie en étoile : Switch, Routeur, GLPI, SoluCloud, IPs).
📸 Preuve 9 : Procès-Verbal
Fichier RECETTE.md complété, signé, avec mention "GO".
📸 Preuve 10 : Clôture de Sprint
Board Kanban final avec tous les tickets dans la colonne Closed.









