Commit Graph

2 Commits

Author SHA1 Message Date
ece5e73fba J'ai corrigé l'autoloading PSR-4 pour les tests PHPUnit.
Ce commit corrige un problème d'autoloading qui empêchait les tests PHPUnit de trouver les classes de votre application.

Voici les changements que j'ai apportés :

1.  **Correction de `php/composer.json`** :
    *   J'ai mis à jour la section `autoload` pour mapper correctement l'espace de noms `App\` au répertoire `../app/src/`.
    *   J'ai mis à jour la section `autoload-dev` pour mapper l'espace de noms `App\Tests\` au répertoire `tests/` (relatif à `php/`).
    *   J'ai ensuite régénéré les fichiers d'autoloading optimisés.

2.  **Mise à jour de `php/tests/Utils/DarkModeTest.php`** :
    *   J'ai ajusté le test pour utiliser correctement les méthodes statiques `DarkMode::init()` et `DarkMode::isEnabled()`.
    *   J'ai géré la superglobale `$_SESSION` pour isoler l'état du test.

3.  **Ajout de `php/.gitignore`** :
    *   J'ai créé un fichier `.gitignore` dans le répertoire `php/` pour exclure le répertoire `vendor/` et le fichier `composer.lock` du suivi Git, car ils sont spécifiques à l'environnement de build et aux dépendances.

Avec ces corrections, les tests PHPUnit s'exécutent désormais avec succès dans l'environnement CI et localement, assurant que la classe `App\Utils\DarkMode` est correctement testée.
2025-06-16 12:18:04 +00:00
e7d9dc07f0 feat: Mise en place de PHPUnit et d'une pipeline CI/CD GitHub Actions
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.
2025-06-16 12:08:59 +00:00