Nvision Drupal CMS

En peu de temps, le content management system (CMS) Drupal s’est révélé être un compagnon idéal pour nombre de nos projets.

C’est simple : sur l’ensemble des sites sortant de nos murs, plus de la moitié portent son sceau. En écartant les cas où la solution technique fut imposée, on compte sur les doigts d’une main les projets où ce CMS ne fut pas le choix idéal.

Choisir Drupal

Tôt ou tard, une agence web doit se créer une boîte à outils si elle désire avoir un avantage compétitif. Triée sur le volet, chaque solution est choisie soit parce qu’elle colle avec son approche de travail, soit parce qu’elle résout un problème plus vite ou plus élégamment que d’autres. Dans cet arsenal, on trouve la liste des CMS, frameworks et librairies grâce auxquels cette agence crée des sites magnifiques, performants, accessibles, intuitifs et bien référencés.

Tout en haut de notre liste siège l’indétrônable Drupal.

Suffisamment complet pour répondre à la majorité des besoins, pas assez pour se compromettre à essayer d’être tout pour tout le monde, Drupal est un CMS bien pratique avec lequel on aime travailler.

Drupal a deux facettes

  1. D’une part, il est suffisamment accessible pour des non-initiés, qui n’ont qu’à partir à la pêche aux modules et à installer un thème pour démarrer leur site ;
  2. D’autre part, c’est une plateforme complexe qui demande une pratique sérieuse avant d’être maîtrisée de façon professionnelle, avant de savoir quand ses limites sont atteintes et par quels moyens les dépasser.
La page d’accueil de ce site est un exemple complet des capacités de Drupal

Notre propre site est entièrement géré avec Drupal.

Drupal brille vraiment une fois cette barrière franchie. C’est sur cette base que nous avons créé des sites dignes de servir de vitrine à des entreprises commerciales, des organismes bancaires, des initiatives publiques, des organisations non-gouvernementales et des dizaines d’autres projets.

OK mais … pourquoi?

Un mot: modules

 A l’installation, Drupal n’est qu’un noyau pourvu d’un certain nombre de fonctions de base, suffisantes pour créer des sites simples dans leur architecture, mais affichant déjà une interactivité accrue — blogs, wikis, forums de discussion.

Pour des sites de plus grande envergure, où se mêlent navigations et structures complexes, où des contenus hétérogènes existent en plusieurs langues, où des mises en page avancées ne doivent pas gêner la gestion du contenu ; pour ces sites, il faut choisir et ajouter des modules.

 Un module est un morceau de code qui vient se greffer sur Drupal pour en étendre les fonctions.

C’est grâce à cette architecture modulaire que Drupal peut rester simple et s’adapter au cas par cas, ne contenir que le strict minimum de fonctions nécessaires pour répondre aux besoins d’un projet particulier — à l’inverse des solutions « tout-en-un » qui sont quasiment ampoulées dans leur conception, essayant d’être tout pour tout le monde.

Des modules Drupal, il en existe littéralement des milliers, de toutes les sortes et de toutes les tailles. En soi, cela constitue une force mais aussi une faiblesse. Sans une connaissance parfaite des limites du CMS, sans connaitre d’avance les exigences d’un projet, ou sans avoir une bonne expérience des modules, il est facile de faire un choix regrettable à court terme et pendant toute la vie d’un site.

Nos modules favoris

Même si chaque projet est unique, un certain nombre de modules Drupal reviennent encore et toujours. Certains sont si incontournables qu’ils ont été inclus dans le noyau de la future version du CMS, d’autres sont des favoris de tout temps et finalement il y a, disons, nos ingrédients secrets. En voici un extrait.

CCK

Grâce à CCK, on peut:

  • créer des types de contenu personnalisés;
  • profiter de dizaines de nouveaux champs;
  • contrôler la façon dont ils s’affichent;
  • des procédures de validation de leur contenu;
  • personnaliser les interfaces d'administration.

Views

Prenez n’importe quelle liste:

  • des pages triées chronologiquement;
  • des articles filtrés par catégories;
  • des sitemaps, des archives, des index, avec ou sans pagination.

Et vous avez à peine gratté la surface de ce que Views sait faire.

Webform

Nous utilisons webform pour:

  • les formulaires de contact, d’inscription ou d’authentification;
  • les questionnaires et sondages d’opinion;
  • stocker, envoyer par email et faire tout autre traitement sur les informations soumises par les utilisateurs.

Modules Nvision

Quand un module existant ne nous satisfait pas entièrement, nous en créons un nous-mêmes. Que ce soit pour satisfaire un besoin précis et unique ou pour servir un usage récurrent, Nvision a aujourd’hui une dizaine de modules à son actif. Exemples.

Faire des liens entre contenus est une tâche qui devient vite fastidieuse. Créer une liste de contenus liés automatiquement dans les templates, c’est un coup dur pour les performances. Library prend le meilleur des deux mondes en liant automatiquement, au moment de la création de contenu, dans le CMS.

Pour un utilisateur final, gérer les menus dans Drupal est assez lassant. Notre module menu_auto est vital à tous nos sites. Il gère l’organisation automatique de tous les contenus et sert à générer menus, menus actifs, chemins de navigation et sitemaps.

Paypal, Google Checkout, … les modules Drupal de paiement en ligne sont déjà nombreux. Nous avons mis au point celui qui permet d’utiliser Cetrel, l’opérateur national de transactions bancaires en ligne.

Quand Luxembourg for Business a fait appel à nous, nous leur avons créé un site riche en contenu. Leur site actuel est un exemple représentatif de notre savoir-faire, il regroupe un grand nombre de modules in-house, des pages très travaillées, des contenus complexes… le tout étant géré sans difficulté par les personnes derrière cette initiative.

  • Le site LuxembourgForBusiness.lu, la quintessence du mélange contenus riches + mises en page complexes façon Drupal

Le noyau

On peut vanter les mérites de l’architecture de Drupal, elle ne serait pourtant rien si le noyau n’était pas lui-même bien conçu. Certes, « bien conçu » est une notion toute relative. Pour nous, c’est une formule simple pour dire que le noyau Drupal se contente de faire ce qu’il sait très bien faire et ne reste pas dans le chemin sinon.

Quelques mécanismes dont nous sommes particulièrement fans

  • Noeuds

    Peu importe leur type, Drupal traite chaque contenu comme un noeud. Partout dans le CMS, on peut donc à volonté agir sur un noeud d’un type précis ou au contraire sur plusieurs noeuds de types hétérogènes.

  • Hooks

    Imaginez pouvoir intercepter chaque parole d’une conversation et la transformer avant qu’elle ne soit entendue. Cette faculté extrêmement puissante fait partie intégrante de Drupal.

  • Admin

    L’interface de gestion de Drupal est un module qu’on peut thématiser comme n’importe quel autre. Nous avons l’habitude d’intégrer l’interface de gestion dans celui, plus familier, du site public.

Quand Drupal ne suffit plus

Il y a des situations où un autre CMS est plus approprié.

Nous savons vite si c’est le cas : habitudes du client, contraintes techniques, types de contenu, systèmes de navigation, modèles de production de contenu, … un tas de facteurs peuvent influencer le choix de la plateforme.

Drupal est un parmi toute une panoplie de CMS que nous utilisons régulièrement. Tour à tour, nous avons réalisé des sites avec par exemple WordPress, ExpressionEngine, Infopark Fiona ou encore Magento.

Les cas où aucun CMS ne convient sont rares, mais ils existent : applications web, moteurs de recherche communautaires, réseaux sociaux, plateformes de partage, etc.

Dans ces cas-là, Symfony est un framework puissant grâce auquel nous avons déjà réalisé avec succès de nombreux CMS sur mesure. Avec sa couche de manipulation des bases de données, sa librairie de traitement des formulaires et sa gestion des templates HTML, Symfony est l’équivalent PHP du framework Ruby on Rails dont il est une adaptation des plus fidèles.

Plus qu’une simple galerie

Voyons quelques traits caractéristiques de notre usage de Drupal grâce à cette page du site de l’UNICEF.

  1. Menu

    les menus sont gérés grâce à notre module menu_auto qui assigne sans intervention de l’éditeur les catégories aux contenus. Le tout est mis en musique dans les templates

  2. Liste

    ‘projets en cours’ et ‘domaines d’intervention’ sont deux exemples de listes que le module Views aide à créer en un clin d’oeil

  3. Contenu

    il fut un temps où gérer une carte était difficile. Ici, les administrateurs n’ont même pas à toucher à quoi que ce soit. Une bonne dose de code HTML sémantique, un peu de JavaScript et un type de contenu contenant les attributs ad hoc suffisent à peupler automatiquement la carte avec les marqueurs

  4. Contenu lié

    les informations contextuelles situées dans la colonne de droite sont aussi gérées entièrement à l’aide d’une simple liste… une addition efficace rendue possible grâce au module Library

A votre tour

Vous avez un site difficile à maintenir et ne reflétant plus votre image de marque ? Son contenu tombe en lambeaux, manque de style ?
Contactez-nous pour une petite démonstration de ce que nous pourrions faire avec Drupal pour y remédier.