Ce projet Symfony permet de gérer des clients et leurs factures à travers une API sécurisée par JWT, ainsi qu'une interface utilisateur complète en Twig/Bootstrap.
- PHP 8.2
- Symfony 6+
- MySQL 8
- Docker / Docker Compose
- JWT (LexikJWTAuthenticationBundle)
- Twig + Bootstrap 5
Mohamed El Outmani
- Clonez le projet :
git clone https://github.com/imtazix/crm-symfony.git
cd crm-symfony- Lancez Docker :
docker compose up -d --buildCela va :
- Créer les conteneurs
crm-symfony-appetcrm-symfony-db - Exposer l'app Symfony sur
http://localhost:8000
- Accédez au conteneur PHP pour lancer les commandes :
docker exec -it crm-symfony-app bash- Exécutez les migrations + fixtures :
php bin/console doctrine:migrations:migrate
php bin/console doctrine:fixtures:loadPOST http://localhost:8000/api/login{
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9..."
}Vous pouvez le décoder via https://jwt.io pour consulter son contenu.
- Symfony 6.x
- Doctrine ORM
- LexikJWTAuthenticationBundle
- Symfony Flex
- Docker & Docker Compose
- JWT stocké en session (login HTML)
- Décodage du token via
firebase/php-jwt
- Authentification API via JWT
- Authentification Web avec session
- Gestion des utilisateurs avec fixture
- Base de données MySQL Dockerisée
- Interface de login HTML avec Bootstrap
- Sécuriser les routes (
/dashboard,/clients,/factures) - Création/édition de clients
- CRUD Factures
- Interface utilisateur + dashboard
docker compose down -vMohamed el outmani
Projet Examen Symfony - DevOps 2025
GitHub : imtazix
📫 Pour toute question, crée une issue sur le dépôt ou contacte-moi directement.