{"id":18842551,"url":"https://github.com/lcube45/drupal8-composer","last_synced_at":"2026-01-27T17:06:28.877Z","repository":{"id":101446561,"uuid":"211275631","full_name":"lcube45/drupal8-composer","owner":"lcube45","description":null,"archived":false,"fork":false,"pushed_at":"2019-09-27T08:45:45.000Z","size":2,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-22T22:40:55.566Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"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/lcube45.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":"2019-09-27T08:45:01.000Z","updated_at":"2019-09-27T08:45:47.000Z","dependencies_parsed_at":null,"dependency_job_id":"ed1f7c17-2030-4aa0-a728-ba3bf4da0197","html_url":"https://github.com/lcube45/drupal8-composer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lcube45/drupal8-composer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lcube45%2Fdrupal8-composer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lcube45%2Fdrupal8-composer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lcube45%2Fdrupal8-composer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lcube45%2Fdrupal8-composer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lcube45","download_url":"https://codeload.github.com/lcube45/drupal8-composer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lcube45%2Fdrupal8-composer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28816577,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-27T12:25:15.069Z","status":"ssl_error","status_checked_at":"2026-01-27T12:25:05.297Z","response_time":168,"last_error":"SSL_read: 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-08T02:55:02.430Z","updated_at":"2026-01-27T17:06:28.861Z","avatar_url":"https://github.com/lcube45.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Drupal 8 et Composer\nhttps://www.drupal.org/docs/develop/using-composer\nhttps://getcomposer.org/\n\nComposer est un gestionnaire de dépendances pour PHP.\n\n## Références et sources\nhttps://www.lullabot.com/articles/drupal-8-composer-best-practices\n\n## Pourquoi utiliser Composer\nDrupal 8 Core utilise Composer pour gérer ses dépendances (ex: Symfony, Guzzle, …)\n\nComposer permet de :\n- Identifier l’emplacement\n- Télécharger\n- Valider les dépendances\n- Inclure les dépendances\n\n## Initialiser un nouveau projet\nhttps://github.com/drupal-composer/drupal-project\n\n```\ncomposer create-project drupal-composer/drupal-project:8.x-dev \u003cproject-path\u003e --stability dev --no-interaction\n```\n\n**Arborescence projet obtenu** :\n\n```\n\u003cproject-path\u003e\n  /.git\n  /drush\n  /scripts\n  /vendor\n  /web\n    .gitignore\n    composer.json\n    composer.lock\n```\n\n## Ajouter un module\nAjouter les sources du module dans votre code source.\n```\ncomposer require drupal/modulename:^1.0\n```\n\nAjouter un module en ciblant un commit spécifique\n```\ncomposer require drupal/modulename:dev-[branch]#[commit-hash]\n```\n\nComprendre les déclarations de versions pour Composer : https://getcomposer.org/doc/articles/versions.md\n\n## Mettre à jour un module\nMettre à jour le code source du module en tenant compte des dépendances\n```\ncomposer update drupal/modulename --with-dependencies\n```\nAttention ceci ne met à jour que votre code source, il faut lancer l'update de Drupal\nsi besoin de mises à jour en base de données :\n\n```\ndrush updatedb\n```\n\nVérifier le statut des différents modules\n```\ncomposer outdated\n```\n\n## Supprimer un module\nAttention au préalable de le désinstaller via l’UI ou via Drush ou via Drupal Console\n\n```\ncomposer remove drupal/modulename\n```\n\n## Régénérer le fichier composer.lock\n```\ncomposer update nothing\n```\n\n## Gérer les modules spécifiques au développement\n```\ncomposer require --dev drupal/modulename\n```\n\nInstaller les dépendances en ignorant les modules de développement\n\n```\ncomposer install --no-dev\n```\n\n## Versionner le fichier composer.lock\nhttps://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file\n\n## Patcher des modules\nUn plugin de gestion de patches est disponible pour composer : https://github.com/cweagans/composer-patches\n\n```\ncomposer require cweagans/composer-patches:^1.0\n```\n\nIl faut ensuite ajouter une collection de patches à la section extra de notre fichier composer.json\n\n```\n \"extra\": {\n   \"patches\": {\n     \"drupal/core\": {\n        \"2631468 - Menu subtrees in menu blocks show all subitems regardless of the active menu item\": \"https://www.drupal.org/files/issues/drupal-n2631468-95.patch\"\n      },\n      \"drupal/panelizer\": {\n        \"2793841 - Properly integrate with Panels IPE\": \"https://www.drupal.org/files/issues/panelizer-panels-ipe-tempstore-id.patch\",\n      \t\"2664574 - Add support for Taxonomy Term entities\": \"https://www.drupal.org/files/issues/2664574-26.patch\"\n      },\n      \"drupal/panels\": {\n        \"2793801 - Allow modules to influence the IPE tempstore ID\": \"https://www.drupal.org/files/issues/2793801-9.patch\"\n      }\n    }\n  }\n```\n\n## Supprimer le module à patcher, récupérer le module et appliquer le patch\n```\ncomposer update none\n```\n\n## Générer un artefact pour livraison en production (build)\n```\ncomposer install --no-dev --optimize-autoloader\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flcube45%2Fdrupal8-composer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flcube45%2Fdrupal8-composer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flcube45%2Fdrupal8-composer/lists"}