{"componentChunkName":"component---src-templates-post-jsx","path":"/fr/drupal/backend-cheat-sheet","result":{"data":{"markdownRemark":{"html":"<h2>Sommaire</h2>\n<ul>\n<li><a href=\"#installation\">Installation et Configuration d'une instance Drupal</a></li>\n<li><a href=\"#drush\">Commandes Drush</a></li>\n<li><a href=\"#modules\">Modules et Thèmes</a></li>\n<li><a href=\"#configuration\">Gestion de la configuration</a></li>\n<li><a href=\"#entities\">Entités et Opérations de Base de Données</a></li>\n<li><a href=\"#hooks\">Hooks et Services</a></li>\n<li><a href=\"#routes\">Routes et Contrôleurs</a></li>\n<li><a href=\"#users\">Utilisateurs et Contrôle d'accès</a></li>\n<li><a href=\"#bonus\">Bonus : Conseils et bonnes pratiques</a></li>\n</ul>\n<hr>\n<h2></br></h2>\n<h3 id=\"installation\">Installation et Configuration d'une instance Drupal</h3>\n<ul>\n<li>\n<p><strong>Installer Drupal</strong> :</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\">composer create-project drupal/recommended-project drupal-website\n<span class=\"token builtin class-name\">cd</span> drupal-website```</code></pre></div>\n</li>\n<li>\n<p><strong>Installer Drupal dans un Sous-répertoire</strong> :</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\">composer create-project drupal/recommended-project drupal-website\n<span class=\"token function\">mv</span> drupal-website public_html``` </code></pre></div>\n</li>\n<li>\n<p><strong>Initialisation du Site</strong> :</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"> drush site:install standard --db-url<span class=\"token operator\">=</span>mysql://utilisateur:password@localhost/databasename --site-name<span class=\"token operator\">=</span><span class=\"token string\">\"Drupal Website\"</span></code></pre></div>\n</li>\n</ul>\n<hr>\n<h2></br></h2>\n<h3 id=\"drush\">Commandes Drush</h3>\n<ul>\n<li>\n<p><strong>Commandes Drush Courantes</strong> :</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\">drush cr          <span class=\"token comment\"># Vider le cache</span>\ndrush uli         <span class=\"token comment\"># Obtenir l'URL de connexion</span>\ndrush status      <span class=\"token comment\"># Statut du site Drupal</span>\ndrush pm:enable   <span class=\"token comment\"># Activer un module</span>\ndrush pm:uninstall <span class=\"token comment\"># Désinstaller un module</span>\ndrush config:export -y <span class=\"token comment\"># Exporter la configuration</span>\ndrush config:import -y <span class=\"token comment\"># Importer la configuration` </span></code></pre></div>\n<hr>\n<h2></br></h2>\n<h3 id=\"modules\">Modules et Thèmes</h3>\n</li>\n<li>\n<p><strong>Installer un Module via Composer</strong> :</p>\n<p><code class=\"language-text\">composer require drupal/devel\ndrush pm:enable devel</code> </p>\n</li>\n<li>\n<p><strong>Installer un Module Personnalisé</strong> :</p>\n<ul>\n<li>Placez le module dans <code class=\"language-text\">modules/custom/nom_du_module</code>.</li>\n<li>Définissez le fichier <code class=\"language-text\">.info.yml</code>, les implémentations de hook, et autres composants.</li>\n</ul>\n</li>\n<li>\n<p><strong>Installer un Thème Personnalisé</strong> :</p>\n<ul>\n<li>Placez le thème dans <code class=\"language-text\">themes/custom/nom_du_theme</code>.</li>\n<li>Définissez le fichier <code class=\"language-text\">.info.yml</code>, les templates, et les ressources.</li>\n</ul>\n</li>\n</ul>\n<hr>\n<h2></br></h2>\n<h3 id=\"configuration\">Gestion de la Configuration</h3>\n<ul>\n<li>\n<p><strong>Exporter la Configuration</strong> :</p>\n<p><code class=\"language-text\">drush config:export</code> </p>\n</li>\n<li>\n<p><strong>Importer la Configuration</strong> :</p>\n<p><code class=\"language-text\">drush config:import</code> </p>\n</li>\n<li>\n<p><strong>Réinitialiser la Configuration par Défaut</strong> :</p>\n<p><code class=\"language-text\">drush config:delete monmodule.settings</code> </p>\n</li>\n<li>\n<p><strong>Executer un code php via Drush</strong> :</p>\n<p><code class=\"language-text\">drush php-eval &quot;dump(\\Drupal::Config(&#39;system.site&#39;)-&gt;get(&#39;name&#39;));&quot;</code></p>\n</li>\n</ul>\n<hr>\n<h2></br></h2>\n<h3 id=\"entities\">Entités et Opérations de Base de Données</h3>\n<ul>\n<li>\n<p><strong>Requête avec EntityQuery</strong> :</p>\n<div class=\"gatsby-highlight\" data-language=\"php\"><pre class=\"language-php\"><code class=\"language-php\"><span class=\"token variable\">$query</span> <span class=\"token operator\">=</span> \\<span class=\"token package\">Drupal</span><span class=\"token punctuation\">:</span><span class=\"token punctuation\">:</span><span class=\"token function\">entityQuery</span><span class=\"token punctuation\">(</span><span class=\"token single-quoted-string string\">'node'</span><span class=\"token punctuation\">)</span>\n    <span class=\"token operator\">-</span><span class=\"token operator\">></span><span class=\"token function\">condition</span><span class=\"token punctuation\">(</span><span class=\"token single-quoted-string string\">'type'</span><span class=\"token punctuation\">,</span> <span class=\"token single-quoted-string string\">'article'</span><span class=\"token punctuation\">)</span>\n    <span class=\"token operator\">-</span><span class=\"token operator\">></span><span class=\"token function\">accessCheck</span><span class=\"token punctuation\">(</span><span class=\"token boolean constant\">TRUE</span><span class=\"token punctuation\">)</span>\n    <span class=\"token operator\">-</span><span class=\"token operator\">></span><span class=\"token function\">condition</span><span class=\"token punctuation\">(</span><span class=\"token single-quoted-string string\">'status'</span><span class=\"token punctuation\">,</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">$nids</span> <span class=\"token operator\">=</span> <span class=\"token variable\">$query</span><span class=\"token operator\">-</span><span class=\"token operator\">></span><span class=\"token function\">execute</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>\n</li>\n<li>\n<p><strong>Charger une Entité</strong> :</p>\n<div class=\"gatsby-highlight\" data-language=\"php\"><pre class=\"language-php\"><code class=\"language-php\"><span class=\"token variable\">$node</span> <span class=\"token operator\">=</span> \\<span class=\"token package\">Drupal</span><span class=\"token punctuation\">:</span><span class=\"token punctuation\">:</span><span class=\"token function\">entityTypeManager</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n    <span class=\"token operator\">-</span><span class=\"token operator\">></span><span class=\"token function\">getStorage</span><span class=\"token punctuation\">(</span><span class=\"token single-quoted-string string\">'node'</span><span class=\"token punctuation\">)</span>\n    <span class=\"token operator\">-</span><span class=\"token operator\">></span><span class=\"token function\">load</span><span class=\"token punctuation\">(</span><span class=\"token variable\">$node_id</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>\n</li>\n<li>\n<p><strong>Charger plusieurs Entités</strong> :</p>\n<div class=\"gatsby-highlight\" data-language=\"php\"><pre class=\"language-php\"><code class=\"language-php\"><span class=\"token variable\">$entity_manager</span> <span class=\"token operator\">=</span> \\<span class=\"token package\">Drupal</span><span class=\"token punctuation\">:</span><span class=\"token punctuation\">:</span><span class=\"token function\">entityTypeManager</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n    <span class=\"token operator\">-</span><span class=\"token operator\">></span><span class=\"token function\">getStorage</span><span class=\"token punctuation\">(</span><span class=\"token single-quoted-string string\">'node'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    \n<span class=\"token variable\">$nids</span> <span class=\"token operator\">=</span> <span class=\"token variable\">$entity_manager</span><span class=\"token operator\">-</span><span class=\"token operator\">></span><span class=\"token function\">getQuery</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n<span class=\"token operator\">-</span><span class=\"token operator\">></span><span class=\"token function\">condition</span><span class=\"token punctuation\">(</span><span class=\"token single-quoted-string string\">'type'</span><span class=\"token punctuation\">,</span> <span class=\"token single-quoted-string string\">'article'</span><span class=\"token punctuation\">)</span>\n<span class=\"token operator\">-</span><span class=\"token operator\">></span><span class=\"token function\">condition</span><span class=\"token punctuation\">(</span><span class=\"token single-quoted-string string\">'status'</span><span class=\"token punctuation\">,</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span>\n<span class=\"token operator\">-</span><span class=\"token operator\">></span><span class=\"token function\">accessCheck</span><span class=\"token punctuation\">(</span><span class=\"token boolean constant\">TRUE</span><span class=\"token punctuation\">)</span>\n<span class=\"token operator\">-</span><span class=\"token operator\">></span><span class=\"token function\">execute</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token variable\">$nodes</span> <span class=\"token operator\">=</span> <span class=\"token variable\">$entity_manager</span>\n    <span class=\"token operator\">-</span><span class=\"token operator\">></span><span class=\"token function\">loadMultiple</span><span class=\"token punctuation\">(</span><span class=\"token variable\">$nids</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    </code></pre></div>\n</li>\n<li>\n<p><strong>Créer une Entité</strong> :</p>\n<div class=\"gatsby-highlight\" data-language=\"php\"><pre class=\"language-php\"><code class=\"language-php\"><span class=\"token variable\">$node</span> <span class=\"token operator\">=</span> \\<span class=\"token package\">Drupal<span class=\"token punctuation\">\\</span>node<span class=\"token punctuation\">\\</span>Entity<span class=\"token punctuation\">\\</span>Node</span><span class=\"token punctuation\">:</span><span class=\"token punctuation\">:</span><span class=\"token function\">create</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">[</span>\n  <span class=\"token single-quoted-string string\">'type'</span> <span class=\"token operator\">=</span><span class=\"token operator\">></span> <span class=\"token single-quoted-string string\">'article'</span><span class=\"token punctuation\">,</span>\n  <span class=\"token single-quoted-string string\">'title'</span> <span class=\"token operator\">=</span><span class=\"token operator\">></span> <span class=\"token single-quoted-string string\">'Mon Nouvel Article'</span><span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">$node</span><span class=\"token operator\">-</span><span class=\"token operator\">></span><span class=\"token function\">save</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>\n</li>\n</ul>\n<hr>\n<h2></br></h2>\n<h3 id=\"hooks\">Hooks et Services</h3>\n<ul>\n<li>\n<p><strong>Implémenter un Hook</strong> :</p>\n<div class=\"gatsby-highlight\" data-language=\"php\"><pre class=\"language-php\"><code class=\"language-php\"><span class=\"token keyword\">function</span> <span class=\"token function\">monmodule_node_view</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">array</span> <span class=\"token operator\">&amp;</span><span class=\"token variable\">$build</span><span class=\"token punctuation\">,</span> \\<span class=\"token package\">Drupal<span class=\"token punctuation\">\\</span>node<span class=\"token punctuation\">\\</span>NodeInterface</span> <span class=\"token variable\">$node</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token comment\">// Modifier l'affichage du node ici.</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n</li>\n<li>\n<p><strong>Définir un Service</strong> :</p>\n<ul>\n<li>\n<p>Ajouter à <code class=\"language-text\">monmodule.services.yml</code> :</p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token key atrule\">services</span><span class=\"token punctuation\">:</span>\n  <span class=\"token key atrule\">monmodule.mon_service</span><span class=\"token punctuation\">:</span>\n    <span class=\"token key atrule\">class</span><span class=\"token punctuation\">:</span> Drupal\\monmodule\\MonService\n    <span class=\"token key atrule\">arguments</span><span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span></code></pre></div>\n</li>\n<li>Créer <code class=\"language-text\">src/MonService.php</code> avec la classe définie.</li>\n</ul>\n</li>\n</ul>\n<hr>\n<h2></br></h2>\n<h3 id=\"routes\">Routes et Contrôleurs</h3>\n<ul>\n<li>\n<p><strong>Définir une Route</strong> :</p>\n<ul>\n<li>\n<p>Dans <code class=\"language-text\">monmodule.routing.yml</code> :</p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token key atrule\">monmodule.custom_route</span><span class=\"token punctuation\">:</span>\n  <span class=\"token key atrule\">path</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'/custom-route'</span>\n  <span class=\"token key atrule\">defaults</span><span class=\"token punctuation\">:</span>\n    <span class=\"token key atrule\">_controller</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'\\Drupal\\monmodule\\Controller\\CustomController::content'</span>\n  <span class=\"token key atrule\">requirements</span><span class=\"token punctuation\">:</span>\n    <span class=\"token key atrule\">_permission</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'access content'</span></code></pre></div>\n</li>\n</ul>\n</li>\n<li>\n<p><strong>Créer un Contrôleur</strong> :</p>\n<ul>\n<li>\n<p>Dans <code class=\"language-text\">src/Controller/CustomController.php</code> :</p>\n<div class=\"gatsby-highlight\" data-language=\"php\"><pre class=\"language-php\"><code class=\"language-php\"><span class=\"token keyword\">namespace</span> <span class=\"token package\">Drupal<span class=\"token punctuation\">\\</span>monmodule<span class=\"token punctuation\">\\</span>Controller</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">use</span> <span class=\"token package\">Drupal<span class=\"token punctuation\">\\</span>Core<span class=\"token punctuation\">\\</span>Controller<span class=\"token punctuation\">\\</span>ControllerBase</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token keyword\">class</span> <span class=\"token class-name\">CustomController</span> <span class=\"token keyword\">extends</span> <span class=\"token class-name\">ControllerBase</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">public</span> <span class=\"token keyword\">function</span> <span class=\"token function\">content</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">return</span> <span class=\"token punctuation\">[</span>\n      <span class=\"token single-quoted-string string\">'#markup'</span> <span class=\"token operator\">=</span><span class=\"token operator\">></span> <span class=\"token single-quoted-string string\">'Bonjour, Drupal!'</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n</li>\n</ul>\n</li>\n</ul>\n<hr>\n<h2></br></h2>\n<h3 id=\"users\">Utilisateurs et Contrôle d'accés</h3>\n<ul>\n<li>\n<p><strong>Vérification des permissions de l'Utilisateur</strong> :</p>\n<div class=\"gatsby-highlight\" data-language=\"php\"><pre class=\"language-php\"><code class=\"language-php\"><span class=\"token variable\">$current_user</span> <span class=\"token operator\">=</span> \\<span class=\"token package\">Drupal</span><span class=\"token punctuation\">:</span><span class=\"token punctuation\">:</span><span class=\"token function\">currentUser</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token variable\">$current_user</span><span class=\"token operator\">-</span><span class=\"token operator\">></span><span class=\"token function\">hasPermission</span><span class=\"token punctuation\">(</span><span class=\"token single-quoted-string string\">'administer site configuration'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token comment\">// L'utilisateur a la permission d'administrer le site.</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n</li>\n<li>\n<p><strong>Créer un Utilisateur</strong> :</p>\n<div class=\"gatsby-highlight\" data-language=\"php\"><pre class=\"language-php\"><code class=\"language-php\"><span class=\"token comment\">// Création d'un nouvel utilisateur</span>\n<span class=\"token variable\">$user</span> <span class=\"token operator\">=</span> \\<span class=\"token package\">Drupal<span class=\"token punctuation\">\\</span>user<span class=\"token punctuation\">\\</span>Entity<span class=\"token punctuation\">\\</span>User</span><span class=\"token punctuation\">:</span><span class=\"token punctuation\">:</span><span class=\"token function\">create</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">[</span>\n  <span class=\"token single-quoted-string string\">'name'</span> <span class=\"token operator\">=</span><span class=\"token operator\">></span> <span class=\"token single-quoted-string string\">'nom_utilisateur'</span><span class=\"token punctuation\">,</span>\n  <span class=\"token single-quoted-string string\">'mail'</span> <span class=\"token operator\">=</span><span class=\"token operator\">></span> <span class=\"token single-quoted-string string\">'utilisateur@exemple.com'</span><span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">$user</span><span class=\"token operator\">-</span><span class=\"token operator\">></span><span class=\"token function\">save</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>\n</li>\n</ul>\n<hr>\n<h2></br></h2>\n<h3 id=\"bonus\">Bonus : Conseils et bonnes pratiques</h3>\n </br>    \n<ul>\n<li>\n<p><strong>Outils de Debug</strong> :</p>\n<ul>\n<li>Utilisez le module Devel pour un débogage rapide.</li>\n<li>Utilisez la fonction <code class=\"language-text\">dump($foo)</code> pour le débogage du code et pensez à ajouter <code class=\"language-text\">die()</code> après le dump pour que php arrête la compliation du code.</li>\n<li>Utilisez <code class=\"language-text\">drush ws</code> pour surveiller les journaux et les erreurs.</li>\n</ul>\n</li>\n<li>\n<p><strong>Pour des meilleures Performances</strong> :</p>\n<ul>\n<li>Activez la mise en cache partout où c'est possible.</li>\n<li>Utilisez Varnish ou Redis pour des niveaux de cache supplémentaires.</li>\n<li>Optimisez les requêtes de base de données et utilisez le service <code class=\"language-text\">Drupal\\Core\\Database\\Connection</code> au lieu d'écrire des requêtes en SQL.</li>\n</ul>\n</li>\n<li>\n<p><strong>Bonnes Pratiques de Sécurité</strong> :</p>\n<ul>\n<li>Gardez Drupal et tous les modules/thèmes à jour.</li>\n<li>Utilisez des mots de passe sécurisés et limitez les permissions.</li>\n<li>Activez l'authentification à deux facteurs (2FA) si possible.</li>\n</ul>\n</li>\n</ul>","excerpt":"Sommaire Installation et Configuration d'une instance Drupal Commandes Drush Modules et Thèmes Gestion de la configuration Entités et Opérations de Base de…","frontmatter":{"date":"2024-04-30","metaDate":"2024-04-30","title":"Boite à outils du développement Drupal ","tags":["Drupal 10","Backend","Toolbox","Module development"],"path":"/drupal/backend-cheat-sheet","cover":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIDBP/EABYBAQEBAAAAAAAAAAAAAAAAAAACBP/aAAwDAQACEAMQAAABySdNUVJh/8QAGRAAAgMBAAAAAAAAAAAAAAAAAAECETEh/9oACAEBAAEFApa1RF8eiP/EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EABQQAQAAAAAAAAAAAAAAAAAAACD/2gAIAQEABj8CX//EABoQAAIDAQEAAAAAAAAAAAAAAAABITFhEUH/2gAIAQEAAT8haWosJwepkX0dcKH/2gAMAwEAAgADAAAAEAsv/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFhEBAQEAAAAAAAAAAAAAAAAAABEB/9oACAECAQE/EMiP/8QAGxABAAMBAAMAAAAAAAAAAAAAAQARIUExYXH/2gAIAQEAAT8Qxi8NOEsKq9v1GKmo9dlkWwKQ8dhr6n//2Q==","aspectRatio":1.5,"src":"/static/4dfdaf9519ca4aae022f9c1e81e75e4a/88110/tools.jpg","srcSet":"/static/4dfdaf9519ca4aae022f9c1e81e75e4a/0b320/tools.jpg 480w,\n/static/4dfdaf9519ca4aae022f9c1e81e75e4a/60b32/tools.jpg 960w,\n/static/4dfdaf9519ca4aae022f9c1e81e75e4a/88110/tools.jpg 1920w,\n/static/4dfdaf9519ca4aae022f9c1e81e75e4a/40175/tools.jpg 2880w,\n/static/4dfdaf9519ca4aae022f9c1e81e75e4a/e58c2/tools.jpg 3840w,\n/static/4dfdaf9519ca4aae022f9c1e81e75e4a/724ab/tools.jpg 5394w","srcWebp":"/static/4dfdaf9519ca4aae022f9c1e81e75e4a/d1a9d/tools.webp","srcSetWebp":"/static/4dfdaf9519ca4aae022f9c1e81e75e4a/bc3bf/tools.webp 480w,\n/static/4dfdaf9519ca4aae022f9c1e81e75e4a/39337/tools.webp 960w,\n/static/4dfdaf9519ca4aae022f9c1e81e75e4a/d1a9d/tools.webp 1920w,\n/static/4dfdaf9519ca4aae022f9c1e81e75e4a/fcbe1/tools.webp 2880w,\n/static/4dfdaf9519ca4aae022f9c1e81e75e4a/c136d/tools.webp 3840w,\n/static/4dfdaf9519ca4aae022f9c1e81e75e4a/b502f/tools.webp 5394w","sizes":"(max-width: 1920px) 100vw, 1920px"},"resize":{"src":"/static/4dfdaf9519ca4aae022f9c1e81e75e4a/c4f3a/tools.jpg"}}}}}},"pageContext":{"isCreatedByStatefulCreatePages":false,"pathSlug":"/drupal/backend-cheat-sheet","locale":"fr","prev":{"fields":{"locale":"fr"},"frontmatter":{"path":"/custom-entity","title":"Quand faut-il créer une entité personnalisée dans Drupal?","tags":["Drupal 10","Drupal 11","Module development"]}},"next":{"fields":{"locale":"fr"},"frontmatter":{"path":"/paragraphs-vs-ief","title":"Paragraphs vs Inline Entity Form","tags":["Drupal 10","Drupal 9","Performance","Site building"]}}}}}