Aller au contenu principal

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 .env sont 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

ServiceURL
Applicationhttp://localhost:3000
APIhttp://localhost:8000/api
Mailpithttp://localhost:8025

Premiere connexion

  1. Accedez a http://localhost:3000
  2. Connectez-vous avec :
    • Email : admin@pch-sig.sn
    • Mot de passe : Admin123!

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

  1. Connectez-vous a l'application
  2. Cliquez sur votre profil
  3. Selectionnez Parametres
  4. Changez le mot de passe

Creer les premiers utilisateurs

  1. Allez dans Administration > Parametres
  2. Section Utilisateurs
  3. 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

Prochaines etapes