Drupal-based Project main blog article photo woman with a laptop

9 éléments à prendre en compte pour démarrer un projet basé sur Drupal

Votre entreprise a un site web complexe à créer. Drupal a été choisi comme technologie principale. Aucun des développeurs PHP n'a travaillé avec Drupal auparavant ou ils ont peu d'expérience. Si c'est votre cas, lisez ce texte avant de commencer le développement de votre projet. Vous apprendrez les risques et vous serez mieux préparé à commencer les travaux. 

Ci-dessous, vous trouverez 9 choses importantes à examiner avant de lancer les travaux de programmation. Si vous prenez bien soin de chacune de ces zones, vous serez capable de mettre en œuvre le projet efficacement. 

1. Assurez-vous d'un bon flux de travail dans l'équipe

Créer des sites internet basés sur Drupal par une seule personne est une tâche complètement différente en comparaison avec le travail en équipe. Si vous construisez une équipe de freelances qui ont déjà travaillé seuls avec Drupal, vous devez vous attendre à des problèmes. Si c'est une équipe qui connaît PHP mais n'a pas d'expérience avec Drupal, vous devez vous attendre à des problèmes encore plus importants. 

Avant de commencer, vous devez établir des principes communs, une manière commune de travailler. Vous devriez établir ce qui suit: 

  • Règles de travail dans le dépôt de code (Git ou autres)
  • Normes de codage
  • Flux de code
  • Flux de bases de données et de fichiers
  • Répartition des tâches de manière à ce qu'elles ne se gênent pas et qu'aucun travail ne soit effectué sur les mêmes morceaux de code. Si ce n'est pas possible, communiquez souvent pour ne pas dupliquer les travaux en cours.

Grâce à ces établissements, l'équipe saura comment travailler ensemble et se concentrer sur l'implémentation des tâches de programmation.

2. Implémentez les tâches selon la même norme  

Il arrive souvent avec Drupal que chaque tâche de programmation puisse être réalisée de plusieurs manières. Il est important d'établir des règles communes.

Un exemple est la manière de créer les contenus. Il est utile de déterminer si les contenus seront créés à l'aide du constructeur d'agencements, des Paragraphes, du module Gutenberg, ou d'une autre solution similaire. L'utilisation de plusieurs modules simultanément peut entraîner des problèmes. 

Il y a beaucoup plus de décisions de ce type à prendre avec Drupal. Il est bon d'établir des normes communes. 

Un système de supervision de l'application de ces règles est également nécessaire, par exemple si la date limite d'un sprint ou d'une étape approche, alors vous ne devriez pas prendre de raccourcis mais plutôt respecter les normes.

3. Bien connaître les options de configuration dans Drupal 

C'est un problème fréquent si vous employez des développeurs PHP pour des travaux Drupal. Ils commencent à résoudre beaucoup de tâches en créant du code. Parfois, ils passent des dizaines d'heures à créer une fonctionnalité déjà fournie dans Drupal.

Dans de nombreux cas, vous n'avez qu'à aller au bon endroit dans le panneau d'administration, cliquer quelques fois, et c'est tout. 

Ce sont les vastes options de configuration du noyau de Drupal et de ses modules qui constituent la force de Drupal. Elles vous permettent d'économiser des centaines voire des milliers d'heures de travail homme consacrées aux travaux de programmation. 

Utilisez les options prêtes à l'emploi de Drupal dans votre projet et économisez l'argent du client.

4. Bien connaître l'API de Drupal 

Apprendre à connaître l'API de Drupal vous aide à accomplir de nombreuses tâches plus rapidement qu'en utilisant uniquement PHP. 

Si quelqu'un n'est pas familier avec l'API de Drupal, il peut parfois créer des fonctions ou des classes qui existent déjà dans le noyau de Drupal. Cela peut s'avérer être une perte de temps.

Le manque de connaissance concernant l'API peut aussi parfois causer des erreurs difficiles à détecter. Un exemple serait l'ajout de l'en-tête de redirection PHP courant ('Location: '.$newURL); dans hook_entity_insert. S'il y a de nombreux modules dans le système utilisant ce hook, il est possible que tous ne soient pas exécutés après l'ajout d'une telle redirection. 

Vous pouvez trouver davantage d'exemples de ce type. Avant de commencer les travaux, il est bon de se familiariser avec le fonctionnement de Drupal. Le minimum serait de lire un des livres décrivant la création de modules pour Drupal. 

Le module Examples est une autre source importante de connaissances. Vous y trouverez un grand nombre d'exemples. Il est bon de parcourir les codes de ce module.

5. Utilisez le mode de vue 

Les modes de vue d'entité sont une fonctionnalité très utile du système. Ils vous permettent de personnaliser l'affichage du contenu en fonction de l'endroit où vous souhaitez l'afficher. Vous pouvez définir n'importe quel mode et les utiliser à de nombreuses reprises. 

Les développeurs débutants créent souvent du code pour chaque mode de vue au lieu de sélectionner plusieurs modes différents et de les configurer. Cela ne vaut pas le coup. Il est préférable d'utiliser un mécanisme prêt à l'emploi dans Drupal et de compléter les tâches plus rapidement. 

6. Créez des entités si vous prévoyez de créer vos propres tables dans la base de données

Certaines exigences commerciales vous obligent à créer vos propres tables dans la base de données. Lorsque vous travaillez avec Drupal, il est bon d'ajouter ces tables à la base de données tout en créant des Entités. 

En conséquence, vous obtenez une table exploitée via des classes d'entité et vous pouvez facilement intégrer les données d'une telle table avec l'ensemble de Drupal, par exemple avec le module Views.
Si vous n'utilisez pas les Entités, vous devrez programmer tout concernant cette table, par exemple les formulaires ou les pages d'affichage des données. 

7. Écrire des tests automatisés

Drupal est généralement utilisé pour créer des sites web de taille moyenne et grande qui sont développés sur plusieurs mois ou années. En étendant la fonctionnalité, il peut arriver que vous cassiez quelque chose qui fonctionnait déjà correctement. 

Si vous ne voulez pas effectuer de vérifications manuelles régulières pour vous assurer que tout fonctionne correctement, vous devez avoir des tests automatiques écrits. 

Drupal dispose d'un framework PHPUnit pour les tests automatisés. Vous pouvez également utiliser d'autres frameworks, par exemple Codeception et son extension Visualception. 

8. Automatisez la création de l'application et le déploiement sur le serveur de production

Le processus de mise en œuvre de nouveaux changements sur le serveur de production et le processus de création d'un site web dans l'environnement local du développeur devraient être automatisés. Tout le monde dans l'équipe devrait utiliser les mêmes scripts pour créer l'application.

Vous éliminez alors les problèmes de différences entre les environnements, par exemple lorsque quelqu'un a modifié quelque chose dans la configuration d'une version, mais pas dans l'autre. Vous ne savez alors pas quoi et comment cela devait fonctionner correctement, des malentendus surviennent, vous perdez du temps inutilement.

Tous les changements devraient être introduits via du code. L'équipe devrait utiliser un dépôt de code (par exemple Git). Vous pouvez alors être sûr que vous avez la même configuration sur chaque instance de l'application. 

9. Conseillez le client si vous pouvez faire quelque chose d'un peu différemment mais beaucoup plus rapidement

Drupal offre un nombre immense de fonctionnalités et de modules supplémentaires. Avec eux, vous pouvez créer des sites web très vastes. 

Parfois, un module prêt à l'emploi ne répond pas à 100 % aux exigences de la spécification, mais il suffit de discuter avec le client à ce sujet, et le plus souvent, le client acceptera un petit changement afin de gagner du temps.

Conclusion 

J'ai énuméré ci-dessus les choses les plus importantes auxquelles vous devriez prêter attention lors de la création de votre premier grand site web basé sur le CMS Drupal.

Les services de développement Drupal chez Droptica connaissent tous ces problèmes. Nous faisons économiser de l'argent à nos clients et fournissons beaucoup de code solide en peu de temps. Nous n'avons pas à nous concentrer sur l'élimination des problèmes mais seulement à fournir de la valeur aux clients. 

Si vous envisagez de créer un site web basé sur Drupal, assurez-vous d'analyser les problèmes potentiels mentionnés ci-dessus, et vous obtiendrez des résultats satisfaisants. 


 

As part of Drupal support, we maintain existing websites and expand them with new functionalities