Drupal est un très bon outil, il est réputé, modulable et est utilisé par beaucoup d’entreprises et organisations. J’ai eu la chance de participer à beaucoup de projets ces 5 dernières années, et j’ai pu constater à quel point on pouvait en user et en abuser.
La réalisation d’un projet web est un subtil dosage entre les contraintes métiers et les contraintes de l’outil.
La flexibilité de Drupal conduit malheureusement parfois à vouloir trop l’adapter et à le tordre pour répondre au besoin tout en espérant que cela n’aura pas d’impact. Un outil reste un outil, c’est pourquoi dans ce post, j’essaie de vous donner quelques pistes afin que vous puissiez définir si oui ou non Drupal est un bon choix pour votre projet.
Quels sont les besoins métiers que vous devez réaliser ?
Avant de savoir si Drupal est fait pour vous, il est important de comprendre ce qui doit être fait. Trop souvent j’ai vu des entreprises se ruer sur le choix de la technologie avant d’avoir pleinement défini les problèmes à résoudre. Définissez ce que vous avez besoin de faire, ce que votre client veut, les problématiques métiers à résoudre et ce que les utilisateurs finaux attendent.
Le diable se cache dans les détails, ne vous contentez pas simplement d’une petit phrase expliquant ce qui doit être fait. Voici un exemple client que j’ai rencontré : « L’outil doit fournir un système de modération des contenus ». Rien de terrifiant en soi, néanmoins de la simple checkbox, au workflow complexe avec validation et rôle utilisateur, il existe des dizaines de solutions pour implémenter cela. Il est donc important que vous définissiez comment les choses doivent fonctionner et non pas simplement ce qu’elles doivent faire pour pouvoir évaluer si l’outil est adapté.
Est-ce que vous devez faire du E-commerce, Gérer des milliers de contenus, une disponibilité proche des 100% ou constuire une application affichant des données en temps réel ? C’est autant de questions que vous devez vous poser.
Quelle est la part du projet qui est réalisée nativement ?
Drupal dispose d’un coeur minimaliste qu’il est possible d’étendre avec ce que l’on appelle des modules. Ainsi, si votre besoin n’est pas natif, il existe surement dans un module. Avec le nombre de projets réalisés sous Drupal, il y a fort à parier que quelqu’un a déjà rencontré le même besoin et qu’il ait avec un peu de chance créé un module sur drupal.org.
Pour savoir si Drupal est fait pour vous, vous devez apprendre à le connaitre, découvrir ses forces et ses faiblesses. Arpenter la liste de modules afin de trouver ceux qui vous conviennent le mieux, inspecter le coeur pour savoir ce qu’il s’y cache.
Bien souvent un module réalise entre 60 et 80% de ce que vous souhaitez faire, ne négligez surtout pas la part manquante à réaliser. Ajouter un besoin supplémentaire à un module existant sans le hacker ou l’ endommager n’est pas toujours une mince affaire. Attention toutefois, certains modules nécessitent d’autres modules pour fonctionner et certains modules ne sont pas compatibles entre eux. N’hésitez pas à lire : [comment choisir un module Drupal en seulement 5 étapes]. De même que, si vous n’avez pas besoin de l’améliorer ou de le modifier, il y aura toujours une part de « Glue code », permettant de l’intégrer pleinement à votre site à estimer.
Avez-vous une idée de la part de sur-mesure à réaliser ?
Drupal est développé en PHP et est facilement extensible par le biais de modules. En utilisant les forces du langage on peut développer ce que l’on veut et ainsi le transformer en n’importe quoi. Pour la petite anecdote, il m’est arrivé par le passé de déconseiller l’utilisation de Drupal à un client. L’équipe technique a fait le choix de ne pas suivre mon conseil et a choisi d’adapter Drupal au besoin. Résultat, le développement du projet a été un fiasco complet, problème de performance, code spaghetti et retard de livraison pour finalement tout arrêter et repartir sur un framework comme je l’avais préconisé quelques mois avant. La leçon à retenir est que si la part des développements sur-mesure à faire est trop grande par rapport aux avantages de l’outil, il faut prendre conscience que ce n’est certainement pas le meilleur choix pour vous.
Vous devez donc comprendre et estimer ce qui relève du natif, ce qui peut être réalisé facilement grâce à un module et ce qui approche les limites de l’outil (limites de performances, de maintenabilités, d’architectures…).
Est-ce que votre équipe maitrise Drupal ou pas ?
Depuis longtemps maintenant, il est admis que la courbe d’apprentissage de Drupal (en comparaison avec d’autres CMS) est longue. Il faut compter entre 1 et 3 mois pour qu’un développeur s’y retrouve facilement entre ce qui est fourni par le coeur de Drupal et ce qu’il est possible de faire grâce aux modules contribs. Prenez en compte le niveau d’expérience de votre équipe. N’hésitez pas à faire appel à un architecte ou à un lead dev (nb, l’auteur est freelance) pour vous épauler dans le cas où votre équipe serait novice.
A noter qu’il n’y a pas seulement l’équipe technique à prendre dans l’équation, il est important que les chefs de projet et product owner connaissent aussi l’outil.
Quel est votre budget ?
Et oui, il faut parler argent quand on parle de projet Drupal. Même s’il n’y pas de coût de licence, vous aurez d’autres coût auxquels il faudra faire face. Côté infrastructure, Drupal est assez gourmand, il vous faudra donc un hébergement de qualité et bien dimensionné. Coté développeurs c’est comme partout, les bons s’arrachent à prix d’or et sont souvent occupés des mois à l’avance. De plus, il y a plus d’offre que de demande, ce qui fait qu’il n’est pas toujours simple de constituer une équipe de qualité.
Quel est la taille de votre projet ?
Il faut être honnête, Drupal est conçu pour faire des gros sites et pas pour de simples sites vitrines. La robustesse de l’outil nécessite beaucoup de choses, du temps, des moyens, des connaissances. Or, je trouve que le retour sur investissement réalisé sur des petits projets n’est pas à la hauteur de ce qui pourrait être fait avec un wordpress par exemple.
Conclusion
Il n’existe pas de formule miracle pour déterminer si Drupal est un bon choix ou non pour un projet, cela dépend de plusieurs facteurs. A vous de mesurer les avantages et inconvénients entre le planning, le budget, l’engouement technologique, la motivation de l’équipe et leur capacité à apprendre.