Accueil / Blog / Métier / 2017 / Drupal 8 pour un site d'université

Drupal 8 pour un site d'université

Par Simon Georges publié 17/01/2018
Pourquoi Drupal 8 est un bon choix pour réaliser un site d'université.
Drupal 8 pour 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 :

University website content

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.

Multi-site

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" :

Workflow

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é :

Content Moderation

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 :

Workflow additionnal modules

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 :

Workbench Access Menus

Puis, indiquer le(s) type(s) de contenu concerné(s) par ces restrictions d'accès :

Workbench Access Content Type

Cette configuration de base étant terminée, il est temps d'aller sur le second onglet pour affecter des éditeurs à chaque "section" du site :

Worbench Access sections

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 :

WA menu admin          WA menu editor

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 :

WA section 1

WA section 2

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 à la création de sites en Drupal 8.

ABONNEZ-VOUS À LA NEWSLETTER !
Voir aussi
Retour d'expérience sur la réalisation d'un portail Drupal mélant cartographie et Open Data Retour d'expérience sur la réalisation d'un portail Drupal mélant cartographie et Open Data 15/02/2018

Utilisation de Drupal comme outil centralisateur de flux.

Varnish et Drupal : gérer un cache anonyme étendu Varnish et Drupal : gérer un cache anonyme étendu 14/03/2018

Le rôle d'un Reverse Proxy Cache Varnish dans une architecture Web (type Drupal).

Drupalcamp Lannion 2017 : le pouvoir de la communauté Drupalcamp Lannion 2017 : le pouvoir de la communauté 06/11/2017

Compte-rendu du Drupalcamp Lannion 2017, un événement qui a tenu toutes ses promesses.

Développer avec Twig dans Drupal 7 Développer avec Twig dans Drupal 7 25/06/2015

Utiliser Twig dans Drupal 7, c'est possible ! Découvrez comment prendre de l'avance sur Drupal 8, ...

Comment mettre en place un site Drupal "Headless" ? Comment mettre en place un site Drupal "Headless" ? 14/06/2017

Les différents modules et techniques pour mettre en place une couche de services web sur une base ...