{"id":28345769,"url":"https://github.com/zeabdelkhalek/tp-igl-api","last_synced_at":"2026-04-09T17:06:25.173Z","repository":{"id":49085960,"uuid":"230951086","full_name":"zeabdelkhalek/TP-IGL-API","owner":"zeabdelkhalek","description":"TP IGL Partie Back end","archived":false,"fork":false,"pushed_at":"2023-02-02T10:01:58.000Z","size":6440,"stargazers_count":2,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-03T21:00:57.561Z","etag":null,"topics":["docker","docker-compose","laravel","mysql","php","phpunit","selenium-webdriver"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zeabdelkhalek.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-12-30T17:02:35.000Z","updated_at":"2023-03-04T04:40:28.000Z","dependencies_parsed_at":"2022-09-09T02:33:14.673Z","dependency_job_id":null,"html_url":"https://github.com/zeabdelkhalek/TP-IGL-API","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zeabdelkhalek/TP-IGL-API","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeabdelkhalek%2FTP-IGL-API","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeabdelkhalek%2FTP-IGL-API/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeabdelkhalek%2FTP-IGL-API/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeabdelkhalek%2FTP-IGL-API/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zeabdelkhalek","download_url":"https://codeload.github.com/zeabdelkhalek/TP-IGL-API/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeabdelkhalek%2FTP-IGL-API/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261165607,"owners_count":23118865,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-compose","laravel","mysql","php","phpunit","selenium-webdriver"],"created_at":"2025-05-27T13:10:15.144Z","updated_at":"2025-12-30T20:15:28.776Z","avatar_url":"https://github.com/zeabdelkhalek.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TP-IGL-API \n\n## Lancer l'application Localement : \n\n### Exigences \n| Exigence                                 | Version |\n| ------------------------------------------- | ------- |\n| [PHP](https://www.php.net)                | `7.3+`  |\n| [Composer](https://getcomposer.org) | `1.9+`  |\n| [MySQL](https://www.mysql.com) | `8.0+`  |\n| [Git](https://git-scm.com/downloads) | `2.0+`  |\n\nExécutez les commandes suivantes pour vérifier les versions installées actuelles:\n\n```bash\nphp --version\ngit --version\ncomposer --version\n```\n\nPour MySQL Vous pouvez exécuter cette commande dans MySQL Command Line Client:\n\n```bash\nselect version() ;\n```\n\n1. Cloner le repository :\n\n```bash\ngit clone https://github.com/AbdelkhalekESI/TP-IGL-API\n```\n\n2. Installer les dépendances nécessaires :\n\n```bash\ncomposer install\n```\n\n3. Créez votre fichier `.env` à partir de` .env.example` et générez une clé d'application (n'oubliez pas de le configurer avec la base de données):\n\n```bash\ncp .env .env.example\nphp artisan key:generate  \n```\n\n4. Migrer la base de données et la remplir avec des données aléatoires:\n```bash\nphp artisan migrate \nphp artisan db:seed\n```\n\n5. Enfin, exécuter le serveur :\n\n```bash\nphp artisan serve\n```\n\n6. Accéder à l'application via : `http://127.0.0.1:8000`\n\n## Lancer l'application en utilisant Docker : \n\nObtenir une instance locale de ce projet est très rapide en utilisant [docker-compose](https://docs.docker.com/compose/) et [docker](https://www.docker.com/products/docker-desktop) :\n\n1. Cloner le repository :\n\n```bash\ngit clone https://github.com/AbdelkhalekESI/TP-IGL-API/\n```\n\n2. Créer l'image de l'application et exécuter les services (Nginx,MySQL,app) :\n\n```bash\ndocker-compose up -d --build database \u0026\u0026 docker-compose up -d --build web \u0026\u0026 docker-compose up -d --build app \n```\n\n3. Assurer vous que vous êtes entrain d'exécuter cette commande dans le dossier racine de votre application laravel. Cette commande crée vos images de conteneur et les démarre enfin. Si tout se déroule comme prévu, vous devrier pouvoir accéder à votre application laravel exécutée à l'intérieur de votre conteneur à: `http://127.0.0.1:80`\n\n## Les Tests Unitaires \n\nDans cette application on a testé les requêtes avec `phpunit` , les requêtes qui sont testées sont :\n\n- Ajouter un nouveau étudiant \n- Afficher les informations d'un étudiant \n- Modifier les informations d'un étudiant \n- Supprimer un étudiant \n\nPour lancer les tests on exécute cette commande :\n\n```bash\ncd vendor/bin\nphpunit ../../tests/APIs/StudentApiTest\n```\n\n## Tests Avec Selenium \n\n### Exigences \n\n| Exigence                                 | Version |\n| ------------------------------------------- | ------- |\n| [Python](https://www.python.org/downloads/) | `3.6+`  |\n| [Pip](https://pypi.org/project/pip/) | `9.0+`  |\n\nAvant de commancer vérifier bien que l'application est en cours d'éxecution (Front-end et Back-end) et lancer ces commandes :\n\n```bash\ncd Selenium-Test\npip install selenium\npython script.py\n```\n\n## Documentation des API \n\nVous pouvez accéder à la documentation généré automatiquement à partir de [Laravel Swagger](https://github.com/mtrajano/laravel-swagger) ici `http://127.0.0.1:8000/api/docs`\n\net voici une capture pour tous les APIs du Model Etudiant : \n![Swagger API](/Screenshots/screen.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeabdelkhalek%2Ftp-igl-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzeabdelkhalek%2Ftp-igl-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeabdelkhalek%2Ftp-igl-api/lists"}