logo

Types de blocs supplémentaires (EBT) – Nouvelle expérience de Layout Builder❗

Types de blocs supplémentaires (EBT) – types de blocs stylisés et personnalisables : diaporamas, onglets, cartes, accordéons et bien d’autres. Paramètres intégrés pour l’arrière-plan, la boîte DOM, les plugins JavaScript. Découvrez dès aujourd’hui le futur de la création de mises en page.

Démo des modules EBT Télécharger les modules EBT

❗Types de paragraphes supplémentaires (EPT) – Nouvelle expérience Paragraphes

Types de paragraphes supplémentaires (EPT) – ensemble de modules basé sur les paragraphes analogiques.

Démo des modules EPT Télécharger les modules EPT

Défilement

Structure des dossiers des thèmes Drupal 8

05/07/2025, by Ivan

Un thème est un ensemble de fichiers qui définissent le niveau de présentation. Vous pouvez également créer un ou plusieurs sous-thèmes ou variantes de thème. Seul un fichier .info.yml est obligatoire, mais la plupart des thèmes et sous-thèmes utilisent d'autres fichiers. Cette page énumère les fichiers et dossiers que l’on trouve typiquement dans un thème ou sous-thème.

Emplacement des thèmes

Vous devez placer les thèmes dans le dossier themes de votre installation Drupal. Notez que les thèmes principaux de Drupal, comme Bartik et Seven, se trouvent dans core/themes de votre installation.

Il est recommandé de placer les thèmes contrib dans le sous-dossier contrib et vos thèmes personnalisés dans le dossier custom.

Chaque thème individuel est contenu dans un répertoire nommé d’après le thème lui-même, par exemple fluffiness. Le nom doit être en minuscules, commencer par une lettre et utiliser le caractère de soulignement (_) à la place des espaces.

La structure (partielle) de votre installation Drupal peut ressembler à ceci :

  |-core
  |  |-modules
  |  |-themes
  |  |  |-bartik
  |  |  |-seven
  ..
  |-modules
  |-themes
  |  |-contrib
  |  |  |-zen
  |  |  |-basic
  |  |  |-bluemarine
  |  |-custom
  |  |  |-fluffiness

Structure d’un dossier thème

Voici un exemple de fichiers et dossiers que l’on retrouve dans une structure de dossier de thème typique :

  |-fluffiness.breakpoints.yml
  |-fluffiness.info.yml
  |-fluffiness.libraries.yml
  |-fluffiness.theme
  |-config
  |  |-install
  |  |  |-fluffiness.settings.yml
  |  |-schema
  |  |  |-fluffiness.schema.yml
  |-css
  |  |-style.css
  |-js
  |  |-fluffiness.js
  |-images
  |  |-buttons.png
  |-logo.svg
  |-screenshot.png
  |-templates
  |  |-maintenance-page.html.twig
  |  |-node.html.twig

Voici la description des fichiers les plus courants que vous pouvez trouver dans un thème :

*.info.yml
Un thème doit contenir un fichier .info.yml pour définir le thème. Parmi d’autres choses, les fichiers .info.yml définissent les métadonnées, les bibliothèques et les régions de blocs. C’est le seul fichier obligatoire du thème.

*.libraries.yml
Le fichier .libraries.yml sert à définir les bibliothèques JavaScript et CSS qui peuvent être chargées par le thème.

*.breakpoints.yml
Les points de rupture définissent où le design adaptatif doit changer pour s’adapter aux différents appareils. Les points de rupture sont définis dans le fichier .breakpoints.yml.

*.theme
Le fichier .theme est un fichier PHP qui contient toute la logique conditionnelle et le prétraitement des données. Il peut aussi étendre les réglages de base du thème. Créer des réglages avancés pour le thème.

CSS/
Il est recommandé de stocker les fichiers .css dans un sous-dossier css. Les thèmes principaux de Drupal 8 organisent les fichiers CSS selon la méthodologie SMACSS. Pour que le thème charge les fichiers CSS, ils doivent être définis dans le fichier .libraries.yml et peuvent être surchargés ou supprimés dans le fichier .info.yml.

JS/
Les fichiers JavaScript spécifiques au thème sont stockés dans le dossier js. Pour que le thème charge les fichiers JavaScript, ils doivent être définis dans le fichier .libraries.yml.

images/
Il est recommandé de stocker les images dans un sous-dossier images.

screenshot.png
Si un fichier screenshot.png est présent dans le dossier du thème, il sera utilisé dans la page « Apparence ». Vous pouvez aussi définir la capture d’écran dans le fichier .info.yml.

logo.svg
Si un fichier vectoriel SVG du logo du thème est présent dans le dossier, il peut être utilisé dans l’en-tête du site. Les logos peuvent également être téléchargés via Apparence > Paramètres.

templates/
Les templates fournissent le balisage HTML et une partie de la logique de présentation. Contrairement à Drupal 7, les fichiers de template Drupal 8 (fichiers *.html.twig) doivent être stockés dans un sous-dossier templates. En suivant les conventions de nommage, Drupal remplace les templates par défaut par ceux que vous fournissez, vous permettant de surcharger le balisage par défaut. Vous pouvez aussi organiser vos templates en sous-dossiers, par exemple tous les templates de blocs dans templates/blocks et ceux des vues dans templates/views.

Thème principal Bartik : structure du dossier

À titre d’exemple, voici la structure du dossier Bartik, situé dans core/themes/bartik :

  |-bartik.breakpoints.yml
  |-bartik.info.yml
  |-bartik.libraries.yml
  |-bartik.theme
  |-color
  |  |-color.inc
  |  |-preview.css
  |  |-preview.html
  |  |-preview.js
  |-config
  |  |-schema
  |  |  |-bartik.schema.yml
  |-css
  |  |-colors.css
  |  |-layout.css
  |  |-maintenance-page.css
  |  |-print.css
  |-images
  |  |-add.png
  |  |-required.svg
  |  |-tabs-border.png
  |-logo.svg
  |-screenshot.png
  |-templates
  |  |-block--search-form-block.html.twig
  |  |-block--system-branding-block.html.twig
  |  |-block--system-menu-block.html.twig
  |  |-block.html.twig
  |  |-comment.html.twig
  |  |-field--taxonomy-term-reference.html.twig
  |  |-maintenance-page.html.twig
  |  |-node.html.twig
  |  |-page.html.twig
  |  |-status-messages.html.twig

Plus d’informations

Standards de codage : organisation des fichiers CSS