Ça devait bien finir par arriver un jour ou l’autre…

Depuis quelques mois, voire quelques années, vous créez des sites WordPress pour vos clients, vos amis, votre association ou votre propre site perso.

Seulement voilà, à part installer des thèmes et des extensions, vous ne savez pas comment faire pour aller plus loin et avoir les fonctionnalités sur mesure qui manquent à votre projet.de

Pire, vous vous mettez en porte-à-faux vis-à-vis de vos clients, car vous êtes incapable de développer les fonctionnalités demandées.

Bref, la catastrophe. Et vous ne savez plus comment vous y prendre.

Je me trompe ?

Vous en avez assez de copier des bouts de code PHP par-ci par-là pour arriver à faire ce que vous souhaitez ?

Pareil pour le design de votre thème, vous n’y connaissez pas grand-chose en CSS, ce qui limite vos possibilités de personnalisation.

Rassurez-vous, j’ai déjà connu ça, avant d’apprendre, j’étais moi même incapable de développer la moindre fonctionnalité pour WordPress.

À l’époque, j’étais censé développer un calculateur de prix pour un chauffeur VTC.

Le client devait rentrer son adresse de départ et celle d’arrivée pour obtenir le prix final. Le prix pouvait également varier si on était en heure creuse ou non.

Comme je n’y connaissais rien en développement WordPress, et pas grand-chose en PHP, j’ai dû finir par m’avouer vaincu une fois le nombre de bugs impressionnant que j’avais réussi à implémenter…

Finalement, on a pris contact avec des développeurs indiens pour faire le système de calcul, inutile de vous dire qu’on a mis 2 mois pour se faire comprendre et recevoir la totalité des fonctionnalités demandées, bref l’horreur.

J’avais un sentiment de honte et d’impuissance.

Parfois, on se retrouve avec cette tête

Ce projet m’a marqué, car il n’a jamais abouti. Forcément le client était mécontent et notre relation s’est arrêtée, car le résultat escompté n’était pas au rendez-vous.

C’est à partir de ce moment là que je me suis senti vraiment limité et que j’ai décidé de devenir développeur.

Imaginez-vous un seul instant, dans quelques mois, ou quelques années, capable de :

  • développer presque n’importe quelle fonctionnalité demandée par un client ;
  • lancer le projet de vos rêves sans l’aide de quiconque.

Si vous vous reconnaissez à travers mon exemple, alors cet article est surement fait pour vous. Je vais vous expliquer les meilleurs moyens de vous transformer en développeur WordPress.

Dans cet article, on va essayer de casser les idées reçues, et vous expliquer calmement quel chemin vous pouvez prendre pour y parvenir.

C’est bon pour vous ? Alors, parlons plutôt des bénéfices.

Pourquoi devenir développeur WordPress

Avant toute chose, il faut comprendre qu’un développeur WordPress est un développeur tout court.

Ainsi, peu importe la technologie, il est capable de s’adapter à toute sorte de projets web ou non avec de l’apprentissage.

  • Vous serez capable de développer un thème sur mesure de A à Z ;
  • Vous serez capable de développer une extension sur mesure et la publier sur le dépôt WordPress.org ;
  • Vous pourrez répondre à la plupart des demandes spécifiques de vos clients ;
  • Vous pourrez lancer vos propres projets solos sans avoir besoin de personne ;
  • Vous serez acteur d’un CMS qui propulse plus de 1/4 des sites web dans le monde ;
  • Vous pourrez devenir freelance sans soucis ;
  • Vous pourrez peut-être devenir le prochain créateur francophone d’une extension populaire qui se vendra comme des petits pains : cf WP Rocket, WP Grid Builder, Polylang ou WP Customer Area.

Ça en fait des possibilités, n’est-ce pas ?

Passons aux différentes étapes pour vous former au développement WordPress.

Étape 1 : Prendre en main WordPress

Bon ça je l’avoue, vous l’avez surement déjà fait.

Je l’ai mis en étape 1 parce que si vous êtes en train de lire cet article, c’est que vous utilisez certainement déjà WordPress.

Alors l’idée ici n’est pas de passer vos 6 prochains mois non-stop à faire le tour en long, en large et en travers du CMS, mais plutôt de tester des choses, des extensions populaires, des fonctionnalités du cœur que vous n’avez pas l’habitude d’utiliser.

Par exemple : bien comprendre l’utilisation des widgets, de l’outil de personnalisation, des utilisateurs, des paramètres de votre thème, etc.

D’ailleurs, si vous souhaitez booster votre site WordPress, n’hésitez pas à télécharger mon guide gratuit qui va vous aider à rendre votre site rapide, sécurisé et optimisé (en plus de vous donner plein de bons conseils).

Je vous conseille également la lecture de cet article référence, écrit par Daniel Roch, expert SEO & WordPress : Comment fonctionne WordPress. Vous allez surement en apprendre énormément à travers ses explications très claires.

Bref, l’objectif, c’est d’être à l’aise. Prenez le temps qu’il vous faut, cet apprentissage n’est pas séquentiel, vous pouvez prendre en main WordPress et en même temps apprendre à coder.

Étape 2 : Apprendre le HTML

Ah le fameux HTML. C’est la base du web.

Le HTML est un langage de balises permettant de créer une page web. Il a été créé par Tim Berners-Lee, l’un des fondateurs du World Wide Web Consortium (W3C).

Le HTML sert à décrire la structure et le contenu d’une page. Par exemple, on y retrouve différentes balises de contenus tels que : <img> pour afficher une image ou <p> pour afficher un paragraphe de texte.

L’utilisation combinée de toutes ces balises permet de créer une page web complète.

Vous pouvez par exemple vous amuser à effectuer un clic droit : “Afficher le code source de la page” sur l’article que vous êtes en train de lire pour voir apparaître le contenu HTML de cette page.

Afficher le code source d'une page

Le HTML est donc à la base de chaque page web, c’est un prérequis indispensable si vous souhaitez par la suite apprendre à coder en PHP et sur WordPress. Car peu importe le code que vous réalisez, au final, cela sert uniquement à afficher des pages HTML.

Ce qui est bien avec le HTML, c’est que c’est la chose la moins difficile.

Vous pouvez assez rapidement maitriser la plupart de ses subtilités sans trop de soucis. Il n’y a nul besoin d’être développeur, puisqu’il ne s’agit pas à proprement parlé d’un langage de programmation.

Ainsi pour apprendre le HTML, vous pouvez lire les nombreux tutoriels pour débutants qui fulminent sur la toile. On peut par exemple conseiller les très bonnes ressources tels que :

Étape 3 : Apprendre le CSS

Bon, une fois qu’on maitrise un peu le HTML, on peut passer à la vitesse supérieure avec le CSS.

Fini les galères pour personnaliser son thème WordPress, une fois que vous serez à l’aise avec CSS, plus rien ne vous arrêtera.

Là encore, ce n’est pas la partie la plus compliquée, étant donné que le CSS n’est pas un langage de programmation.

Il s’agit uniquement de règles qu’on applique à des éléments HTML.

Ainsi si on prend par exemple une balise <p>bla bla bla</p>, on pourrait écrire le code CSS suivant :

p {
color: red;
background-color: gray;
font-size: 18px;
font-family: Arial;
font-weight: bold;
}

Bon ne reculez pas tout de suite, ce bout de code n’a rien de sorcier.

Il affiche le texte des paragraphes en rouge avec un fond gris, de taille de police 18px en Arial et en gras.

Dites-vous que pour l’écriture de CSS il n’y a pas besoin d’une imagination débordante, il suffit de connaître la plupart des propriétés CSS qui existent.

Avec un peu d’entraînement, vous connaîtrez les propriétés CSS par cœur, vous allez donc pouvoir vous débrouiller rapidement.

Une fois de plus, on retrouve énormément de ressources CSS sur le web.

Je vous conseille personnellement les ressources suivantes :

Apprenez le CSS une bonne fois pour toutes

Créez des sites au rendu impeccable sans y passer des heures avec CSS Express.

Étape 4 : Apprendre le PHP/MySQL

C’est l’étape la plus compliquée du parcours.

Pour devenir un vrai “développeur”, il faut savoir écrire des algorithmes.

Un algorithme, c’est une suite d’instructions permettant de résoudre un problème.

Par exemple, pour aller au travail ce matin, je devrais :

  • Me réveiller à 7h00 ;
  • Me doucher ;
  • M’habiller ;
  • Manger ;
  • Prendre le bus à :
    • 8h03 à l’arrêt près de chez moi ;
    • Si je rate celui de 8h03, prendre le prochain à 8h18 ;
  • Descendre du bus ;
  • Marcher jusqu’au bureau.

Vous voyez le truc ?

Alors, dans la vraie vie, ça n’a rien de bien méchant, vous le faites tous les jours sans vous en rendre compte.

Par contre, appliqué à l’informatique et au web, ça devient un peu plus complexe, il faut bien appréhender le contexte.

Souvent, dans les formations d’informatique, on apprend d’abord à écrire des algorithmes en pseudo-code afin de pouvoir s’adapter ensuite à n’importe quel langage de programmation.

Exemple d'algorithme
Vous voyez le principe ?

Le but est d’obtenir cet esprit de logique pour pouvoir être à l’aise ensuite pour écrire du vrai code.

Une fois cette petite introduction présentée, parlons des choses sérieuses.

Le PHP est un langage de script dédié au développement de sites web. Son utilité ? Dynamiser le contenu de vos pages.

Si on utilise seulement du HTML, nos pages seront statiques. Avec le PHP, on peut imaginer tous les scénarios qu’on souhaite, par exemple :

  • Un forum ;
  • Un blog ;
  • Un site de petites annonces ;
  • Un site de rencontre ;
  • Un annuaire en ligne.

Il existe des dizaines d’autres langages de programmation tels que :

  • C# ;
  • C ;
  • C++ ;
  • Java ;
  • Ruby ;
  • Python.

La plupart partagent des concepts assez similaires, seuls la syntaxe et le type d’usage qu’on en fait varient en général.

Et si coder était aussi simple que ça ?

Malheureusement, ce n’est pas aussi facile. Au contraire, ça va vous demander beaucoup d’efforts et de motivation.

C’est l’étape d’apprentissage la plus difficile.

Pour apprendre le PHP, je vous conseille ces différentes ressources :

En général, quand vous développerez des projets en PHP, vous utiliserez souvent des bases de données. Ces dernières permettent de sauvegarder de manière persistante des données de votre site.

Appliqué à WordPress, on retrouve une base de données MySQL, composée d’une dizaine de tables pour stocker les articles, pages, commentaires, utilisateurs, options, catégories de votre site.

Il est donc primordial de connaître un minimum le langage SQL qui permet d’écrire des requêtes de base de données telles que :

  • Récupérer la liste des utilisateurs dotés d’un rôle précis ;
  • Ajouter un article ;
  • Modifier une option.

Vous allez voir qu’avec WordPress, vous n’aurez presque pas à écrire ce genre de requête (hors cas spécifique) étant donné que l’API interne vous permettra de récupérer les données de la base de données via des fonctions dédiées.

Étape 5 : Coder dans WordPress

L’étape finale. Vous savez, un peu comme dans les jeux vidéo avec le boss final, celui tellement difficile à battre qu’on soit obligé de recommencer une bonne vingtaine de fois avant d’en venir à bout.

Mais je vous rassure, celui-ci fait un peu moins peur tout de même 🙂

Trêve de plaisanterie, venons-en au sujet qui nous intéresse ici.

Une fois que vous avez acquis un peu de bouteille avec le PHP, vous êtes fin prêt pour passer à l’étape supérieure : le monde merveilleux de WordPress !

Avant de rentrer directement dans le code, il convient de mieux comprendre comment est géré WordPress.

Il faut savoir que WordPress est un logiciel Open Source sous licence GPL, cela signifie que vous pouvez l’utiliser, le modifier et le redistribuer comme bon vous semble.

Étant Open Source, c’est donc une communauté de bénévoles qui améliore WordPress d’année en année. On a en général une version majeure de WordPress tous les 4 mois.

La première chose fondamentale à comprendre, c’est la rétrocompatibilité.

Dans WordPress, chaque modification majeure doit avoir le moins de répercussions sur les fonctionnalités actuelles.

Ainsi il est interdit de “casser” un comportement issu d’une ancienne version.

Concrètement, c’est grâce à cette politique que vous pouvez mettre à jour aussi facilement vos sites WordPress vers les nouvelles versions majeures, contrairement à d’autres frameworks/CMS où chaque mise à jour majeure entraîne une phase de migration assez énorme, très coûteuse en temps.

Avec WordPress, vous n’avez normalement aucun changement de code à faire pour chaque nouvelle version majeure. Alex a d’ailleurs expliqué ça en vidéo :

La rétrocompatibilité est donc une force, mais aussi une faiblesse.

En effet, WordPress a été créé initialement en 2003, il n’est plus tout jeune, et sa politique l’empêche parfois de lancer des chantiers d’envergures.

Ainsi, certaines parties du cœur peuvent être considérées comme mal codées, ou très anciennes, ce qui ne facilite pas l’adoption des bonnes pratiques actuelles.

Il serait impossible de refondre toute une partie du code sans impacter les millions de sites dans le monde.

L’API interne de WordPress est assez complète, il y a énormément de fonctions qui évitent de devoir tout écrire soit même.

Ainsi pour apprendre à développer sur WordPress, plusieurs solutions s’offrent à vous.

Pour se documenter, le mieux est de se servir du Codex ou du Code Reference, c’est la documentation officielle de WordPress.

Vous pouvez également utiliser un générateur de code comme WPTurbo pour vous faire gagner du temps et éviter de faire des erreurs.

Du côté des blogs, vous en avez des nombreux comme WP Marmite, SEOMix et WP Channel pour n’en citer que quelques-uns. Ils vous aideront parfois avec quelques bouts de code ou des tutoriels complets, ils vous serviront également à connaître davantage l’écosystème de manière globale.

Pour des ressources un peu plus orientées développement, on peut citer aussi les blogs francophones suivants : Maxime Culea, Wabeo, Mosaïka et GeekPress.

Ensuite Google est bien évidemment votre ami et vous permet de trouver pas mal de réponses sur StackOverflow par exemple. Essayez de poser vos questions en anglais pour être sûr de trouver des résultats :

Google est votre ami, ne l'oubliez pas

Essayez aussi d’utiliser les bons outils, tel qu’un bon IDE comme PHP Storm (j’en parle un peu dans l’article précité), cela vous permettra de mieux connaître le cœur de WordPress (ses fonctions et ses hooks).

Enfin, si je devais vous proposer un parcours d’apprentissage pour commencer, je vous conseillerais sans doute celui-ci :

  • Création d’un Custom Post Type ;
  • Création d’une taxonomie personnalisée ;
  • Création de champs personnalisés (avec ACF notamment) ;
  • Tests de WP_Query en tout genre ;
  • Récupérer des infos de l’utilisateur, afficher des données seulement si l’utilisateur est connecté ;
  • Développer un template de page personnalisé ;

WordPress est extensible à souhait, ne l’oubliez jamais, vous pouvez développer presque n’importe quel type de site avec ce CMS, même si dans certains cas, notre cher CMS ne sera pas l’outil le plus plébiscité bien sûr.

Étape 6 : Apprendre le JavaScript (facultatif)

Là pour le coup, il n’y a rien d’obligatoire.

Le JavaScript, c’est le langage de programmation (exécuté côté client, c’est-à-dire dans le navigateur) qui permet de dynamiser un peu plus vos pages web.

Vous connaissez peut-être la célèbre librairie JavaScript jQuery, on la retrouve par exemple de base dans WordPress.

Ainsi, le JavaScript (abrégé JS) peut être utilisé pour créer des systèmes d’accordéons, d’onglet, ou de slider (carrousel) par exemple.

Il est également de plus en plus populaire avec les dernières nouveautés et la prolifération impressionnante du nombre de nouveaux frameworks qui sortent chaque mois.

Vous avez peut-être déjà entendu parler de :

  • Angular ;
  • EmberJS ;
  • MeteorJS ;
  • React ;
  • VueJS.

Certains de ces frameworks permettent même de se passer de certains langages de programmation serveur tels que PHP, car ils permettent d’écrire du code qui s’exécute à la fois côté client, mais aussi côté serveur.

La plupart des sites web utilisent donc de plus en plus de JS, si bien que le fondateur de WordPress lui-même, Matt Mullenweg, invite vivement les développeurs WordPress à se pencher davantage vers le JavaScript :

Si apprendre le code en profondeur vous intéresse, vous pouvez jeter un oeil à FrontendMasters. Vous y trouverez de nombreuses formations liées au CSS et au JS.

Bonus : Mon propre parcours pour devenir développeur WordPress

Florian Tiar
C’est moi, Florian 🙂

J’ai beau vous expliquer pas à pas les différentes étapes, rien de tel que vous expliquer mon propre parcours qui m’a amené à devenir développeur WordPress.

Suite à un BTS IRIS (informatique : développement & réseau), j’ai d’abord appris à développer sur des langages bas niveau tel que le C et C++, mais aussi sur du Java.

Puis en me formant de mon côté au HTML/CSS, j’ai beaucoup apprécié le monde du web pour son côté libre.

En tant qu’étudiant fauché, chaque centime compte, donc le côté “accessible gratuitement” de WordPress m’a aussi beaucoup plu.

J’ai donc passé des semaines à lire des tutos HTML et CSS en tout genre.

J’avais l’impression d’avoir lu la totalité des tutoriels, d’être devenu une sorte de super expert du HTML. Je ne vous cache pas que j’étais très fier de ce que j’avais appris.

J’ai ensuite décidé de rejoindre l’HÉTIC, la grande école du web. Elle est considérée comme la meilleure école du web en France.

HETIC, la grande école de l'Internet

C’était un vrai tremplin pour moi. J’avais l’impression d’être arrivé à l’endroit parfait pour devenir un acteur du monde du web.

Quand j’y repense, encore deux trois ans en arrière, je n’avais aucune idée de ce que je souhaitais faire de ma vie, et là j’avais enfin trouvé un but clair.

Ainsi, à l’HÉTIC, on travaillait en équipe avec un développeur front, un développeur back, un graphiste, un chef de projet, et un profil marketing/SEO en général, ce qui nous permettait de sortir des projets très aboutis en très peu de temps, une sorte de petite agence web en clair.

En parallèle, j’étais en pleine découverte de WordPress, j’en étais à mon deuxième client, après un site vitrine, je me suis attaqué à un site e-commerce simple avec WooCommerce.

J’étais de plus en plus confiant dans l’utilisation que je faisais de WordPress. Je me rendais compte des nombreuses possibilités qu’offrait le CMS.

Benjamin Niess
Benjamin Niess

Puis à l’école, j’ai eu un très bon cours WordPress, dispensé par Benjamin Niess. J’étais super attentif, car Benjamin nous a fait un cours technique pour apprendre à développer avec WordPress, on parlait Custom Post Type, ACF, etc.

Le projet qu’il nous a donné était intéressant et m’a permis de prendre en main le code PHP sous WordPress.

Je suis même allé l’embêter avec le projet dont je vous parlais dans l’introduction de cet article, mais malgré ses très bons conseils, je partais de tellement loin que je n’avançais pas.

Pour vous dire, je ne savais même pas ce qu’était un die en PHP, j’étais incapable de débugger du code, le niveau 0 quoi.

En clair, j’ai voulu apprendre WordPress avant de vraiment maitriser PHP. Pas top, je ne vous le recommande pas.

L’année continue et arrive le moment des projets pédagogiques. Avec mon groupe, on a en charge le développement d’un site vitrine pour l’association d’anciens étudiants d’une école. On décide d’utiliser WordPress et je prends en charge le développement backend du projet.

Comment vous dire, c’était loin d’être une mince affaire. Plusieurs types d’inscriptions complexes, paiement PayPal, une partie du site privé, des événements, des articles, des offres d’emplois, et une maquette et une intégration sur mesure, donc pas mal de boulot. Ça nous a pris des mois pour tout finir.

Alors, quand est venu le temps de chercher un stage de fin d’année, j’avais envie de continuer dans l’univers WordPress.

J’ai donc postulé chez plusieurs agences web parisiennes dont l’ancienne de Benjamin Niess, Be API, et c’est cette dernière qui m’a donné ma chance 🙂

Agence Be API

Be API est une agence 100 % WordPress, pas le temps de s’éparpiller donc, on ne fait que du WP chez eux.

En l’espace de 4 mois de stage, j’ai travaillé sur des projets WordPress complexes pour de grands clients.

C’était du pur développement, bien loin de l’idée du tout en “clic clic” habituel qu’on entend avec WordPress. J’ai développé des dizaines d’extensions adaptées aux besoins des clients.

Vous imaginez ?

En l’espace de seulement 4 mois, j’ai appris énormément. Ça m’avait tellement plu que j’ai décidé de prolonger l’aventure avec eux pendant 2 ans en alternance. C’est donc en grande partie grâce à eux que je suis devenu développeur WordPress.

Et en l’espace de 2 ans, j’ai même contribué au cœur de WordPress (versions 4.7, 4.8 et 4.9) et publié certaines extensions sur le dépôt officiel.

Alors, dites-vous une chose, tout est possible, challengez-vous !

Certes, j’ai eu la chance d’étudier le développement à l’école pendant plusieurs années, et trouver un stage idéal pour apprendre à coder sur WordPress, mais c’est aussi à votre portée si vous vous en donnez les moyens, croyez en vous !

Conclusion

À travers cet article, j’ai souhaité vous montrer que oui, il est tout à fait possible de devenir développeur WordPress avec du temps et de la motivation.

Bien sûr, y parvenir ne se fait pas du jour en lendemain, mais comme tout, c’est progressif, posez-vous la question du pourquoi. Est-ce qu’être développeur vous permettra d’atteindre les objectifs que vous vous êtes fixés ?

Nous avons vu les étapes les plus logiques pour devenir développeur WordPress :

  1. Apprendre le HTML ;
  2. Apprendre le CSS ;
  3. Apprendre le PHP/MySQL ;
  4. Mieux connaître l’écosystème et le backoffice WordPress ;
  5. Apprendre à coder dans WordPress ;
  6. Facultatif : Apprendre le JavaScript.

Je ne peux que vous encourager à découvrir les joies du code. À vous de jouer 🙂

Et si vous voulez vous lancer en tant que développeur WordPress freelance, jetez un oeil à la formation “Devenir un Freelance WordPress Accompli” de la Marmite. Au programme : des bonnes pratiques pour lancer son business sur les chapeaux de roues, et chouchouter ses clients !

Devenez un freelance WordPress accompli

Trouvez les bons clients, vendez des sites rentables, et libérez-vous de vos contraintes​

Est-ce que vous souhaitez vous aussi devenir développeur WordPress ? Expliquez-nous vos motivations en commentaire ! Et si vous êtes déjà développeur, partagez-nous votre parcours.