Premier Demarrage
Ce guide vous accompagne dans l'initialisation de PCH-SIG apres l'installation.
Checklist pre-demarrage
Avant de continuer, verifiez que :
- Docker est installe et fonctionne
- Les conteneurs sont demarres (
docker compose ps) - Les ports 3000 et 8000 sont accessibles
- Les fichiers
.envsont configures
Etape 1 : Demarrer les conteneurs
cd deploy
# Demarrer tous les services
docker compose up -d
# Verifier le statut
docker compose ps
Tous les conteneurs doivent etre en etat Up.
Etape 2 : Creer la base de donnees
# Acceder au conteneur backend
docker exec -it pch_backend bash
# Creer la base de donnees
php bin/console doctrine:database:create
# Executer les migrations
php bin/console doctrine:migrations:migrate --no-interaction
Verifier la structure
php bin/console doctrine:schema:validate
Etape 3 : Generer les cles JWT
# Toujours dans le conteneur backend
php bin/console lexik:jwt:generate-keypair
Les cles sont creees dans config/jwt/ :
private.pem: Cle privee (signature)public.pem: Cle publique (verification)
Securite
Les cles JWT doivent rester confidentielles. Ne les commitez pas dans Git.
Etape 4 : Charger les donnees initiales
Donnees de reference
php bin/console doctrine:fixtures:load --group=reference --no-interaction
Cela charge :
- Regions, Secteurs, Communes, Localites
- Types de documents
- Parametres systeme
Utilisateur administrateur
php bin/console app:create-admin admin@pch-sig.sn Admin123!
Ou via les fixtures :
php bin/console doctrine:fixtures:load --group=users --no-interaction
Etape 5 : Vider le cache
php bin/console cache:clear
php bin/console cache:warmup
Etape 6 : Build du frontend
Si ce n'est pas deja fait :
# Sortir du conteneur backend
exit
# Sur la machine hote
cd ../frontend
npm install
npm run build
Les fichiers sont generes dans frontend/build/.
Etape 7 : Acceder a l'application
URLs
| Service | URL |
|---|---|
| Application | http://localhost:3000 |
| API | http://localhost:8000/api |
| Mailpit | http://localhost:8025 |
Premiere connexion
- Accedez a http://localhost:3000
- Connectez-vous avec :
- Email :
admin@pch-sig.sn - Mot de passe :
Admin123!
- Email :
Etape 8 : Verifications post-demarrage
Tester l'API
curl http://localhost:8000/api
Reponse attendue : Documentation API ou message de bienvenue.
Tester la connexion
curl -X POST http://localhost:8000/api/login_check \
-H "Content-Type: application/json" \
-d '{"email":"admin@pch-sig.sn","password":"Admin123!"}'
Reponse attendue : Token JWT.
Verifier Redis
docker exec pch_redis redis-cli -a redis_secure_2025 PING
Reponse attendue : PONG
Verifier PostgreSQL
docker exec pch_postgres psql -U pch_admin -d pch_sig -c "SELECT count(*) FROM users;"
Configuration initiale
Changer le mot de passe admin
- Connectez-vous a l'application
- Cliquez sur votre profil
- Selectionnez Parametres
- Changez le mot de passe
Creer les premiers utilisateurs
- Allez dans Administration > Parametres
- Section Utilisateurs
- Cliquez sur Nouvel utilisateur
Configurer les regions
Les regions sont chargees automatiquement. Verifiez dans : Parametres > Geographie
Problemes courants
Erreur "Connection refused" PostgreSQL
# Verifier que PostgreSQL est demarre
docker logs pch_postgres
# Attendre quelques secondes et reessayer
sleep 10
docker exec -it pch_backend php bin/console doctrine:migrations:migrate
Erreur "Permission denied" sur les cles JWT
# Corriger les permissions
docker exec pch_backend chmod 644 config/jwt/public.pem
docker exec pch_backend chmod 600 config/jwt/private.pem
Page blanche sur le frontend
# Verifier le build
ls -la frontend/build/
# Reconstruire si necessaire
cd frontend && npm run build