GENNN PUBLISHING

DRUPAL, tout comprendre

DRUPAL, tout comprendre

Vue d'ensemble — trois jours, un site en état de marche

Ce manuel suit le parcours d'une formation de trois jours : de l'administration d'un site à la présentation du contenu avec Views, puis à la thématisation, à la personnalisation et à la maintenance. Chaque bloc alterne un exposé et une mise en pratique, et l'ensemble construit un seul et même site, du premier type de contenu jusqu'à la mise en production sécurisée.

JourCe qui est couvert
1 · Administrer DrupalArchitecture et briques de base · utilisateurs, rôles et permissions · types de contenu, champs, circuits de validation · taxonomie, menus et URL · bases de l'administration et dépannage
2 · Views et mise en formeConstruire des listes avec Views · blocs, régions et Layout Builder · thématisation responsive et CSS · gérer et réutiliser les médias
3 · Thématisation et maintenanceLe système de thèmes : Olivero et Claro · gabarits Twig et surcharges · étendre Drupal avec des modules · mises à jour, sauvegardes et sécurité

Les exercices numérotés sont regroupés à la fin du bloc auquel ils se rattachent. Ils forment une progression continue sur un site d'actualité fictif : le type de contenu créé à l'exercice 20 est classé à l'exercice 14, listé à l'exercice 18 et placé à l'exercice 2. Les faire dans l'ordre du manuel est le plus simple.

À qui s'adresse ce manuel

Ce manuel s’adresse aux personnes qui publient du contenu sur un site Drupal : rédacteurs, chargés de communication, contributeurs occasionnels. Il suppose que le site existe déjà et qu’il a été construit par quelqu’un d’autre.

Une distinction structure tout l’ouvrage :

Le contributeur (vous)L'administrateur
Remplit les formulaires, écrit, illustre, classe, publie.Décide quels formulaires existent, quels champs ils contiennent, qui a le droit de faire quoi.
Analogie : le cuisinier qui prépare les plats.Analogie : celui qui a conçu la cuisine et écrit la carte.

Si un écran décrit dans ce manuel n’apparaît pas chez vous, ce n’est pas une erreur de votre part : votre rôle ne vous en donne probablement pas l’accès. Voir la fiche 7.3.

Conventions de lecture

Ce que vous lisezCe que ça désigne
EnregistrerUn bouton ou un libellé à cliquer, tel qu'il apparaît à l'écran
Contenu → Ajouter du contenuUn chemin de navigation : cliquez successivement sur chaque élément
/admin/contentUne adresse à taper après le nom de domaine du site
texteUn nom de fichier, un extrait de code ou une valeur à saisir exactement

Chaque fiche est autonome. Vous pouvez ouvrir directement la fiche 3.5 sans avoir lu les précédentes. Les renvois entre fiches sont explicites (« voir 5.2 »).

Se connecter au site

  1. Ouvrez votre navigateur et rendez-vous à l’adresse du site, suivie de /user/login. Exemple : https://monsite.fr/user/login
  2. Saisissez votre nom d’utilisateur (ce n’est pas forcément votre adresse e-mail) et votre mot de passe.
  3. Cliquez sur Se connecter ( Log in ).
  4. Une barre sombre apparaît en haut de l’écran, ou un menu latéral à gauche : c’est la barre d’administration. Sa présence est le signe que vous êtes bien connecté.

Comment gérer avec "Mot de passe oublié" ?

Sur la page de connexion, cliquez sur Réinitialiser votre mot de passe ( Reset your password ), saisissez votre nom d’utilisateur ou votre e-mail. Vous recevrez un lien de connexion à usage unique, valable 24 heures.

Le vocabulaire en une page

Cette page est faite pour être imprimée à part et gardée à portée de main.

TermeDéfinitionAnalogie
EntitéUn objet de données géré par Drupal. Les contenus, les utilisateurs, les termes de classement et les médias sont tous des entités.Les tables d'une base de données
Nœud ( node )Une unité de contenu : un article, une page. L'entité la plus courante — c'est ce que vous créez au quotidien.Une ligne dans la table
Type de contenuLe modèle qui définit quelles cases existent dans le formulaire. « Article » et « Page » sont deux modèles différents.Le moule à gâteau
Champ ( field )Une case du formulaire : un titre, une date, une image, un lien.Une colonne de la table
TaxonomieLe système de classement par étiquettes. Regroupe des termes dans des vocabulaires .Les classeurs et intercalaires d'une armoire
MédiaUn fichier (image, PDF, vidéo) enregistré une fois et réutilisable partout.La photothèque partagée
BlocUn élément réutilisable qu'on colle dans une zone de la page.Un post-it collé à un endroit précis
Vue ( view )Une liste automatique de contenus, filtrée et triée. Presque toutes les listes du site en sont une.Un filtre Excel enregistré
RévisionUne version enregistrée d'un contenu, conservée dans l'historique.L' historique de versions de Word
AliasL'adresse lisible d'une page, à la place de son numéro technique.Le nom sur la boîte aux lettres plutôt que le numéro cadastral
Mode d'affichageUne façon d'afficher un même contenu selon le contexte : complet, résumé, vignette.Le format de tirage d'une même photo

Jour 1 — Administrer Drupal

La première journée installe les fondations : ce qu'est Drupal et comment il est fait, qui a le droit de faire quoi, comment le contenu est modélisé, comment il se classe et se navigue, et comment on diagnostique un site qui ne fait pas ce qu'on attend.

1.1 Introduction à Drupal

Qu'est-ce que Drupal ?

Drupal est un système de gestion de contenu libre et un cadriciel, écrit en PHP et bâti sur Symfony. Il fait tourner aussi bien de petits sites que les plateformes d'entreprise et d'administration les plus exigeantes.

CaractèreCe que cela veut dire concrètement
LibreSous licence GPL. Aucune redevance, accès complet au code, soutenu par une communauté mondiale.
StructuréLe contenu est modélisé en entités typées et en champs — les données restent propres et réutilisables.
ExtensibleDes milliers de modules contribués, et des modules sur mesure pour tout le reste.
De niveau entreprisePermissions fines, multilingue natif, et un solide historique en matière de sécurité.

WordPress ou Drupal

CritèreWordPressDrupal
Prise en mainRapide, pensée pour un public non techniqueCourbe plus raide, orientée structure
Modèle de contenuArticles et pages, champs via extensionsEntités et champs structurés en natif
PermissionsRôles sommairesPermissions fines, par rôle
MultilinguePar extensionsIntégré au cœur
Terrain de prédilectionBlogs, sites vitrines, PMESites complexes, entreprises et secteur public

Il n'y a pas de « meilleur » dans l'absolu : le choix dépend de la complexité, de la gouvernance éditoriale et des exigences de sécurité.

Où Drupal s'impose

  1. Sites d'entreprise — portails, parcs multi-sites et multilingues, intégrations profondes avec un CRM et d'autres systèmes. Ce qui décide : la structure et l'échelle.
  2. Portails publics — secteur public, avec des exigences strictes de sécurité, d'accessibilité (RGAA, WCAG) et d'auditabilité. Ce qui décide : la sécurité et la conformité.
  3. Plateformes communautaires — médias, universités et associations, avec beaucoup de rédacteurs, de rôles et de types de contenu. Ce qui décide : l'éditorial et les rôles.

Quelques sites parmi les plus exigeants du monde tournent sous Drupal — fort trafic, gouvernance éditoriale stricte, sécurité et accessibilité : nasa.gov, bayer.com, dole.com, fantasticsams.com. Ce sont des études de cas publiques, et elles couvrent des domaines aussi différents que la science, la pharmacie, l'agroalimentaire et la franchise.

Architecture et briques de base

Quatre notions soutiennent tout ce que vous construirez dans Drupal.

NotionDéfinitionAnalogie
EntitésLes objets de données de base : contenus, utilisateurs, termes de taxonomie, médias — tout est entité.Les tables
NœudsUne unité de contenu — un article, une page. L'entité la plus courante.Les lignes
ChampsDes morceaux de données réutilisables attachés aux entités : texte, image, date, référence.Les colonnes
ViewsInterroge les entités et les affiche en listes, tableaux ou grilles — sans écrire de code.Une requête SELECT visuelle

Cœur, contribué, sur mesure

OrigineD'où cela vientCe que c'est
Cœurlivré avec DrupalLe moteur et les modules essentiels — Node, User, Views, Media, Layout Builder. Maintenu et sécurisé par le projet.
Contribuédrupal.org, gratuitPlus de 50 000 modules et thèmes communautaires — Pathauto, Token, Webform, Commerce. À évaluer avant d'installer.
Sur mesurevotre projetLe code que vous écrivez pour ce que rien d'autre ne couvre.

Règle de conduite : configurer d'abord avec le cœur, prendre ensuite un module contribué bien maintenu, et n'écrire du code sur mesure qu'en dernier recours. Avant d'installer un module contribué, vérifiez toujours quatre choses : sa maintenance active, sa couverture par l'équipe sécurité de Drupal, sa compatibilité avec votre version majeure, et son nombre d'installations.

Visite de l'interface d'administration

MenuCe qu'on y fait
ContenuCréer, modifier et modérer tout le contenu du site.
StructureTypes de contenu, champs, taxonomie, menus, blocs, vues.
ApparenceInstaller, activer et configurer les thèmes.
ÉtendreInstaller et activer les modules.
ConfigurationRéglages généraux : système, médias, régional, performances.
UtilisateursComptes, rôles et permissions.
RapportsJournaux, rapport d'état, mises à jour disponibles.
AideDocumentation des modules et visites guidées.

Tout vit sous /admin. Le module contribué Admin Toolbar transforme ces menus en listes déroulantes et fait gagner un temps considérable : sans lui, chaque déplacement passe par une page intermédiaire.

La barre d'administration au quotidien

Une fois connecté, une barre de navigation apparaît. Selon la configuration du site, elle est horizontale en haut de l’écran, ou verticale sur la gauche (module Navigation , nouveauté de Drupal 11). Le contenu des menus est identique.

EntréeCe qu'on y trouveAnalogie
ContenuTous les articles et pages du site. Votre point de départ quotidien.Les plats servis
StructureTypes de contenu, taxonomie, menus, blocs, vues.Le plan de la cuisine
ApparenceLes thèmes, c'est-à-dire l'habillage visuel.La décoration de la salle
ExtensionsLes modules activés ou désactivés.Les appareils qu'on branche
ConfigurationLes réglages généraux du site.Le tableau de bord
UtilisateursLes comptes, les rôles et les permissions.Le personnel et ses droits d'accès
RapportsLes journaux d'événements et l'état du site.Le carnet de bord

En pratique, un contributeur passe l’essentiel de son temps dans Contenu . Les autres entrées peuvent être absentes de votre barre : c’est normal, elles dépendent de votre rôle.

Comment revenir au site public ?

Cliquez sur le nom ou le logo du site, généralement en haut à gauche. Vous quittez l’administration sans vous déconnecter. Pour vraiment vous déconnecter, cherchez Se déconnecter ( Log out ), habituellement sous votre nom d’utilisateur.

La page « Contenu »

Contenu → /admin/content voir dans https://mynews.supertezt.eu/admin/content

C’est le tableau de bord du contributeur : la liste de tout ce qui existe sur le site, publié ou non. Chaque ligne est un contenu, avec son titre, son type, son auteur, son statut et sa date de dernière modification.

Les filtres en haut de page

Titre — recherche sur une partie du titre. Trois lettres suffisent.

Type de contenu — n’afficher que les articles, ou que les pages.

Statut de publication — le filtre le plus utile au quotidien : sélectionnez Non publié pour retrouver tous vos brouillons en cours.

Langue — sur un site multilingue uniquement.

Les filtres se cumulent. « Articles + Non publiés » vous donne exactement la liste de ce qu’il vous reste à finir.

La colonne « Mis à jour »

Cliquez sur son en-tête pour trier du plus récent au plus ancien. C’est le réflexe pour retrouver « le truc sur lequel je travaillais hier ».

Atelier 1.1 — Prendre en main l'administration

Objectif : être à l'aise dans le back-office et savoir localiser n'importe quel écran en quelques secondes. Comptez trente minutes.

  1. Connectez-vous et ouvrez la page d'accueil publique, puis /admin.
  2. Installez et activez le module Admin Toolbar, ainsi que son complément Admin Toolbar Extra Tools.
  3. Parcourez chaque menu de la barre : Contenu, Structure, Utilisateurs, Rapports — et ouvrez au moins un écran dans chacun.
  4. Repérez, dans Extra Tools, les commandes Vider tous les caches et Exécuter le cron : vous vous en servirez tous les jours.
  5. Épinglez trois pages que vous ouvrirez souvent avec les Raccourcis (l'icône en forme d'étoile).

Résultat attendu — les menus déroulants fonctionnent, vous savez atteindre n'importe quelle zone d'administration sans hésiter, et vos trois raccourcis sont en place.

1.2 Gérer les utilisateurs et le contenu

Utilisateurs, rôles et permissions

Trois niveaux, à ne jamais confondre. Les utilisateurs sont les comptes individuels, gérés dans /admin/people : on les crée, on les bloque, on les annule, on leur attribue des rôles. Les rôles sont des paquets de permissions nommés : Anonyme et Authentifié sont fournis, on ajoute Rédacteur, Contributeur, et ce que le projet demande. Les permissions sont des droits fins — « créer un article », « modifier n'importe quelle page » — attribués aux rôles sur une seule grille.

Types de contenu et champs

Un type de contenu est un modèle ; les champs sont ses données. Article et Page de base sont livrés par défaut — tout le reste, vous le modélisez. La création d'un champ passe par quatre temps qu'il faut distinguer.

ÉtapeCe qui s'y décide
1 · Ajouter le champLe type : texte, image, date, référence, booléen…
2 · StockageLa cardinalité — une valeur ou plusieurs.
3 · InstanceLe libellé, le caractère obligatoire, le texte d'aide, la valeur par défaut.
4 · AffichagesL'affichage du formulaire et l'affichage rendu, réglés séparément.

Circuit de validation et modération

Le module Content Moderation ajoute au couple publié / non publié un vrai circuit : des états — Brouillon, En relecture, Publié, Archivé — et des transitions autorisées entre ces états, chacune pouvant être réservée à un rôle. C'est ce qui permet à un contributeur d'enregistrer un brouillon sans jamais pouvoir le publier.

Créer un article

Contenu → Ajouter du contenu → Article

Raccourci : /node/add/article

Saisissez le titre. C’est le seul champ toujours obligatoire. Il apparaîtra en haut de la page, dans les listes, dans l’onglet du navigateur et dans les résultats Google. Écrivez-le pour un lecteur qui ne connaît pas le contexte.

Remplissez les champs propres à votre site. Chapô, date, source, catégorie : ils varient d’un site à l’autre. Les champs obligatoires sont signalés par un astérisque rouge.

Rédigez le corps du texte dans la grande zone d’édition. Voir la fiche 2.3 pour l’usage de l’éditeur.

Ajoutez une image si le formulaire le prévoit. Voir la partie 3.

Classez le contenu avec les étiquettes ou catégories. Voir la partie 4.

Vérifiez le panneau latéral droit — statut de publication, menu, alias d’URL. Voir la fiche 2.5.

Cliquez sur Aperçu pour contrôler le rendu. Voir la fiche 2.6.

Cliquez sur Enregistrer. Un bandeau vert confirme la création.

Créer une page

Contenu → Ajouter du contenu → Page (ou Page de base )

Raccourci : /node/add/page

La procédure est identique à celle d’un article. La différence est de nature, pas de méthode.

ArticlePage
Daté. Sa pertinence décroît avec le temps.Intemporel. Reste valable des mois ou des années.
Apparaît dans les listes chronologiques et les flux.Se range dans un menu de navigation.
Se classe par étiquettes et catégories.Ne se classe généralement pas.
Exemples : actualité, communiqué, billet de blog, compte rendu.Exemples : Qui sommes-nous, Mentions légales, Contact, Tarifs.

Le test rapide : « Est-ce que ce texte aura encore du sens tel quel dans deux ans ? » Si oui, c’est une page. Si non, c’est un article.

L'éditeur de texte CKEditor

La zone de rédaction du corps est un éditeur riche : vous mettez en forme visuellement, sans écrire de code.

Les boutons essentiels

  1. Gras et italique — à utiliser avec parcimonie. Un texte où tout est en gras n’a plus de hiérarchie.
  2. Titres (menu déroulant Format ou Paragraphe ) — utilisez « Titre 2 » pour vos intertitres, puis « Titre 3 » pour les sous-parties. Ne sautez pas de niveau, et n’utilisez jamais du gras à la place d’un vrai titre : les lecteurs d’écran et les moteurs de recherche s’appuient sur cette structure.
  3. Listes à puces ou numérotées.
  4. Lien — voir ci-dessous.
  5. Média — voir la fiche 3.6.

Source — affiche le code HTML. À n’ouvrir que si vous savez ce que vous faites.

Créer un lien

Sélectionnez le texte qui doit devenir cliquable. Choisissez des mots explicites : « consulter le rapport annuel » plutôt que « cliquez ici ».

Cliquez sur le bouton Lien (icône de chaîne), ou faites Ctrl+K / Cmd+K.

Pour un lien externe , collez l’adresse complète, en commençant par https://.

Pour un lien interne , commencez à taper le titre de la page cible : une liste de suggestions apparaît. Sélectionnez-la dans la liste.

Validez.

Coller depuis Word

Un copier-coller direct depuis Word ou Google Docs importe une quantité invisible de mise en forme parasite qui casse le style du site. Deux méthodes propres :

Ctrl+Maj+V (Cmd+Maj+V sur Mac) — colle sans mise en forme.

Passer par un éditeur neutre : collez d’abord dans le Bloc-notes ou TextEdit en mode texte brut, recopiez de là.

Vous perdrez le gras et les titres, qu’il faudra refaire dans l’éditeur. C’est deux minutes de travail, contre des heures de dépannage si la mise en forme parasite se propage.

Le panneau latéral droit

À droite du formulaire (ou sous celui-ci sur un écran étroit) se trouve une colonne de sections repliables. Elles sont faciles à ignorer, et pourtant elles décident de la visibilité de votre contenu.

SectionCe qu'elle contrôle
Options de publicationPublié / Non publié, et les cases « Promu en page d'accueil » et « Épinglé en haut des listes ». Voir 5.3.
Paramètres de menuAjoute la page à un menu de navigation. Voir 5.1.
Paramètres d'URLL'adresse lisible de la page. Voir 5.2.
Informations de révisionLe message décrivant votre modification. Voir 7.1.
Informations sur l'auteurQui signe le contenu et à quelle date. Modifiable si votre rôle l'autorise.
Paramètres de commentaireOuvre ou ferme les commentaires, si le site en propose.

L'aperçu avant enregistrement

Le bouton Aperçu ( Preview ), à côté d’Enregistrer, affiche votre contenu tel qu’il apparaîtra sur le site, sans rien enregistrer.

Cliquez sur Aperçu .

Examinez le rendu. En haut de l’écran, un sélecteur permet souvent de basculer entre Complet et Résumé : deux façons dont votre contenu sera affiché selon le contexte (voir 5.4).

Cliquez sur Retour à la modification du contenu pour revenir au formulaire.

Ce que l’aperçu permet de rattraper avant publication : une image mal cadrée, un lien mort, un titre trop long qui déborde, un tableau illisible sur mobile.

Modifier un contenu existant

Deux chemins mènent au formulaire de modification :

Depuis le site : affichez la page, puis cliquez sur l’onglet Modifier ( Edit ) au-dessus du contenu.

Depuis l’administration : /admin/content, retrouvez la ligne, cliquez sur Modifier à droite.

Avant d’enregistrer, deux réflexes :

Renseignez le message de révision dans le panneau latéral. Une phrase suffit : « Correction du tarif 2026 ». Voir 7.1.

Vérifiez le statut. Modifier un contenu publié et l’enregistrer en Brouillon ne dépublie pas la version en ligne — mais vos changements ne seront pas visibles non plus. Voir 1.3.

Les formats de texte

Sous la zone d’édition se trouve une liste déroulante discrète, intitulée Format de texte : Basic HTML , Full HTML , Restricted HTML …

Un format de texte définit ce que vous avez le droit d’écrire en HTML et quels boutons apparaissent dans la barre d’outils. Ce n’est pas un choix esthétique : c’est un réglage de sécurité décidé par votre administrateur.

FormatCe qu'il autorise
Basic HTMLLe format standard du contributeur : titres, listes, liens, images, tableaux. Couvre 99 % des besoins.
Restricted HTMLTrès limité. Réservé aux commentaires ou aux contenus soumis par des visiteurs.
Full HTMLTout est permis, y compris le JavaScript. Réservé aux administrateurs.

Si un bouton dont vous avez besoin est absent de la barre d’outils — un tableau, par exemple — ne changez pas de format vous-même. Demandez à votre administrateur d’ajouter ce bouton au format Basic HTML : la modification profitera à toute l’équipe.

Les statuts, vus par un visiteur

C’est la source de confusion numéro un chez les nouveaux contributeurs. Un contenu peut être parfaitement visible pour vous et totalement invisible pour le public.

StatutVous, connectéUn visiteur anonyme
PubliéVisible normalementVisible
Non publiéVisible, souvent avec un fond de couleur ou une mentionInvisible — page « Accès refusé »
Brouillon (nouvelle version d'un contenu déjà publié)Vous voyez la nouvelle versionVoit toujours l'ancienne version publiée

Qu'est-ce que le brouillon ?

Ce dernier cas mérite une explication. Si un article est publié et que vous en modifiez le texte en enregistrant comme brouillon , le site continue d’afficher l’ancien texte aux visiteurs. Vos modifications restent en attente jusqu’à ce que quelqu’un publie la nouvelle version. C’est voulu : cela permet de préparer une mise à jour sans la diffuser immédiatement.

La vérification qui ne trompe pas

  1. Copiez l’adresse de la page.
  2. Ouvrez une fenêtre de navigation privée (Ctrl+Maj+N sur Windows, Cmd+Maj+N sur Mac).
  3. Collez l’adresse.

Vous voyez alors exactement ce que voit un visiteur non connecté. Prenez cette habitude avant d’annoncer une publication à qui que ce soit.

Dépublier, archiver ou supprimer

Trois gestes que l’on confond souvent, et qui n’ont rien à voir.

GesteEffetQuand l'utiliser
DépublierLe contenu disparaît du site public mais reste intact dans l'administration. Réversible en un clic.Retrait temporaire : information obsolète, erreur à corriger, événement passé qu'on remettra en ligne.
ArchiverLe contenu est retiré du site et marqué comme définitivement clos, sans être détruit. Sort des listes de travail courantes.Retrait définitif d'un contenu qu'on veut conserver pour mémoire ou obligation légale.
SupprimerLe contenu et tout son historique de révisions sont effacés de la base. Irréversible.Doublon, test, contenu créé par erreur. Rien d'autre.

Comment Dépublier un contenu ?

Ouvrez le contenu en modification.

Dans les Options de publication , décochez Publié . Si votre site utilise un circuit de validation, choisissez plutôt Brouillon ou Non publié dans la liste État de modération .

Enregistrez.

Comment Archiver un contenu ?

Disponible seulement si votre site utilise un circuit de validation (voir 7.2). Dans la liste État de modération , sélectionnez Archivé , puis enregistrez.

Comment Supprimer un contenu ?

Depuis /admin/content, menu déroulant à droite de la ligne → Supprimer . Une confirmation est demandée.

Les modes d'affichage

Un même contenu s’affiche différemment selon le contexte : en pleine page, en vignette dans une liste, en carte sur la page d’accueil. Ce sont les modes d’affichage ( view modes ).

ModeCe qu'il montre généralement
Complet ( Full )Tous les champs. C'est la page de l'article.
Résumé ( Teaser )Titre, image, chapô ou premières lignes, lien « Lire la suite ». C'est ce qui apparaît dans les listes.
Carte , Vignette …Modes sur mesure, propres à votre site.

Pourquoi cela vous concerne

C’est l’explication de deux situations déroutantes :

« J’ai rempli tous les champs, mais dans la liste on ne voit que le titre et l’image. » → Normal : la liste utilise le mode Résumé, qui n’affiche pas tous les champs.

« Le texte est coupé au milieu d’une phrase. » → Le mode Résumé tronque automatiquement à un nombre de caractères donné.

Maîtriser le résumé

Sur beaucoup de sites, le champ Corps propose un lien Modifier le résumé ( Edit summary ) juste au-dessus de la zone d’édition. Cliquez dessus : une seconde zone apparaît.

Cliquez sur Modifier le résumé .

Rédigez une ou deux phrases qui donnent envie de lire l’article, en texte simple.

Enregistrez.

Ce texte remplacera la troncature automatique partout où le mode Résumé est utilisé. C’est le moyen le plus efficace d’améliorer l’apparence des listes du site — et il vous appartient entièrement, sans intervention de l’administrateur.

Les révisions

À chaque enregistrement, Drupal peut conserver une copie de l’état précédent : une révision . L’équivalent de l’historique de versions de Word, en plus fiable.

Consulter l’historique

Ouvrez le contenu.

Cliquez sur l’onglet Révisions ( Revisions ), à côté de Modifier .

La liste affiche chaque version, avec sa date, son auteur et le message de révision associé.

Cliquez sur une date pour afficher la page telle qu’elle était à ce moment.

Restaurer une version antérieure

Dans la liste des révisions, repérez la version voulue.

Cliquez sur Restaurer ( Revert ) à droite de la ligne.

Confirmez.

La restauration ne supprime rien : elle crée une nouvelle révision, identique à l’ancienne. Tout l’historique reste consultable, y compris la version que vous venez d’abandonner.

Écrire un message de révision utile

Dans le panneau latéral droit, le champ Message de révision vous demande de décrire votre modification. Il est facultatif — et c’est précisément pourquoi personne ne le remplit, jusqu’au jour où il faut retrouver qui a changé quoi dans une liste de quarante versions.

InutileUtile
majCorrection du tarif : 45 € au lieu de 40 €
modificationsAjout du paragraphe sur les horaires d'été
(vide)Relecture juridique — validation service contentieux

Le circuit de validation

Sur un site à plusieurs contributeurs, un contenu suit un parcours balisé avant d’atteindre le public. Une liste déroulante Enregistrer comme ou État de modération apparaît alors en bas du formulaire.

Brouillon → En relecture → Publié → Archivé (Draft) (In review) (Published) (Archived)
ÉtatCe que ça signifieVisible du public ?
BrouillonTravail en cours. Personne d'autre n'est censé intervenir.Non
En relectureVous avez fini. La balle est dans le camp du relecteur.Non
PubliéEn ligne.Oui
ArchivéRetiré définitivement, mais conservé.Non

Les deux règles du circuit

Chaque passage d’un état à un autre est une permission distincte. Un contributeur peut typiquement passer de Brouillon à En relecture, mais pas de En relecture à Publié. Si l’option n’apparaît pas dans votre liste, ce n’est pas un bug : vous n’avez pas ce droit.

Passer un contenu en relecture ne prévient personne automatiquement. Sauf si votre site a été configuré pour envoyer des notifications, le relecteur ne saura rien. Prévenez-le.

Le cas de la modification d’un contenu déjà publié

C’est la situation la plus délicate. Vous ouvrez un article publié, vous le corrigez, vous enregistrez en Brouillon . Résultat :

Le site continue d’afficher l’ancienne version aux visiteurs.

Vous, en revanche, voyez votre nouvelle version.

Un bandeau signale généralement qu’une version plus récente existe.

C’est le comportement voulu : il permet de préparer une mise à jour sans la diffuser. Mais il explique aussi la phrase la plus fréquente en formation : « j’ai corrigé, et rien n’a changé sur le site » . Repassez le contenu en En relecture , puis en Publié par la personne habilitée.

Mon rôle : ce que je peux, ce que je ne peux pas

Drupal n’attribue pas de droits aux personnes, mais à des rôles . Un rôle est un trousseau de clés ; on vous remet le trousseau, pas les clés une par une.

Rôle courantCe qu'il permet typiquement
ContributeurCréer du contenu, modifier ses propres contenus, les soumettre en relecture. Ne publie pas.
ÉditeurTout ce qui précède, plus : modifier les contenus des autres, publier, dépublier, gérer la taxonomie.
AdministrateurTout, y compris la structure du site, les modules et les permissions elles-mêmes.

Les noms varient d’un site à l’autre. Pour connaître le vôtre, cliquez sur votre nom d’utilisateur : la fiche de votre compte indique les rôles qui vous sont attribués.

Reconnaître un problème de permission

Une page affiche « Accès refusé » alors que vous êtes connecté.

Un bouton ou un onglet décrit dans ce manuel n’existe pas chez vous.

Une option manque dans une liste déroulante — par exemple Publié dans l’état de modération.

Une entrée de menu d’administration est absente.

Dans tous ces cas, la démarche est la même : ce n’est ni une panne ni une erreur de votre part. Contactez votre administrateur en décrivant précisément ce que vous vouliez faire et sur quelle page . Une permission s’ajoute en quelques secondes.

Atelier 1.2 — Rôles, type de contenu et circuit de validation

Objectif : modéliser du contenu et contrôler qui peut le créer, le relire et le publier. Comptez quarante-cinq minutes.

  1. Créez deux rôles : Rédacteur et Contributeur.
  2. Construisez un type de contenu « Événement » avec les champs date, lieu, image et corps.
  3. Activez Content Moderation et appliquez le circuit Éditorial au type Événement.
  4. Accordez au Contributeur : créer et modifier ses propres contenus, plus la seule transition « Brouillon ».
  5. Accordez au Rédacteur la transition « En relecture → Publié ».

Vérification — connectez-vous comme Contributeur : vous pouvez enregistrer un brouillon, et l'option Publier n'est pas disponible.

Les exercices qui suivent portent sur Structure → Types de contenu, Structure → Modes d'affichage, le rapport Liste des champs, les formats de texte et la grille des permissions de contenu. Ils construisent le site d'actualité qui sert de fil rouge à tout le recueil.

Exercice 20 — Créer le type de contenu « Article d'actualité »

Pourquoi cet exercice — Chaque option de l'écran Ajouter un type de contenu fixe silencieusement une valeur par défaut qui s'appliquera à des centaines de futurs nœuds. Les régler correctement une fois, sur votre type éditorial principal, vous évite d'avoir à corriger 200 articles plus tard. Cet exercice vous fait toucher les quatre onglets verticaux et comprendre ce que chacun contrôle réellement au moment de publier.

  1. Nom : tapez « Article d'actualité ». Regardez le nom machine apparaître à côté du champ — il doit indiquer news_article. Ne cliquez sur Modifier que s'il diffère ; cette chaîne est ce que vous référencerez dans les vues, les gabarits Twig et les permissions, pour toujours.
  2. Description : saisissez « Contenu éditorial standard : dépêches, reportages et brèves publiés sur le site. » Elle n'apparaît que dans le back-office, sur la page Types de contenu et sur l'écran de choix /node/add — c'est une note à vos futurs rédacteurs, pas aux visiteurs.
  3. Réglages du formulaire de soumission (l'onglet déjà ouvert) : changez le libellé du champ Titre de « Titre » à « Titre de l'article ». Puis, dans Explication ou consignes de soumission, écrivez « Gardez le titre sous 70 caractères. Renseignez toujours le thème et l'image principale avant de publier. » Laissez Aperçu avant soumission sur Facultatif.
  4. Options de publication : ouvrez l'onglet. Gardez Publié coché (une dépêche part en ligne immédiatement) et gardez Créer une nouvelle révision coché (il vous faut une piste d'audit sur du contenu éditorial). Décochez Promu en page d'accueil — vous piloterez la page d'accueil avec une vue, pas avec ce drapeau.
  5. Réglages d'affichage : ouvrez l'onglet et gardez Afficher les informations sur l'auteur et la date coché. C'est le seul type de contenu où la signature et la date de publication comptent pour le lecteur.
  6. Réglages de menu : ouvrez l'onglet et décochez Navigation principale dans les menus disponibles. Un article isolé ne devrait jamais pouvoir être ajouté au menu principal.
  7. Cliquez sur Enregistrer et gérer les champs. Vous arrivez directement sur la liste des champs — notez que Drupal vous a déjà offert le champ Corps.
  8. Allez sur /node/add et vérifiez que la carte affiche « Article d'actualité » avec votre description, puis commencez un nœud et vérifiez que le champ titre est bien libellé « Titre de l'article » et que vos consignes apparaissent en haut du formulaire.

Vérification — Le formulaire de création d'article affiche « Titre de l'article », montre vos consignes éditoriales, enregistre en publié avec une révision, et le nœud enregistré affiche une signature et une date.

Exercice 21 — Créer un second type aux réglages inverses : « Tribune »

Pourquoi cet exercice — Le moyen le plus rapide de comprendre ces quatre onglets est de construire un type qui se comporte à l'opposé et de comparer les deux formulaires côte à côte. Sur un site d'actualité, les tribunes demandent en général une relecture avant mise en ligne, ne doivent jamais porter la signature au format rédaction, et gagnent à imposer l'aperçu. Même écran, valeurs par défaut complètement différentes.

  1. Nom : « Tribune », nom machine opinion_piece. Description : « Chroniques signées et éditoriaux. Toujours relus par le rédacteur en chef avant mise en ligne. »
  2. Réglages du formulaire de soumission : mettez le libellé du champ Titre à « Titre de la tribune ». Passez Aperçu avant soumission à Obligatoire — le contributeur est forcé de passer par l'écran d'aperçu avant d'enregistrer. Dans les consignes : « Les tribunes sont enregistrées non publiées. Prévenez le rédacteur en chef une fois votre brouillon prêt. »
  3. Options de publication : décochez Publié. C'est la différence clef — toute nouvelle tribune est créée à l'état de brouillon. Gardez Créer une nouvelle révision coché, et laissez Promu en page d'accueil décoché.
  4. Réglages d'affichage : décochez Afficher les informations sur l'auteur et la date, afin de pouvoir rendre le nom du chroniqueur à votre façon plus tard, au lieu du « Soumis par … le … » par défaut de Drupal.
  5. Réglages de menu : décochez tous les menus disponibles.
  6. Enregistrez, puis créez un nœud de chaque type avec du texte factice.
  7. Comparez les deux formulaires que vous venez d'utiliser et notez trois différences concrètes visibles : le libellé du titre, la présence ou l'absence des consignes, et le caractère facultatif ou obligatoire de l'aperçu.
  8. Comparez les deux résultats. Allez sur /admin/content et regardez la colonne Statut : l'article d'actualité est Publié, la tribune est Non publiée. Ouvrez ensuite chaque nœud en visiteur anonyme (fenêtre privée) — la tribune renvoie Accès refusé, et l'article affiche une signature que la tribune n'aurait pas.

Vérification — Vous savez expliquer, en une phrase par onglet, ce que changent les Réglages du formulaire de soumission, les Options de publication, les Réglages d'affichage et les Réglages de menu — et où l'effet se voit (formulaire de saisie, liste de contenu, ou page rendue).

Pour aller plus loin — Retournez sur Tribune → Options de publication et recochez Publié, puis constatez que votre brouillon existant reste non publié. Les valeurs par défaut de cet écran ne s'appliquent qu'aux nœuds créés après le changement — c'est un piège classique.

Exercice 26 — Auditer son site avec le rapport Liste des champs

Pourquoi cet exercice — Field UI est le module qui fournit tous les onglets Gérer les champs, Gérer l'affichage du formulaire et Gérer l'affichage que vous avez utilisés. Sa section d'aide cache aussi un rapport que presque personne n'ouvre : Liste des champs, l'inventaire de tous les champs de tous les types d'entité du site.

  1. Cliquez sur Liste des champs (/admin/reports/fields). Vous obtenez tous les champs créés jusqu'ici, avec leur nom machine, leur type, et les sous-types qui les utilisent.
  2. Trouvez votre champ Thème et regardez la colonne Utilisé dans. Créez ensuite le même genre de champ sur Tribune — et au lieu d'en créer un nouveau, utilisez « Réutiliser un champ existant » dans la fenêtre de création. Rechargez le rapport : un champ, deux sous-types.
  3. Comprenez pourquoi cela compte : un champ partagé signifie une seule table de stockage, un seul nom cohérent, et il devient filtrable dans une vue unique couvrant les deux types de contenu. Deux champs distincts nommés field_theme et field_theme_2, non. Ce rapport est l'endroit où l'on rattrape cette dérive.
  4. Parcourez tout le rapport à la recherche de champs sans sous-type ou aux noms manifestement dupliqués, et écrivez une courte liste de ménage. Sur un site de deux ans, ce rapport compte typiquement trente lignes, dont cinq embarrassantes.

Vérification — Un champ est partagé par deux types de contenu, vous l'avez retrouvé dans le rapport, et vous savez expliquer ce que la réutilisation d'un champ vous fait gagner.

Exercice 27 — Déléguer le travail de structure sans donner le site

Pourquoi cet exercice — Il existe une répartition très courante, sur les vrais projets, entre un intégrateur qui façonne les champs et un administrateur qui décide des types de contenu. Cette séparation tient à quelques permissions précises, et c'est l'occasion de les voir.

  1. Ouvrez « Configurer les permissions Field UI » et lisez ce qu'il expose : les permissions d'administration des champs sont attachées à chaque type d'entité — administrer les champs de contenu, administrer les champs de termes de taxonomie, administrer les champs de blocs de contenu, et les permissions correspondantes pour l'affichage du formulaire et les modes d'affichage.
  2. Créez un rôle « Intégrateur » et donnez-lui uniquement les permissions de champs sur les nœuds, plus l'accès aux pages d'administration. Ne lui donnez délibérément pas « Administrer les types de contenu ».
  3. Connectez-vous avec cet utilisateur et vérifiez exactement ce qu'il peut faire : ajouter et configurer des champs sur Article d'actualité, mais pas créer un nouveau type de contenu ni toucher à ses valeurs de publication par défaut.
  4. Notez les deux liens en haut de cette section, Modes de formulaire et Modes d'affichage, et reconnaissez-les : ce sont les écrans des modes d'affichage, atteints depuis le module qui les fournit plutôt que depuis Structure. Deux chemins, une destination — une remarque utile sur toute la page d'aide.

Vérification — Votre rôle Intégrateur peut ajouter un champ à un article et ne peut pas créer un type de contenu — et vous savez quelle permission trace cette ligne.

Exercice 7 — Faire l'inventaire de ce qui existe déjà

Pourquoi cet exercice — Modes d'affichage est l'écran le plus abstrait de Structure, et celui que l'on saute. Pourtant Accroche, RSS et Contenu complet ne sont pas des fonctions codées en dur dans Drupal — ce sont simplement des lignes de cette page, et toutes les listes, tous les flux et toutes les cartes de votre site passent par l'une d'elles. Dix minutes d'inventaire ici expliquent la moitié de ce que vous avez configuré ailleurs.

  1. Allez dans Structure → Modes d'affichage. Remarquez les deux sous-pages : Modes d'affichage (comment une entité est rendue) et Modes de formulaire (comment elle est saisie). Même mécanisme, sens opposé.
  2. Sur Modes d'affichage, listez ce que le cœur fournit, groupé par type d'entité : Contenu a Contenu complet, RSS et Accroche ; Bloc de contenu a Complet ; Terme de taxonomie a Page du terme ; Utilisateur a les siens. Notez la liste.
  3. Pour chaque mode d'affichage de Contenu, répondez : où l'ai-je déjà rencontré ? Accroche → le format de liste choisi dans une vue et dans Gérer l'affichage ; RSS → le flux /rss.xml ; Contenu complet → la page de l'article elle-même. Un mode d'affichage que personne ne sélectionne nulle part ne rend rien.
  4. Cliquez sur Modifier pour Accroche et lisez la boîte de dialogue sans enregistrer : un Nom, un Nom machine (node.teaser — le type d'entité, puis le mode), une description, et une liste de cases pour l'activer par sous-type. Fermez.
  5. Passez sur Modes de formulaire et remarquez à quel point c'est vide : le cœur en fournit exactement un, Inscription (user.register), le formulaire alternatif présenté quand quelqu'un crée un compte plutôt que quand un administrateur le modifie. Cet unique exemple, c'est tout le concept.

Vérification — Vous savez dire quel écran décide du contenu d'un mode d'affichage (Gérer l'affichage) et lequel décide de son existence (celui-ci) — et pourquoi un mode d'affichage tout neuf ne change rien sur le site tant qu'il n'est ni activé ni configuré.

Exercice 8 — Créer un mode d'affichage « Carte » pour les articles

Pourquoi cet exercice — Un site d'actualité a besoin d'au moins trois rendus du même article : la page complète, l'accroche de la page d'accueil, et une carte compacte pour les barres latérales et les listes d'articles liés. Plutôt que de tordre Accroche pour lui faire faire deux métiers, on crée un troisième mode. C'est le circuit complet : le créer ici, le configurer dans Gérer l'affichage, le sélectionner dans une vue ou un bloc.

  1. Sur Modes d'affichage, cliquez sur + Ajouter un mode d'affichage. La fenêtre Choisir le type d'entité propose quatre options : Contenu, Bloc de contenu, Terme de taxonomie, Utilisateur. Prenez Contenu — vous créez un mode pour les nœuds.
  2. Nommez-le « Carte » et vérifiez que le nom machine indique node.card. Dans la description, écrivez à quoi il sert : « Rendu compact pour les barres latérales et les listes d'articles liés. » Les descriptions comptent ici — dans six mois, cette liste aura une douzaine de lignes.
  3. Dans la même boîte de dialogue, cochez Article d'actualité dans la liste des types de contenu pour que le mode soit activé d'emblée pour ce sous-type, et enregistrez.
  4. Allez dans Structure → Types de contenu → Article d'actualité → Gérer l'affichage. Votre mode Carte y apparaît. Ouvrez-le et configurez-le comme une carte : image dans un petit style, titre, date, et tout le reste masqué — libellés masqués aussi.
  5. Servez-vous-en. Soit vous modifiez la vue de barre latérale et réglez son style de ligne sur Carte, soit vous placez un bloc de contenu et choisissez Carte comme mode d'affichage. Rechargez le site et comparez le même article rendu en Accroche et en Carte.
  6. Retournez dans Modes d'affichage, cliquez sur Modifier pour Carte, puis décochez Article d'actualité. Rechargez Gérer l'affichage : le mode a disparu des onglets, mais votre configuration est mémorisée si vous le recochez. Réactivez-le.

Vérification — Un article, trois rendus différents sur trois écrans différents, tous pilotés depuis un seul nœud — et vous savez montrer l'endroit exact où chaque rendu est défini.

Exercice 9 — Créer un mode de formulaire, et découvrir ce qu'il coûte

Pourquoi cet exercice — Les modes de formulaire sont l'image en miroir des modes d'affichage : un second formulaire de saisie, différent, pour la même entité — un formulaire court « publication express » pour la rédaction, le formulaire complet pour le rédacteur en chef. Cet exercice enseigne aussi une leçon honnête sur le cœur de Drupal : créer un mode de formulaire est trivial, mais le cœur n'en expose presque aucun de lui-même, et le savoir avant de le promettre à un client vaut bien dix minutes.

  1. Sur Modes de formulaire, cliquez sur + Ajouter un mode de formulaire et choisissez Contenu dans la fenêtre de sélection du type d'entité.
  2. Nommez-le « Publication express » (nom machine node.quick_publish), décrivez-le comme « Formulaire court pour les dépêches : titre, corps, thème. » et activez-le pour Article d'actualité.
  3. Allez dans Article d'actualité → Gérer l'affichage du formulaire. Un sous-onglet Publication express est maintenant à côté de Par défaut. Ouvrez-le et déplacez tout sauf le titre, le corps et le thème dans la section Désactivé. Enregistrez.
  4. Essayez maintenant de vous en servir : allez sur /node/add/news_article et constatez que vous obtenez toujours le formulaire complet. Le cœur n'a pas de route pour les modes de formulaire personnalisés des nœuds — le mode existe et il est configuré, mais rien ne l'appelle.
  5. Comprenez les trois issues possibles et notez celle que vous choisiriez : installer un module contribué comme Form Mode Manager (qui ajoute des routes du type /node/add/news_article/quick_publish), faire rendre le formulaire par un module écrit pour cela, ou abandonner l'idée et utiliser des permissions au niveau des champs.
  6. Comparez avec le mode Inscription : il fonctionne d'emblée précisément parce que la route d'inscription du cœur le demande explicitement. Le mécanisme est générique ; le branchement, non.

Vérification — Vous avez créé un mode de formulaire, vous l'avez configuré, et vous savez expliquer en une phrase pourquoi rien n'a changé sur le site — exactement le genre de chose qu'il vaut bien mieux apprendre sur un site de test que sur un projet client.

Pour aller plus loin — Supprimez votre mode d'affichage Carte depuis Modes d'affichage et observez ce qui arrive à l'onglet Gérer l'affichage et à toute vue qui l'utilisait. Recréez-le ensuite — supprimer un mode d'affichage est l'une des rares opérations destructrices de tout cet écran.

Exercice 28 — Disséquer les trois formats de texte du cœur

Pourquoi cet exercice — Le module Filtre décide quel HTML survit entre ce qu'un rédacteur tape et ce qu'un visiteur reçoit. Chaque champ texte possède un sélecteur de format — HTML restreint, HTML limité, HTML complet — et chaque format est un empilement de filtres plus une barre d'outils d'éditeur. C'est une véritable frontière de sécurité : donner le mauvais format au mauvais rôle est l'une des rares erreurs de cette liste qui puisse compromettre un site.

  1. Allez dans Formats de texte et éditeurs (/admin/config/content/formats). Notez l'ordre de la liste — c'est un ordre de repli, et le dernier est le format de secours utilisé quand un utilisateur n'a pas le droit d'employer celui qui est enregistré.
  2. Ouvrez HTML restreint et étudiez trois choses : le constructeur de barre d'outils CKEditor en haut, les filtres activés en dessous, et la chaîne des balises HTML autorisées. Sortez un bouton de la barre d'outils et regardez la liste des balises autorisées se mettre à jour toute seule — la barre d'outils et la liste blanche de balises sont liées.
  3. Comparez avec HTML limité (aucun éditeur, prévu pour les commentaires anonymes) et HTML complet (aucun filtrage de balises — tout passe, y compris <script>).
  4. Créez un format pour la rédaction : dupliquez HTML restreint, nommez-le « HTML éditorial », ajoutez les boutons citation et tableau à la barre d'outils, et activez les filtres « Limiter les balises HTML autorisées » et « Convertir les sauts de ligne ». Notez la section Ordre de traitement des filtres en bas — l'ordre compte, et c'est la cause classique du « mon intégration disparaît ».

Vérification — Vous savez énoncer ce qui distingue les trois formats du cœur et vous en avez un quatrième, construit pour vos rédacteurs, avec une liste blanche de balises choisie.

Exercice 29 — Prouver que la frontière tient

Pourquoi cet exercice — Un réglage de sécurité que l'on n'a pas testé n'est qu'une intention. Deux minutes suffisent ici à voir de ses propres yeux un script se faire retirer pour un rôle et survivre pour un autre.

  1. Sur l'écran d'édition de chaque format, regardez les cases Rôles : c'est là qu'un format est accordé. Donnez HTML éditorial au Rédacteur, et assurez-vous que HTML complet n'est accordé à personne d'autre qu'Administrateur.
  2. Testez honnêtement. En tant que rédacteur, créez un article et collez <script>alert(1)</script> puis une <iframe> dans le corps en HTML éditorial, puis regardez le nœud enregistré : les deux ont été retirés. Recommencez en HTML complet en tant qu'administrateur et voyez la différence. C'est tout le propos du module, démontré en deux minutes.
  3. Passez maintenant au cas subtil : modifiez, en tant que rédacteur, un nœud enregistré avec HTML complet. Drupal affiche le champ en lecture seule avec un avertissement plutôt que de dégrader silencieusement le balisage — c'est le comportement de repli noté au début de l'exercice précédent.
  4. Ouvrez « Configurer les permissions Filtre » et vérifiez ce qu'il contient : une permission par format, exactement le miroir des cases Rôles. Même réglage, deux portes — comme pour les annonces.

Vérification — Vous avez vu une balise script se faire retirer pour un rôle et survivre pour un autre, et vous savez nommer le rôle qui devrait posséder HTML complet sur un vrai site : presque personne.

Exercice 34 — Construire la matrice des rôles de la rédaction

Pourquoi cet exercice — Node est le module qui fournit le contenu lui-même, et sa grille de permissions est la plus importante de tout le site. Elle fonctionne par type de contenu et distingue quatre choses que l'on confond sans cesse : créer, modifier ses propres contenus, modifier ceux de n'importe qui, et supprimer. Ajoutez la dimension publié/non publié et les permissions de révision, et vous avez tout le circuit éditorial d'une rédaction exprimé en cases à cocher.

  1. Créez deux rôles : « Journaliste » et « Rédacteur en chef ». Ouvrez ensuite « Configurer les permissions Node » et filtrez la grille sur Article d'actualité.
  2. Donnez au Journaliste : Article d'actualité : Créer du contenu et Article d'actualité : Modifier son propre contenu. Rien d'autre — pas de suppression, pas de modification du contenu des autres.
  3. Donnez au Rédacteur en chef : Modifier tout et Supprimer tout sur Article d'actualité et sur Tribune, plus les permissions globales Voir son propre contenu non publié et Voir tout contenu non publié.
  4. Testez avec deux profils de navigateur : le journaliste A crée un article, le journaliste B ne peut pas le modifier, le rédacteur en chef le peut. Regardez ensuite ce que chacun voit sur /admin/content — la vue Contenu se filtre automatiquement selon les permissions.
  5. Souvenez-vous du réglage de Tribune : elle est créée non publiée par défaut. Vérifiez qu'un journaliste voit toujours son propre brouillon alors qu'un visiteur anonyme reçoit Accès refusé — la valeur de publication par défaut et la grille de permissions travaillant ensemble.

Vérification — Deux rôles, quatre permissions, et un circuit où un journaliste est propriétaire de ses brouillons et où seul le rédacteur en chef peut toucher à ceux des autres.

Exercice 35 — Les révisions : le filet de sécurité que personne ne configure

Pourquoi cet exercice — Les révisions existent, mais seulement si une case est cochée, et seuls les rôles qui en ont la permission peuvent les consulter et revenir en arrière. Le jour où un article est écrasé par erreur, ces deux détails font toute la différence.

  1. Dans la même grille, trouvez les permissions de révision pour Article d'actualité : Voir les révisions, Rétablir des révisions, Supprimer des révisions. Donnez les deux premières au seul Rédacteur en chef.
  2. Modifiez un article deux fois, en remplissant à chaque fois le message de journal de révision. En tant que rédacteur en chef, ouvrez l'onglet Révisions du nœud, comparez, et revenez à la première version.
  3. Vérifiez en tant que journaliste : aucun onglet Révisions. Posez-vous ensuite la question opérationnelle — sur un site d'actualité en production, qui devrait pouvoir rétablir une version, et quelqu'un devrait-il pouvoir supprimer une révision ?
  4. Vérifiez le réglage qui rend tout cela possible : Article d'actualité → Modifier → Options de publication → Créer une nouvelle révision doit être coché. Décochez-le, modifiez un article, et constatez que l'historique cesse de grandir. Recochez-le immédiatement.

Vérification — Vous avez rétabli une version antérieure d'un article, et vous savez nommer la seule case qui fait exister les révisions.

1.3 Organiser et afficher le contenu

Trois mécanismes rendent un contenu trouvable : la taxonomie le classe, les menus le donnent à naviguer, les alias d'URL le rendent lisible et citable. Les trois se configurent une fois et travaillent ensuite tout seuls.

Taguer un contenu

Dans le formulaire, les champs de classement portent des noms variés — Étiquettes , Catégorie , Thématique , Rubrique . Leur fonctionnement est le même.

Cliquez dans le champ.

Commencez à taper. Selon le type de champ, une liste de suggestions apparaît, ou une liste déroulante s’ouvre.

Sélectionnez le terme voulu dans la liste proposée .

Pour plusieurs valeurs, séparez par une virgule, ou utilisez le bouton Ajouter un autre élément selon la présentation du champ.

Liste fixe ou création libre : reconnaître le type de champ

Deux comportements très différents se cachent derrière des champs qui se ressemblent. Savoir dans lequel vous êtes est indispensable.

Liste ferméeCréation libre ( free tagging )
Se présente comme une liste déroulante, des cases à cocher ou des boutons radio.Se présente comme un champ texte avec autocomplétion.
Vous ne pouvez choisir que parmi les valeurs existantes.Si vous tapez un terme inexistant et enregistrez, Drupal le crée .
Aucun risque. Si le terme manque, demandez-le à votre administrateur.Risque élevé de doublons et de vocabulaire incohérent.

Le test en trois secondes

Tapez trois lettres dans le champ.

Une liste de suggestions apparaît et vous pouvez quand même valider un mot qui n’y est pas → création libre. Soyez vigilant.

Rien ne se passe, ou vous devez obligatoirement choisir dans une liste → liste fermée. Vous ne pouvez rien casser.

Créer un terme de taxonomie

Deux façons de créer un terme, selon votre rôle.

Par le formulaire de contenu (création libre)

Tapez le nouveau terme dans le champ, puis enregistrez le contenu. Le terme est créé automatiquement, sans description ni classement hiérarchique.

Par l’administration de la taxonomie

Structure → Taxonomie → /admin/structure/taxonomy

Choisissez le vocabulaire concerné, puis Lister les termes .

Cliquez sur Ajouter un terme .

Saisissez le nom. Soignez-le : il apparaîtra publiquement, en titre de la page de rubrique.

Ajoutez une description si le vocabulaire en affiche une.

Dépliez Relations pour choisir un terme parent (voir 4.4).

Enregistrez.

Cette seconde méthode est préférable : elle vous laisse le contrôle sur la description et la place du terme dans la hiérarchie. Elle n’est cependant accessible qu’aux rôles disposant de la permission correspondante.

Termes parents et enfants

Un vocabulaire peut être plat ou hiérarchique. Dans le second cas, les termes s’emboîtent :

Thématiques (vocabulaire) ├─ Design │ ├─ Typographie │ └─ Mise en page ├─ Développement └─ Stratégie

Pour placer un terme sous un parent, dépliez la section Relations au moment de sa création ou de sa modification, et sélectionnez le terme parent.

Quelle profondeur choisir

Deux niveaux suffisent presque toujours. Au-delà, les visiteurs se perdent et les contributeurs ne savent plus où ranger. Si vous hésitez entre deux niveaux pour un même contenu, c’est souvent le signe que la hiérarchie est trop fine.

Les pages de tag automatiques

Dès qu’un terme existe et qu’au moins un contenu lui est associé, Drupal génère tout seul une page listant tous les contenus portant ce terme.

Vous n’avez rien à créer. Cliquez simplement sur l’étiquette affichée sous un article publié : vous arrivez sur cette page.

C’est ce mécanisme qui donne son intérêt au classement. Chaque terme correctement attribué alimente une page de rubrique, qui devient elle-même un point d’entrée dans le site — depuis un menu, un lien, ou un résultat de recherche.

Ajouter une page au menu

Vous pouvez rattacher une page à un menu de navigation directement depuis son formulaire, sans passer par l’administration des menus.

Dans le panneau latéral droit, dépliez Paramètres de menu ( Menu settings ).

Cochez Fournir un lien de menu ( Provide a menu link ).

Titre du lien : il se pré-remplit avec le titre de la page. Raccourcissez-le. Un menu supporte mal les libellés longs : « Nos tarifs » plutôt que « Découvrez nos différentes formules tarifaires 2026 ».

Description : facultative, s’affiche en infobulle au survol.

Lien parent : choisissez <Navigation principale> pour un lien de premier niveau, ou une entrée existante pour créer un sous-menu.

Poids : détermine l’ordre. Plus le nombre est petit, plus le lien remonte. Laissez à 0 si vous ne savez pas, l’ordre se réglera ailleurs.

Enregistrez la page.

Réordonner les liens

Pour déplacer un lien dans le menu, il faut passer par Structure → Menus → /admin/structure/menu, sélectionner le menu, puis glisser-déposer les lignes. Cette page n’est pas accessible à tous les rôles.

Retirer une page du menu

Rouvrez la page en modification, dépliez Paramètres de menu , décochez Fournir un lien de menu , enregistrez. La page reste en ligne, seul le lien disparaît.

Les alias d'URL générés automatiquement

Chaque contenu porte une adresse technique du type /node/247. Illisible, et sans intérêt pour un visiteur ou un moteur de recherche. Drupal lui associe donc un alias : une adresse lisible.

/node/247 → /actualites/ouverture-de-la-mediatheque

Le point essentiel : ne rien faire

La plupart des sites utilisent le module Pathauto , qui fabrique l’alias automatiquement à partir d’un modèle défini une fois pour toutes — par exemple « actualites / la rubrique / le titre ».

Dans le panneau latéral droit, section Paramètres d’URL , vous verrez alors une case cochée : Générer automatiquement l’alias d’URL ( Generate automatic URL alias ).

Si vous devez vraiment personnaliser l’adresse

Décochez Générer automatiquement l’alias d’URL .

Saisissez votre adresse dans le champ Alias d’URL .

Commencez par une barre oblique : /nos-engagements.

Uniquement des minuscules, sans accents, sans espaces, avec des tirets à la place des espaces.

Enregistrez.

Motifs légitimes de personnaliser : une adresse courte à imprimer sur un support papier, une campagne de communication, une page dont le titre est très long.

Promu en accueil ou épinglé en haut de liste

Deux cases voisines dans les Options de publication , aux effets bien distincts. On les confond systématiquement.

CaseEffetQuand l'utiliser
Promu en page d'accueil Promoted to front pageLe contenu entre dans la sélection affichée en page d'accueil.Article important que vous voulez mettre en avant sur la page d'entrée du site.
Épinglé en haut des listes Sticky at top of listsLe contenu remonte en première position des listes où il figure déjà, en ignorant le tri par date.Annonce à maintenir visible plusieurs semaines malgré l'arrivée de nouveaux contenus.

Les deux sont indépendantes et cumulables. Un contenu peut être promu sans être épinglé (il apparaît en accueil, à sa place chronologique), épinglé sans être promu (il reste en tête de la rubrique, mais pas en accueil), ou les deux.

Atelier 1.3 — Structurer, classer et générer les URL

Objectif : rendre le contenu trouvable par le classement, la navigation et des adresses propres. Comptez quarante-cinq minutes.

  1. Créez un vocabulaire « Thèmes » avec quelques termes imbriqués.
  2. Ajoutez un champ de référence de taxonomie à votre type de contenu et marquez quelques contenus.
  3. Construisez un menu de navigation principale avec trois ou quatre liens.
  4. Installez Pathauto et sa dépendance Token.
  5. Définissez un motif d'URL et générez les alias en masse pour le contenu existant.

Résultat attendu — le contenu est classé par des termes, un menu de navigation fonctionne, et chaque nouveau nœud reçoit automatiquement une URL lisible.

Classer un contenu n’est pas un ornement administratif : c’est ce qui permet aux listes automatiques, aux filtres et aux pages de rubrique de fonctionner. Un article mal classé est un article qui n’apparaîtra nulle part.

Les exercices qui suivent portent sur Structure → Taxonomie et Structure → Menus, plus la passerelle entre les menus et le formulaire de contenu.

Exercice 13 — Créer un vocabulaire « Thèmes » avec une vraie hiérarchie

Pourquoi cet exercice — Le cœur fournit un vocabulaire, Tags, et c'est un piège : le tag libre convient à un blog personnel et devient un désastre dans une rédaction, où trois journalistes écriront « Moyen-Orient », « moyen orient » et « Middle East » dans la même semaine. Un vocabulaire maîtrisé et hiérarchisé est l'alternative, et le construire prend dix minutes.

  1. Allez dans Structure → Taxonomie. Lisez la phrase d'introduction — des termes groupés en vocabulaires — et notez l'unique ligne existante, Tags, avec son bouton Lister les termes et les autres opérations derrière la flèche.
  2. Cliquez sur + Ajouter un vocabulaire. Nom : « Thèmes » (nom machine themes), description : « Rubriques et sujets éditoriaux. Liste maîtrisée — pas de création libre. » Cochez Créer une nouvelle révision et enregistrez.
  3. Ajoutez six termes avec + Ajouter un terme : Politique, Économie, Culture, Sport, Climat, Médias. Sur le premier, regardez tout le formulaire — Nom, une Description avec un CKEditor complet et un sélecteur de format de texte, Relations, Alias d'URL, Publié. Un terme est une entité à part entière, pas une étiquette.
  4. Utilisez Enregistrer et aller à la liste sur le dernier, puis simplement Enregistrer sur un autre pour voir la différence — le formulaire reste ouvert pour le terme suivant. Petit détail, gros gain de temps quand on saisit vingt termes.
  5. Construisez la hiérarchie : ajoutez Politique locale et Politique européenne, puis soit vous ouvrez Relations sur chacun pour régler le Terme parent sur Politique, soit vous les glissez sous Politique et vers la droite dans l'onglet Liste. Les deux font la même chose.
  6. Réordonnez les termes de premier niveau pour que les priorités du site viennent d'abord, par glissement ou avec Afficher les poids des lignes. Écrivez ensuite une description sur le terme Politique — elle sera rendue sur la page de ce terme, ce que la plupart des gens ne découvrent que bien plus tard.

Vérification — Votre vocabulaire Thèmes affiche six termes de premier niveau dans un ordre choisi, dont deux imbriqués — et vous savez expliquer en une phrase pourquoi vous n'avez pas simplement réutilisé Tags.

Exercice 14 — Relier le vocabulaire à vos articles

Pourquoi cet exercice — Un vocabulaire tout seul ne classe rien. Le lien est un champ de référence d'entité sur le type de contenu, et les deux réglages qui comptent — quel vocabulaire, et les rédacteurs peuvent-ils créer de nouveaux termes à la volée — décident si votre taxonomie reste propre ou tourne à la bouillie en un mois. En prime, Drupal vous offre gratuitement une page de liste par terme.

  1. Allez dans Structure → Types de contenu → Article d'actualité → Gérer les champs et créez un champ de type Référence → Terme de taxonomie, libellé « Thème ».
  2. Dans les réglages du champ, restreignez le type référencé au seul vocabulaire Thèmes — laissez Tags décoché — et, surtout, laissez « Créer les entités référencées si elles n'existent pas » DÉCOCHÉ. Cette seule case fait toute la différence entre un vocabulaire maîtrisé et du tag libre.
  3. Rendez le champ obligatoire, autorisez jusqu'à 3 valeurs, puis allez dans Gérer l'affichage du formulaire et choisissez un widget délibérément : Autocomplétion pour une longue liste, Cases à cocher ou boutons radio pour six termes. Essayez les deux et gardez celui qui convient.
  4. Marquez trois ou quatre de vos articles de test avec des thèmes différents. Visitez ensuite /taxonomy/term/1 (ou cliquez sur le lien du thème depuis un article) : Drupal vous fournit déjà une page listant tout ce qui porte ce terme. Personne ne l'a construite — c'est une vue du cœur appelée Terme de taxonomie, que vous pouvez modifier dans Structure → Views.
  5. Retournez dans Gérer l'affichage sur Article d'actualité et vérifiez où se trouve le champ Thème, avec quel formateur (libellé en lien, libellé simple, ou terme rendu). Réglez-le sur un lien, masquez son libellé, et placez-le juste sous le titre.
  6. Testez le garde-fou : modifiez un article et saisissez un thème qui n'existe pas. L'autocomplétion le refuse et le formulaire signale une erreur à l'enregistrement — exactement ce que vous avez configuré à l'étape 2.

Vérification — Les articles portent des thèmes, chaque thème a une page de liste qui fonctionne, et un rédacteur ne peut pas inventer un terme depuis le formulaire d'article.

Exercice 15 — Traiter les termes comme du vrai contenu

Pourquoi cet exercice — C'est là que la plupart des gens s'arrêtent, et là que la partie intéressante commence : un terme dispose de Gérer les champs, Gérer l'affichage du formulaire et Gérer l'affichage, exactement comme un nœud. Cela veut dire qu'un thème peut avoir sa propre bannière, son propre chapô, son propre responsable éditorial — c'est ainsi que les vrais sites d'actualité construisent leurs pages de rubrique.

  1. Ouvrez Thèmes → Gérer les champs et cliquez sur + Créer un nouveau champ. La fenêtre Ajouter un champ est exactement la même que celle rencontrée sur les types de contenu et les types de blocs — mêmes familles, même comportement.
  2. Ajoutez trois champs au terme : Bannière (Téléversement de fichier → Image), Chapô (Texte formaté), Responsable de rubrique (Référence → Utilisateur). Vos thèmes sont désormais des objets éditoriaux, pas des chaînes de caractères.
  3. Sur Gérer l'affichage du formulaire, regardez ce qui s'y trouve déjà et ce que cela vous apprend : Nom, Description, Alias d'URL et Publié sont eux aussi des champs. Réordonnez les vôtres pour que Bannière et Chapô viennent juste après Nom, et réduisez Description à 3 lignes.
  4. Allez dans Gérer l'affichage → Vue d'ensemble et regardez les deux tableaux : Par défaut est activé, Page du terme de taxonomie est désactivé. Cliquez sur Activer — c'est le mode d'affichage utilisé quand un visiteur arrive sur la page propre du terme.
  5. Configurez Page du terme de taxonomie : Bannière en grand et en premier, puis Chapô, Description masquée, Responsable masqué. Remplissez ces champs sur le terme Politique et visitez sa page — vous avez une page de rubrique avec une bannière, construite sans une ligne de code.
  6. Comparez avec le mode Par défaut en rendant le terme ailleurs (par exemple le champ Thème d'un article, formateur réglé sur « Entité rendue » avec le mode d'affichage Par défaut). Même terme, deux rendus — la leçon des modes d'affichage, appliquée à la taxonomie.

Vérification — La page du terme Politique affiche une bannière et un chapô, tandis que le même terme rendu à l'intérieur d'un article affiche quelque chose de beaucoup plus discret.

Exercice 16 — Gouverner le vocabulaire : permissions et ménage

Pourquoi cet exercice — La taxonomie pourrit. Termes en double, termes orphelins dont personne ne se sert, un rédacteur junior qui supprime un terme sur lequel pointent cinquante articles. L'onglet Gérer les permissions et la liste des termes sont vos deux outils, et savoir ce qui arrive au contenu marqué quand un terme disparaît est une chose que l'on préfère avoir testée exprès, une fois, avant qu'elle n'arrive par accident.

  1. Ouvrez Thèmes → Gérer les permissions. Lisez la grille : les permissions sont par vocabulaire — Créer des termes, Modifier des termes, Supprimer des termes, plus celles des révisions — et les colonnes sont vos rôles.
  2. Donnez au Rédacteur uniquement Modifier des termes sur Thèmes : il peut corriger une coquille ou ajouter une bannière, jamais créer ni supprimer un thème. Notez la dépendance indiquée dans les descriptions — supprimer une révision demande aussi la permission de supprimer le terme. Cliquez sur Enregistrer les permissions.
  3. Comparez avec Tags → Gérer les permissions, où sur beaucoup de sites Créer des termes est accordé largement. Deux vocabulaires, deux modèles de gouvernance, sur le même site — c'est tout l'intérêt des permissions par vocabulaire.
  4. Testez maintenant la suppression. Créez un terme jetable « Thème de test », marquez un article avec, puis supprimez le terme depuis la liste des termes. Rechargez l'article : le champ est simplement vide. Drupal retire la référence silencieusement — aucun avertissement, aucune erreur, et rien n'en informe le rédacteur.
  5. Pratiquez l'alternative sûre à la suppression d'un doublon : le renommage. Si Climat et Environnement coexistent, décidez lequel survit, remarquez les quelques articles à la main, et seulement ensuite supprimez le perdant. Le cœur n'a pas d'outil de fusion — c'est le rôle du module contribué Term Merge.
  6. Enfin, revenez sur Thèmes → Modifier et vérifiez que Créer une nouvelle révision est toujours coché, puis modifiez la description d'un terme et regardez son historique de révisions. Sur un vocabulaire qui pilote des pages de rubrique, cet historique vaut d'être conservé.

Vérification — Vous savez dire qui peut créer, modifier et supprimer des termes dans chaque vocabulaire, et vous avez vu de vos yeux ce que la suppression d'un terme utilisé fait au contenu qui le référençait.

Pour aller plus loin — Construisez une vue listant tous les termes de Thèmes avec le nombre d'articles qui utilisent chacun. Les termes à zéro article sont votre liste de ménage ; ceux à trois cents sont candidats à un découpage en enfants.

Exercice 10 — Lire la liste des menus et son lien avec les blocs

Pourquoi cet exercice — La phrase en haut de cet écran — chaque menu possède un bloc correspondant, géré sur la page Mise en page des blocs — est la chose la plus importante à comprendre des menus Drupal, et celle que tout le monde survole. Un menu est une structure de données ; il est invisible tant que son bloc n'est pas placé. La moitié des tickets « mon menu ne s'affiche pas » meurt ici.

  1. Allez dans Structure → Menus et listez les sept menus fournis par le cœur : Administration, Contenu, Pied de page, Navigation principale, Liens utilisateur de navigation, Outils et Menu du compte utilisateur. Lisez chaque description — elles disent à quoi chacun sert.
  2. Cliquez sur le lien vers la page Mise en page des blocs contenu dans la phrase d'introduction et trouvez, dans le tableau Olivero, lesquels de ces menus sont réellement placés : en général Navigation principale dans Menu principal et Menu du compte utilisateur dans Menu secondaire. Les cinq autres existent mais ne s'affichent nulle part.
  3. Revenez et ouvrez Modifier le menu sur Administration. Notez le nom machine : admin, à côté du titre, puis parcourez l'arborescence : Contenu, Structure, Mise en page des blocs, Types de blocs, Types de contenu, Modes d'affichage… vous regardez la barre latérale d'administration que vous cliquez depuis trois heures, sous forme de données.
  4. Notez ce que vous ne pouvez pas y faire : ces liens n'ont pas d'opération Supprimer, seulement Modifier et une case Activé. Ils sont définis par des modules, dans le code : Drupal vous laisse les renommer, les réordonner ou les désactiver, jamais les supprimer.
  5. Ouvrez le menu Outils et comparez : presque vide, et décrit comme des liens souvent ajoutés par les modules. Ouvrez ensuite Pied de page : vide aussi sur une installation neuve. Menu vide plus bloc non placé égale rien à l'écran — deux fois rien.

Vérification — Vous savez répondre, pour n'importe quel menu de cette page, aux deux questions qui décident si un visiteur le voit un jour : contient-il des liens, et son bloc est-il placé dans une région ?

Exercice 11 — Construire un menu « Rubriques » pour la rédaction

Pourquoi cet exercice — Un site d'actualité se navigue par rubrique : Politique, Économie, Culture, Sport. C'est le circuit complet — créer un menu, le remplir de liens pointant vers de vrais chemins internes, en imbriquer deux, puis placer son bloc. Cela vous oblige aussi à rencontrer le formulaire de lien, où la différence entre un chemin interne, un alias et une URL externe devient concrète.

  1. Cliquez sur + Ajouter un menu. Titre : « Rubriques », nom machine rubriques, résumé administratif : « Navigation publique par rubrique éditoriale. » Enregistrez — vous arrivez directement sur l'écran d'édition vide.
  2. Cliquez sur + Ajouter un lien et créez la première entrée : Titre du lien de menu = Politique, Lien = un chemin réel de votre site. Remarquez l'autocomplétion : taper un titre de nœud le retrouve et enregistre /node/12 plutôt que l'alias — ce que vous voulez, parce que l'alias, lui, peut changer.
  3. Ajoutez trois autres liens (Économie, Culture, Sport). Pour l'un d'eux, utilisez une URL externe comme https://www.drupal.org pour constater que le même champ accepte les deux, et cochez Afficher déplié sur Politique.
  4. Créez un lien enfant : ajoutez Politique locale et réglez son Lien parent sur Politique. De retour sur l'écran du menu, glissez-le pour confirmer l'indentation — glisser vers la droite imbrique, vers la gauche remonte.
  5. Réordonnez les quatre rubriques par glissement, ou en cliquant sur Afficher les poids des lignes et en saisissant des nombres. Cliquez sur Enregistrer — comme sur Mise en page des blocs, rien n'est stocké tant que vous ne l'avez pas fait.
  6. Rendez-le visible : allez dans Structure → Mise en page des blocs, cliquez sur Placer un bloc sur la région Menu principal ou En-tête, trouvez Rubriques dans la catégorie Menus, et placez-le. Enregistrez les blocs, puis vérifiez sur le site public.

Vérification — Un visiteur voit une navigation Rubriques avec un enfant imbriqué, et vous savez expliquer pourquoi le menu a existé plusieurs minutes sans apparaître nulle part.

Exercice 12 — Élaguer et remodeler un menu existant

Pourquoi cet exercice — Sur un vrai projet, on passe beaucoup plus de temps à tailler des menus qu'à en créer : masquer des liens que les rédacteurs ne devraient pas voir, renommer des libellés obscurs, remonter un élément d'un niveau. Cet exercice fait pratiquer les trois opérations sur l'arborescence — activer, réordonner, changer de parent — et montre ce qui se passe quand un lien pointe vers un chemin qu'un rôle donné ne peut pas atteindre.

  1. Ouvrez Modifier le menu sur votre menu Rubriques et décochez Activé sur un lien. Enregistrez, rechargez le site public : le lien a disparu mais la ligne est toujours là, grisée, prête à être réactivée. C'est l'équivalent, pour les menus, du Désactiver de la mise en page des blocs.
  2. Ouvrez maintenant Administration et décochez un lien dont vous ne vous servez jamais — Services web ou Media par exemple. Enregistrez et regardez-le disparaître de la barre latérale d'administration. Réactivez-le aussitôt : c'est ainsi que l'on allège un back-office pour un client, sans toucher au code.
  3. Renommez un lien du cœur : cliquez sur Modifier pour Types de contenu et changez son titre en « Modèles de contenu ». Notez que le formulaire permet aussi de modifier la description affichée au survol, et que le champ du chemin est désactivé — les liens définis par un module sont propriétaires de leur route.
  4. Changez un parent : dans Rubriques, sortez Politique locale de Politique en la glissant au premier niveau, enregistrez, et voyez le menu public s'aplatir. Remettez-la ensuite.
  5. Testez le filtrage par accès : ajoutez dans Rubriques un lien pointant vers /admin/content. Enregistrez, puis consultez le site en visiteur anonyme. Le lien n'est tout simplement pas rendu — Drupal masque les liens de menu dont la route est inaccessible à l'utilisateur courant, plutôt que de les afficher et d'échouer. Supprimez ce lien de test ensuite.

Vérification — Vous savez énoncer la différence entre décocher Activé et supprimer un lien, dire pourquoi certains liens n'ont aucun bouton Supprimer, et expliquer pourquoi un lien de menu peut être présent dans l'arborescence et invisible pour un visiteur donné.

Pour aller plus loin — Retournez sur votre type de contenu Article d'actualité et activez Rubriques dans les Réglages de menu. Les rédacteurs peuvent désormais rattacher un article directement au menu des rubriques depuis le formulaire du nœud — le point où les types de contenu et les menus se rencontrent.

Exercice 32 — Laisser les rédacteurs placer eux-mêmes leur contenu dans le menu

Pourquoi cet exercice — Menu UI fournit aussi la boîte Réglages de menu du formulaire de nœud — la passerelle qui permet à un rédacteur de rattacher un article à un menu pendant qu'il l'écrit, au lieu de demander à un administrateur d'ajouter un lien après coup. Cette passerelle se configure par type de contenu, et presque personne ne l'active.

  1. Allez dans Structure → Types de contenu → Article d'actualité → Modifier → Réglages de menu et cochez Rubriques dans les menus disponibles, puis réglez l'élément parent par défaut sur <Rubriques>. Enregistrez.
  2. Créez ou modifiez un article : une boîte Réglages de menu apparaît désormais dans la colonne latérale du formulaire, avec une case « Fournir un lien de menu », un titre et un sélecteur de parent. Cochez, enregistrez, et vérifiez le menu côté site — le lien y est.
  3. Retournez dans Structure → Menus → Rubriques : le lien créé depuis le formulaire du nœud est dans l'arborescence à côté de ceux que vous avez saisis à la main, et se réordonne de la même façon. Un menu, deux points d'entrée.
  4. Dépubliez maintenant cet article et rechargez le site en visiteur anonyme : le lien de menu disparaît, parce que Drupal filtre les liens dont la route est inaccessible au visiteur — la même leçon que sur les menus, abordée par un autre chemin.

Vérification — Un rédacteur peut mettre un article dans le menu Rubriques sans jamais ouvrir l'écran des menus, et dépublier l'article retire le lien automatiquement.

Exercice 33 — Tracer la limite entre administration des menus et travail éditorial

Pourquoi cet exercice — « Le rédacteur place ses articles, personne ne réordonne la navigation principale un jour de bouclage » est une règle qui tient à deux permissions bien distinctes. Cet exercice les fait voir, et fait découvrir au passage une limite du cœur qu'il vaut mieux connaître avant de la promettre en réunion.

  1. Ouvrez Utilisateurs → Permissions et filtrez sur « menu ». Lisez les deux choses très différentes que vous trouvez : « Administrer les menus et les liens de menu » (tout l'écran des menus, pour tous les menus) et la possibilité, par type de contenu, d'utiliser les réglages de menu du formulaire de nœud.
  2. Donnez au Rédacteur la possibilité au niveau du nœud, et pas l'administration des menus. Testez avec cet utilisateur : il peut rattacher son article à Rubriques depuis le formulaire, et il ne peut pas atteindre /admin/structure/menu.
  3. Expliquez-vous à vous-même pourquoi cette répartition est la bonne valeur par défaut sur un site de rédaction.
  4. Notez enfin la limite : « Administrer les menus et les liens de menu » est tout ou rien — le cœur n'a pas de permission par menu. Si vous avez besoin de « peut modifier le menu Rubriques mais pas la Navigation principale », c'est un module contribué, et il vaut mieux le savoir maintenant.

Vérification — Votre rédacteur peut ajouter un lien de menu depuis un article et ne peut pas ouvrir l'écran des menus — et vous savez énoncer la limite du cœur sur les permissions par menu.

1.4 Les bases de l'administration

Utiliser la barre d'administration efficacement

  1. Les menus déroulants imbriqués : survolez un élément de premier niveau pour atteindre une page profonde d'un seul geste, sans passer par les pages intermédiaires.
  2. Extra Tools : le module compagnon ajoute Vider tous les caches, Exécuter le cron et des liens d'ajout rapide de contenu.
  3. Les raccourcis : épinglez les pages fréquentes avec l'icône en étoile — ils sont propres à chaque utilisateur.

Les journaux et le dépannage

Drupal enregistre les événements dans un journal, historiquement appelé Watchdog, consultable dans Rapports → Messages de journal récents. C'est le premier endroit où aller quand quelque chose casse.

Ce que vous y trouvezÀ quoi cela sert
Le type et la gravitéFiltrer pour isoler le problème rapidement : erreur, avertissement, notice, info.
Le détail d'une entréeLa trace complète et la page d'origine — ouvrez toujours l'entrée, la ligne du tableau ne suffit jamais.
Les accès refusés et pages introuvablesDeux types à surveiller : ils révèlent les liens morts et les permissions mal réglées.
Le rapport d'étatRapports → Rapport d'état : santé générale, versions, cron, mises à jour en attente.

Mode maintenance et réglages du site

Le mode maintenance met le site hors ligne pour les visiteurs pendant que les administrateurs continuent de travailler. On l'active systématiquement avant une mise à jour. Il se trouve dans Configuration → Développement → Mode de maintenance.

ÉcranCe qui s'y règle
Informations de baseNom du site, slogan, adresse électronique, page d'accueil, pages 403 et 404 personnalisées.
Régional et dateFuseau horaire, pays, formats de date, langues.
PerformancesMise en cache des pages et du rendu, agrégation CSS et JavaScript.

« J’ai modifié quelque chose, mais je ne vois aucun changement sur le site. »

C’est le cache . Pour aller vite, Drupal garde en mémoire une copie des pages déjà calculées et la ressert aux visiteurs suivants. Analogie : il conserve une photocopie sous le coude et il faut lui dire de la jeter.

Videz d’abord le cache de votre navigateur : Ctrl+F5 (Windows) ou Cmd+Maj+R (Mac). Dans la moitié des cas, cela suffit.

Si le problème persiste, videz le cache de Drupal : Configuration → Développement → Performances (/admin/config/development/performance) → bouton Vider tous les caches .

Si votre site dispose du module Admin Toolbar Extra Tools , un raccourci Vider les caches existe directement dans la barre d’administration.

Si vous n’avez accès à aucune de ces pages, demandez à votre administrateur. En ligne de commande, la commande correspondante est drush cr.

Avant de conclure au cache , vérifiez les deux causes plus probables : avez-vous bien cliqué sur Enregistrer ? Et avez-vous enregistré en Publié plutôt qu’en Brouillon (fiche 1.3) ?

« Mon contenu n’apparaît pas sur la page d’accueil. »

Quatre vérifications dans l’ordre :

Le contenu est-il publié ? Vérifiez en navigation privée (fiche 1.3).

La case Promu en page d’accueil est-elle cochée (fiche 5.3) ?

La page d’accueil affiche-t-elle bien les contenus promus, ou a-t-elle été construite autrement ? Sur beaucoup de sites récents, c’est le second cas et la case est sans effet.

Le contenu a-t-il une date de publication future ? Vérifiez le champ date dans le panneau latéral.

« J’ai renommé ma page, les anciens liens ne fonctionnent plus. »

Changer le titre change l’alias d’URL quand la génération automatique est active (fiche 5.2). Toutes les adresses diffusées auparavant tombent en erreur 404.

Si le module Redirect est installé, la redirection a été créée automatiquement : testez l’ancienne adresse, elle devrait mener à la nouvelle.

Sinon, demandez à votre administrateur de créer la redirection manuellement. Fournissez-lui l’ancienne et la nouvelle adresse, exactement.

Prévention : avant de renommer un contenu déjà diffusé, notez son adresse actuelle.

« J’ai perdu ma saisie. »

Le texte non enregistré n’est pas récupérable. Trois habitudes qui évitent la récidive :

Enregistrer une première fois en Non publié dès les premières lignes, puis continuer en modification.

Rédiger les textes longs dans un traitement de texte, coller ensuite (fiche 2.3).

Ne pas laisser un formulaire ouvert plusieurs heures : la session peut expirer et l’enregistrement échouer.

« Accès refusé. »

Deux causes possibles.

Vous n’êtes plus connecté. Votre session a expiré. Reconnectez-vous (/user/login) et réessayez.

Votre rôle ne permet pas cette action. Voir la fiche 7.3. Contactez votre administrateur en indiquant l’adresse exacte de la page.

« Mon image ne s’affiche pas, ou s’affiche mal. »

Elle est recadrée ou réduite → c’est un style d’image, comportement normal (fiche 3.5). Envoyez une source plus large et centrez le sujet.

Elle ne s’affiche pas du tout → vérifiez que le contenu a bien été enregistré après l’insertion, puis videz le cache.

Le fichier a été refusé à l’envoi → format non autorisé ou fichier trop lourd. Le message d’erreur indique les extensions acceptées et la taille maximale.

Elle a changé toute seule dans plusieurs articles → quelqu’un a modifié le média partagé (fiche 3.3).

« Ma vidéo YouTube ne s’affiche pas. »

Vous avez probablement collé le code <iframe> dans le corps du texte : le format de texte l’a supprimé (fiche 2.4). Recommencez en passant par la bibliothèque de médias, onglet Vidéo distante , en collant l’adresse simple de la page (fiche 3.7).

« Ma mise en forme a disparu après enregistrement. »

Le format de texte a filtré ce qu’il n’autorise pas (fiche 2.4). Cause la plus fréquente : un copier-coller depuis Word, ou un changement de format en cours de rédaction. Refaites la mise en forme avec les boutons de l’éditeur. Si un bouton nécessaire manque, c’est une demande à formuler à l’administrateur.

« Le site affiche un message de maintenance. »

Un administrateur a mis le site hors ligne pour effectuer une mise à jour. C’est volontaire et temporaire. Les administrateurs continuent de voir le site normalement ; les visiteurs voient le bandeau. Attendez, ou renseignez-vous sur la durée prévue.

« J’ai supprimé un contenu par erreur. »

La suppression est définitive et il n’y a pas de corbeille (fiche 2.8). Contactez immédiatement votre administrateur : une restauration depuis une sauvegarde est parfois possible, mais elle fait perdre tout ce qui a été publié depuis la sauvegarde. Plus vous signalez vite, plus la perte collatérale est faible.

« Je vois deux catégories presque identiques dans la liste. »

Un doublon de taxonomie créé par la saisie libre (fiche 4.2) : « Innovation » et « innovation » sont deux termes distincts pour Drupal. Signalez-le à votre administrateur ou à votre éditeur, qui pourra fusionner les termes et réaffecter les contenus. Ne créez pas un troisième terme en attendant.

Atelier 1.4 — Diagnostiquer et configurer

Objectif : se servir des journaux pour diagnostiquer, puis appliquer les réglages du site et le mode maintenance. Comptez trente minutes.

  1. Provoquez une erreur — un lien vers une page inexistante suffit — puis ouvrez Rapports → Messages de journal récents.
  2. Filtrez par gravité, ouvrez l'entrée, lisez la trace et la page d'origine.
  3. Réglez le nom du site, la page d'accueil et une page 404 personnalisée.
  4. Activez le mode maintenance et vérifiez le site dans une fenêtre de navigation privée.
  5. Désactivez le mode maintenance et confirmez que le site est revenu.

Résultat attendu — vous savez localiser et interpréter une entrée de journal, les réglages de base sont corrects, et vous basculez le mode maintenance sans appréhension.

Onze symptômes, classés par fréquence. Cherchez la phrase qui ressemble le plus à ce que vous constatez.

Les exercices qui suivent portent sur les liens contextuels et sur le module Annonces — deux modules minuscules qui font parcourir, en entier, la boucle « module, écran, permission, rôle, effet visible ».

Exercice 24 — Apprendre à naviguer par le crayon

Pourquoi cet exercice — Les liens contextuels, c'est la petite icône de crayon qui apparaît au survol d'un bloc, d'une vue ou d'un nœud côté site public, et qui propose « Modifier », « Configurer le bloc », « Modifier la vue » directement depuis la page. Ce module n'a aucun écran de configuration — seulement une permission — mais c'est le plus gros gain de temps de tout le back-office : il supprime l'étape « c'était quel écran d'administration, déjà ? » que vous payez partout ailleurs.

  1. Allez sur la page d'accueil de votre site en tant qu'administrateur et survolez le bloc du menu Rubriques que vous avez construit. Un crayon apparaît dans son coin ; cliquez et notez les options : Configurer le bloc, Modifier le menu.
  2. Survolez la liste produite par votre vue Liste par rubrique. Le crayon propose Modifier la vue — et il vous emmène directement sur le bon affichage, pas seulement sur la vue.
  3. Survolez l'accroche d'un article : Modifier et Supprimer pour ce nœud. Appuyez ensuite sur Échap et essayez le raccourci clavier ? sur n'importe quelle page d'administration pour voir la liste des raccourcis de Drupal — les liens contextuels s'affichent aussi sans la souris.
  4. Pour chaque crayon cliqué, notez sur quel écran d'administration il vous a déposé. Cette correspondance est tout l'intérêt de l'exercice : le site public devient la table des matières du back-office.

Vérification — Vous avez modifié un bloc, une vue et un nœud sans utiliser une seule fois le menu d'administration.

Exercice 25 — Décider qui a droit au crayon

Pourquoi cet exercice — Une permission unique, et une question de sécurité qui revient à chaque projet : est-ce que donner les liens contextuels ouvre quelque chose ? La réponse est non, et savoir pourquoi vaut la démonstration.

  1. Ouvrez « Configurer les permissions Liens contextuels » : une seule permission, Utiliser les liens contextuels.
  2. Accordez-la au Rédacteur et parcourez le site avec cet utilisateur. Observez attentivement ce qu'il voit : les crayons apparaissent, mais chaque option respecte toujours la permission sous-jacente. Un rédacteur sans « Administrer les blocs » voit le lien Modifier du nœud et pas Configurer le bloc.
  3. Tirez la conclusion à voix haute : les liens contextuels sont une couche de confort, pas une couche de sécurité. Les accorder ne donne jamais accès à quoi que ce soit que le rôle ne pouvait déjà atteindre par l'URL.
  4. Testez le cas limite qui surprend tout le monde : consultez le site déconnecté. Aucun crayon, aucun balisage, aucun JavaScript chargé — Drupal n'envoie pas la fonctionnalité aux utilisateurs qui ne peuvent pas s'en servir.

Vérification — Vous savez expliquer pourquoi accorder « Utiliser les liens contextuels » à un rôle est sans danger, et ce qu'un rédacteur voit dans le menu du crayon comparé à un administrateur.

Exercice 22 — Lire le fil d'annonces et décider si vous le gardez

Pourquoi cet exercice — Le module Annonces récupère le fil officiel de la communauté Drupal — versions de sécurité, fins de support, annonces de versions majeures — et l'affiche dans la barre d'outils, pour qu'un administrateur en soit informé sans s'abonner à une liste de diffusion. Il est petit, il est facultatif, et c'est l'exemple le plus net du motif que suit chaque module : un module fournit un écran, et une permission décide qui le voit.

  1. Cliquez sur Annonces dans la barre d'administration. Lisez ce qui revient et notez d'où cela vient : un flux externe récupéré sur drupal.org, pas de votre site.
  2. Allez dans Étendre et trouvez le module Annonces dans la liste. Lisez sa description, et notez que cette section d'aide n'existe que parce que le module est installé — la page d'aide est une carte de ce qui est activé, rien de plus.
  3. Posez la vraie question : sur un site client derrière un VPN, ou sur tout serveur sans accès internet sortant, ce module ne récupère rien et ajoute un élément mort dans la barre d'outils. Notez votre décision — le garder sur un site que vous administrez vous-même, le désinstaller sur un site client où personne n'agira dessus.
  4. Si vous décidez de le retirer, désinstallez-le depuis Étendre → Désinstaller, puis rechargez /admin/help et vérifiez que la section Annonces a disparu de cette page.

Vérification — Vous savez expliquer ce que contient le fil d'annonces, d'où il est récupéré, et donner une raison concrète de désinstaller le module sur un site en production.

Exercice 23 — Votre première permission, de bout en bout

Pourquoi cet exercice — Cet exercice fait parcourir la boucle complète — module, écran, permission, rôle, effet visible — qui est exactement la même pour tous les modules de l'administration. C'est le schéma qu'il faut avoir en tête avant d'ouvrir la grande grille des permissions.

  1. Cliquez sur « Configurer les permissions Annonces » depuis la section d'aide. Vous arrivez sur la page globale des permissions, filtrée sur ce module — une seule permission, Voir les annonces officielles de Drupal.
  2. Accordez-la au Rédacteur et enregistrez. Connectez-vous avec votre utilisateur de test rédacteur : l'élément Annonces apparaît désormais dans sa barre d'outils.
  3. Révoquez-la, rechargez en tant que rédacteur, et regardez l'élément disparaître. Vous venez de faire la boucle complète.
  4. Allez maintenant dans Utilisateurs → Permissions (la grille complète) et tapez « annonce » dans le champ de filtre. Même permission, atteinte par l'autre bout. Les liens de la page d'aide sont des raccourcis vers cette grille, pas des réglages distincts.

Vérification — Vous savez atteindre la même permission par deux chemins et vous avez vu un rôle gagner puis perdre un élément de barre d'outils sans vous déconnecter de votre session d'administration.

Bilan du jour 1

Vous savez désormais administrer un site Drupal.

  1. Naviguer dans l'administration et y trouver ce que vous cherchez.
  2. Gérer les utilisateurs, les rôles et les permissions.
  3. Modéliser des types de contenu, des champs et un circuit de validation.
  4. Classer avec la taxonomie, naviguer avec les menus, produire des URL lisibles.
  5. Lire les journaux et diagnostiquer un incident.
  6. Basculer le mode maintenance et régler la configuration de base.

La deuxième journée porte sur la présentation : Views, les blocs, Layout Builder, la thématisation de base et les médias.

Jour 2 — Présenter le contenu : Views et mise en forme

La première journée a modélisé le contenu ; la deuxième décide de ce que le visiteur en voit. Quatre outils s'enchaînent : Views construit les listes, les blocs et les régions décident de ce qui apparaît où, Layout Builder compose des pages, et le module Media centralise les fichiers.

2.1 Travailler avec Views

Le constructeur de requêtes de Drupal

Views interroge des entités et les affiche, sans écrire une ligne de SQL. Presque toutes les listes d'un site Drupal sont une vue — y compris les écrans d'administration que vous utilisez depuis hier.

RéglageCe qu'il décideValeurs typiques
AffichageCe que la vue produit et oùPage, Bloc, Flux — une vue, plusieurs sorties
FormatLa disposition des lignesListe, Grille, Tableau
ChampsCe qui est montréDes colonnes, ou l'entité rendue dans un mode d'affichage
FiltresQuel contenu entre dans la listePublié, type de contenu, terme…
TriDans quel ordrePar date, par titre, par poids

Listes, tableaux et grilles

  1. Liste — des accroches ou des cartes empilées : index de blog, fils d'actualité.
  2. Tableau — des colonnes triables, denses en données : c'est le format des écrans d'administration.
  3. Grille — des galeries et des listes illustrées sur N colonnes.

Chaque ligne rend soit des champs sélectionnés un par un, soit l'entité complète dans un mode d'affichage — accroche, carte, contenu complet. Le second choix est presque toujours le bon : il centralise la présentation dans Gérer l'affichage plutôt que de la dupliquer dans chaque vue.

Tris, filtres et filtres contextuels

MécanismeQui décide de la valeurUsage
Filtre fixeLe constructeur de la vueToujours appliqué — publié = oui, type = article.
Filtre exposéLe visiteurRendu sous forme de formulaire : le lecteur filtre et trie lui-même.
Filtre contextuelL'URL ou le contexte, à l'exécutionLa clef des listes dynamiques et des blocs « contenus liés ».

Atelier 2.1 — Construire deux vues

Objectif : produire à la fois une page dynamique et un bloc sensible au contexte. Comptez une heure.

  1. Créez une vue de type page listant les articles en grille.
  2. Ajoutez un filtre exposé sur le terme de taxonomie, et un tri.
  3. Ajoutez à la même vue un affichage de type bloc pour les contenus liés.
  4. Donnez-lui un filtre contextuel valant le terme du nœud courant.
  5. Placez le bloc sur la page d'article et testez.

Conseil — réglez le comportement « aucun résultat » du filtre contextuel sur « masquer » : le bloc disparaîtra proprement sur les pages non classées, au lieu d'afficher une boîte vide.

Les exercices qui suivent portent sur Structure → Views : lire les vues du cœur avant d'en construire, bâtir une liste à trois affichages, puis régler Views lui-même.

Un filtre contextuel est une clause WHERE dont la valeur vient du contexte : /rubriques/%terme affiche les articles portant le terme présent dans l'URL ; un bloc de contenus liés lit le terme du nœud courant et liste ses voisins. C'est la distinction la plus utile de tout Views, et la plus rapide à sentir en la pratiquant.

Exercice 17 — Lire la liste des vues avant de construire quoi que ce soit

Pourquoi cet exercice — Presque toutes les listes que vous avez utilisées jusqu'ici sont des vues : l'écran d'administration du contenu, l'écran des utilisateurs, les messages de journal récents, la page de terme, le flux RSS. Réaliser que le back-office lui-même est construit avec l'outil que vous vous apprêtez à apprendre change la façon de l'aborder — et le plus rapide, pour apprendre Views, est d'ouvrir une vue qui marche déjà plutôt que de partir d'un formulaire vide.

  1. Allez dans Structure → Views et lisez le tableau Activées colonne par colonne : nom de la vue, nom machine, description, et surtout Affichages — qui vous dit ce que chaque vue produit réellement et à quel chemin.
  2. Faites correspondre cinq vues à des écrans que vous connaissez déjà : Contenu → /admin/content, Utilisateurs → /admin/people, Page d'accueil → /node et le flux /rss.xml, Terme de taxonomie → /taxonomy/term/%, Contenu récent → le bloc que vous avez placé plus tôt.
  3. Descendez jusqu'au tableau Désactivées : Archive (tout le contenu par mois) et Glossaire (tout le contenu par lettre) sont fournis par le cœur mais éteints. Cliquez sur Activer pour Archive, puis visitez /archive — une archive mensuelle qui fonctionne, gratuitement.
  4. Ouvrez Page d'accueil avec Modifier et lisez l'anatomie sans rien changer : les onglets d'affichage en haut (Page, Flux), puis Format, Champs, Critères de filtrage, Critères de tri, et la colonne Avancé à droite. Notez le filtre : Publié = Oui, Promu en page d'accueil = Oui.
  5. Prenez tout de suite le réflexe de sécurité : pour expérimenter sur une vue du cœur, utilisez la flèche à côté de Modifier et choisissez Dupliquer, puis travaillez sur la copie. Casser la vue Contenu, c'est casser son propre écran d'administration, et cela arrive à tout le monde une fois.
  6. Utilisez le champ de filtre en haut de la liste et tapez « bloc » — il cherche dans le nom, le nom machine, la description et le chemin. Sur un vrai projet, cette liste atteint trente vues et ce champ devient indispensable.

Vérification — Vous savez nommer trois écrans d'administration qui sont des vues, vous avez activé Archive et l'avez vue fonctionner, et vous savez copier une vue du cœur avant d'y toucher.

Exercice 18 — Construire une liste de rubrique : page, bloc et flux

Pourquoi cet exercice — C'est l'exercice qui relie tout le reste : il interroge le type de contenu, filtre sur la taxonomie, rend à travers le mode d'affichage, et finit en bloc placé dans une région. Une vue, trois affichages — et le moment où la différence entre un filtre et un filtre contextuel devient enfin évidente.

  1. Cliquez sur + Ajouter une vue. Nom : « Liste par rubrique ». Afficher le Contenu de type Article d'actualité trié par Le plus récent en premier. Cochez Créer une page (chemin /rubriques, format Liste non formatée d'accroches, 10 éléments, avec pagination) et Créer un bloc (5 éléments). Enregistrez et modifiez.
  2. Comprenez le sélecteur d'affichage : les onglets Page et Bloc en haut, et la liste Pour au-dessus de chaque réglage — Tous les affichages contre Ce bloc (remplacer). Faites afficher au bloc le mode Carte en remplacement, et vérifiez que la page continue d'afficher des accroches.
  3. Ajoutez un critère de filtrage sur votre champ Thème et exposez-le (Exposer ce filtre aux visiteurs). Rechargez /rubriques : les lecteurs peuvent maintenant filtrer la liste par thème eux-mêmes.
  4. Faites maintenant l'inverse avec un filtre contextuel : dans la colonne Avancé, ajoutez Identifiant du terme de taxonomie, et sous « Quand la valeur du filtre n'est pas disponible » choisissez Afficher tous les résultats. Réglez le chemin de la page sur /rubriques/% et visitez /rubriques/1. Un filtre est choisi par le visiteur ; un filtre contextuel vient de l'URL. Toute la distinction est là, et il faut cinq minutes pour la sentir.
  5. Ajoutez un troisième affichage : + Ajouter → Flux, chemin /rubriques/rss.xml, rattaché à l'affichage Page. Vérifiez le XML brut dans votre navigateur.
  6. Fignolez la page : mettez un En-tête avec une phrase d'introduction, un comportement Aucun résultat disant « Aucun article dans cette rubrique pour l'instant », et servez-vous du bouton Actualiser l'aperçu en bas pour tout tester sans quitter l'écran. Enregistrez, puis placez l'affichage Bloc dans une région via Mise en page des blocs.

Vérification — /rubriques liste vos articles avec un filtre par thème qui fonctionne, /rubriques/1 n'affiche qu'un seul thème, le flux est valide, et le bloc rend des cartes pendant que la page rend des accroches — depuis une seule et même vue.

Exercice 19 — Régler Views lui-même, et regarder sous le capot

Pourquoi cet exercice — L'onglet Paramètres est à deux clics et presque personne ne l'ouvre ; il contient pourtant les interrupteurs qui font passer Views de boîte noire à outil que l'on peut déboguer : la requête SQL, les statistiques de performance, les requêtes exécutées au rendu. Sur un site lent, c'est par là qu'on commence — et les options de cache dans la colonne Avancé d'une vue sont là où l'on finit.

  1. Allez dans Structure → Views → Paramètres → Général et, sous les réglages de l'aperçu en direct, cochez Afficher la requête SQL et Afficher les statistiques de performance. Enregistrez la configuration.
  2. Rouvrez votre vue Liste par rubrique et cliquez sur Actualiser l'aperçu. Vous voyez maintenant le SQL généré et le temps de requête sous les résultats. Ajoutez un filtre, réactualisez, et regardez la clause WHERE s'allonger — c'est de très loin la meilleure façon de comprendre ce qu'une vue fait réellement.
  3. Utilisez l'aperçu avec un argument : tapez 1 dans le champ « Aperçu avec filtres contextuels » et actualisez. Vous testez /rubriques/1 sans quitter l'écran d'édition.
  4. Lisez les deux autres réglages généraux et décidez ce que vous voulez : Toujours afficher l'affichage par défaut (utile dès que vous jonglez avec cinq affichages) et le libellé de la valeur « Tout » des filtres exposés — le texte que vos lecteurs verront dans la liste déroulante des thèmes construite à l'exercice 18.
  5. De retour dans la vue, ouvrez la colonne Avancé → Mise en cache. Passez de Basé sur les étiquettes à Basé sur le temps avec une durée courte, actualisez l'aperçu, puis revenez en arrière. Le cache par étiquettes est le bon réglage par défaut — l'important est de savoir que ce réglage existe et où il se trouve.
  6. Enfin, remettez Afficher la requête SQL et Afficher les statistiques de performance sur désactivé, ou laissez-les délibérément si ce site reste un site de développement. Dans les deux cas, que ce soit une décision et non un oubli.

Vérification — Vous savez lire le SQL que votre propre vue génère, tester un filtre contextuel depuis le champ d'aperçu, et dire où se configure la stratégie de cache d'une vue.

Pour aller plus loin — Exportez votre travail. Ajoutez Synchronisation de la configuration à votre liste de lecture (Configuration → Développement) : chaque vue, type de contenu, vocabulaire et placement de bloc que vous avez construits vit dans de la configuration YAML — c'est ainsi que vous déplaceriez tout cela vers un autre site.

Exercice 38 — Lire le rapport des greffons de Views

Pourquoi cet exercice — Views fait tourner vos listes, Views UI n'est que l'interface qui sert à les construire. Ce sont deux modules distincts, et le rapport des greffons dit de quoi vos vues dépendent réellement — l'information qui manque au moment où l'on s'apprête à désinstaller un module.

  1. Cliquez sur Greffons de Views (/admin/reports/views-plugins). Chaque type de greffon — affichage, style, ligne, pagination, accès, cache — est listé avec les vues qui l'utilisent.
  2. Trouvez votre vue Liste par rubrique dans le rapport et identifiez ses greffons : affichages page et bloc, style liste non formatée, ligne entité, pagination complète. Vous lisez, sous forme de rapport, tous les choix que vous avez faits en la construisant.
  3. Cherchez un greffon utilisé par exactement une vue. C'est le véritable usage de ce rapport : avant de désinstaller un module, on vérifie ici si une vue en dépend encore — l'alternative étant de le découvrir quand une page devient blanche.
  4. Recoupez avec Étendre → Désinstaller : essayez de désinstaller un module dont une vue dépend et lisez l'avertissement de Drupal. Ne confirmez pas — le but est de voir que la dépendance est vérifiée.

Vérification — Vous savez lister les greffons qu'utilise votre propre vue et expliquer dans quelles circonstances vous ouvririez ce rapport sur un vrai projet.

Exercice 39 — Séparer la construction de l'exécution

Pourquoi cet exercice — Beaucoup d'équipes désinstallent Views UI sur le site en production pour que personne — y compris un compte d'administration compromis — ne puisse réécrire une requête depuis le navigateur. Cet exercice fait éprouver que c'est sans risque pour les listes, et fait comprendre pourquoi « Administrer les vues » n'est pas une permission anodine.

  1. Ouvrez « Configurer les permissions Views UI » : la permission est Administrer les vues, et elle équivaut en pratique à un niveau administrateur du site — une vue peut exposer n'importe quel champ de n'importe quelle entité, adresses électroniques des utilisateurs comprises.
  2. Vérifiez ce raisonnement vous-même : construisez une vue jetable des utilisateurs affichant le champ courriel, prévisualisez-la, puis supprimez la vue. C'est ce que la permission accorde.
  3. Sur votre site de test uniquement, allez dans Étendre → Désinstaller et désinstallez Views UI — pas Views. Rechargez /rubriques et votre page d'accueil : tout fonctionne encore. Les listes sont de la configuration ; l'interface n'était que l'éditeur.
  4. Réinstallez Views UI et vérifiez que vos vues sont intactes. Notez ensuite la règle de production que cela suggère : construire en développement, exporter la configuration, la déployer, et garder l'interface éteinte là où elle n'est pas nécessaire.

Vérification — Votre site a rendu toutes ses listes correctement avec Views UI désinstallé, et vous savez expliquer pourquoi « Administrer les vues » ne se distribue pas à la légère.

2.2 Blocs, régions et mises en page

Comprendre le système de blocs

Un bloc est un morceau de contenu réutilisable : une identité de marque, un menu, un formulaire de recherche, un bloc personnalisé, ou la sortie d'une vue. Trois notions suffisent à le maîtriser.

NotionCe qu'elle recouvre
Bibliothèque de blocsOn écrit un bloc personnalisé une fois, on le réutilise partout. Un bloc a des champs, comme un contenu.
PlacementOn affecte un bloc à une région, pour un thème donné, dans Structure → Mise en page des blocs.
VisibilitéDes conditions par chemin, type de contenu, rôle ou langue — un bloc n'apparaît que là où il a du sens.

Les régions du thème

Une région est une zone déclarée par le thème : en-tête, barre latérale, contenu, bas de page. Les régions disponibles dépendent donc du thème actif, et elles sont déclarées dans son fichier .info.yml. La région Contenu est particulière : elle reçoit la sortie principale de la page.

Composer des pages avec Layout Builder

Layout Builder ajoute une couche au-dessus des régions : il permet de composer la page d'un contenu en sections, dans lesquelles on place des champs et des blocs. Il fonctionne à deux niveaux.

  1. La mise en page par défaut d'un type de contenu : elle vaut pour toutes les entités de ce type. C'est le bon niveau pour la structure d'une fiche produit ou d'un article.
  2. La surcharge d'une entité particulière : une page composée différemment des autres — idéal pour une page d'atterrissage.

Layout Builder : quand vous y avez droit

Layout Builder est un outil de composition visuelle : il permet de construire la mise en page d’une page en empilant des sections et en y déposant des éléments.

Vous en disposez si, en ouvrant un contenu, vous voyez un onglet Mise en page ( Layout ) à côté de Voir et Modifier .

Deux niveauxCe que cela signifie
Mise en page par défautDéfinie par l'administrateur pour tous les contenus d'un type. Vous n'y touchez pas.
Personnalisation d'une page ( override )Vous modifiez la mise en page d' une seule page. C'est ce que vous faites depuis l'onglet Mise en page.

Ajouter une section

Une section est une bande horizontale, découpée en une ou plusieurs colonnes. La page est un empilement de sections.

Ouvrez le contenu et cliquez sur l’onglet Mise en page .

Cliquez sur Ajouter une section ( Add section ) à l’endroit voulu — il y en a un entre chaque section existante.

Choisissez un gabarit : une colonne, deux colonnes, trois colonnes…

Réglez les proportions si l’écran le propose (50/50, 33/67…).

Donnez un libellé d’administration si le champ existe : « Bandeau », « Chiffres clés ». Invisible pour les visiteurs, précieux pour s’y retrouver.

Cliquez sur Ajouter une section pour valider.

Placer un bloc ou un champ

Dans une section, cliquez sur Ajouter un bloc ( Add block ).

Un panneau s’ouvre sur la droite avec la liste des éléments disponibles, groupés par catégorie.

Choisissez ce que vous voulez placer : un champ de ce contenu — le titre, l’image, le corps du texte ; un bloc existant — issu de la bibliothèque de blocs du site ; un bloc de vue — une liste automatique, par exemple « Derniers articles » ; un bloc de contenu personnalisé que vous créez sur place.

Réglez les options proposées, puis cliquez sur Ajouter un bloc .

Réorganisez par glisser-déposer si nécessaire.

Cliquez sur Enregistrer la mise en page en haut de l’écran.

Annuler et revenir à la mise en page par défaut

Trois niveaux de retour en arrière, du plus léger au plus radical.

SituationSolution
Vous êtes en cours d'édition et vous voulez tout abandonnerCliquez sur Annuler ( Discard changes ) en haut de l'écran. Retour à la dernière version enregistrée.
Vous avez enregistré et vous le regrettezCliquez sur Rétablir la valeur par défaut ( Revert to defaults ). La page reprend la mise en page commune à son type.
Vous voulez seulement retirer un élémentCliquez sur le crayon de l'élément → Supprimer le bloc . Puis enregistrez.

Atelier 2.2 — Composer une page d'atterrissage

Objectif : composer une page mêlant blocs personnalisés et sortie dynamique de Views. Comptez une heure.

  1. Rédigez un bloc personnalisé « Héro » dans la bibliothèque de blocs.
  2. Activez Layout Builder sur un type de contenu « Page d'atterrissage », depuis Gérer l'affichage.
  3. Ajoutez des sections à une et à trois colonnes.
  4. Placez le bloc Héro, puis le bloc issu de la vue de l'atelier 2.1.
  5. Enregistrez et prévisualisez la page composée.

Attention — Layout Builder s'active dans Gérer l'affichage du type de contenu avant toute composition. Sans cette étape, la mise en page n'est pas disponible sur le nœud.

Les exercices qui suivent portent sur Structure → Mise en page des blocs et Structure → Types de blocs : les régions, le placement, la visibilité, puis la fabrication d'un type de bloc à vous.

Exercice 1 — Cartographier les régions de votre thème

Pourquoi cet exercice — On ne place rien correctement tant qu'on ne sait pas à quoi ressemblent, sur une page rendue, les régions En-tête, Mise en avant, Au-dessus du contenu, Barre latérale, Sous le contenu, Bas de page haut et Bas de page bas. Olivero en déclare une quinzaine, dont les noms ne décrivent la position qu'à moitié. Dix minutes de relevé maintenant vous épargnent la boucle classique : « j'ai placé le bloc mais je ne le trouve nulle part sur le site ».

  1. Allez dans Structure → Mise en page des blocs. Remarquez les deux onglets en haut, Olivero et Claro : le placement des blocs est enregistré par thème. Olivero est votre site public, Claro le back-office. Tout ce qui suit se passe sur l'onglet Olivero.
  2. Cliquez sur Démontrer les régions de blocs (Olivero). La page d'accueil se recharge avec chaque région encadrée et nommée. Faites-en une capture ou un croquis sur papier : ce plan est votre référence pour tous les exercices qui suivent.
  3. Écrivez, à côté de chaque nom de région, une chose qu'un site d'actualité y mettrait réellement. Exemple : Héro (pleine largeur) → l'article principal du jour ; Barre latérale → la liste « Les plus lus » ; Bas de page haut → l'inscription à la lettre d'information.
  4. De retour sur Mise en page des blocs, lisez les colonnes du tableau : Bloc (l'instance), Catégorie (d'où il vient — Système, cœur, Menus, Views, Personnalisé), Région (une liste déroulante modifiable directement) et Opérations (Configurer, plus Désactiver et Retirer derrière la flèche).
  5. Repérez les régions actuellement vides — elles affichent « Aucun bloc dans cette région ». Sur une installation standard, ce sont en général Héro, Barre sociale, Barre latérale, Sous le contenu et Bas de page haut. Ce sont vos terrains de jeu pour l'exercice 2.
  6. Cliquez sur Afficher les poids des lignes (en haut à droite). Les poignées de glissement sont remplacées par des sélecteurs numériques. Basculez d'un mode à l'autre et comprenez que glisser et régler un poids sont la même opération — un poids faible remonte en haut de la région.

Vérification — Vous savez nommer, sans regarder, trois régions situées au-dessus du contenu principal et deux situées en dessous — et vous savez pourquoi changer l'onglet Olivero n'a aucun effet sur les écrans d'administration.

Exercice 2 — Construire la barre latérale d'une page d'accueil d'actualité

Pourquoi cet exercice — C'est le savoir-faire central de cet écran : mettre le bon bloc dans la bonne région, le restreindre aux bonnes pages, et décider si son titre s'affiche. Vous allez utiliser Placer un bloc et les conditions de visibilité, c'est-à-dire ce qui sépare un site utilisable d'un site où la même boîte apparaît sur absolument toutes les pages.

  1. Sur la ligne de la région Barre latérale, cliquez sur Placer un bloc. Une fenêtre liste tous les blocs disponibles avec un champ de filtre en haut. Tapez « récent » et placez le bloc Contenu récent (c'est un bloc de Views — regardez la colonne Catégorie dans la fenêtre).
  2. Dans le formulaire de configuration qui s'ouvre : mettez Titre à « Les dernières histoires », laissez Afficher le titre coché, et vérifiez que Région vaut bien Barre latérale.
  3. Toujours dans ce formulaire, ouvrez l'onglet vertical Pages sous Visibilité : saisissez <front> et choisissez Afficher pour les pages listées. Enregistrez. Le bloc n'existe désormais que sur la page d'accueil.
  4. Placez un second bloc dans Barre latérale : le bloc Formulaire de recherche. Cette fois, ouvrez l'onglet de visibilité Types de contenu et restreignez-le à Article d'actualité — il apparaîtra sur les pages d'article, mais pas sur la page d'accueil.
  5. Cliquez sur Enregistrer les blocs tout en bas de la page. Rien n'est enregistré sur cet écran tant que vous ne l'avez pas fait : l'erreur classique consiste à réordonner cinq blocs puis à quitter la page.
  6. Vérifiez le résultat sur le site : la page d'accueil affiche « Les dernières histoires » et aucun formulaire de recherche ; une page d'article affiche le formulaire de recherche et pas « Les dernières histoires ».

Vérification — Deux blocs vivent dans la même région sans jamais apparaître sur la même page — et vous savez expliquer la différence entre la condition Pages et la condition Types de contenu.

Exercice 3 — Réordonner, désactiver, retirer

Pourquoi cet exercice — La position d'un bloc à l'intérieur d'une région, et les trois manières différentes de faire disparaître un bloc, sont l'endroit où l'on perd du temps et du contenu. Désactiver et Retirer donnent le même résultat côté visiteur et sont deux opérations complètement différentes.

  1. Dans Barre latérale, glissez « Les dernières histoires » au-dessus du formulaire de recherche, puis remettez-le en dessous. Activez Afficher les poids des lignes et refaites la même chose avec les sélecteurs numériques. Enregistrez les blocs après chaque changement et rechargez le site pour voir l'ordre s'inverser.
  2. Déplacez un bloc d'une région à l'autre sans le glisser : sur la ligne du formulaire de recherche, changez la liste déroulante Région de Barre latérale à Bas de page haut, puis Enregistrer les blocs. Vérifiez sur le site, puis remettez-le en place.
  3. Ouvrez la flèche à côté de Configurer sur la ligne du formulaire de recherche et choisissez Désactiver. La ligne descend dans la section « Désactivé » en bas du tableau : l'instance du bloc et tous ses réglages existent toujours, elle n'est simplement plus rendue.
  4. Réactivez-le en remettant sa Région à Barre latérale et vérifiez que votre condition de visibilité de l'exercice 2 a survécu — c'est tout l'intérêt de Désactiver.
  5. Choisissez maintenant Retirer sur cette même ligne et confirmez. Replacez le formulaire de recherche et constatez que tout est revenu aux valeurs par défaut : le titre, les conditions de visibilité, le poids. Retirer supprime le placement, pas le bloc — celui-ci est toujours disponible dans la fenêtre Placer un bloc.
  6. Basculez sur l'onglet Claro et vérifiez que vos blocs de barre latérale n'y sont pas. Deux thèmes, deux mises en page indépendantes.

Vérification — Vous savez dire en une phrase ce que font Désactiver, Retirer et le changement de région dans la liste déroulante — et vous ne quittez plus l'écran sans avoir cliqué sur Enregistrer les blocs.

Exercice 4 — Créer un type de bloc « Encart lettre d'information »

Pourquoi cet exercice — Par défaut vous n'avez que Bloc de base — un titre et un corps. C'est suffisant pour un paragraphe de texte, et inutilisable dès qu'un bloc a besoin d'une image, d'un lien et d'une date. Créer votre propre type de bloc donne aux rédacteurs un formulaire structuré plutôt qu'une zone de texte libre, et vous donne un balisage prévisible à styler. C'est exactement le modèle mental d'un type de contenu, appliqué au mobilier de la page plutôt qu'aux articles.

  1. Allez dans Structure → Types de blocs et regardez ce qui s'y trouve : une seule ligne, Bloc de base, avec un bouton Gérer les champs et une flèche qui cache les autres opérations. Cette liste est l'équivalent, pour les blocs, de la page Types de contenu.
  2. Cliquez sur + Ajouter un type de bloc. Libellé : « Encart lettre d'information ». Description : « Boîte d'inscription à la lettre quotidienne : titre, accroche, image et bouton. » Remarquez que ce formulaire est délibérément plus court que celui des types de contenu — pas d'options de publication, pas de réglages de menu, parce qu'un bloc n'est pas une page.
  3. Cochez Créer une nouvelle révision avant d'enregistrer. Les blocs placés sur une page d'accueil se modifient sous pression ; les révisions permettent de revenir en arrière. Cliquez ensuite sur Enregistrer et gérer les champs.
  4. Sur Gérer les champs, cliquez sur + Créer un nouveau champ. La fenêtre Ajouter un champ montre les familles de champs : Texte brut, Texte formaté, Nombre, Référence, Téléversement de fichier, Liste de sélection, Date et heure, Booléen, Courriel, Lien. Lisez-les une fois — cette fenêtre est la même partout dans Drupal, pour les types de contenu, les termes de taxonomie et les utilisateurs.
  5. Ajoutez quatre champs, en choisissant délibérément : Accroche (Texte formaté — les rédacteurs ont besoin du gras et des liens), Illustration (Téléversement de fichier → Image), Bouton (Lien — une URL et son libellé dans un seul champ, plutôt que deux champs texte), Afficher le macaron (Booléen). Rendez Accroche et Bouton obligatoires.
  6. Demandez-vous, pour chaque champ, pourquoi vous n'avez pas pris Texte brut à la place. Cette question — le bon type de champ plutôt que le type facile — est ce qui sépare un site maintenable d'un tas de zones de texte.

Vérification — La page Types de blocs affiche maintenant deux lignes, et votre nouveau type possède quatre champs plus la Description du bloc automatique — le libellé interne qui permet aux rédacteurs de retrouver le bloc plus tard.

Exercice 5 — Façonner le formulaire de saisie et le rendu affiché

Pourquoi cet exercice — Gérer les champs définit ce qui existe ; Gérer l'affichage du formulaire définit ce que voit le rédacteur ; Gérer l'affichage définit ce que reçoit le visiteur. Les débutants confondent ces trois écrans en permanence. Faire passer un même bloc par les trois, dans l'ordre, est le moyen le plus rapide d'ancrer la distinction pour de bon.

  1. Ouvrez l'onglet Gérer l'affichage du formulaire de Encart lettre d'information. Lisez les colonnes : Champ, Nom machine et Widget — le widget est le contrôle de saisie, pas la donnée.
  2. Changez un widget et observez la conséquence : mettez Afficher le macaron en Case à cocher unique, et ouvrez la roue dentée d'Accroche pour réduire le nombre de lignes à 3. Réordonnez les lignes pour que le rédacteur remplisse Accroche, puis Illustration, puis Bouton.
  3. Glissez un champ dans la section Désactivé en bas, enregistrez, puis créez un bloc de ce type (Contenu → Blocs → Ajouter un bloc de contenu) et constatez que le champ est simplement absent du formulaire. Remettez-le ensuite : désactivé ici veut dire « non saisissable », la donnée n'est pas touchée.
  4. Ouvrez maintenant Gérer l'affichage → Par défaut. Même tableau, sens différent : la colonne Format est cette fois le formateur de sortie. Mettez l'image dans un petit style, masquez le libellé d'Afficher le macaron, et placez Bouton en dernier.
  5. Mettez le libellé de tous les champs à - Masqué - sauf un, enregistrez, et regardez le bloc sur le site. Les libellés de champ sont une décision d'affichage, pas une décision de donnée — c'est de très loin la première cause de « pourquoi mon bloc affiche-t-il Accroche : au-dessus du texte ? ».
  6. Écrivez une phrase pour chacun des trois onglets, avec vos propres mots, disant ce qu'il contrôle et qui est concerné (le rédacteur ou le visiteur).

Vérification — Vous avez changé l'ordre des champs sur le formulaire sans changer l'ordre sur la page, et réciproquement — ce qui prouve que les deux écrans sont indépendants.

Exercice 6 — Modes d'affichage et permissions par type

Pourquoi cet exercice — L'écran Gérer l'affichage → Vue d'ensemble, avec ses modes d'affichage Activés et Désactivés, est le mécanisme derrière « le même bloc, rendu de deux façons ». Et Gérer les permissions est l'endroit où l'on décide qui peut créer ou modifier des blocs de ce type — une grille de permissions par type que presque personne n'ouvre, avant de se demander pourquoi ses rédacteurs ne peuvent toucher à rien.

  1. Ouvrez Gérer l'affichage → Vue d'ensemble sur votre type de bloc. Remarquez les deux tableaux : Modes d'affichage activés (Par défaut) et Modes d'affichage désactivés (Complet). Cliquez sur Activer pour Complet — un second sous-onglet apparaît à côté de Par défaut.
  2. Configurez le mode Complet différemment de Par défaut : illustration en grand et tous les champs visibles. Par défaut devient votre version compacte, Complet votre version développée.
  3. Cliquez sur Gérer les modes d'affichage (en haut à droite) et créez un mode personnalisé nommé « Barre latérale compacte ». Revenez, activez-le, et configurez-le pour n'afficher que l'accroche et le bouton. Vous avez maintenant trois rendus d'un même bloc.
  4. Passez sur Gérer les permissions. Lisez la grille : les lignes sont les permissions par type de bloc (Créer, Modifier, Supprimer, Rétablir des révisions, Voir l'historique), les colonnes sont les rôles — Anonyme, Authentifié, Rédacteur, Administrateur.
  5. Accordez au Rédacteur les permissions Créer un bloc de contenu et Modifier un bloc de contenu pour le seul type Encart lettre d'information — laissez Supprimer décoché. Cliquez sur Enregistrer les permissions.
  6. Connectez-vous avec un utilisateur de test Rédacteur et vérifiez : il peut créer et modifier un encart, ne peut pas en supprimer un, et ne peut pas toucher à un Bloc de base. Utilisez ensuite le champ Filtrer par nom de permission pour compter combien de permissions liées aux blocs existent au total — cela explique pourquoi cette grille se filtre plutôt qu'elle ne se parcourt.

Vérification — Un type de bloc, trois modes d'affichage, et un rôle qui peut créer mais pas supprimer — et vous savez dire où vit chacun de ces trois réglages.

Pour aller plus loin — Placez votre Encart lettre d'information dans Bas de page haut via Mise en page des blocs (exercices 1 à 3), puis utilisez le réglage Mode d'affichage du formulaire de placement pour le rendre en « Barre latérale compacte » — le point où le placement des blocs et les types de blocs se rejoignent enfin.

2.3 Thématisation de base

La thématisation responsive

Un thème contrôle toute la présentation : le balisage, le CSS et le JavaScript. Les thèmes modernes du cœur, comme Olivero, sont responsives et pensés d'abord pour le mobile.

NotionCe qu'il faut en savoir
Mobile d'abordDes mises en page fluides et des points de rupture adaptent le design du téléphone au grand écran.
Points de ruptureDéclarés dans breakpoints.yml ; ils pilotent les images responsives et les composants.
BibliothèquesLe CSS et le JS sont rattachés sous forme de bibliothèques via un fichier *.libraries.yml — jamais déposés en vrac.

La compétence décisive n'est pas d'écrire du CSS, c'est d'écrire du CSS qui respecte la structure responsive existante au lieu de la combattre.

Les bases CSS et les couches du thème

La chaîne de rendu se lit de haut en bas : les données et les tableaux de rendu produisent des variables, les gabarits Twig les transforment en HTML porteur de classes ciblables, et votre CSS — dans un sous-thème — s'applique en dernier.

  1. Ne modifiez jamais un thème du cœur. On empile son CSS dans un sous-thème, sinon la prochaine mise à jour efface le travail.
  2. Trouvez les classes avec les outils de développement du navigateur : les thèmes modernes utilisent des noms de classes de style BEM, lisibles et stables.
  3. Surveillez la spécificité : rattachez votre feuille de style comme une bibliothèque, pour qu'elle se charge après les styles du cœur.

Atelier 2.3 — Restyler avec du CSS

Objectif : personnaliser l'apparence du site construit jusqu'ici, uniquement avec du CSS. Comptez quarante-cinq minutes.

  1. Ajoutez un fichier CSS et rattachez-le comme bibliothèque de thème.
  2. Utilisez les outils de développement pour identifier les classes à cibler.
  3. Surchargez les couleurs et la typographie sur l'ensemble du site.
  4. Restylez les cartes de la liste construite avec Views, et le bloc Héro.
  5. Vérifiez le résultat en largeur mobile et en largeur bureau.

Résultat attendu — un site visiblement restylé, la capacité à trouver et cibler une classe, et un CSS rattaché de la bonne manière : par une bibliothèque.

2.4 Gérer les médias

Le module Media

Media traite chaque fichier comme une entité réutilisable et dotée de champs, et non comme un téléversement isolé. Un média se met à jour une fois et l'ensemble du site suit.

Type de médiaCe qu'il porte
ImageLe fichier, plus le texte alternatif, la légende et le point focal.
VidéoUn fichier local, ou une vidéo distante (YouTube, Vimeo) via oEmbed.
DocumentPDF et fichiers, avec leurs propres métadonnées.
AudioPodcasts et extraits sonores, comme entités.
MécanismeCe qu'il apporte
Bibliothèque de médiasParcourir, téléverser, sélectionner une fois et réutiliser partout.
Champ de référenceUn champ média sur un type de contenu puise dans la bibliothèque.
Intégration en ligneLe bouton Media de CKEditor insère un média dans un corps de texte.
Styles d'imageDes recettes de redimensionnement par affichage — on téléverse une fois, on rend juste.

La bibliothèque de médias

La bibliothèque est le catalogue central de tous les fichiers du site. Elle s’ouvre depuis n’importe quel champ média, ou directement via /admin/content/media.

Les deux onglets

Envoyer ( Add / Upload ) — pour un fichier nouveau, depuis votre ordinateur.

Bibliothèque ( Media library ) — pour retrouver un fichier déjà présent. Une barre de recherche filtre par nom.

Nommer un média

Le nom du média est ce qui permettra à vos collègues — et à vous dans six mois — de le retrouver. IMG_4471.jpg est introuvable. Portrait Marie Dupont — directrice — 2026 se retrouve en trois lettres.

Ajouter une image à un article

Dans le formulaire, repérez le champ image — souvent nommé Image , Image principale ou Visuel .

Cliquez sur Ajouter un média ( Add media ). Une fenêtre s’ouvre : c’est la bibliothèque (fiche 3.2).

Choisissez l’onglet Envoyer pour un nouveau fichier, ou parcourez la bibliothèque pour réutiliser une image existante.

Renseignez le texte alternatif . Il est presque toujours obligatoire — voir la fiche 3.4 pour le rédiger correctement.

Cliquez sur Insérer ou Enregistrer et insérer .

La vignette apparaît dans le formulaire. Enregistrez l’article.

Le texte alternatif

Le texte alternatif décrit une image pour les personnes qui ne peuvent pas la voir : les utilisateurs de lecteurs d’écran, et les visiteurs dont l’image ne s’est pas chargée. Il est aussi lu par les moteurs de recherche.

En France, il constitue une obligation légale pour les sites publics et pour de nombreuses entreprises, au titre du RGAA. C’est pourquoi Drupal le rend obligatoire par défaut.

Comment le rédiger

À éviterÀ écrire
image1.jpgVue aérienne du chantier de la médiathèque
photoMarie Dupont lors de la conférence de presse du 12 mars
Image d'une réunionSix personnes autour d'une table de réunion, consultant des plans

Trois principes :

Décrivez ce qui est utile , pas ce qui est visible. Si la photo illustre un article sur un chantier, décrivez le chantier, pas la couleur du ciel.

Pas besoin de commencer par « Image de » . Le lecteur d’écran annonce déjà qu’il s’agit d’une image.

Une phrase suffit. Entre cinq et quinze mots dans la plupart des cas.

Réutiliser un média — et l'effet de bord

Un même média peut être utilisé dans dix contenus différents. C’est la force du système : un seul fichier stocké, une seule fiche à tenir à jour.

C’est aussi son piège.

Vérifier avant de modifier

  1. Allez dans /admin/content/media.
  2. Repérez la colonne indiquant le nombre d’utilisations, ou ouvrez le média et cherchez l’onglet Utilisation ( Usage ). Cette information n’est pas présente sur tous les sites.

Si le média est utilisé ailleurs et que votre correction ne concerne qu’un seul article : envoyez un nouveau média plutôt que de modifier l’existant.

La règle qui découle de tout ceci : modifiez un média quand la correction est vraie partout (une faute dans le nom, un texte alternatif imprécis). Créez-en un nouveau quand la modification est propre à un contexte (un recadrage spécifique, une légende différente).

Insérer un média dans le corps du texte

Pour placer une image au fil du texte, et non dans un emplacement prédéfini :

Placez le curseur à l’endroit voulu dans la zone d’édition.

Cliquez sur le bouton Média ( Insert Media ) de la barre d’outils.

La bibliothèque s’ouvre. Sélectionnez ou envoyez un fichier, comme en 3.1.

Insérez. Un bloc image apparaît dans le texte.

Cliquez sur ce bloc : une petite barre d’options s’affiche, permettant souvent de choisir un alignement ou une taille d’affichage.

Si le bouton Média est absent de votre barre d’outils, c’est une question de format de texte (fiche 2.4) : signalez-le à votre administrateur.

Intégrer une vidéo YouTube

Drupal sait intégrer une vidéo hébergée ailleurs sans que vous ayez à manipuler du code d’intégration. On parle de vidéo distante ( Remote video ).

Ouvrez la bibliothèque de médias, depuis un champ média ou depuis le bouton Média de l’éditeur.

Choisissez l’onglet Vidéo distante ( Remote video ).

Collez l’adresse de la page YouTube ou Vimeo — celle de la barre d’adresse du navigateur, par exemple https://www.youtube.com/watch?v=xxxxxxx.

Drupal récupère automatiquement le titre et la vignette. Complétez le nom si nécessaire.

Enregistrez et insérez.

Si l’onglet Vidéo distante n’existe pas, le site n’a pas activé cette possibilité. Demandez-la : c’est un réglage, pas un développement.

Joindre un PDF

Dans la bibliothèque, choisissez le type Document (ou Fichier ).

Envoyez le PDF. Donnez-lui un nom lisible : c’est ce nom qui s’affichera comme libellé du lien.

Insérez-le, soit dans un champ fichier dédié, soit comme lien dans le corps du texte.

Trois vérifications avant d’envoyer un PDF

Le poids. Au-delà de 5 Mo, le téléchargement devient pénible sur mobile. Utilisez la fonction « Réduire la taille du fichier » de votre logiciel PDF.

Le nom du fichier. rapport-annuel-2026.pdf plutôt que RA_2026_VF_relu_final_v3.pdf. Il apparaît dans l’adresse de téléchargement.

L’accessibilité. Un PDF issu d’un scan est une image : il n’est ni sélectionnable, ni lisible par un lecteur d’écran, ni indexable par Google. Préférez toujours un PDF généré depuis le logiciel d’origine.

Les styles d'image

Vous envoyez une photo en 3000 pixels de large. Elle apparaît sur le site recadrée en carré, ou réduite à 400 pixels. Vous n’avez rien fait de mal : c’est un style d’image .

Un style d’image est une recette de transformation — redimensionner, recadrer, comprimer — appliquée automatiquement selon l’endroit où l’image s’affiche. Le fichier d’origine n’est jamais modifié : Drupal en fabrique des déclinaisons à la demande et les garde en mémoire.

Analogie : un photographe conserve le négatif et tire les formats au fur et à mesure des commandes. Vous fournissez le négatif ; le site fait les tirages.

Les conséquences pratiques

Envoyez large. Une image trop petite ne peut pas être agrandie sans devenir floue. Comptez au minimum 1200 pixels de large pour une illustration d’article, 1920 pour une bannière.

Attention au sujet décentré. Si le style recadre en carré et que le visage est dans le coin gauche, il sera coupé. Cadrez le sujet important vers le centre.

N’essayez pas de compenser en pré-recadrant votre fichier au format exact que vous constatez : un autre emplacement du site utilisera un autre style, et vous aurez dégradé la source.

Le poids du fichier

Même si Drupal redimensionne, envoyez un fichier raisonnable : sous les 2 Mo. Une photo de smartphone brute pèse souvent 8 à 12 Mo ; elle ralentit l’envoi et encombre le serveur inutilement.

FormatQuand l'utiliser
.jpgPhotographies. Le format par défaut.
.pngLogos, captures d'écran, images avec fond transparent.
.webpPlus léger à qualité égale. À privilégier si votre site l'accepte.
.svgLogos et pictogrammes vectoriels. Souvent bloqué pour raisons de sécurité.

Atelier 2.4 — Bibliothèque de médias et réutilisation

Objectif : gérer les fichiers de façon centralisée et réutiliser un même média sur plusieurs contenus. Comptez quarante-cinq minutes.

  1. Activez Media et Media Library, puis téléversez plusieurs fichiers.
  2. Ajoutez un champ de référence média à un type de contenu.
  3. Sélectionnez la même image sur deux nœuds différents.
  4. Intégrez un média dans le corps d'un article via CKEditor.
  5. Modifiez le texte alternatif du média et vérifiez qu'il change partout.

Test décisif — le même média sur deux nœuds : une seule modification de métadonnée met les deux à jour. C'est tout l'intérêt d'une bibliothèque, et la raison de ne jamais re-téléverser un fichier déjà présent.

Drupal ne traite pas un fichier comme une pièce jointe, mais comme un média : une entité autonome, enregistrée une fois, réutilisable partout, avec ses propres informations. Cette différence explique la plupart des surprises de cette partie.

Les exercices qui suivent portent sur Configuration → Médias → Styles d'image : nommer les styles par leur usage, les brancher sur les affichages, et comprendre ce que coûte un vidage.

Exercice 30 — Construire les styles d'image dont votre site a réellement besoin

Pourquoi cet exercice — Un style d'image est une recette nommée — redimensionner, redimensionner et recadrer, désaturer — appliquée à la demande à une image téléversée, produisant un fichier dérivé mis en cache sur le disque. On ne redimensionne jamais à la main et on ne téléverse jamais trois versions d'une photo : on téléverse un original et on pointe chaque affichage vers un style.

  1. Allez dans Styles d'image (/admin/config/media/image-styles) et regardez les trois styles du cœur : Large, Moyen, Vignette — tous de simples redimensionnements aux noms génériques.
  2. Ajoutez trois styles nommés d'après leur usage, pas d'après leur taille : « Carte 16:9 » (effet : Redimensionner et recadrer, 480 × 270), « Bannière de rubrique » (Redimensionner et recadrer, 1600 × 500), « Avatar de signature » (Redimensionner et recadrer, 96 × 96). Nommer par l'intention est ce qui permet à une liste de styles de survivre deux ans.
  3. Branchez-les : Article d'actualité → Gérer l'affichage → Carte → formateur d'image → style Carte 16:9. Puis Thèmes → Gérer l'affichage → Page du terme de taxonomie → champ bannière → Bannière de rubrique.
  4. Regardez ce que Drupal a fait sur le disque : ouvrez un article, faites un clic droit sur l'image et lisez son URL — elle contient /files/styles/carte_16_9/. Le dérivé a été généré à la première demande, puis servi depuis le disque.

Vérification — La même photo téléversée s'affiche à trois tailles différentes à trois endroits différents, et vous n'avez jamais ouvert de logiciel de retouche.

Exercice 31 — Modifier un style et comprendre le vidage

Pourquoi cet exercice — Changer un style d'image met à jour toutes les images existantes, et vider les dérivés a un coût que personne ne mesure avant d'avoir cinquante mille images. Les deux se testent en cinq minutes sur un site de formation.

  1. Modifiez Carte 16:9 et changez les dimensions en 600 × 338. Enregistrez, puis rechargez la page d'article : les images se mettent à jour — Drupal a vidé les anciens dérivés et les a régénérés à la demande.
  2. Ajoutez un second effet au style — Désaturer — et notez l'ordre des effets dans la liste. Réordonnez-les et constatez que les effets d'image, comme les filtres de Views et ceux du module Filtre, forment un pipeline ordonné. Retirez-le ensuite.
  3. Utilisez la flèche à côté de Modifier et choisissez Vider sur un style. Rien de visible ne se produit, et c'est la leçon : vider supprime les fichiers en cache, et le visiteur suivant paie le coût de la régénération. Sur un site de 50 000 images, c'est une décision, pas un clic.
  4. Ouvrez « Configurer les permissions Image » : le module expose très peu de choses — l'administration des styles d'image relève des permissions générales de configuration. Notez que c'est pour cela que vous n'avez donné aucun accès aux images à votre rôle Intégrateur, et demandez-vous si c'était le bon choix.

Vérification — Vous avez changé un style et vu toutes les images existantes suivre, et vous savez expliquer ce que fait Vider et pourquoi ce n'est pas gratuit.

Bilan du jour 2

Vous maîtrisez maintenant la façon dont le contenu apparaît.

  1. Construire des listes avec Views, en page, en bloc et en flux.
  2. Trier, filtrer, et distinguer un filtre exposé d'un filtre contextuel.
  3. Placer des blocs dans des régions et composer une page avec Layout Builder.
  4. Écrire du CSS rattaché correctement, dans un sous-thème, sans casser le responsive.
  5. Centraliser les médias et les réutiliser.

La troisième journée entre dans le thème lui-même : Twig, les modules, puis la maintenance et la sécurité.

Jour 3 — Thématisation, personnalisation et maintenance

La troisième journée descend d'un cran : après avoir configuré, on surcharge. Le système de thèmes, les gabarits Twig et les modules donnent la main sur le HTML produit et sur le comportement du site. La journée se termine par ce qui décide de la survie d'un site : les mises à jour, les sauvegardes et la sécurité.

3.1 Le système de thèmes de Drupal

Les thèmes de base : Olivero, Claro, Stark

ThèmeRôleCe qu'il apporte
OliveroSite public, par défautThème moderne, accessible et responsive, par défaut depuis Drupal 9.1.
ClaroAdministration, par défautL'interface d'administration propre et accessible dans laquelle travaillent les rédacteurs.
StarkApprentissagePresque sans style — il révèle exactement le balisage que Drupal produit.

Un thème déclare ses régions, ses bibliothèques et ses réglages dans son fichier *.info.yml. On l'étend, on ne le modifie pas.

Les sous-thèmes : hériter et surcharger

Un thème contribué est un design tout fait que l'on installe : c'est un point de départ. Un sous-thème déclare un thème de base et hérite de ses gabarits, de ses régions et de ses bibliothèques. On ne surcharge que ce dont on a besoin : les mises à jour du thème de base continuent d'arriver, et vos modifications restent isolées et intactes.

Ligne du fichier .info.ymlCe qu'elle déclare
name: Mon thèmeLe nom affiché dans Apparence.
type: themeL'extension est un thème, pas un module.
base theme: oliveroLe thème dont on hérite — c'est cette ligne qui fait le sous-thème.
core_version_requirement: ^10 || ^11Les versions de Drupal compatibles.
regions:Les régions déclarées, reprises ou complétées.

Atelier 3.1 — Thèmes et sous-thèmes

Objectif : mettre en place une couche de thématisation à vous, qui soit maintenable. Comptez quarante-cinq minutes.

  1. Installez un thème contribué avec Composer et examinez-le.
  2. Générez un sous-thème avec le Starterkit, en désignant un thème de base.
  3. Réglez un nom, un logo et deux ou trois paramètres de thème.
  4. Déplacez le CSS de l'atelier 2.3 dans le sous-thème.
  5. Activez-le comme thème par défaut et videz les caches.

Résultat attendu — un sous-thème personnalisé fonctionnel, votre CSS au bon endroit, et une compréhension claire de l'héritage.

3.2 Les gabarits Twig

Introduction à Twig

Twig est le moteur de gabarits de Drupal. Sa syntaxe tient en trois signes : les doubles accolades affichent une variable, échappée automatiquement pour la sécurité ; les accolades avec pourcentage portent la logique — if, for, set ; les accolades avec dièse encadrent un commentaire, qui n'est pas rendu.

Les gabarits sont hiérarchiques et s'emboîtent, du plus général au plus précis : html, puis page, puis la région, puis le nœud, puis le champ. Chaque niveau peut être surchargé indépendamment.

Les conventions de nommage

Drupal choisit le gabarit correspondant le plus précis. On nomme du général au spécifique, en séparant par un double tiret.

Nom du fichierCe qu'il cible
node.html.twigTous les nœuds — le moins précis.
node--article.html.twigTous les nœuds de type Article.
node--article--teaser.html.twigLes articles rendus en mode Accroche.
node--123.html.twigUn nœud précis — le plus spécifique l'emporte.

Pour surcharger : on copie le gabarit de base dans le dossier templates/ de son thème, on le renomme, on l'édite, puis on vide le cache. Les fonctions de prétraitement, elles, préparent les variables avant que le gabarit ne s'en serve.

Déboguer avec le mode debug de Twig

Activé en développement dans services.yml — twig.config, debug: true —, le mode debug insère dans le HTML des commentaires qui disent quel gabarit a été utilisé et quels noms de fichiers Drupal aurait acceptés. Le fichier marqué d'un x est celui qui est actif ; les autres sont des noms que vous pouvez créer pour surcharger.

Atelier 3.2 — Surcharger des gabarits

Objectif : prendre le contrôle du HTML exact produit, avec Twig. Comptez une heure.

  1. Activez le debug Twig dans services.yml.
  2. Trouvez le gabarit de nœud actif à partir des suggestions.
  3. Copiez-le dans le dossier templates/ de votre sous-thème et renommez-le.
  4. Réordonnez ou enveloppez des champs, et personnalisez la sortie du champ Corps.
  5. Videz le cache et vérifiez avec les commentaires de debug que c'est bien votre fichier qui rend.

Résultat attendu — une surcharge de gabarit qui fonctionne, un balisage de champ personnalisé, et une méthode de surcharge que vous saurez refaire.

3.3 Étendre Drupal

Les modules contribués essentiels

ModuleCe qu'il apporte
PathautoDes alias d'URL automatiques, construits à partir de motifs, pour toutes les entités.
RedirectLa gestion des redirections 301, créées automatiquement quand un alias change. Il garde les anciens liens vivants.
DevelLa boîte à outils du développeur : génération de contenu factice, inspection des variables et des tableaux de rendu.
TokenLa brique de motifs dont dépend Pathauto — rarement installée pour elle-même.

Installer et mettre à jour un module

Deux gestes distincts, que l'on confond souvent. Composer gère le code : il récupère le module et ses dépendances aux bonnes versions, dans la base de code. C'est le standard professionnel. La page Étendre gère l'état : elle active ou désactive un module déjà présent dans la base de code.

OpérationCe qu'on lance
Ajouter un modulecomposer require drupal/redirect, puis drush en redirect -y
Mettre à jour un modulecomposer update drupal/redirect, puis drush updatedb, puis drush cr
Activer sans installer de codeLa page Étendre, ou drush en

Créer un module sur mesure

Un module minimal tient en un dossier et un fichier. La structure type place le module dans modules/custom/hello, avec un fichier hello.info.yml, un fichier hello.module, un fichier hello.routing.yml, et un dossier src/ contenant par exemple un contrôleur.

ÉlémentSon rôle
hello.info.ymlDéclare le module — ce seul fichier suffit à le rendre installable.
hello.moduleLes points d'entrée procéduraux, les hooks, dans le comportement de Drupal.
src/ (PSR-4)La couche objet : contrôleurs, formulaires, services, greffons.

Les modules sur mesure sont la porte d'entrée du développement Drupal : les systèmes de hooks, de greffons et de services sont la suite naturelle de ce parcours.

Atelier 3.3 — Modules et premier squelette

Objectif : étendre le site avec des modules contribués et créer son premier module. Comptez quarante-cinq minutes.

  1. Installez Redirect et Devel avec Composer.
  2. Créez une redirection 301 manuelle, puis changez un alias et vérifiez la redirection automatique.
  3. Utilisez Devel Generate pour produire du contenu factice.
  4. Créez modules/custom/hello avec un fichier .info.yml.
  5. Activez-le depuis la page Étendre.

Résultat attendu — des redirections qui fonctionnent, du contenu de test, un module sur mesure visible comme activé, et le circuit installation / mise à jour acquis.

3.4 Maintenance et sécurité

Mettre à jour le cœur, les modules et les thèmes sans casse

L'ordre des opérations n'est pas une question de goût. Il tient en huit temps, et sauter le premier est la seule erreur véritablement irrattrapable.

ÉtapeGeste
1 · SauvegarderFichiers et base de données, toujours en premier.
2 · PréproductionOn met à jour sur un environnement de développement, jamais directement en production.
3 · MaintenanceOn met le site hors ligne pour les visiteurs.
4 · Mettre à jour le codeComposer récupère les nouvelles versions.
5 · Mises à jour de basedrush updatedb
6 · Reconstruiredrush cr
7 · ConfigurationExporter et versionner la configuration.
8 · Tester puis livrerVérifier, puis rejouer la séquence en production.

Sauvegarder et restaurer

Trois choses sont à protéger, et une restauration que l'on a réellement testée.

  1. La base de code — cœur, modules, thèmes, code sur mesure — versionnée dans Git.
  2. La base de données — contenu et configuration, la source de vérité. Elle se sauvegarde régulièrement, par exemple avec drush sql:dump.
  3. Le répertoire de fichiers — les médias téléversés, dans sites/default/files, qui ne sont pas dans Git.

Les bonnes pratiques de sécurité

PratiqueCe qu'elle recouvre
1 · Corriger viteAppliquer rapidement les avis de sécurité — la majorité des compromissions touche des sites non mis à jour.
2 · Moindre privilègeAuditer les rôles, surveiller les permissions « Administrer » et le compte utilisateur 1.
3 · Authentification solideBons mots de passe, double facteur, et le contrôle de flux intégré sur les tentatives de connexion.
4 · HTTPS et pile à jourTLS partout, PHP et le serveur maintenus à jour.
5 · DurcirProtéger settings.php et le répertoire de fichiers, désactiver l'exécution PHP dans les téléversements, retirer les modules inutilisés.
6 · Auditer et surveillerLe module Security Review, le rapport des mises à jour et le rapport d'état.

Atelier 3.4 — Mettre à jour, restaurer, auditer

Objectif : pratiquer la routine opérationnelle qui garde un site sain et sûr. Comptez quarante-cinq minutes.

  1. Sauvegardez la base de données et les fichiers, puis activez le mode maintenance.
  2. Mettez à jour un module avec Composer, puis lancez updatedb et cr.
  3. Restaurez la sauvegarde dans une base de test et vérifiez-la.
  4. Passez en revue les mises à jour disponibles et le rapport d'état.
  5. Auditez les rôles et les permissions, et notez les risques repérés.

Résultat attendu — un cycle de mise à jour mené jusqu'au bout sans casse, une sauvegarde dont la restauration est prouvée, et une courte revue de sécurité de votre site.

Les exercices qui suivent portent sur Rapports → Mises à jour disponibles et sur la façon dont une mise à jour s'applique réellement.

Exercice 36 — Lire le rapport des mises à jour correctement

Pourquoi cet exercice — Update Status compare vos modules et thèmes installés aux données de publication de drupal.org et vous dit ce qui est périmé et, surtout, ce qui est une version de sécurité. C'est la section la moins reluisante de toute l'administration et celle qui décide réellement si un site tient encore debout dans deux ans.

  1. Cliquez sur Mises à jour disponibles (/admin/reports/updates). Apprenez à lire les trois états : à jour, mise à jour disponible, et mise à jour de sécurité en rouge. Seul le troisième est une urgence ; les deux autres relèvent de la planification.
  2. Ouvrez l'onglet Paramètres de cette page. Réglez la vérification des mises à jour sur quotidienne, et saisissez une adresse électronique dans le champ des adresses à prévenir, avec l'option Uniquement les mises à jour de sécurité. Un site que personne ne surveille est un site qui doit vous écrire quand cela compte.
  3. Notez la dépendance : ce rapport est rafraîchi par le cron. Allez dans Rapports → Rapport d'état et trouvez la date de la dernière exécution du cron. Un site dont le cron ne tourne jamais ne remarque jamais non plus une version de sécurité.
  4. Lisez tout le rapport d'état pendant que vous y êtes — version de PHP, base de données, système de fichiers, hôtes de confiance, cron. C'est le bilan de santé de cinq minutes à faire sur tout site dont vous héritez.

Vérification — Votre site écrit à une vraie adresse quand une version de sécurité paraît, et vous savez quand son cron a tourné pour la dernière fois.

Exercice 37 — Savoir comment les mises à jour s'appliquent réellement

Pourquoi cet exercice — Le rapport dit quoi mettre à jour ; ce n'est pas lui qui le fait. Sur un site Drupal moderne, la mise à jour passe par le terminal, et l'ordre des opérations autour d'elle n'est pas négociable.

  1. Ouvrez « Configurer les permissions Update Status » et notez la permission : Administrer les mises à jour logicielles. Gardez-la pour les seuls administrateurs — c'est l'une des permissions les plus sensibles de Drupal.
  2. Comprenez la réalité actuelle avant de cliquer quoi que ce soit : sur un site géré par Composer — c'est-à-dire tout site Drupal 10 ou 11 sérieux — on met à jour avec composer update et drush updatedb, pas depuis le navigateur. Le rapport dit quoi mettre à jour ; le terminal le fait.
  3. Notez pour vous-même la routine en quatre temps : mettre le site en mode maintenance (Configuration → Développement), sauvegarder la base de données et les fichiers, lancer la mise à jour, puis exécuter le cron et relire le rapport d'état.
  4. Pratiquez la moitié réversible : activez le mode maintenance, chargez le site dans une fenêtre privée pour voir le message que reçoit un visiteur anonyme, puis désactivez-le. Le faire une fois au calme vaut mieux que de découvrir cet écran pendant un incident.

Vérification — Vous savez dire où les mises à jour se décident, où elles s'appliquent, et dans quel ordre s'enchaînent les opérations autour d'elles.

3.5 Synthèse et suites

Le chemin parcouru

ÉtapeCe qui a été couvert
1 · AdministrerUtilisateurs et rôles, types de contenu, taxonomie, menus, URL, administration et dépannage.
2 · PrésenterViews, blocs et régions, Layout Builder, thématisation de base, médias réutilisables.
3 · Thématiser et maintenirSystème de thèmes, Twig, extension de Drupal, mises à jour, sauvegardes et sécurité.

Vous avez construit un site cohérent de bout en bout — d'une installation vide à une plateforme thématisée, riche en contenu et sécurisée.

Où aller ensuite

DirectionCe qu'elle demandeCe qu'elle ouvre
Développement de modulesPHP, les systèmes de hooks, de greffons et de services, les API Entity et FormDevenir développeur Drupal
Drupal CommerceUn cadriciel e-commerce complet sur DrupalBoutiques, paniers, abonnements
Drupal découpléDrupal comme back-office de contenu via JSON:API ou GraphQLUn front-end JavaScript ou une application mobile

Ressources

RessourceCe qu'on y trouve
drupal.orgDocumentation, projets de modules et avis de sécurité.
Le Slack DrupalCanaux d'entraide de la communauté.
DrupalCon et les Drupal CampsConférences, camps et rencontres locales.
Certifications AcquiaSite Builder, Developer, Front-end.

Annexes

Annexe A — Glossaire alphabétique

TermeDéfinitionFiche
AliasAdresse lisible d'une page, substituée à son adresse technique.5.2
ArchivéÉtat d'un contenu retiré définitivement du site, mais conservé en base.2.8
BlocÉlément réutilisable placé dans une zone de la page.6.3
BrouillonÉtat d'un contenu en cours de rédaction, invisible du public.7.2
CacheMémoire tampon des pages déjà calculées, pour accélérer l'affichage.8
ChampCase du formulaire de saisie : texte, image, date, lien.0.4
CKEditorL'éditeur de texte riche intégré aux formulaires.2.3
EntitéObjet de données géré par Drupal : contenu, utilisateur, terme, média.0.4
Format de texteRéglage définissant le HTML autorisé et les boutons disponibles.2.4
Layout BuilderOutil de composition visuelle d'une mise en page.6.1
MédiaFichier enregistré comme entité autonome et réutilisable.3.2
Mode d'affichageVariante d'affichage d'un contenu selon le contexte : complet, résumé.5.4
NœudUne unité de contenu : un article, une page.0.4
PathautoModule générant automatiquement les alias d'URL.5.2
PermissionDroit élémentaire d'effectuer une action, attribué à un rôle.7.3
RedirectModule maintenant valides les anciennes adresses après un changement.5.2
RévisionCopie enregistrée d'un état antérieur d'un contenu.7.1
RôleEnsemble nommé de permissions attribué à des utilisateurs.7.3
Style d'imageRecette de redimensionnement ou de recadrage appliquée automatiquement.3.5
TaxonomieSystème de classement en vocabulaires et termes.4.1
TermeUne catégorie ou étiquette au sein d'un vocabulaire.4.3
Texte alternatifDescription textuelle d'une image, pour l'accessibilité.3.4
Type de contenuModèle définissant les champs d'un formulaire de saisie.2.2
VocabulaireConteneur regroupant des termes de même nature.4.3
VueListe automatique de contenus, filtrée et triée.0.4

Annexe B — Glossaire anglais ↔ français

L’interface d’administration peut être en anglais. Voici les correspondances les plus utiles.

AnglaisFrançaisOù vous le voyez
SaveEnregistrerBouton en bas du formulaire
PreviewAperçuÀ côté d'Enregistrer
Published / UnpublishedPublié / Non publiéCase à cocher, panneau latéral
Draft / In review / ArchivedBrouillon / En relecture / ArchivéListe déroulante « État de modération »
ContentContenuMenu principal d'administration
Add contentAjouter du contenuBouton en haut de la liste
Body / SummaryCorps / RésuméChamp texte principal
Alternative textTexte alternatifChamp obligatoire sous une image
Media libraryBibliothèque de médiasFenêtre de sélection de fichier
Tags / Terms / VocabularyÉtiquettes / Termes / VocabulaireChamp de classement
URL aliasAlias d'URLPanneau latéral droit
Menu settingsParamètres de menuPanneau latéral droit
Promoted to front pagePromu en page d'accueilOptions de publication
Sticky at top of listsÉpinglé en haut des listesOptions de publication
Revisions / Revision log messageRévisions / Message de révisionOnglet du contenu
LayoutMise en pageOnglet du contenu (si autorisé)
Text formatFormat de texteSous la zone d'édition
Access deniedAccès refuséMessage d'erreur

Annexe C — Checklist avant publication

À parcourir avant chaque passage en ligne. Deux minutes qui évitent la correction en urgence.

Le contenu

☐ Le titre est explicite pour quelqu’un qui ne connaît pas le contexte

☐ Le texte a été relu — orthographe, dates, chiffres, noms propres

☐ Les intertitres utilisent le style « Titre 2 », pas du gras

☐ Le résumé est rédigé, ou la troncature automatique tombe correctement (fiche 5.4)

Les liens et les médias

☐ Tous les liens ont été cliqués et fonctionnent

☐ Les liens internes ont été choisis dans la liste de suggestions (fiche 2.3)

☐ Chaque image porte un texte alternatif descriptif (fiche 3.4)

☐ Les images font au moins 1200 pixels de large et moins de 2 Mo (fiche 3.5)

☐ Aucun média partagé n’a été modifié à l’insu des autres contenus (fiche 3.3)

Le classement et la visibilité

☐ Le contenu est classé, en sélectionnant les termes dans la liste (fiche 4.1)

☐ Aucun doublon de terme n’a été créé (fiche 4.2)

☐ L’alias d’URL est généré automatiquement, ou personnalisé volontairement (fiche 5.2)

☐ Si le titre a changé sur un contenu déjà diffusé, la redirection est en place (fiche 5.2)

☐ Les cases « Promu » et « Épinglé » correspondent à l’intention (fiche 5.3)

Avant de cliquer

☐ L’aperçu a été consulté, en mode Complet et en mode Résumé (fiche 2.6)

☐ Le message de révision est renseigné (fiche 7.1)

☐ L’état de modération choisi est le bon (fiche 7.2)

☐ Le rendu a été vérifié en navigation privée après publication (fiche 1.3)

Annexe D — Les URL d'administration utiles

À taper directement après le nom de domaine du site. Certaines peuvent vous être inaccessibles selon votre rôle.

AdresseCe qu'on y trouveFiche
/user/loginSe connecter0.3
/userVotre compte et vos rôles7.3
/admin/contentTous les contenus du site1.2
/node/addChoisir un type et créer un contenu2.1
/node/add/articleCréer un article directement2.1
/node/add/pageCréer une page directement2.2
/admin/content/mediaLa bibliothèque de médias3.2
/admin/content/filesTous les fichiers et leur nombre d'usages3.3
/admin/structure/taxonomyVocabulaires et termes4.3
/admin/structure/menuLes menus de navigation5.1
/admin/config/search/pathLes alias d'URL5.2
/admin/config/development/performanceVider les caches8
/admin/reports/dblogLe journal des événements—

Astuce de navigation

Pour ouvrir directement un contenu en modification quand vous connaissez son numéro : /node/247/edit. Ses révisions : /node/247/revisions. Sa mise en page : /node/247/layout.

Annexe E — Ce qui relève de l'administrateur

Ce manuel s’arrête volontairement au périmètre du contributeur. Voici ce qui se trouve au-delà, pour savoir quoi demander — et à qui.

DomaineCe que cela recouvre
Structure du contenuCréer ou modifier un type de contenu, ajouter un champ, changer l'ordre des champs dans le formulaire, régler ce qui s'affiche dans chaque mode.
Vues et listesCréer ou modifier une liste automatique, ses filtres, son tri, sa pagination. C'est ce qui produit les pages de rubrique et les listes d'articles.
Blocs et régionsPlacer un bloc dans l'en-tête, la colonne latérale ou le pied de page, et définir sur quelles pages il apparaît.
Rôles et permissionsCréer un rôle, attribuer une permission, rattacher un utilisateur à un rôle.
Circuit éditorialDéfinir les états de modération, les transitions autorisées et qui peut les déclencher.
Formats de texteAjouter un bouton à la barre d'outils, autoriser une balise HTML supplémentaire.
Styles d'imageCréer ou modifier une recette de redimensionnement et de recadrage.
Alias et redirectionsDéfinir les modèles d'URL automatiques, créer une redirection manuelle.
Modules et thèmesInstaller une extension, activer une fonctionnalité, modifier l'apparence du site.
Mises à jour et sécuritéMettre à jour Drupal et ses modules, appliquer les correctifs de sécurité.
SauvegardesSauvegarder la base de données et les fichiers, restaurer après incident.
Mode maintenanceMettre le site hors ligne pendant une intervention.

Comment formuler une demande efficace

Un administrateur traite une demande précise en quelques minutes, une demande vague en plusieurs allers-retours. Indiquez systématiquement :

Ce que vous vouliez faire — « ajouter un tableau dans le corps d’un article ».

Où — l’adresse exacte de la page concernée.

Ce qui s’est passé — le message d’erreur mot pour mot, ou une capture d’écran.

L’urgence réelle — un contenu à publier ce soir n’est pas la même chose qu’un confort à améliorer un jour.

VOS CONTACTS Administrateur du site : __________________________ Référent éditorial : ________________________ Support technique : __________________________

Annexe F — Contrôle d'insertion des exercices

Le recueil d'origine — « Drupal — Practice exercises », seize parties — comptait trente-neuf exercices. Ce manuel les reprend tous, traduits et replacés dans le plan de la formation en trois jours. Le tableau ci-dessous liste les intitulés d'origine et dit, pour chacun, où il se trouve désormais et ce qui a été repris : l'énoncé, le motif (« pourquoi cet exercice »), la totalité des étapes, la vérification finale, et le bonus quand le recueil en proposait un.

Exercice d'origineInséré — où, et quoi
Exercise 1 — Map the regions of your themeOui — Jour 2 · 2.2 Blocs, régions et mises en page · énoncé, motif, 6 étapes, vérification
Exercise 2 — Build a news homepage sidebarOui — Jour 2 · 2.2 Blocs, régions et mises en page · énoncé, motif, 6 étapes, vérification
Exercise 3 — Reorder, disable, removeOui — Jour 2 · 2.2 Blocs, régions et mises en page · énoncé, motif, 6 étapes, vérification
Exercise 4 — Create a "Newsletter callout" block typeOui — Jour 2 · 2.2 Blocs, régions et mises en page · énoncé, motif, 6 étapes, vérification
Exercise 5 — Shape the editing form and the rendered outputOui — Jour 2 · 2.2 Blocs, régions et mises en page · énoncé, motif, 6 étapes, vérification
Exercise 6 — View modes and per-type permissionsOui — Jour 2 · 2.2 Blocs, régions et mises en page · énoncé, motif, 6 étapes, vérification, bonus
Exercise 7 — Inventory what already existsOui — Jour 1 · 1.2 Gérer les utilisateurs et le contenu · énoncé, motif, 5 étapes, vérification
Exercise 8 — Create a "Card" view mode for articlesOui — Jour 1 · 1.2 Gérer les utilisateurs et le contenu · énoncé, motif, 6 étapes, vérification
Exercise 9 — Create a form mode, and find out what it costsOui — Jour 1 · 1.2 Gérer les utilisateurs et le contenu · énoncé, motif, 6 étapes, vérification, bonus
Exercise 10 — Read the menu list and its link to blocksOui — Jour 1 · 1.3 Organiser et afficher le contenu · énoncé, motif, 5 étapes, vérification
Exercise 11 — Build a "Sections" menu for the newsroomOui — Jour 1 · 1.3 Organiser et afficher le contenu · énoncé, motif, 6 étapes, vérification
Exercise 12 — Prune and reshape an existing menuOui — Jour 1 · 1.3 Organiser et afficher le contenu · énoncé, motif, 5 étapes, vérification, bonus
Exercise 13 — Create a "Topics" vocabulary with real hierarchyOui — Jour 1 · 1.3 Organiser et afficher le contenu · énoncé, motif, 6 étapes, vérification
Exercise 14 — Connect the vocabulary to your articlesOui — Jour 1 · 1.3 Organiser et afficher le contenu · énoncé, motif, 6 étapes, vérification
Exercise 15 — Treat terms as real contentOui — Jour 1 · 1.3 Organiser et afficher le contenu · énoncé, motif, 6 étapes, vérification
Exercise 16 — Govern the vocabulary: permissions and cleanupOui — Jour 1 · 1.3 Organiser et afficher le contenu · énoncé, motif, 6 étapes, vérification, bonus
Exercise 17 — Read the list before building anythingOui — Jour 2 · 2.1 Travailler avec Views · énoncé, motif, 6 étapes, vérification
Exercise 18 — Build a section listing: page, block and feedOui — Jour 2 · 2.1 Travailler avec Views · énoncé, motif, 6 étapes, vérification
Exercise 19 — Tune Views itself, and look under the hoodOui — Jour 2 · 2.1 Travailler avec Views · énoncé, motif, 6 étapes, vérification, bonus
Exercise 20 — Create the "News article" content typeOui — Jour 1 · 1.2 Gérer les utilisateurs et le contenu · énoncé, motif, 8 étapes, vérification
Exercise 21 — Create a second type with opposite settings: "Opinion piece"Oui — Jour 1 · 1.2 Gérer les utilisateurs et le contenu · énoncé, motif, 8 étapes, vérification, bonus
Exercise 22 — Read the feed and decide whether you want itOui — Jour 1 · 1.4 Les bases de l'administration · énoncé, motif, 4 étapes, vérification
Exercise 23 — Your first permission, end to endOui — Jour 1 · 1.4 Les bases de l'administration · énoncé, motif, 4 étapes, vérification
Exercise 24 — Learn to navigate by the pencilOui — Jour 1 · 1.4 Les bases de l'administration · énoncé, motif, 4 étapes, vérification
Exercise 25 — Decide who gets the pencilOui — Jour 1 · 1.4 Les bases de l'administration · énoncé, motif, 4 étapes, vérification
Exercise 26 — Audit your site with the Field list reportOui — Jour 1 · 1.2 Gérer les utilisateurs et le contenu · énoncé, motif, 4 étapes, vérification
Exercise 27 — Delegate structure work without giving away the siteOui — Jour 1 · 1.2 Gérer les utilisateurs et le contenu · énoncé, motif, 4 étapes, vérification
Exercise 28 — Dissect the three core formatsOui — Jour 1 · 1.2 Gérer les utilisateurs et le contenu · énoncé, motif, 4 étapes, vérification
Exercise 29 — Prove that the boundary worksOui — Jour 1 · 1.2 Gérer les utilisateurs et le contenu · énoncé, motif, 4 étapes, vérification
Exercise 30 — Build the styles your news site actually needsOui — Jour 2 · 2.4 Gérer les médias · énoncé, motif, 4 étapes, vérification
Exercise 31 — Change a style and understand flushingOui — Jour 2 · 2.4 Gérer les médias · énoncé, motif, 4 étapes, vérification
Exercise 32 — Let editors place their own content in the menuOui — Jour 1 · 1.3 Organiser et afficher le contenu · énoncé, motif, 4 étapes, vérification
Exercise 33 — Draw the line between menu admin and content workOui — Jour 1 · 1.3 Organiser et afficher le contenu · énoncé, motif, 4 étapes, vérification
Exercise 34 — Build the newsroom role matrixOui — Jour 1 · 1.2 Gérer les utilisateurs et le contenu · énoncé, motif, 5 étapes, vérification
Exercise 35 — Revisions: the safety net nobody configuresOui — Jour 1 · 1.2 Gérer les utilisateurs et le contenu · énoncé, motif, 4 étapes, vérification
Exercise 36 — Read the report properlyOui — Jour 3 · 3.4 Maintenance et sécurité · énoncé, motif, 4 étapes, vérification
Exercise 37 — Know how updates are actually appliedOui — Jour 3 · 3.4 Maintenance et sécurité · énoncé, motif, 4 étapes, vérification
Exercise 38 — Read the Views plugins reportOui — Jour 2 · 2.1 Travailler avec Views · énoncé, motif, 4 étapes, vérification
Exercise 39 — Separate building from runningOui — Jour 2 · 2.1 Travailler avec Views · énoncé, motif, 4 étapes, vérification
18 px
1 / 1