Makina Blog
Drupal 8 pour un site d'université
Pourquoi Drupal 8 est un bon choix pour réaliser un site d'université.
Pourquoi Drupal ?
La tentation d'utiliser Drupal pour réaliser des sites d'université n'est pas nouvelle : un produit Open Source, des compétences PHP faciles à trouver, un hébergement plus léger que du Java, plus de puissance annoncée qu'un Wordpress, Drupal était un candidat idéal pour remplacer des installations de K-Sup (CMS propriétaire dédié aux sites d'enseignement supérieur) vieillissantes.
D'ailleurs, une distribution OpenScholar a rapidement été mise en place, maintenue par l'université Harvard et la société Acquia. On a également vu apparaître des distributions concurrentes, comme Open Academy. L'idée d'une distribution est logique, la plupart des sites d'université ont (a priori) les mêmes besoins :
Un outil de gestion de contenus répond normalement bien à ces besoins.
Autre force de Drupal : sa capacité d'intégration avec de très nombreux systèmes. La volonté affichée de Drupal est d'être aujourd'hui un outil central du système d'information. Or une université a souvent de très nombreux systèmes différents (par exemple des outils métiers comme la gestion des inscriptions, des formations, des emplois du temps…), et les intégrations possibles sont donc un atout supplémentaire du choix de ce CMS.
Beaucoup de contenu éditorial, une intégration de nombreux services : Drupal 8 est ici dans son cas nominal d'utilisation (l'outil est utilisé au plus proche de ses fonctionnalités standard).
Nous allons justement voir quelques fonctionnalités typiques de ces sites d'université, et la façon de les réaliser en Drupal.
Multilinguisme natif
Les sites d'universités sont aujourd'hui régulièrement disponibles en plusieurs langues. L'intégration native du multilinguisme en Drupal 8 améliore les possibilités d'ajouter rapidement cette fonctionnalité.
C'est en fait une intégration au cœur de Drupal du module appelé "Entity Translation" en Drupal 7. L'avantage de cette intégration au cœur est que l'intégratlité des modules de la communauté peuvent (et doivent !) assurer la compatibilité multilingue.
Mais là où en Drupal 7, il fallait souvent combiner un certain nombre de modules (Entity / Content Translation, i18n, parfois d'autres modules), en Drupal 8, tout est intégré dans le cœur, et l'ensemble des modules de la communauté doivent donc tenir compte de ces contraintes et s'y intégrer.
On doit donc théoriquement rencontrer beaucoup moins de problèmes dûs au multilinguisme en Drupal 8 par rapport aux versions précédentes.
"Usine à sites"
Les universités ont souvent besoin de plusieurs sites. Si dans le passé une réponse classique était l'utilisation de la fonctionnalité "multi-sites" de Drupal, elle ne répondait pas toujours correctement au besoin (notamment en complexifiant la maintenance ou l'évolution séparée des différents sites).
S'il existe de nombreuses solutions pour réaliser un multi-sites Drupal (voir ce très bon article sur le sujet), nous préférons souvent réaliser une distribution, c'est-à-dire une sélection de modules et une pré-configuration de ceux-ci permettant de déployer rapidement plusieurs sites indépendants, mais partageant un ensemble de fonctionnalités. Ces sites peuvent alors évoluer de façon tout à fait distincte, tout en ayant économisé sur le budget de développement en mutualisant les besoins.
Cela dit, il y a forcément en Drupal une façon de couvrir votre besoin de sites multiples. Tout dépend de ce que vous souhaitez partager entre les sites (et de comment vous souhaitez le partager). On peut d'ailleurs aujourd'hui propager des contenus d'un site à un autre en utilisant par exemple le module Entity Share.
Workflow éditorial
Il est possible depuis longtemps de réaliser des worflows éditoriaux avec Drupal : le cœur fournit un simple statut de publication (on peut donc avoir 2 états : brouillon et publié). Mais des modules de la communauté se chargent de fournir plus : depuis Drupal 5, il existe un module "Workflow" qui couvre toutes les fonctionnalités possibles d'un workflow métier.
Mais depuis Drupal 7, nous lui préférons pour le cas précis de l'édition de contenus le module Workbench Moderation, dédié aux workflows éditoriaux, et développé par la société Palantir pour… les sites d'université (et les sites de musée, qui ont sensiblement les mêmes besoins).
En Drupal 8, ce module est désormais inclus dans le cœur de Drupal, sous le nom de "Content Moderation" :
Il permet de réaliser un workflow complètement configurable, avec le nombre d'états et de transitions que vous souhaitez, tout en fournissant par défaut un workflow régulièrement utilisé : Brouillon / Publié / Archivé :
Une fois ces fonctionnalités basiques assurées par le cœur de Drupal, il est possible de rajouter deux modules issus de la communauté si vous souhaitez des fonctionnalités plus ciblées : avoir des intervenants identifiés pour chaque phase du workflow (plutôt que l'ensemble des utilisateurs ayant un rôle Drupal donné, option choisie par le cœur Drupal), et permettre des notifications en cas de changement de statut de workflow :
Bien sûr, un développeur ajoutera rapidement les fonctionnalités sans passer par ces modules, mais ils permettent aux purs profils webmasters de les ajouter facilement également.
Tout cela nous permet une fonctionnalité plutôt complète de workflow éditorial.
Droits d'accès par rubrique
Les organisations de taille conséquente (université, musée…) ont souvent plusieurs rédacteurs pour le site, et notamment des rédacteurs dédiés à une partie du site (section, rubrique, catégorie, tous ces termes sont équivalents ici).
Pour assurer une nette séparation des responsabilités, et empêcher les rédacteurs et éditeurs de modifier le travail des autres, un module très utile a fait son apparition en Drupal 7, dans la même suite de modules que le précédent : Workbench Access, qui existe également pour Drupal 8.
Sa configuration basique peut faire peur, mais il suffit d'être méthodique : indiquer que l'on se base sur l'aborescence de menus :
Puis, indiquer le(s) type(s) de contenu concerné(s) par ces restrictions d'accès :
Cette configuration de base étant terminée, il est temps d'aller sur le second onglet pour affecter des éditeurs à chaque "section" du site :
Une fois ces réglages faits (et comme, tout module Drupal, les permissions associées au module correctement définies dans le tableau des permissions), le module est prêt à être utilisé.
J'apprécie énormément ce module parce qu'il se contente de masquer des menus ou réglages possibles, améliorant d'autant l'expérience utilisateur.
Par exemple, comparez les menus disponibles pour un administrateur (à gauche) et ceux disponibles pour un éditeur de la section 1 (à droite) lors de la création d'un contenu :
L'éditeur ne peut gérer l'arborescence que dans la section dont il est responsable.
Et ce comportement est identique pour l'édition des contenus. Voilà ci-dessous l'interface disponible pour un éditeur de la section 1, selon que le contenu est dans sa section, ou dans une autre :
L'édition du contenu d'une section dont on n'est pas éditeur est tout simplement impossible, et l'interface s'en trouve simplifiée, sans interrogation côté utilisateur.
Catalogue de formation (CDM-FR)
Un des enjeux des sites d'université est la mise à disposition du catalogue de formations de l'université. Depuis quelques années, il existe une norme officielle permettant de décrir le contenu des formations d'enseignement supérieur : la norme CDM, dont l'adaptation française est la CDM-FR.
Un plus pour les sites serait donc l'affichage dans Drupal du contenu des données CDM-FR exportées par les outils métier permettant de renseigner les formations.
C'est ce que nous proposons dans un module que nous avons développé, le module Drupal 8 CDM-FR.
Dès l'installation du module, vous disposerez d'un type d'entité "Contact", et de 3 types de contenu : Cours, Programme et Sous-programme. Ces 4 éléments disposent de migrations permettant d'importer le contenu d'un fichier CDM-FR directement dans Drupal, afin d'être ensuite mis en valeur dans le site.
Bien sûr, ce n'est que la première version, et le module évoluera en fonction des retours des différentes universités qui le testeront ou des fichiers de test auxquels nous aurons accès.
À vous de jouer !
Toutes ces fonctionnalités (et plein d'autres : support de CAS, LDAP, …) font de Drupal un outil de choix pour la réalisation d'un site d'université. Plusieurs universités françaises l'ont déjà adopté, et on ne peut que souhaiter la mutualisation de leurs besoins et compétences pour développer des outils adaptés pour leur métier de façon la plus ouverte et collaborative possible.
Nous pouvons d'ailleurs vous aider à mettre en place ou configurer votre site, ou vous pouvez suivre notre formation de création de site en Drupal.
Formations associées
Formations Drupal
Formation Drupal Développeur
À distance (FOAD) Du 2 au 4 avril 2025
Voir la formationActualités en lien
Migration d'un site Drupal 7 en Drupal 11
Trucs, astuces et "bouts" de code pour migrer votre site web de Drupal 7 à Drupal 11. Compte-rendu d'une conférence donnée au Drupalcamp Rennes 2024.
Makina Corpus, partenaire du DrupalCamp 2024
Nous sommes fiers d’annoncer que Makina Corpus est le sponsor du DrupalCamp à Rennes. Notre expert vous y propose une conférence « migrer de Drupal 7 à Drupal 10 ».