chocteau.dev — Outil de gestion personnel
Outil de gestion complet avec architecture CQRS, déploiement blue-green automatisé et monitoring
- PHP 8.5
- Symfony 7.4
- FrankenPHP
- PostgreSQL
- Redis
- Docker Compose
- Prometheus
- GitLab CI/CD
Contexte
Développement d'un outil de gestion personnel complet permettant notamment le suivi de l'activité auprès des clients avec gestion des contrats et des temps passés.
Défis clés
- Mettre en place une architecture propre et évolutive avec séparation stricte des responsabilités.
- Assurer des déploiements sans interruption de service.
- Monitorer l'application en production pour une exploitation sereine.
- Automatiser la qualité du code et les tests avant chaque déploiement.
Interventions
- Mise en place d'une architecture CQRS stricte avec Symfony Messenger (QueryBus/CommandBus) pour garantir le découplage entre contrôleurs et couche d'accès aux données.
- Développement du module Time Tracking (clients, contrats, entrées de temps) avec calcul automatique des heures réservées, consommées et restantes.
- Configuration d'un pipeline GitLab CI/CD avec quality gates (PHPStan, Rector, ECS), tests automatisés PHPUnit et validation de la configuration production.
- Implémentation d'une stratégie de déploiement blue-green automatisée avec détection automatique de la version active et basculement progressif via Caddy.
- Intégration du monitoring avec Prometheus pour les métriques applicatives et Sentry pour le suivi des erreurs.
Résultats
- Architecture propre et évolutive facilitant l'ajout de nouvelles fonctionnalités.
- Déploiements automatisés sans interruption de service grâce à la stratégie blue-green.
- Monitoring complet de l'application permettant une exploitation sereine.
- Outil de gestion opérationnel permettant le suivi efficace de l'activité auprès des clients.