Baptiste Dufour

Thème WordPress du master CAWEB

Thème du Master Caweb - capture d'écran

Au cours de ma seconde année de master, j’avais comme projet universitaire la refonte du thème du site de la formation. En effet, celui-ci avait un peu mal vieilli visuellement et souffrait de beaucoup de bugs. Une refonte de A à Z du thème était donc nécessaire.

Un départ un peu difficile.

À ce moment-là, je n’avais encore jamais développé de thème WordPress en partant d’une feuille vierge. Il m’a fallu me familiariser avec les fichiers de template et à la « template hierarchy », ainsi qu’au concept de la « boucle » qui permet d’afficher les contenus. Néanmoins, je m’y suis assez vite habitué, et j’ai pu créer les différents modèles de pages, en respectant les maquettes Figma de l’équipe Webdesign.

Pour l’intégration des maquettes, mes compétences en CSS m’ont été très utiles, et j’ai pu me perfectionner en JavaScript avec la réalisation du menu mobile, qui est quand même assez complexe.

Les « custom post types » et ACF.

Toutefois, le site du master CAWEB n’est pas un simple site vitrine, ni un blog qui ne contient que quelques pages et articles. Ainsi, j’ai dû recréer les types de contenus, ou « custom post types » pour afficher les enseignants du master, ou encore pour les créations étudiantes.

Certains de ces « custom post types » nécessitaient l’emploi du plugin ACF (Advanced Custom Fields), qui permet d’ajouter très facilement des champs à éditer, pour différents types de contenus, que ce soit des articles, des pages, des « custom post types », ou même des éléments de menus. Si cette opération est également possible par le code, c’est tout de même beaucoup plus facile avec ACF, puisque tout ce fait depuis le back-office. Pour récupérer les entrées enregistrées, rien de plus simple, le plugin fournit une fonction get_field à utiliser dans les fichiers de template.

L’internationalisation du thème.

Le site du master CAWEB est francophone et anglophone, et utilise le plugin WPML pour gérer les traductions. D’un point de vue du développement, il faut internationaliser le thème, de manière à ce que les chaînes de caractères des fichiers de template soient traduisibles, et non pas « hard-codées ». Pour ce faire, il faut utiliser les fonctions d’internationalisation pour « encapsuler » les chaînes de caractère, ce qui permettra d’afficher la traduction en fonction de la langue courante. Pour rendre cela possible, il est nécessaire de générer un fichier .pot, qui contient toutes les chaînes encapsulées, et des fichiers .po et .mo pour chaque langue. J’ai utilisé le très bon plugin « Loco Translate », qui permet de faire cela depuis le back-office.

Un projet mené à bien.

Ce projet universitaire m’a permis de faire du « vrai » développement WordPress. De plus, le site est vraiment en ligne et tient ses promesses en matière de fonctionnalités, d’absence de bugs, et est également plus joli qu’avant.

Si vous avez besoin d’inspiration, vous pouvez regarder le code sur mon dépôt GitHub. Les développement futurs du thème se feront sur un autre dépôt, et sont entre les mains des étudiants du master CAWEB qui vont me succéder !