{"id":6395,"date":"2021-09-22T17:31:25","date_gmt":"2021-09-22T15:31:25","guid":{"rendered":"https:\/\/www.luklagroup.com\/sem-categoria\/comment-migrer-de-drupal-8-a-drupal-9-en-6-etapes\/"},"modified":"2021-09-22T17:31:25","modified_gmt":"2021-09-22T15:31:25","slug":"comment-migrer-de-drupal-8-a-drupal-9-en-6-etapes","status":"publish","type":"post","link":"https:\/\/www.luklagroup.com\/pt-pt\/apps-data-pt-pt\/comment-migrer-de-drupal-8-a-drupal-9-en-6-etapes\/","title":{"rendered":"Comment migrer de Drupal 8 \u00e0 Drupal 9 en 6 \u00e9tapes ?"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong><em>Le saviez-vous ?<\/em><\/strong> <strong><em>Drupal 9 est disponible en version stable depuis le 3 juin 2020, d\u00e9j\u00e0 !&nbsp; Pourtant, beaucoup de soci\u00e9t\u00e9s n\u2019ont pas encore migr\u00e9 leurs sites de Drupal 8 vers Drupal 9 &#8211; Drupal 8 ayant continu\u00e9 \u00e0 b\u00e9n\u00e9ficier de mises \u00e0 jour jusqu\u2019en novembre 2021. Or, il faut savoir qu&#8217;\u00e0 partir de cette date, seul Drupal 9 b\u00e9n\u00e9ficiera des mises \u00e0 jour de s\u00e9curit\u00e9 et des corrections de bugs.<\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><em>S\u2019il \u00e9tait un peu pr\u00e9cipit\u00e9 de migrer vers Drupal 9 il y a un an, il est aujourd\u2019hui n\u00e9cessaire de planifier rapidement cette migration.<\/em><\/strong><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-medium is-resized\"><img alt=\"\" decoding=\"async\" src=\"https:\/\/digiwin.fr\/wp-content\/uploads\/2021\/09\/Drupal-900x319.png\" alt=\"\" class=\"wp-image-3477\" width=\"450\" height=\"160\"\/><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Pourquoi Drupal stoppe la mise \u00e0 jour de la version 8 d\u00e8s novembre 2021&nbsp;?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Drupal 9 n\u2019est pas une r\u00e9volution. Les avanc\u00e9es de Drupal 9 sont surtout d\u2019ordre technique, avec notamment la mise \u00e0 jour du framework PHP Symfony et du moteur de templates Twig. Drupal 8 est bas\u00e9 sur Symfony 3 et Twig 1 tandis que Drupal 9 est bas\u00e9 sur Symfony 4 et Twig 2.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Le 21 novembre, Symfony 3 ne sera plus maintenu. <\/strong>Drupal 8 voit sa date de fin de support co\u00efncider avec celle de Symfony 3.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Par ailleurs, l\u2019ensemble des modules Drupal 8 sont actuellement mis \u00e0 jour pour \u00eatre compatibles avec Drupal 9.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Nouveaut\u00e9s de Drupal 9<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Comme indiqu\u00e9 pr\u00e9c\u00e9demment, les nouveaut\u00e9s sont surtout techniques et permettront d&#8217;offrir aux d\u00e9veloppeurs une base solide pour concevoir et r\u00e9aliser leurs propres fonctionnalit\u00e9s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Drupal 9 comprend, ou comprendra prochainement, tout de m\u00eame quelques \u00e9volutions fonctionnelles telles que :<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Un gestionnaire de m\u00e9dias plus pouss\u00e9 avec le module <strong>Media Library<\/strong> (qui va remplacer le module M\u00e9dia Entity) qui permettra de g\u00e9rer les images, les fichiers audios, les documents, les vid\u00e9os ainsi que les vid\u00e9os distantes,<\/li><li>Un gestionnaire des \u00e9tats de Workflow lors de publication de contenus avec le module <strong>Workflow<\/strong>,<\/li><li>L\u2019apparition d\u2019un outil avanc\u00e9 de conception visuelle de pages avec le module <strong>Layout Builder<\/strong>.<\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-medium is-resized\"><img alt=\"\" decoding=\"async\" src=\"https:\/\/digiwin.fr\/wp-content\/uploads\/2021\/09\/roadmap-900x392.png\" alt=\"\" class=\"wp-image-3478\" width=\"675\" height=\"294\"\/><figcaption><em>Roadmap Drupal de 2019 \u00e0 2022<\/em><\/figcaption><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Comment migrer de Drupal 8 \u00e0 Drupal 9 ?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Contrairement au passage de Drupal 7 \u00e0 Drupal 8, qui n\u00e9cessitait une refonte compl\u00e8te, le passage de Drupal 8 \u00e0 Drupal 9 se fera via la m\u00e9canique usuelle de mont\u00e9e de version mineure.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mais il faudra effectuer auparavant les actions suivantes&nbsp;:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span style=\"color:#95c11f\" class=\"has-inline-color\"><strong>1. Installer le module Drupal 8 <a href=\"https:\/\/www.drupal.org\/project\/upgrade_status\">Upgrade Status<\/a><\/strong><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ce module permet d\u2019obtenir un audit complet de votre site pour pr\u00e9parer la migration vers Drupal 9.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Installation du module via composer&nbsp;: composer require drupal\/upgrade_status<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le r\u00e9sultat de l\u2019audit est ensuite accessible sur la page \/admin\/reports\/upgrade-status<br><br>Actions effectu\u00e9es par le module&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>V\u00e9rification de la version (Drupal 8.8 ou 8.9) et suggestion de mise \u00e0 jour vers la derni\u00e8re version,<\/li><li>V\u00e9rification des exigences du syst\u00e8me de Drupal 9 de votre environnement,<\/li><li>V\u00e9rification de la compatibilit\u00e9 des modules contributeurs install\u00e9s avec Drupal 9,<\/li><li>Ex\u00e9cution des v\u00e9rifications de code sur les modules custom pour d\u00e9tecter les probl\u00e8mes de compatibilit\u00e9 Drupal 9.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">En fonction du r\u00e9sultat d\u2019audit, les actions suivantes devront oui ou non \u00eatre effectu\u00e9es.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong><span style=\"color:#95c11f\" class=\"has-inline-color\">2. Effectuer les derni\u00e8res mises \u00e0 jour Drupal 8 (voir mise \u00e0 jour demand\u00e9e par Upgrade Status)<\/span><\/strong><\/h3>\n\n\n\n<h3 class=\"wp-block-heading\"><strong><span style=\"color:#95c11f\" class=\"has-inline-color\">3. Mettre \u00e0 jour les environnements de d\u00e9veloppement, recette et production (voir mises \u00e0 jour demand\u00e9es par le module upgrade status)<\/span><\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Environnement pr\u00e9requis&nbsp;pour Drupal 9 :<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Version de <strong>Nginx<\/strong>&nbsp;<\/em><br>Si vous ex\u00e9cutez Drupal 9 sur Nginx, la version <strong>0.7.x<\/strong> ou ult\u00e9rieure est requise.<br><br><em>Version de <strong>Apache<\/strong><\/em><br>Si vous ex\u00e9cutez Drupal 9 sur Apache, la version <strong>2.4.7<\/strong> ou ult\u00e9rieure est requise.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Version de <strong>PHP<\/strong><\/em><br>Drupal 9 n\u00e9cessite au moins <strong>PHP 7.3<\/strong>. PHP 7.4 est \u00e9galement pris en charge mais n\u2019est pas obligatoire. PHP 8 est support\u00e9 depuis Drupal 9.1.0.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Version de base de donn\u00e9es<br><\/em>Si vous utilisez Drupal 9 avec : <\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>MySQL<\/strong> ou <strong>Percona<\/strong>, la version <strong>5.7.8+<\/strong> est requise,<\/li><li><strong>MariaDB<\/strong>, la version <strong>10.3.7+<\/strong> est requise,<\/li><li><strong>SQLite<\/strong>, la version <strong>3.26+<\/strong> est requise,<\/li><li><strong>PostgreSQL<\/strong>, la version <strong>10<\/strong> est requise avec l&#8217;extension pg_trgm.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Version de <strong>Drush<\/strong><br><\/em>Drush 10<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong><span style=\"color:#95c11f\" class=\"has-inline-color\">4. S\u2019assurer que les modules contributeurs utilis\u00e9s sous Drupal 8 sont bien compatibles avec Drupal 9<\/span><\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Si le rapport d\u2019audit de upgrade status indique que les versions de certains des modules install\u00e9s ne sont pas compatibles&nbsp;Drupal 9, regarder la pr\u00e9conisation&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Si une mise \u00e0 jour compatible Drupal 9 existe, alors mettre \u00e0 jour le fichier composer.json (\u00e9tape 5) avec la version recommand\u00e9e,<\/li><li>S\u2019il n\u2019y a pas de mise \u00e0 jour compatible, alors il faudra utiliser un autre module contributeur \u00e9quivalent ou patcher le module Drupal 8 pour le rendre compatible.<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong><span style=\"color:#95c11f\" class=\"has-inline-color\">5. S\u2019assurer que les d\u00e9veloppements custom effectu\u00e9s pour le site (module, th\u00e8me, etc..) sont bien compatibles Drupal 9<\/span><\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Corriger les incompatibilit\u00e9s signal\u00e9es par le rapport d\u2019audit de upgrade status.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong><span style=\"color:#95c11f\" class=\"has-inline-color\">6. Mettre \u00e0 jour les versions dans le fichier composer.json<\/span><\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Si dans le cadre de votre projet Drupal 8, vous utilisez le gestionnaire de d\u00e9pendances composer, il va falloir parcourir les versions renseign\u00e9es dans le fichier composer.json et les modifier pour permettre la mise \u00e0 jour vers drupal 9 (core de Drupal 9 + version de modules compatible Drupal 9).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour connaitre les versions compatibles, voir le rapport d\u2019audit.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Exemple pour le core&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Pour Drupal 8&nbsp;on a :&nbsp;&nbsp;&nbsp; &#8220;drupal\/core&#8221;: &#8220;~8.6&#8221;<\/li><li>Pour Drupal 9 il faut&nbsp;: &#8220;drupal\/core&#8221;: &#8220;~9.*&#8221;<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Apr\u00e8s avoir effectu\u00e9 toutes ces actions, la mise \u00e0 jour se fera comme une mise \u00e0 jour Drupal 8 classique avec un composer update.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Focus sur le migration D7 vers D9<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Comme la migration de D7 vers D8, <strong>la migration D7 vers D9 ne sera pas possible facilement. Une refonte globale sera n\u00e9cessaire<\/strong>, il faudra cr\u00e9er enti\u00e8rement un nouveau site Drupal 9 et tenter de r\u00e9cup\u00e9rer les contenus de Drupal 7 avec le module Migrate.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aujourd\u2019hui, la majorit\u00e9 des sites Drupal sont encore en Drupal 7 (environ 650&nbsp;000 sites).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour rassurer un peu les administrateurs et leur laisser un peu de temps pour migrer, la communaut\u00e9 Drupal a d\u00e9cid\u00e9 d&#8217;\u00e9tendre le support jusqu&#8217;en novembre 2022.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cette d\u00e9cision a notamment \u00e9t\u00e9 prise \u00e0 cause de l&#8217;impact important du COVID-19 sur le budget des entreprises.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Accompagnement Digiwin sur Drupal&nbsp;<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Vous avez des questions sur cet article ?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vous voulez \u00eatre accompagn\u00e9 dans votre process de migration de D8 vers D9 ou dans une refonte compl\u00e8te de votre site en D7 ?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les \u00e9quipes de Digiwin se tiennent \u00e0 votre disposition. Contactez-nous !<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Le saviez-vous ? Drupal 9 est disponible en version stable depuis le 3 juin 2020, d\u00e9j\u00e0 !&nbsp; Pourtant, beaucoup de soci\u00e9t\u00e9s n\u2019ont pas encore migr\u00e9 leurs sites de Drupal 8 vers Drupal 9 &#8211; Drupal 8 ayant continu\u00e9 \u00e0 b\u00e9n\u00e9ficier de mises \u00e0 jour jusqu\u2019en novembre 2021. Or, il faut savoir qu&#8217;\u00e0 partir de cette [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":6354,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"","_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","footnotes":""},"categories":[183,184],"tags":[187,229,230],"class_list":["post-6395","post","type-post","status-publish","format-standard","has-post-thumbnail","category-apps-data-pt-pt","category-change-adopt-pt-pt","tag-developpement-pt-pt","tag-drupal-pt-pt","tag-recommandation-pt-pt"],"_links":{"self":[{"href":"https:\/\/www.luklagroup.com\/pt-pt\/wp-json\/wp\/v2\/posts\/6395","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.luklagroup.com\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.luklagroup.com\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.luklagroup.com\/pt-pt\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.luklagroup.com\/pt-pt\/wp-json\/wp\/v2\/comments?post=6395"}],"version-history":[{"count":0,"href":"https:\/\/www.luklagroup.com\/pt-pt\/wp-json\/wp\/v2\/posts\/6395\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.luklagroup.com\/pt-pt\/wp-json\/wp\/v2\/media\/6354"}],"wp:attachment":[{"href":"https:\/\/www.luklagroup.com\/pt-pt\/wp-json\/wp\/v2\/media?parent=6395"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.luklagroup.com\/pt-pt\/wp-json\/wp\/v2\/categories?post=6395"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.luklagroup.com\/pt-pt\/wp-json\/wp\/v2\/tags?post=6395"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}