Drupal est actuellement en forte demande; étant donné qu'il s'agit d'un CMS (système de gestion de contenu) incroyablement populaire dans le développement Web. Ce n'est pas étonnant que de nombreuses entreprises en dépendent. Recruter le meilleur candidat pour ce poste peut s’avérer long et difficile mais c'est beaucoup plus facile quand vous avez toutes les bonnes cartes en main.
Pour trouver le meilleur développeur Drupal, vous devez savoir comment et où débuter vos recherches, quelles compétences évaluer et comment réaliser cette évaluation. De plus, il vous faut garder à l'esprit certains points-clés de l'ensemble du processus. En effet, il ne suffit pas de copier-coller une offre d'emploi en remplaçant toutes les compétences clés par "Drupal". Il faut également tenir en compte, non seulement d’une étude approfondie et comparative du marché du travail, des compétences, des chiffres et des statistiques pertinents, mais aussi d’une évaluation des compétences techniques ainsi que des spécificités du processus global de recrutement.
Dans ce guide d'embauche complet, nous vous proposons l’essentiel pour démarrer le processus de recrutement. Nous vous encourageons à en parcourir toutes les sections, de sorte à mieux vous préparer avant de statuer sur le recrutement d' un développeur Drupal.
À propos de Drupal
Drupal est un CMS (Content Management System) gratuit et open-source, soutenu par une communauté massive d'utilisateurs et de développeurs.
En tant que CMS populaire, Drupal est très prisé pour la gestion des sites Web et des applications, en raison de ses fonctionnalités faciles à utiliser, de son incroyable vitesse d’exécution et de son excellent niveau de sécurité. Il permet la gestion de contenu simple avec de nombreuses fonctionnalités flexibles. Comme atout important, Drupal s'appuie principalement sur la modularité.
La création de contenu n'a jamais été aussi simple depuis que Drupal a rendu ce domaine plus visible. Pour tous ceux qui souhaitent créer un type de contenu polyvalent, une expérience Web dynamique et un web theming unique, c'est le bon choix de CMS.
Drupal a débuté avec Dries Buytaert, l'auteur originel qui envisageait de créer un simple tableau pour messagerie entre utilisateurs. Ainsi, en 2001, le processus a débouché sur Drupal, un projet open-source à succès.
Statistiques utiles sur Drupal
Vous devez garder en tête certaines statistiques précieuses lorsque vous cherchez à embaucher le meilleur développeur Drupal pour votre projet.
Le salaire d’un développeur Drupal varie entre 94 496 $ et 114 134 $ par an, les plus bas variant dans les 65 000 $, aux sommes les plus élevées de 177 000 $ par an.
En ce qui concerne la popularité de Drupal, basée sur la situation géographique, la plupart des propriétaires d'entreprises qui utilisent Drupal sont localisés en Europe (61,1%), suivis par ceux d'Amérique du Nord (57,2%), le reste en Australie, en Amérique du Sud, en Asie, au Moyen-Orient et en Afrique.
Selon l'utilisation et la couverture de l'industrie, Drupal est le plus répandu dans les domaines caritatif et sans but lucratif. Viennent ensuite l'éducation, la santé, le gouvernement, les médias et l'informatique, qui figurent, entre autres, parmi les domaines les plus populaires.
Pourquoi et quand faire appel à un développeur Drupal ?
Étant donné que Drupal est utile et pratique pour la gestion de contenu, il va sans dire que les entreprises aiment s’en servir pour simplifier le travail de production et d'édition de contenu. Par conséquent, renforcer votre équipe avec de talentueux développeurs Drupal serait bénéfique pour répondre aux exigences du projet de contenu.
Il y a de nombreux avantages à opter pour ce recrutement, mais les plus notables sont :
- Une augmentation de l'efficacité – Avec de nombreuses fonctionnalités pratiques pour la gestion de contenu, Drupal est vraiment exceptionnel pour créer du contenu de manière efficace.
- Une évolutivité plus grande – Drupal se distingue de ses concurrents en offrant plus de flexibilité et de fonctionnalités.
- Une excellente sécurité – S'il y a une chose notable qui décrit instantanément ce CMS open-source, c'est son niveau de sécurité robuste. De plus, il possède tous les éléments essentiels afin de lancer un site Web sans tracas.
Parallèlement à cela, vous pouvez compter sur de nombreux autres avantages pour la croissance de l'entreprise, en engageant un développeur Drupal (ou une équipe de développeurs Drupal). Avec un bon développeur aux manettes, le contenu devrait toujours être mobile-friendly et se charger rapidement. Dans le même contexte, les auteurs de contenu peuvent tout aussi rapidement saisir et modifier les versions mobiles de leurs contenus directement depuis leurs appareils mobiles. La preuve d’une praticité sans limites !
Quant aux versions linguistiques, les traductions sont plus aisées. Le système de Drupal permet d’intégrer facilement plusieurs langues. De même, avec ce CMS, vous constaterez une succès considérable concernant la segmentation SEO; tout le contenu demeure tel quel et n'est donc pas modifié, permettant une vitesse de chargement rapide.
En ce qui concerne les avantages globaux qu'une entreprise pourrait tirer de l'utilisation de Drupal (et du recrutement de ses développeurs), Alain Paulikevitch, développeur full stack chez Proxify, a déclaré :
“Drupal est sans conteste, le CMS le plus demandé parce que de prime abord, les autorisations et les fonctionnalités de sécurité sont toutes unifiées. De plus, il se penche même sur des éléments individuels, au lieu d'un simple niveau de page. Pour l'implémentation du module, une gestion des permissions n’est pas nécessaire. Les autres avantages de Drupal sont la mise en cache unifiée et la déclaration de bibliothèques unifiées, qui toutes deux, simplifient le travail du développeur. Ajoutons à cela, le découplage de la couche de présentation afin de faciliter la gestion des thèmes et de nombreux crochets internes (pour les modules). Nous obtenons un CMS entièrement fonctionnel qui apporte des changements positifs significatifs quotidien avec le contenu en général.”
Alain Paulikevitch
Marques populaires qui ont recours à Drupal
Voici quelques noms de marque notoires qui utilisent Drupal (parmi beaucoup d'autres) :
- Tesla Motors
- Nokia
- McDonald's Australia
- Charles Schwab
- Harvard University
- Oxford University
- Grammy
- Chicago University
- Warner Records
- New York State Senate
- NASA website
- Commission européenne
Types de développeurs Drupal
Avant de commencer le processus de recrutement, vous devez savoir quel “rôle Drupal”, c'est-à-dire le titre du poste, vous devez combler pour votre projet/entreprise :
1. Créateur de sites Drupal (Drupal site builder)
Le Drupal site builder est responsable de la création d'un site Web fonctionnel et de l'utilisation de toutes les options de configuration de Drupal pour celui-ci. Ce développeur devra également en savoir davantage sur les types de contenu, la création de listes de vues et la gestion d’autorisations. Pour tous les problèmes à venir (survenant en travaillant avec ce CMS), le développeur peut compter sur les Drupal sites builders pour comprendre toutes les extensions, modules, plugins et comment utiliser ces outils de manière cohérente.
2. Développeur de modules Drupal (Drupal module developer)
Aussi connu sous le nom de Drupal backend dev, ce poste englobe de nombreuses écritures et manipulations PHP mais également, une connaissance et une expérience requises dans d'autres langages de programmation. Un Drupal backend developer effectuera des tests automatisés ainsi que le déploiement et la création de modules personnalisés.
3. Développeur de thèmes Drupal (Drupal theme developer)
Le développeur de thèmes Drupal est également un développeur front-end doté d’une expérience en conception graphique. Ils sont censés créer des thèmes personnalisés dans l’optique de rendre le site Web attrayant et fonctionnel. Avec des thèmes visuellement attrayants et une navigation fonctionnelle, les développeurs de thèmes Drupal permettent de faire rester les visiteurs plus longtemps sur le site Web.
Entretien d'un développeur Drupal
Conseils utiles pour une entrevue de présélection
Même si vous êtes qualifié pour effectuer vous-même l'ensemble du processus de recrutement, il est plus recommandé d’embaucher un recruteur et de déléguer ces entretiens à des spécialistes en recherche de talents. Ce type d'assistance externe garantit que seuls les meilleurs talents seront sélectionnés et que le recrutement sera certainement un succès (une sélection parmi les meilleurs candidats possibles).
Le spécialiste en recherche de talents saura sur quoi se focaliser lors des étapes de présélection et déterminera si un candidat donné est un excellent devrait poursuivre le processus d'embauche. Cela sera suivi de questions d'entretien plus spécifiques, ainsi que d'une évaluation des compétences générales du candidat dès le départ.
Selon le niveau de ponctualité, le style vestimentaire, l’aisance à communiquer du candidat, ainsi que les réponses aux questions techniques plus spécifiques, les recruteurs peuvent envisager la meilleure décision: embaucher le candidat ou poursuivre le processus d'entretien.
Compétences techniques d'un développeur Drupal
- Expérience avérée en PHP et en frameworks PHP
- Bonne connaissance en développement de Thèmes Drupal
- Bonne compréhension de Git et GitHub
- Expertise en sécurité Drupal
- Expérience en création et en installation de modules Drupal
- Expérience en mises à jour et en résolution de bugs sur un site Web alimenté par Drupal
De plus, le développeur Drupal a besoin d'une excellente compréhension des bases de données, ainsi que savoir travailler avec des logiciels multiplateformes. Ils doivent également pouvoir créer et personnaliser facilement un thème à partir de zéro en utilisant les dernières normes de codage CSS et HTML. Ils doivent maîtriser Drush (outil en ligne de commande pour Drupal) et utiliser l'API pour la création de formulaires.
Compétences non techniques d'un développeur Drupal
Les compétences non techniques de votre potentiel développeur Drupal doivent être aussi bien examinées que ses compétences techniques. Vous recrutez et la personnalité, et les compétences du candidat; alors gardez cela à l'esprit.
En règle générale, lors de l’entretien intial, les recruteurs et les spécialistes de l'acquisition de talents se concentreront sur la maîtrise de l'anglais, le niveau de communication globale et l'ouverture d’esprit. Il est essentiel que le candidat ait une attitude polie et professionnelle, qu’il écoute bien sans interruption du locuteur, qu’il soit curieux du poste et pose des questions orientées vers l'entreprise.
Bien sûr, la ponctualité, le code vestimentaire, la salle et l'équipement utilisés pour l'entretien sont d'autres éléments auxquels les recruteurs doivent prêter attention.
Points essentiels et évaluation d'un développeur Drupal
Un excellent développeur Drupal aura des compétences spécifiques et des éléments essentiels qui le démarqueront des autres. Par exemple, tous ces aspects, les technologies incontournables, ainsi que les facteurs d'évaluation de leurs compétences sont bien résumés par Alain comme suit :
“Un excellent développeur Drupal doit savoir travailler avec CSS, JavaScript, PHP, MySQL et le moteur de template, Twig. Supposons que je doive évaluer le prochain candidat de l'équipe Drupal; je me renseignerais sur le nombre d’années d'expérience qu'il a avec ce CMS et son niveau de familiarité avec ses composants - j'essaierais également d'évaluer à quel point il connaît bien les solutions innovantes liées à l'utilisation de tutoriels et de guides pour résoudre une tâche technique ou pour déboguer. Bien sûr, le candidat idéal devrait être un maître dans l'équilibrage de Web load farm, en clustering, en développement MySQL, en intégration de services tiers, mais aussi en optimisation de serveur individuel.”
Questions et réponses d’un entretien Drupal
- Parlez-nous du concept de Ctools dans Drupal.
Réponse attendue: Ctools est le regroupement d'outils et d'API visant à permettre une meilleure expérience globale de travail et de développement. C’est un projet subventionné, strictement destiné aux développeurs, dont les outils constituent une collection de classes qui peuvent être utilisées dans divers workflows et appliquées à de nombreuses fonctionnalités. Ils facilitent également la gestion du code et la création de bibliothèques.
- Que signifie PDO ?
Réponse attendue : PDO est l'abréviation de PHP Data Object, un outil facilitant l'accès à la base de données en permettant aux développeurs de créer des codes simples et portables. PDO est un excellent outil de travail car il ressemble à une couche d'accès aux données basée sur une API (Application Programming Language). L'activation de PDO est facile, via --with-pdo-sqlite-with-pdo-mysql et --enable-pdo
- Que représentent les "hooks" dans Drupal ?
Réponse attendue : Les crochets (hooks) sont les moyens d'interaction des modules de Drupal avec son code de base. Avec les crochets, nous pouvons définir non seulement des pages, mais également des URL, tout au long des modules. Nous pouvons ajouter du contenu sur certaines pages et même configurer et utiliser des tables personnalisées de bases de données. En un mot, les crochets sont le code API de Drupal qui permet une interaction facile du noyau Drupal avec un module Drupal.
- Parlez-nous de “render array”.
Réponse attendue : “Render array” est un type de building block pour les pages Drupal. C’est un tableau associatif; c'est-à-dire qu'il établit et confirme les structures de données et les normes de l'API Render dans Drupal. Les “render arrays” sont des building block, certes basiques, mais les plus utiles de Drupal. Ils permettent au développeur d'avoir une excellente structure pour afficher les modifications du contenu.
- Qu’est-ce que Drupal preprocessor ?
Réponse attendue : Drupal preprocessor est une fonction utilisée pour manipuler des variables; les thèmes (Drupal themes) reçoivent l'autorisation pour cela. Ces derniers géreront les variables du modèle Twig via des fonctions PHP pour le prétraitement des données. Après cela, ces données seront exposées dans chaque modèle. Les modèles, dans ce cas, sont les fichiers .tpl.php
- Que sont Drupal 'weight', 'cron' et 'drush' ?
Réponse attendue : Drupal weight représente la priorité et l'ordre d'une fonction spécifique qui n'a pas encore été traitée et affichée, permettant ainsi un tri personnalisé. Par exemple, un champ de pondération est appliqué aux nœuds activés. Au cas où le nœud a un pondération inférieure, il émergera toujours en tête des listes, mais avec un pondération forte, il « coulera » plus bas sur la liste.
Cron Drupal est un planificateur de tâches basé sur le temps. Il permet une configuration avec exécution automatique des tâches; c’est-à-dire, sans aucune manœuvre manuelle requise, autre que cette configuration utilisée. Les scripts et les commandes sont exécutés efficacement, à une heure et à une date précises.
Drush Drupal est une interface UNIX pour scripts; un shell de ligne de commande, excellent pour les experts en utilisation d'outils de ligne de commande. Drush Drupal permet les mises à jour PHP, l'exécution de requêtes SQL, la simplification de la migration de contenu, etc.
- Parlez-nous des modules de référencement Drupal (Drupal SEO modules).
Réponse attendue : Les modules de référencement Drupal sont :
- Related Links – Ce module permet d'afficher les URL associées à l'utilisateur via différents blocs.
- Google Analytics – C'est la solution idéale pour suivre et analyser le trafic de votre site web, notamment lorsqu’il est combiné avec Drupal 8.
- Pathauto – Un module pour créer des URL soignées en utilisant le contenu de la page. Il est idéal pour une analyse du corps de la page, des balises de titre (title tags) et des en-têtes (headers).
- Meta tags/Node words – Avec le module Meta tags, nous pouvons fournir des balises de titre de façon dynamique et les métadonnées obtiennent également une excellente structure, en l'appliquant à chaque page de site Web avec laquelle nous travaillons.
- Search 404 – Ce module utilise la capacité de recherche sur le site Web Drupal pour montrer des résultats/pages pertinents mais il ne fournit pas de recherche par lui-même.
- URL list – Ce module permet de créer facilement une liste affichant les URL des nœuds. Plus tard, ces URL seront soumises aux moteurs de recherche.
- Site map – Ce module est utilisé pour obtenir un aperçu accessible du site. Il fournit un plan soigné du site aux visiteurs et affiche les flux RSS de toutes les catégories et blogs possibles.
- Service Links – Ce module permet d'ajouter des liens de réseaux sociaux à travers du contenu ou des boutons JavaScript. Il est excellent pour les “themers” et les développeurs qui aiment expérimenter des options d'affichage personnalisées.
- Développez la question des distributions Drupal (Drupal distributions).
Réponse attendue: Les copies complètes de Drupal sont appelées “Drupal distributions”. Ils contiennent le noyau Drupal ainsi que des thèmes, des bibliothèques, des modules et des profils d'installation. Nous divisons ces distributions en deux catégories :
- Complet (full-featured) : Des solutions complètes pour des usages spécifiques.
- Les autres : Points de départ essentiels et outils de démarrage rapide.
Drupal a de nombreuses distributions, telles que Cappuccino Starter Kit, deGov, Guardr, Conference Organizing, Open Social et autres.
- Comment procéderiez-vous pour réaliser l'optimisation d'un site Web Drupal ?
Réponse attendue : C’est un processus assez simple. Tout d'abord, nous mettons en cache la page ou autrement dit, activons le processus de mise en cache. Ensuite, il faut compresser tous les fichiers CSS avant d'activer l'agrégation JS. Puis, nous déplaçons les fichiers multimédias vers CDN (Content Delivery Network), et nous faisons de même avec les fichiers statiques, avant de finaliser l'optimisation du thème. Habituellement, ce processus d'optimisation du site Web Drupal inclut également l'optimisation de MySQL et l'utilisation de diverses méthodes de mise en cache telles que la mise en cache des pages et la mise en cache des vues.
- Veuillez faire une comparaison entre "alter query" et "update" dans Drupal, en nous parlant davantage de ces deux éléments.
Réponse attendue : Update, dans Drupal, est une déclaration de type DML (Data Manipulation Language) et est utilisé uniquement pour la mise à jour des données.
Alter query représente un type d'instruction DDL (Data Definition Language) et est utilisé exclusivement pour la mise à jour de la structure des tables, comme l'ajout et la suppression d'index ou de champs.
Qu'est-ce qui distingue un excellent développeur Drupal d'un bon ?
Il est assez simple de reconnaître le meilleur développeur Drupal parmi deux ou plusieurs candidats prometteurs. Que vous fassiez ce choix au sein d'un groupe communautaire Drupal, sur une plateforme Drupal, ou en utilisant d'autres plateformes d'emploi, il y aura toujours un développeur qui se démarquera des autres.
Comparé aux bons, les excellents développeurs Drupal ont plus d'années d'expérience et plus de projets Drupal dans leur portfolio. Ils ont également une excellente maîtrise de l'anglais et une attitude globale proactive. Vous devez vous assurer que la personne donnée corresponde parfaitement à la culture de l'équipe et pas seulement à la technologie / aux compétences pour lesquelles vous l’embauchez. Un développeur proactif est celui qui pense en termes d'améliorations et de solutions, plutôt que de suivre aveuglément des tâches déléguées.
Et bien sûr, le facteur apparent est de trouver toutes les bonnes réponses et de réussir les tâches techniques pendant les étapes de l'entretien.
A ce stade, Alain a également ajouté :
"Un excellent développeur Drupal est toujours curieux d'en savoir plus et d'utiliser les meilleures techniques possibles pour une certaine fonctionnalité. Un excellent développeur ne s'arrête pas à la première solution évidente et facile, mais explore plutôt ce qu'il y a d'autre à utiliser et à mettre en œuvre."
Défis possibles lors du recrutement d'un développeur Drupal
Comme pour tout processus de recrutement, certains défis sont également à envisager.
Par exemple, il y a le risque de sélectionner des candidats qui ne sont pas de premier plan. Pour éviter cela, vous devez confier ce travail à des recruteurs expérimentés et à des spécialistes en recrutement de talents.
Un autre obstacle est la concurrence qui, dans la plupart des cas, est prête à faire des pieds et des mains afin d’avoir le développeur le plus prisé du marché, en poche. Connaître au préalable votre budget d'embauche serait très utile, tant pour les recruteurs que pour le candidat sélectionné.
Avantages de l'utilisation de Drupal
Avoir recours à Drupal pour un projet/une entreprise comporte les bénéfices suivants :
- La disponibilité des ressources – Vous pouvez trouver de nombreuses fonctionnalités utiles déjà créées. En outre, tout est facilement accessible. Par exemple, le cas des modules Drupal dans le cadre du community sharing.
- La fiabilité – Drupal fait partie des CMS les plus populaires et ce, en raison de la stabilité qu'il offre sur le long terme.
- La flexibilité – En tant que CMS très flexible, Drupal permet non seulement au développeur de créer facilement divers contenus à sa guise, mais aussi de choisir ultérieurement lesquels personnaliser.
- La robustesse et les fonctionnalités pratiques – Avec un code source écrit et défini avec précision, Drupal peut se vanter de la facilité et de la commodité des tâches à accomplir.
- L’évolutivité – Grâce aux modules Drupal, vous pouvez bien mieux étendre le noyau Drupal. Et si le module dont vous avez précisément besoin n’existe pas encore, vous pouvez facilement le créer ou le modifier à partir de ceux existants.
- Le niveau de sécurité – La sécurité de Drupal est assez stellaire; elle obtenue grâce à de nombreux tests précis et à des règles strictes de test, finalisés avec une protection/sécurité intégrée et éprouvée. Tout élément installé ou toute importation de données importantes sera verrouillé pour des raisons de sécurité.
- Une grande communauté – Drupal possède une vaste communauté d'utilisateurs depuis 2001, et il y a constamment de nouvelles informations, des mises à jour, du matériel d'apprentissage et d'autres ressources utiles de toutes sortes d'experts Drupal.
De plus, Alain a ajouté un avantage supplémentaire à l'utilisation de Drupal :
"Lorsque je travaille sur d'autres frameworks CMS, je ne me sens jamais aussi bien qu’avec Drupal. Il simplifie tous les défis de flux de workflow possibles. Dans l'ensemble, avec de la minutie et une réalisation correcte de chaque étape, la quantité de code réutilisable d'un projet (souvent sous forme de module) sera bien meilleure et plus élevée qu’avec un autre framework.”