Le projet consiste en la création d'un site de petites annonces dont les fonctionnalités évolueront au fil des apprentissages des participants. Le développement met un accent particulier sur la qualité du code et l'automatisation des processus, en respectant des consignes strictes de codage et de nommage. La documentation est maintenue tout au long du projet.
Qualité de Code et Automatisation
PHP CS Fixer
Utilisation de cet outil pour maintenir un style de code homogène.
Scripts Composer
Automatisation des tâches récurrentes via des scripts Composer.
GrumPHP
Automatisation des contrôles de qualité du code.
Conteneurisation
Utilisation de Docker pour les services de base de données et autres composants nécessaires.
Gestion des Annonces
Automatisation des dates
Gestion automatique des dates de création et de mise à jour.
Données factices
Génération des données de test pour valider les fonctionnalités.
Formulaires
Mise en place des formulaires pour la création et l'édition des annonces.
Interface Utilisateur
Webpack Encore
Gestion les assets front-end avec Webpack Encore.
Sass et Bootstrap
Utilisation de ces outils pour styliser l'interface utilisateur.
Mode clair/sombre
Implémentation d'une gestion des thèmes clair et sombre pour améliorer l'expérience utilisateur.
Sécurité et Tests
Codeception
Utilisation de ce framework pour écrire et exécuter des tests automatisés.
Authentification et Autorisation
Mise en place de systèmes de connexion et gestion des permissions.
Gestion des utilisateurs
Permets l'inscription, la connexion et la validation des comptes utilisateurs.
Intégration Continue
Configuration du runner
Mise en place d'un environnement d'intégration continue.
Commandes de console
Création des commandes spécifiques pour gérer les utilisateurs et les annonces.
Améliorations et Optimisations
Recherche et filtrage des annonces
Possibilité de rechercher et de filtrer les annonces.
Système de likes
Permets aux utilisateurs de liker les annonces.
Flux de travail
Amélioration du flux de travail pour une meilleure expérience utilisateur.
Conclusion
Le projet a permis de mettre en pratique les concepts de Symfony et de PHP, en mettant l'accent sur la qualité du code et l'automatisation des processus. Les participants ont pu découvrir et utiliser des outils et des méthodes de développement modernes, tout en respectant des consignes strictes de codage et de nommage. La documentation a été maintenue tout au long du projet, permettant aux participants de suivre l'évolution des fonctionnalités et des tâches.