{"id":20266520,"url":"https://github.com/gasycoder/tp-essgam-licence-l2","last_synced_at":"2026-05-07T12:39:21.926Z","repository":{"id":251332610,"uuid":"837094134","full_name":"GasyCoder/tp-essgam-licence-l2","owner":"GasyCoder","description":null,"archived":false,"fork":false,"pushed_at":"2024-08-07T08:57:36.000Z","size":7,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-03T22:09:41.828Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/GasyCoder.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-02T07:45:08.000Z","updated_at":"2024-08-07T08:57:39.000Z","dependencies_parsed_at":"2024-08-02T09:36:44.944Z","dependency_job_id":"cad2626e-08ce-4f54-bb24-6f33f2cbad41","html_url":"https://github.com/GasyCoder/tp-essgam-licence-l2","commit_stats":null,"previous_names":["gasycoder/tp-essgam-licence-l2"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/GasyCoder/tp-essgam-licence-l2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GasyCoder%2Ftp-essgam-licence-l2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GasyCoder%2Ftp-essgam-licence-l2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GasyCoder%2Ftp-essgam-licence-l2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GasyCoder%2Ftp-essgam-licence-l2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GasyCoder","download_url":"https://codeload.github.com/GasyCoder/tp-essgam-licence-l2/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GasyCoder%2Ftp-essgam-licence-l2/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32738518,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-07T02:14:30.463Z","status":"ssl_error","status_checked_at":"2026-05-07T02:14:29.405Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2024-11-14T12:09:46.733Z","updated_at":"2026-05-07T12:39:21.911Z","avatar_url":"https://github.com/GasyCoder.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Système de Gestion de Bibliothèque\r\n\r\nCe projet est un système de gestion de bibliothèque qui permet de gérer les membres et les livres, ainsi que les emprunts de livres par les membres. Il utilise PHP et la Programmation Orientée Objet (POO).\r\n\r\n## Structure du Projet\r\n```\r\napp/\r\n├── controllers/\r\n│ ├── MembreController.php\r\n│ ├── LivreController.php\r\n│ └── EmpruntController.php\r\n├── models/\r\n│ ├── Membre.php\r\n│ ├── Livre.php\r\n│ └── Emprunt.php\r\n└── views/\r\n├── membre/\r\n│ ├── index.php\r\n│ └── show.php\r\n├── livre/\r\n│ ├── index.php\r\n│ └── show.php\r\npublic/\r\n├── assets/\r\n│ ├── css/\r\n│ └── js/\r\n├── index.php\r\nconfig/\r\n└── database.php\r\n```\r\n\r\nLa structure du projet est la suivante :\r\n\r\n- **app**  \r\n  Contient le code source principal de l'application.\r\n  - **controllers**  \r\n    Les contrôleurs de l'application qui gèrent la logique de traitement des requêtes.\r\n  - **models**  \r\n    Les modèles qui interagissent avec la base de données.\r\n  - **views**  \r\n    Les vues qui génèrent l'interface utilisateur.\r\n\r\n- **config**  \r\n  Contient les fichiers de configuration de l'application.\r\n\r\n- **public**  \r\n  Contient les fichiers accessibles publiquement, tels que les fichiers CSS, JavaScript et les images.\r\n\r\n## Installation\r\n\r\n1. Clonez le dépôt :\r\n   ```bash\r\n   git clone https://github.com/GasyCoder/tp-essgam-licence-l2.git\r\n\r\n2. Accédez au répertoire du projet :\r\n    ```bash\r\n    cd tp-essgam-licence-l2\r\n\r\n3. Configurez la base de données dans `config/database.php` :\r\n    ```php\r\n    \u003c?php\r\n\r\n    $db_host = 'localhost';\r\n    $db_name = 'bibliotheque';\r\n    $db_user = 'root';\r\n    $db_pass = '';\r\n\r\n    try {\r\n        $pdo = new PDO(\"mysql:host=$db_host;dbname=$db_name\", $db_user, $db_pass);\r\n        $pdo-\u003esetAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);\r\n    } catch (PDOException $e) {\r\n        echo 'Connexion échouée : ' . $e-\u003egetMessage();\r\n    }\r\n\r\n    ?\u003e\r\n\r\n4. Créez la base de données et les tables nécessaires :\r\n    ```sql\r\n    CREATE DATABASE bibliotheque;\r\n\r\n    USE bibliotheque;\r\n\r\n    CREATE TABLE membres (\r\n        id INT AUTO_INCREMENT PRIMARY KEY,\r\n        nom VARCHAR(255) NOT NULL\r\n    );\r\n\r\n    CREATE TABLE livres (\r\n        id INT AUTO_INCREMENT PRIMARY KEY,\r\n        titre VARCHAR(255) NOT NULL\r\n    );\r\n\r\n    CREATE TABLE emprunts (\r\n        id INT AUTO_INCREMENT PRIMARY KEY,\r\n        membre_id INT NOT NULL,\r\n        livre_id INT NOT NULL,\r\n        FOREIGN KEY (membre_id) REFERENCES membres(id),\r\n        FOREIGN KEY (livre_id) REFERENCES livres(id)\r\n    );\r\n    ```\r\n\r\n## Utilisation\r\n\r\n1. Démarrez un serveur PHP intégré depuis le répertoire `public` :\r\n    ```bash\r\n    php -S localhost:8000 -t public\r\n    ```\r\n\r\n2. Accédez à l'application dans votre navigateur à l'adresse :\r\n    ```\r\n    http://localhost:8000\r\n    ```\r\n\r\n## Fonctionnalités\r\n\r\n- Ajouter un nouveau membre\r\n- Ajouter un nouveau livre\r\n- Emprunter des livres pour un membre\r\n- Voir la liste des membres\r\n- Voir la liste des livres\r\n- Voir les emprunts (livres empruntés par les membres)\r\n- Voir les détails d'un membre (y compris les livres empruntés)\r\n- Voir les détails d'un livre (y compris les membres l'ayant emprunté)\r\n\r\n## Contribution\r\n\r\nLes contributions sont les bienvenues ! Veuillez soumettre une pull request ou ouvrir une issue pour discuter des modifications que vous souhaitez apporter.\r\n\r\n## Licence\r\n\r\nCe projet est sous licence MIT. Voir le fichier [LICENSE](LICENSE) pour plus de détails.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgasycoder%2Ftp-essgam-licence-l2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgasycoder%2Ftp-essgam-licence-l2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgasycoder%2Ftp-essgam-licence-l2/lists"}