-
Cloner le projet
git clone <repo> msss cd msss
-
Vérifier les prérequis
- PHP >= 8.0
- SQLite3
- Composer
- Apache2 (ou Nginx)
-
Configurer l'environnement
- Copier
.env.examplevers.envet adapter les variables :APP_URL=http://msss.localDB_DATABASE=/var/www/html/web/msss/database/database.sqlite
- Créer le fichier de base de données si besoin :
touch database/database.sqlite
- Copier
-
Installer les dépendances
composer install
-
Configurer Apache
- Créer un VirtualHost avec :
DocumentRoot /var/www/html/web/msss/public ServerName msss.local <Directory /var/www/html/web/msss/public> AllowOverride All Require all granted </Directory> - Ajouter
127.0.0.1 msss.localdans/etc/hosts. - Redémarrer Apache.
- Créer un VirtualHost avec :
-
Accéder à l’application
- Aller sur http://msss.local
- Renommer tous les dossiers/fichiers au nouveau nom
- Mettre à jour
.env(APP_URL, DB_DATABASE) - Mettre à jour la config Apache
- Vérifier que plus aucun chemin absolu ou ancien nom n’est présent dans le code
- Nettoyer les logs (
> storage/logs/error.log) - Tester l’accès local
Conseil : Pour toute future migration, il suffit de refaire ces étapes, sans jamais coder en dur un chemin absolu dans le code.
L'application repose sur une architecture PHP modulaire inspirée de MVC :
app/Corecontient l'infrastructure partagée (router, base de données, vues, authentification, etc.).app/Controllersorchestre les requêtes HTTP et délègue aux services et dépôts.app/Servicesencapsule les intégrations externes (par exempleStripeService).app/Repositoriescentralise l'accès aux données applicatives.app/Modelsetapp/Utilsregroupent respectivement les objets métiers et les utilitaires transverses.app/viewshéberge les gabarits d'affichage.app/configstocke les paramètres applicatifs et les clés d'API.public/sert les actifs web (front) et le point d'entrée HTTP.tests/rassemble les tests automatisés (unitaires et fonctionnels légers sur le routage).
Cette séparation vise à conserver des responsabilités claires et facilite l'écriture de tests ciblés tout en gardant des composants réutilisables.
- Respecter les standards PSR-12 et privilégier les tableaux à syntaxe courte (
[]). - Injecter explicitement les dépendances afin de favoriser le test et la réutilisation des services.
- Utiliser les namespaces
App\pour le code applicatif etTests\pour les tests. - Journaliser via
error_logpour garder un suivi exploitable en développement. - Préférer les exceptions précises et documenter les méthodes publiques avec des PHPDoc succincts.
Un profileur PHP-CS-Fixer est fourni pour uniformiser le style ; exécutez composer lint avant toute soumission.
- Créer une branche dédiée et appliquer les modifications.
- Installer les dépendances de développement si nécessaire :
composer install. - Lancer l'ensemble des vérifications automatisées :
- Tests unitaires et fonctionnels :
composer test - Analyse statique (PHPStan) :
composer check:types - Vérification du style (PHP-CS-Fixer en mode dry-run) :
composer lint
- Tests unitaires et fonctionnels :
- Corriger les éventuels problèmes (
composer lint:fixpermet de corriger automatiquement le style) puis re-exécuter les commandes. - Documenter les changements dans la Pull Request et compléter
docs/CONTRIBUTING.mdsi de nouvelles règles sont introduites.
Des détails supplémentaires (workflow Git, critères de revue, bonnes pratiques) sont disponibles dans docs/CONTRIBUTING.md.