Avec WordPress, vous avez deux solutions. Utiliser WordPress dans son intégralité ou séparer le back du front en conservant votre CMS uniquement pour ce qu’il sait faire de mieux : gérer des contenus. Lors du BlendWebMix, Thomas Deneulin (développeur fullstack, jeuxvideo.com) est venu présenter les principes et les intérêts du headless avec WordPress.

Une instance pour les gouverner tous

WordPress est le CMS le plus populaire. Plus d’un tiers des sites internet dans le monde sont basés sur cette technologie. WordPress doit en partie son succès à la simplicité de sa mise en place : installer un WordPress, c’est très rapide. On accède directement à un back-office, une interface côté front, des plugins, des thèmes, un système de gestion des médias… C’est un CMS couplé, pratique pour les particuliers et de nombreuses entreprises, mais d’autres solutions peuvent être envisagées pour réduire les risques et accroître les possibilités.

Qu’on lui coupe la tête !

Le principe du headless consiste à séparer le front du back-office. On conserve WordPress pour gérer ses contenus, pas pour les afficher (la gestion des thèmes devient obsolète). On passe alors d’un CMS couplé à une architecture cloud-first qui respecte un principe central de l’informatique : la séparation des préoccupations (SoC, separation of concerns). On revient aussi aux fondamentaux d’un CMS, conçu pour administrer des contenus. On sépare le back-end (propulsé par WordPress), la base de données et le front-end. Les données peuvent être consommées par une application web (un site), mais également par une application mobile ou un terminal quelconque.

L’intérêt de WordPress en CMS headless

WordPress facilite la séparation des intérêts depuis l’intégration de l’API REST dans le cœur du CMS en 2015. L’arrivée de l’éditeur par blocs Gutenberg, avec WordPress 5, renforce un peu plus l’intérêt de l’API. Elle est activée par défaut, ce qui peut poser des problèmes de sécurité, surtout si vous n’en n’avez pas besoin (dans ce cas, vous pouvez la désactiver). Mais cette API REST permet l’usage de WordPress en CMS headless. Les avantages sont nombreux : on renforce la sécurité puisque le thème WordPress constitue souvent un point d’entrée ; la plupart des ressources sont déjà accessibles depuis la REST API ; elle est normalisée ; un certain nombre de plugins exposent leurs données ; on se libère de la technologie PHP pour construire les interfaces.

Vous pouvez héberger votre WordPress, vos médias (AWS S3, buckets GCP…) et votre front-end sur des serveurs différents. Si vous proposez plusieurs sites, utiliser l’option multisite de WordPress peut vous permettre de concentrer vos développements back-end. Les données de chaque espace pourront ensuite être appelées séparément, en fonction de vos besoins.

Penser son architecture ainsi, avec WordPress pour le back-end et la technologie de votre choix pour le front-end a également un intérêt RH pour les entreprises. Cela facilite les recrutements et limite les dépendances car vos développeurs front-end n’ont pas besoin de maîtriser WordPress ou le langage PHP pour accéder aux données délivrées par le CMS.

Résoudre les inconvénients de l’API REST de WordPress

L’API REST de WordPress n’est pas parfaite pour autant : le menu n’est pas accessible, il n’existe pas ou peu de plugins SEO avec une API pour exposer les données META nécessaires, elle est un peu lente et la connexion via OAuth 2.0 n’est pas proposée nativement. Mais il existe des parades pour contourner ces défauts. On pourra ouvrir un endpoint facilement pour exposer le menu ; développer un petit plugin SEO pour injecter les données META de son choix ; utiliser un proxy avec un CDN et une gestion spécifique du cache pour améliorer les performances et ne plus être impacté par la relative lenteur de l’API REST. Ce type d’architecture permet aussi de cacher l’adresse, encore un bon point pour la sécurité.

Découvrir l’API REST de WordPress

L’API REST est intégrée au cœur de WordPress depuis maintenant 4 ans. Il existe donc de nombreux cas d’usage et d’implémentations, ainsi que des retours d’expérience que vous trouverez facilement en ligne. Pour beaucoup, l’API REST n’est pas nécessaire : WordPress reste efficace en CMS couplé dans la plupart des cas. Si vous souhaitez aller plus loin et intégrer vos contenus avec plus de flexibilité, vous pouvez consulter la documentation officielle qui revient sur l’intérêt de l’API et présente ses concepts clés.

Source : BDM 

Pin It on Pinterest