Compétence : Déployer et administrer un environnement de données avec Docker
Réalisations concrètes (focus Docker)
- Mise en place d’une stack Docker pour la donnée :
- Conteneurisation d’un SGBD (MySQL) pour isoler l’environnement, le rendre reproductible et facile à déployer sur n’importe quelle machine.
- Ajout d’un outil d’administration (phpMyAdmin) dans un conteneur dédié, connecté au même réseau Docker.
- Organisation des services (ports, réseau, variables d’environnement) pour obtenir une stack cohérente et réutilisable.
- Persistance et fiabilité :
- Utilisation de volumes Docker pour conserver les données (même après arrêt/recréation des conteneurs).
- Préparation d’une logique de sauvegarde/restauration (exports SQL) adaptée à un environnement conteneurisé.
SQL au service de l’environnement Docker
create or replace view vue_Etud_Stag_Ent
as
select *
from Etudiant
join Stagiaire on etudStagiaire = idEtud
join Entreprise on entrepriseStage = idEntreprise
WITH CHECK OPTION;
select *
from vue_Etud_Stag_Ent;
- Conception d’objets SQL dans un SGBD exécuté en conteneur :
- Création et exploitation d’objets SQL (tables, vues, jointures) pour répondre à un besoin métier, comme la vue
vue_Etud_Stag_Ent.
- Validation des résultats par requêtes de contrôle (SELECT, jointures, agrégations) directement sur l’instance MySQL conteneurisée.
Administration MySQL (dans Docker)
-- Exemples de commandes SQL utilisées dans un SGBD MySQL exécuté en conteneur Docker
USE bd_iut;
SET SQL_SAFE_UPDATES = 0;
CREATE DATABASE nomBDD;
DROP DATABASE nomBDD;
CREATE USER 'pham'@'%' IDENTIFIED BY 'mdp';
GRANT ALL PRIVILEGES ON bd_iut.* TO 'pham'@'%';
FLUSH PRIVILEGES;
DROP USER 'pham'@'%';
- Administration orientée conteneurs :
- Gestion des utilisateurs et privilèges pour sécuriser l’accès à l’instance.
- Tests et mises à jour facilités grâce au cycle de vie Docker (arrêter, recréer, versionner la configuration).
- Gestion de la pérennité des données via volumes + exports (backup/restore) dans un contexte Docker.
Statistiques et tableau de bord
- Exploitation des données produites dans l’environnement Docker :
- Extraction via requêtes SQL (SELECT, agrégations) depuis la base MySQL conteneurisée.
- Analyse dans un tableur pour produire des indicateurs et alimenter un tableau de bord.
Compétences techniques démontrées
<aside>
🐳 Docker & déploiement
- Conteneurisation d’un SGBD
- Réseau Docker (services reliés)
- Volumes (persistance)
- Reproductibilité / portabilité
</aside>
<aside>
🔧 SQL & exploitation
- Vues / jointures / agrégations
- Gestion utilisateurs & droits
- Requêtes de contrôle
- Extraction pour indicateurs
</aside>
Conclusion
Ces réalisations démontrent surtout ma capacité à déployer et maintenir une stack de données avec Docker (SGBD, administration, persistance, sauvegarde), et à exploiter MySQL via le SQL pour répondre à un besoin métier (vues, jointures, requêtes).