Assurez-vous d'avoir accès à un terminal :
- macOS : Terminal (pré-installé) ou iTerm2
- Windows : PowerShell, Git Bash, ou Windows Terminal
- Linux : Terminal de votre distribution
Git doit être installé sur votre machine :
-
macOS :
# Vérifier si Git est installé git --version # Si non installé, installer via Homebrew brew install git
-
Windows : Téléchargez et installez Git pour Windows
-
Linux :
# Debian/Ubuntu sudo apt-get install git # Fedora sudo dnf install git
Vérifiez l'installation :
git --versiongit clone git@github.com:lgauthier1/coda-module-sql.git
cd coda-module-sqlSi vous n'avez pas encore configuré le remote :
git remote add origin git@github.com:lgauthier1/coda-module-sql.gitAssurez-vous d'avoir Docker installé sur votre machine :
- macOS : Téléchargez et installez Docker Desktop pour Mac
- Windows : Téléchargez et installez Docker Desktop pour Windows
- Linux : Suivez les instructions sur docs.docker.com
Vérifiez l'installation :
docker --version
docker-compose --versionOption 1 : pgAdmin via Docker (recommandé)
pgAdmin est disponible via un docker-compose séparé. Il sera accessible automatiquement après le démarrage.
đź“– Guide complet : Consultez le fichier
README-pgadmin.mdpour un guide détaillé d'utilisation de pgAdmin avec Docker.
⚠️ En cas de problème avec pgAdmin : Utilisez le fichierdocker-compose.yml(sans pgAdmin) et installez un client externe (voir Option 2).
Option 2 : Clients externes (alternative)
Si vous préférez installer un client localement ou en cas de problème avec pgAdmin Docker :
- pgAdmin : pgadmin.org
- DBeaver : dbeaver.io
- TablePlus : tableplus.com
- DataGrip (JetBrains) : jetbrains.com/datagrip
docker-compose up -ddocker-compose -f docker-compose-pgadmin.yml up -d💡 Note : Si vous rencontrez des problèmes avec pgAdmin, utilisez l'Option 1 et installez un client externe (voir section 5).
Les scripts doivent être exécutés manuellement après le premier démarrage :
# 1. Créer le schéma et les tables
docker-compose exec -T postgres psql -U codaSchoolUser -d codaSchool < scripts/init-schema.sql
# Vérifier que les tables ont été créées
docker-compose exec postgres psql -U codaSchoolUser -d codaSchool -c "SELECT tablename FROM pg_tables WHERE schemaname = 'student';"
# 2. Charger les données de test
docker-compose exec -T postgres psql -U codaSchoolUser -d codaSchool < scripts/seed-data.sql
# Vérifier que les données ont été insérées
docker-compose exec postgres psql -U codaSchoolUser -d codaSchool -c "SET search_path TO student; SELECT COUNT(*) FROM etudiant; SELECT COUNT(*) FROM cours; SELECT COUNT(*) FROM inscription; SELECT COUNT(*) FROM note;"La base de données sera accessible avec les paramètres suivants :
- Host :
localhost - Port :
5432 - Database :
codaSchool - Username :
codaSchoolUser - Password :
verySecretAndSecurePassword
docker-compose psdocker-compose downdocker-compose down -vpgAdmin est accessible sur le port 5050
-
Accédez à pgAdmin via votre navigateur :
http://localhost:5050 -
Première connexion à pgAdmin :
- Email :
admin@coda-school.com - Password :
admin - Cliquez sur "Login"
- Email :
-
Ajouter le serveur PostgreSQL :
- Cliquez sur "Add New Server" (ou clic droit sur "Servers" → "Register" → "Server")
-
Onglet "General" :
- Name :
Coda School
- Name :
-
Onglet "Connection" :
- Host name/address :
postgres(nom du service dans docker-compose, paslocalhost) - Port :
5432 - Maintenance database :
codaSchool - Username :
codaSchoolUser - Password :
verySecretAndSecurePassword - âś… Cochez "Save password" (optionnel mais pratique)
- Host name/address :
-
Cliquez sur "Save"
đź’ˇ Important : Utilisez
postgrescomme host (paslocalhost) car pgAdmin et PostgreSQL sont dans le même réseau Docker.
- Ouvrez votre client PostgreSQL
- Créez une nouvelle connexion
- Paramètres de connexion :
- Host :
localhost - Port :
5432 - Database :
codaSchool - Username :
codaSchoolUser - Password :
verySecretAndSecurePassword
- Host :
- Connectez-vous
docker-compose exec postgres psql -U codaSchoolUser -d codaSchoolUne fois connecté, utilisez le schéma student :
SET search_path TO student;
\dtPour vider et recréer les données :
# Supprimer le schéma et toutes ses tables
docker-compose exec postgres psql -U codaSchoolUser -d codaSchool -c "DROP SCHEMA IF EXISTS student CASCADE;"
# Recréer le schéma et les données
docker-compose exec -T postgres psql -U codaSchoolUser -d codaSchool < scripts/init-schema.sql
docker-compose exec -T postgres psql -U codaSchoolUser -d codaSchool < scripts/seed-data.sqldocker-compose logs -f postgresdocker-compose restartPour recréer la base avec les scripts d'initialisation :
docker-compose down -v
docker-compose up -dLe schéma student comprend les tables suivantes :
- student.etablissement : Établissements d'enseignement
- student.etudiant : Étudiants inscrits dans les établissements (2000 étudiants)
- student.cours : Cours disponibles (100 cours)
- student.inscription : Table de liaison entre étudiants et cours (1000 inscriptions)
- student.note : Notes obtenues par les étudiants pour chaque cours (1000 notes)
etablissement (1) ----< (N) etudiant
|
| (N)
|
inscription
|
| (N)
|
cours (1) ----< (N) inscription
cours (1) ----< (N) note >---- (N) etudiant