Ce commit résout plusieurs problèmes dans la configuration du workflow GitHub Actions qui empêchaient la CI de s'exécuter correctement :
1. **Correction du chemin pour `cat composer.json`** :
La commande pour afficher le contenu de `composer.json` a été corrigée de `cat php/composer.json` à `cat composer.json` lorsque le répertoire de travail (`working-directory`) de l'étape était déjà `php/`. Cela résout l'erreur "No such file or directory".
2. **Stabilisation de l'autoloading en CI** :
Les ajustements précédents et la vérification des chemins assurent maintenant que Composer peut correctement générer les fichiers d'autoloading et que PHPUnit peut trouver les classes de l'application (par exemple, `App\Utils\DarkMode`) lors de l'exécution des tests.
3. **Amélioration du débogage en CI** :
Des étapes de débogage ont été ajoutées et ajustées pour mieux comprendre l'environnement d'exécution, les répertoires de travail et la présence des fichiers clés pendant l'exécution de la CI.
Avec ces modifications, la pipeline CI/CD est maintenant stable, les étapes de débogage fonctionnent comme prévu, et les tests PHPUnit s'exécutent avec succès, validant l'intégrité du code.
Ce commit finalise la mise en place de la CI/CD avec PHPUnit et GitHub Actions.
Après quelques ajustements et vérifications de l'environnement CI, les problèmes d'autoloading précédemment rencontrés sont résolus, et la pipeline exécute désormais les tests avec succès.
Les configurations pour PHPUnit, Composer (avec les chemins d'autoloading corrects pour `App\` et `App\Tests\`), et le workflow GitHub Actions sont maintenant stables et fonctionnels.
Ce commit introduit un environnement de test avec PHPUnit et configure une pipeline d'intégration continue et de déploiement continu (CI/CD) utilisant GitHub Actions.
Les changements suivants ont été apportés :
1. **Configuration de PHPUnit** :
* Ajout d'un fichier `php/composer.json` pour gérer les dépendances PHP, avec PHPUnit inclus comme dépendance de développement.
* Création d'un fichier de configuration `php/phpunit.xml.dist` pour PHPUnit.
* Mise à jour du `php/Dockerfile` pour installer Composer et les dépendances du projet (y compris celles de développement) lors de la construction de l'image Docker.
2. **Premier Test** :
* Création d'un répertoire `php/tests/` pour héberger les tests.
* Ajout d'un test unitaire initial (`php/tests/Utils/DarkModeTest.php`) pour la classe `App\Utils\DarkMode` afin de valider la configuration des tests.
3. **Pipeline CI/CD avec GitHub Actions** :
* Création d'un workflow GitHub Actions dans `.github/workflows/ci.yml`.
* La pipeline se déclenche sur les `push` et `pull_request` vers la branche `main`.
* Elle installe PHP, met en cache les dépendances Composer, installe les dépendances et exécute la suite de tests PHPUnit.
4. **Documentation** :
* Mise à jour des fichiers `README.md` et `docs/languages/README.fr.md` pour inclure des instructions sur la manière d'exécuter les tests localement et une description de la nouvelle pipeline CI/CD.
Ces ajouts permettent d'améliorer la qualité du code en automatisant les tests et en s'assurant qu'aucune régression fonctionnelle n'est introduite lors de futurs développements.