Définir son orientation en Drupal

Merci pour le partage...Share on Facebook0Share on Google+1Tweet about this on TwitterShare on LinkedIn3

Après 5 ans de développement, le 19 novembre 2015 sortait Drupal 8. Il est important de penser aux utilisateurs et à nos lecteurs, car de nombreux projets utilisent toujours des versions antérieures comme Drupal 5 ou 6. Mais alors que faut-il faire réellement ? Drupal 7 ou Drupal 8 ?

 

Performance

Cette notion se positionne toujours en premier point et fonctionne toujours en parallèle lors de la maintenance, c’est pourquoi la notion de cache est importante. Il en existe de différentes formes : tout d’abord, le cache interne passe par des extensions du langage comme Alternative PHP Cache (APC) ou du Memcache. Ensuite, le cache externe est intéressant quand votre projet doit répondre à un fort trafic. Vous trouverez par exemple Varnish ou Akamai qui sont complètement intégrés à Drupal sous la forme de modules. Toutefois, il ne faut pas en abuser, car souvent vos problèmes viennent d’une mauvaise configuration du serveur ou des modules mal utilisés ou abandonnés en cours de route.

Maintenance

Quand vous ne bénéficiez pas de TMA (Tierce Maintenance Applicative), c’est que vous êtes le seul à maintenir votre projet internet. Celle-ci ne se limite pas à mettre à jour les modules que vous utilisez depuis le début du projet.

Il faut aussi répondre aux attentes des utilisateurs et des éventuelles évolutions ou de configurations des utilisateurs. Il est très facile d’effectuer des erreurs lors de la maintenance d’un projet, qui vous feront perdre de nombreuses heures de travail pour résoudre une case mal cochée ou la construction d’une mauvaise vue.

Les erreurs rencontrées sont souvent liées à une mauvaise connaissance du CMS. Les effets non désirés sont provoqués quand vous n’utilisez pas la couche API de Drupal, c’est à dire, qu’il existe des fonctions prédéfinies pour Drupal que vous devez utiliser. Elles sont disponibles à l’adresse suivante : https://api.drupal.org/api/drupal.

Une autre erreur concerne l’utilisation des requêtes globales, qui sont très pratiques, mais souvent inutiles, car elles sont très gourmandes au niveau des ressources de la machine.

De plus, l’autre critère souvent oublié est la volumétrie des données qui est souvent sous-estimée. Enfin, il n’est pas rare de retrouver du code PHP dans le thème ou le Template alors qu’il existe des emplacements bien définis.

Bien entendu, il existe aussi des moyens d’optimiser vos fichiers CSS, JavaScript, d’exécuter des CRONs et d’éviter les pages 404. Tout ceci peut être manipulé à partir de l’interface. Toutefois, vous pouvez résoudre l’ensemble de ces soucis avec les nombreux modules et outils du marché pour corriger et identifier les problèmes, comme Devel, New Relic, Xprof, BackFire… qui vous seront utiles.

L’environnement

Un environnement fait tourner votre projet Drupal. Il s’appuie souvent sur un socle AMP (Apache, MySQL, PHP). Cependant, il est indispensable d’en installer un dans votre ordinateur.

Cette opération permet de tester de nouveaux modules, de concevoir et préparer les différentes évolutions des utilisateurs. La configuration AMP est disponible sur tous les systèmes d’exploitation (Linux, Windows, Mac), de cette façon vous êtes prêt à faire des essais sans risques. Ainsi, vous pouvez utiliser Wamp, Xampp, Mamp. De même, quand une évolution est prête, vous pouvez utiliser le module ‘Features’ (https://www.drupal.org/project/features) pour éviter de recommencer la configuration demandée.

Le back-end

La notion de contenu est une approche ‘utilisateur’. Il en existe différentes sortes. Tout d’abord les utilisateurs, qui ont la charge de fournir du contenu, tout en illustrant leurs articles par des images ou de la vidéo. Ensuite une autre catégorie de personnes peut animer, mettre en avant les contenus et donnera envie aux internautes de revenir vers votre site Internet ou votre application. L’ensemble des utilisateurs aura des droits, des rôles et des accès, qui pourront être plus ou moins complexes suivant la ou les compétences et leurs attributions.

Les solutions existent pour mettre tout cela en place, comme la gestion des droits, des rôles,etc. Il existe par exemple Organic Groups (https://www.drupal.org/project/og). Bien sûr, la notion de groupe est facilitée si les modules sont déjà en place, car vous pouvez donner à un utilisateur des accès supplémentaires en cochant seulement des cases. L’autre point aussi à cadrer concerne les TAGs car il n’est pas nécessaire de tout mettre en Tags. Ceci permet actuellement d’identifier du contenu plus facilement dans les moteurs de recherches et par la même occasion de mettre en avant les mots clefs les plus utilisés.

Le front-end

Le front-end est la partie visible de votre projet Web. Les internautes vont consulter vos différentes pages et informations avec les différents devices. Ce point évolue peu, car il est associé aux squelettes de vos pages. Cependant les vues et les animations seront des approches à connaître, car la mise en avant d’un bloc est associée à une partie d’un site Internet. Par contre les animations seront associées à un effet à la mode ou sur une période déterminée (les soldes par exemple).

Recherche

Quel que soit le volume d’informations, de pages, de contenus, vous aurez à résoudre les demandes de recherches. Même si la fonctionnalité de recherche est disponible dans le CMS, il faut souvent prévoir un complément ou utiliser des applications externes comme Solr (https://www.drupal.org/project/search_api_solr), elasticSearch (https://www. drupal.org/project/elasticsearch), Sphinx (https://www.drupal.org/project/sphinx)… Il est important de prévoir cette fonctionnalité en amont, néanmoins il existe toujours des solutions pour vous aider à améliorer ces fonctionnalités a posteriori.

Un nouveau type de contenu

L’ajout d’un nouveau type de contenu engendre de nombreuses opérations et un travail souvent mal quantifié si vous ne connaissez pas bien le CMS. Lorsque vous souhaitez un nouveau type de contenu, il passe obligatoirement par la création de celui-ci. Ensuite, les droits d’accès, les rôles doivent être clairement identifiés pour définir quels seront les utilisateurs autorisés à effectuer la saisie. Enfin, vous prévoyez aussi comment sera présentée la vue dans un bloc ou une page, avec ou sans animation… L’ensemble de ces évolutions peut vous amener à installer un nouveau module ou d’en concevoir un ou plusieurs modules spécifiques à votre métier.

Chaque nouveauté doit faire appel à l’API de Drupal, car si vous réalisez l’opération à la volée, vous rencontrerez des effets de bords non voulus à l’origine. Bien entendu, pour boucler cette évolution, il faut effectuer différents types de tests : unitaires, fonctionnels… car vous partez sur un site existant et vous ne pouvez pas vous permettre de tout casser lors de l’insertion de cette évolution.

Déploiement

Il s’agit aussi d’une étape importante comme le reste, car il va permettre à tous les utilisateurs de bénéficier des évolutions que vous avez apportées dans votre projet Drupal.

Pour cela, il est important de valider en amont auprès des demandeurs afin de pouvoir effectuer la livraison vers le serveur de production. L’opération de déploiement peut se faire de différentes manières, dont nous aurons une préférence pour utiliser des logiciels de versioning.

La ligne de commande

Les lignes de commandes font peur, car il est plus facile d’utiliser l’interface et la souris pour effectuer des opérations. Bien sûr, certaines tâches ou opérations doivent passer par cette étape, mais pas la totalité.

C’est pourquoi il est important d’utiliser le mode Drush (https://www.drupal.org/project/drush) qui vous sera très utile pour gagner du temps.

Conclusion

Plusieurs cas se présentent à vous, si vous lancez un nouveau projet basé sur le CMS Drupal, il est préférable de commencer avec la version 8.

Du côté de la migration, venant des anciennes versions, une migration en douceur peut être utile pour migrer vers la 7, voire la 8. Toutefois, si votre projet s’appuie sur la version 7, vous devez penser au coût de migration et le temps que cela prendra. Le choix n’est jamais évident, c’est pour cela qu’il existe de nombreuses sociétés qui sont là pour répondre à vos interrogations et attentes. Il est aussi possible de rentrer plus en profondeur par soi-même et de suivre les tutoriaux en ligne, ou d’acquérir le livre « Drupal avancé » aux éditions Eyrolles.

Christian Kas

Spécialiste de la réussite et du bien-être.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *