Ne perdez pas la tête : évaluer sans tête
Publié: 2022-03-10Cet article a été aimablement soutenu par nos chers amis de Storyblok, un CMS sans tête convivial avec un éditeur visuel, des composants imbriqués et des blocs de contenu personnalisables pour les sites Web et les applications. Merci!
De nombreuses options entraînent de nombreuses décisions, et il est facile de se noyer dans tous les nombreux et divers avantages déclarés des différents systèmes. Alors, comment abordez-vous l'évaluation de ces options ? Il y a deux semaines, Aaron Hans a fait la lumière sur les cas d'utilisation de l'absence de tête et à quoi cela sert ici sur Smashing Magazine. Aujourd'hui, je vais vous donner un aperçu du paysage CMS, ainsi que quelques questions à poser pour vous aider à prendre une décision.
Sans tête? Quoi?
La gestion de contenu sans tête consiste à dissocier votre système de gestion de contenu (CMS) de votre interface. Contrairement aux systèmes traditionnels (ou «monolithes»), le CMS n'est pas directement responsable de l'alimentation du frontal Web. Au lieu de cela, le contenu est servi au frontal à partir d'un système distant au moyen d'une API, et le frontal consomme ces données pour rendre ses pages. Cela peut se produire soit au moment de l'exécution (lorsqu'un utilisateur atterrit sur votre site Web), soit au moment de la construction (le contenu est pré-rendu et généré à l'avance), mais le concept important ici est la séparation entre les couches de contenu et de présentation.
Si vous envisagez de créer un site en utilisant le Jamstack, vous allez finir par vous diriger dans cette direction par défaut, mais l'approche est tout aussi valable pour d'autres types de projets, utilisant des langages côté serveur tels que PHP, . Net ou Rubis.
Mais pourquoi est-ce même une chose?
Headless est né à l'origine comme un moyen de gérer le contenu de Jamstack (avant que Jamstack ne reçoive son nom accrocheur), mais l'approche a attiré les fans pour de nombreuses raisons. La gestion de contenu sans tête nous permet de déployer du contenu sur différentes plates-formes, afin que vous puissiez utiliser le contenu de votre site Web dans une application mobile native, par exemple.
Headless nous permet également de combler les lacunes d'autres systèmes. Par exemple, Shopify. Bien qu'il soit excellent dans ce qu'il fait, ce n'est pas le système le plus flexible lorsqu'il s'agit de gérer le contenu de votre boutique en ligne. En utilisant un CMS sans tête, nous pouvons gérer à distance du contenu supplémentaire pour un site Shopify et apporter plus de puissance et de flexibilité que nous n'en aurions par défaut.
J'ai récemment travaillé sur un projet faisant exactement cela - étendre le contenu fourni par Shopify avec du contenu supplémentaire et plus riche à partir d'un CMS sans tête (il nous est arrivé d'utiliser Contentful pour ce projet particulier, mais n'importe quel CMS sans tête pourrait faire ce travail). L'utilisation d'une solution de gestion de contenu sans tête nous a permis de créer des structures de données personnalisées que nous pouvions adapter à nos besoins. Par exemple, le client voulait mettre en évidence les ingrédients qu'il utilisait dans la fabrication de ses produits, et Shopify ne fournit pas vraiment un bon moyen de gérer cela. Nous avons créé un nouveau type de contenu dans Shopify et avons autorisé son ajout à une page de produit personnalisée remplie d'autres types de contenu que nous avons créés.
Le contenu Shopify a été extrait et synchronisé avec Contentful, et cela est devenu le principal moteur de données du site, les API Shopify n'étant vraiment impliquées que pour les vérifications du niveau de stock et la création de paniers. Pouvoir ajouter ce type de données riches à un site de commerce électronique basé sur SaaS était incroyablement puissant.
Il se trouve que nous sommes parvenus à ce résultat en utilisant Nuxt pour construire le site, mais nous aurions également pu choisir d'intégrer les données du CMS directement dans les templates Shopify. Jamstack a été choisi comme la meilleure approche ici, mais sans tête est suffisamment flexible pour pouvoir être utilisé presque n'importe où. Tant que vous avez accès à une sorte de script via JavaScript ou un langage back-end plus traditionnel tel que PHP ou .Net, vous pouvez intégrer le headless dans votre flux de travail.
Découpler votre contenu de votre couche de présentation peut être très puissant. Permettre à votre contenu de se connecter à différentes plates-formes et couches de présentation permet de maintenir la cohérence de votre contenu entre vos points de contact et de garantir que votre contenu ne soit pas fragmenté sur un ensemble de systèmes différents gérés par différentes équipes.
Imaginez que vous ayez un produit dont vous souhaitez parler sur votre site Web, dans une application mobile et également dans des publicités programmatiques. Avec headless, vous pouvez avoir un référentiel de contenu central et déployer le même contenu (ou des aspects de celui-ci) sur toutes ces plateformes et plus encore. Avec une gestion de contenu plus traditionnelle, vous auriez besoin de gérer le contenu pour différentes plates-formes séparément.
Cela sonne bien ! Alors est-ce que Headless me convient ?
Il y a un tas de choses à considérer lors du choix de votre approche. Il y a des avantages à devenir sans tête, mais il y a aussi des coûts. Voici quelques questions à vous poser lorsque vous envisagez le headless comme approche :
Êtes-vous à l'aise avec les connaissances requises pour faire le grand écart ?
Beaucoup de gens pensent que le passage au sans tête peut "se débarrasser" du besoin de développeurs back-end, mais la vérité est que l'état d'esprit pour structurer efficacement les données et créer des modèles de contenu qui fonctionnent et s'adaptent bien est encore très différent de l'état d'esprit devait être un excellent développeur front-end la plupart du temps. Il y a encore un manque de connaissances et il faudra encore le combler.
Si vous avez affaire à un projet de grande envergure, vous voudrez probablement que certains développeurs se concentrent sur les zones "back-end", et d'autres sur le "front-end". Les divisions sont plus fines et plus malléables dans un pays sans tête, mais ne travaillez pas sous l'hypothèse erronée que vous pouvez réduire de moitié votre effectif de développement simplement en devenant sans tête.
Connaissez-vous le coût total de possession ?
Alors que le headless peut souvent s'avérer moins cher qu'un monolithe, la nature SaaS de la plupart de ces systèmes peut signifier que pour les grands ensembles de données évoluant rapidement ou pour les très grandes équipes, les coûts peuvent ne pas s'additionner. Vérifiez toujours comment les coûts évoluent et sur quoi cette mise à l'échelle est basée. Certains fournisseurs évoluent en fonction du volume de données , d'autres du nombre de demandes d'API et d'autres encore du nombre de collaborateurs modifiant votre contenu. La combinaison de ces éléments peut avoir un effet considérable sur la façon dont vos coûts augmentent avec l'échelle.
Vous devrez également probablement examiner plusieurs plates-formes différentes pour formuler une idée de votre coût total de possession. Si vous n'obtenez pas de recherche "prête à l'emploi", vous devrez considérer combien il vous en coûtera pour ajouter cette fonctionnalité. Vous pouvez généralement prédire l'évolution de ces coûts, et vous pouvez souvent commencer petit, mais il vaut la peine d'être conscient de ce que ces choses pourraient vous coûter à long terme.
Gardez également un œil attentif sur vos minutes de construction si vous choisissez d'aller sans tête : celles-ci peuvent monter rapidement, en particulier dans les phases de développement et de population de contenu. Sachez que si vous choisissez de générer statiquement votre site, vous aurez besoin d'une génération après chaque action de publication à partir du CMS. Avec les grands sites, ces constructions peuvent prendre un certain temps, il convient donc de garder à l'esprit qu'elles devront être contrôlées. De nombreux services d'hébergement statique populaires (tels que Netlify et Vercel) prennent en charge la mise en cache des actifs de construction et, en combinaison avec des cadres modernes permettant des constructions incrémentielles, cela peut aider à atténuer ce coût croissant, mais vous devez toujours garder un œil dessus et faire votre recherche pour vous assurer de ne pas vous faire prendre.
L'avez-vous suffisamment expliqué à votre client ?
Vous aimerez peut-être l'expérience de développeur de travailler avec le Jamstack et sans tête, mais lors de ces évaluations, vous devez garder à l'esprit que les clients sont ceux qui doivent utiliser et vivre avec les solutions que vous mettez en place, vous voudrez donc essayer de rendre leur vie aussi simple que possible.
Dans un rôle précédent, j'ai participé à une présentation à un constructeur automobile qui a déclaré qu'il voulait des performances de pointe comme priorité absolue, mais il a finalement opté pour une autre agence offrant une solution plus traditionnelle. Cela peut se produire pour un certain nombre de raisons. (Nous n'avons probablement pas fait un assez bon travail pour vendre les avantages de notre approche, mais aller sans tête peut aussi sembler assez effrayant pour les éditeurs de contenu, surtout lorsqu'ils sont confrontés à certains des systèmes traditionnels "d'entreprise" qui ont un talent pour donnant l'impression que tout « fonctionne ».)
Lorsque vous deviendrez sans tête, vous rassemblerez des outils individuels qui sont chacun conçus pour être très bons dans un domaine particulier, plutôt que d'avoir un seul grand système capable de faire toutes ces choses au même endroit. Cela peut être assez intimidant à gérer, à moins que vous ne puissiez faciliter au maximum la tâche de votre client.
Tenez-vous compte du temps de développement supplémentaire ?
Toute la puissance et la flexibilité potentielles du headless ne sont pas gratuites. L'un des inconvénients de tout ce qui est personnalisé est que cela signifie que tout doit être développé à partir de zéro . Avec de nombreuses options dans cet espace, il n'y a pas de véritable schéma de document "par défaut" - en effet, ils sont configurés très délibérément pour ne pas avoir de tels défauts. C'est très bien d'une part parce que cela signifie que vous obtenez des modèles de documents étroitement adaptés qui correspondent précisément à vos besoins.
D'un autre côté, cependant, cela signifie que quelqu'un doit définir ces modèles de documents, puis quelqu'un doit les créer pour le système que vous utilisez. Ensuite, comme le frontend et le backend sont découplés, quelqu'un devra généralement créer un moteur pour permettre la prévisualisation du brouillon de contenu ; de nombreux frameworks modernes incluent un système permettant de prévisualiser le brouillon de contenu, mais ils nécessitent universellement une configuration supplémentaire pour fonctionner, et certains nécessiteront un niveau de code personnalisé. Bien sûr, le front-end n'est pas lié au contenu, donc tout mappage des données aux composants front-end doit également être fait. Vous devrez généralement faire au moins une partie de cela même avec un CMS étroitement couplé, mais le fait que vous devrez probablement allouer du temps à toutes ces choses peut être coûteux.
Êtes-vous/votre client à l'aise avec le fait que les données ne vivent pas sur votre propre infrastructure ?
Alors que beaucoup de ceux qui travaillent avec des systèmes CMS sans tête et d'autres fournisseurs SaaS considèrent souvent cela comme positif, il existe des situations où vos données en dehors de votre propre infrastructure pourraient être moins que souhaitables, par exemple lorsque des produits sensibles ou des données de production non publiques sont impliquées. La sécurité de ces entreprises est généralement assez bonne, mais il y a toujours des risques.
Assurez-vous de peser les avantages relatifs d'avoir votre contenu hébergé sur un serveur AWS anonyme quelque part. Nous avons déjà vu que même le puissant AWS peut avoir des pannes et, pour les systèmes critiques pour l'entreprise, celles-ci peuvent être extrêmement coûteuses. La différence ici entre SaaS sur AWS ou l'utilisation de votre propre infrastructure est que si vous avez une panne ou une faille de sécurité sur votre propre infrastructure, cela est probablement dû à votre propre produit ou code, mais dans un environnement SaaS/AWS, les pannes sont plus susceptibles d'être causés par des facteurs sans rapport avec votre entreprise. Ces cas sont rares, mais ils se produisent et il est important que cela soit pris en compte lors de la prise de ces décisions.
OK super. Alors, quelles sont mes options?
Le nombre de solutions de gestion de contenu sans tête et sans tête disponibles en 2021 est stupéfiant et ne cesse de croître. Plutôt que d'essayer de couvrir toutes les options ici, je veux donner une très brève introduction à quelques-unes des options les plus connues. Si vous recherchez une liste plus complète, vous voudrez peut-être consulter Headless CMS ou CMS Comparaison.
Contenu
Contentful est l'une des options de CMS sans tête les plus établies, ayant été fondée en 2016 et ayant bénéficié de plusieurs cycles d'investissement de démarrage réussis, et se décrit comme "une plate-forme de contenu basée sur l'API pour offrir des expériences numériques".
Contentful a fait de grands progrès ces dernières années pour mieux prendre en charge le contenu traduit et trans-créé, et ils ont un bon support pour plusieurs « environnements » de contenu, permettant d'apporter des modifications à partir de vos données de production et de migrer plus tard.
Contentful dispose d'une suite d'intégrations avec d'autres applications SaaS, il est donc facile de s'intégrer à Shopify ou CommerceLayer pour le commerce électronique, ou Cloudinary pour l'hébergement et le traitement des actifs.
Meilleur pour:
Ceux qui recherchent la solution la plus bien établie dans l'espace sans tête.
Bloc d'histoire
Storyblok est la seule des premières options sans tête ici à se décrire réellement comme un CMS, et dispose d'un très bel éditeur de contenu visuel qui vous permet de créer et d'éditer votre contenu apparemment in situ avec une merveilleuse interface WYSIWYG. C'est l'une des faiblesses traditionnelles de la séparation du CMS du site Web, donc voir ce type d'environnement d'édition créé par Storyblok est un grand pas en avant et l'équipe devrait être fière de faire avancer le marché à cet égard.
Storyblok a également la possibilité d'utiliser son API pour générer des schémas de contenu qui permettent à ces choses de vivre au fur et à mesure de votre code, ce qui est excellent pour la maintenabilité. Les autorisations basées sur les rôles et les capacités de traduction/transcréation permettent aux équipes distribuées de travailler avec bonheur sur des sites multilingues. Dans l'ensemble, Storyblok ressemble à une offre extrêmement raffinée et bien pensée, et dont les équipes de contenu, en particulier, sont susceptibles d'être fan.
Meilleur pour:
Ceux qui recherchent une solution d'édition de contenu WYSIWYG de premier ordre à partir d'un CMS sans tête.
Santé mentale
Sanity est l'un des nouveaux enfants du quartier dans cet espace, mais il a rapidement attiré l'attention. Ils se décrivent comme "la plateforme de contenu ultime qui aide les équipes à rêver grand et à livrer rapidement".
Sanity fait les choses un peu différemment des autres options ici en ce sens que tous vos modèles de configuration et de contenu sont réalisés sous forme de code, ce qui, pour les développeurs, est un endroit confortable pour garder les choses. En permettant une créativité presque illimitée avec des modèles de documents et des types de champs personnalisés, Sanity permet aux développeurs de créer des structures de contenu profondes et riches pour toutes sortes de choses, pas seulement du contenu Web.
La suite d'édition de Sanity est propre et simple, personnalisable, open source et basée sur React. Vous pouvez déployer le studio d'édition sur n'importe quel hôte de votre choix ou choisir d'utiliser un sous-domaine Sanity pour héberger sur leur infrastructure.
Meilleur pour:
Ceux qui ont besoin d'un contrôle absolu sur presque tous les aspects de la mise en œuvre, des structures de données personnalisées aux composants d'entrée.
Prismique
Prismic est vraiment l'ancien personnage de la pièce dans l'espace sans tête, qui remonte à 2013, mais cela ne les a pas empêchés d'innover dans l'espace. L'année dernière, ils ont introduit SliceMachine, qui vise à combler le fossé entre les développeurs frontaux créant des composants et les auteurs de contenu en créant une relation 1: 1 entre les blocs de contenu (ou «tranches») et les composants frontaux, ce qui permet de créer de nouveaux pages et sections de contenu un jeu d'enfant pour les éditeurs.
La suite d'édition de Prismic est charmante et il semble qu'ils aient corrigé certains trous qui existaient auparavant dans leur sélection de champs, offrant ainsi une expérience complète.
Meilleur pour:
Ceux qui cherchent à minimiser les frictions pour les éditeurs de contenu.
Et si je veux quelque chose d'un peu plus traditionnel ?
WordPress
Wordpress est toujours énorme en 2021. Malgré tout le battage médiatique autour d'autres plates-formes, WordPress alimente toujours environ 40 % d'Internet, et il n'ira nulle part. Les développeurs aident à s'en assurer en améliorant ses capacités sans tête et en se concentrant davantage sur sa prise en charge de l'API. De nouveaux outils d'édition rendent également l'expérience d'écriture dans WordPress plus agréable, et certains des compromis inhérents au travail avec WordPress ont été considérablement améliorés ces dernières années.
Travailler avec une société WordPress en tant que service telle que Nestify vous enlève une grande partie de l'anxiété et des maux de tête liés à la sécurité en tant que développeur, mais sachez qu'en tant que plus grande plate-forme sur Internet, WordPress présente toujours une solution très tentante. cible pour ceux qui ont des intentions malveillantes.
Meilleur pour:
Ceux qui cherchent à s'en tenir à une plate-forme de contenu confortable et familière, tout en mettant la technologie à jour.
Sitecore
En tant que l'un des géants de la gestion de contenu d'entreprise, Sitecore est peut-être l'un des noms que vous vous attendez le moins à voir sur cette liste, mais ils ont fait d'énormes progrès dans la prise en charge sans tête, en publiant Sitecore JSS pour permettre aux projets Jamstack de s'interfacer avec les données Sitecore.
La grande difficulté à travailler avec Sitecore ou d'autres systèmes CMS d'entreprise sans tête a toujours été de mettre en place la personnalisation, mais ce problème a été résolu par les gens d'Uniform, qui ont en fait commencé à travailler avec Sitecore pour activer ce type de fonctionnalité .
Sitecore est une grosse bête, et cela ne conviendra pas à de nombreux projets - le coût à lui seul le met hors de portée de tous les clients, sauf au niveau de l'entreprise - mais cela vaut la peine d'être répertorié ici, avec AEM, car il y a encore beaucoup de gens pensent que la gestion de contenu sans tête est réservée aux petits sites Web.
Meilleur pour:
Ceux qui envisagent un projet d'entreprise avec un client qui ne veut pas nécessairement se lancer à fond dans les nouvelles technologies.
Gestionnaire d'expérience Adobe
Adobe Experience Manager (ou AEM) est un autre des principaux acteurs du côté entreprise. C'est énorme et extrêmement cher, tout comme la plupart de ses concurrents, mais Adobe est un autre fournisseur qui a fait des efforts considérables pour rendre son offre plus conviviale pour ceux qui souhaitent séparer leur contenu de la présentation de leur site Web.
AEM prend désormais en charge deux méthodes différentes de demande de données à partir de leur plate-forme et Adobe commercialise désormais AEM en tant que «CMS hybride», ce qui signifie qu'il combine un fonctionnement sans tête et plus traditionnel, spécifique au canal, sous un même capot. Cela peut être un grand avantage pour les équipes marketing qui doivent travailler sur diverses plates-formes et qui ont besoin d'un contrôle précis du contenu entre ces plates-formes, mais ceux qui veulent profiter de la « plate-forme unique pour les gouverner tous » d'Adobe auront besoin d'argent pour se lancer.
Meilleur pour:
Ceux qui recherchent le haut de gamme d'une entreprise, avec des poches profondes ! AEM fait beaucoup (plus que nous ne pourrions jamais espérer mentionner ici), mais cela coûte cher.
Maintenant, j'ai une idée de mes options, mais comment puis-je espérer choisir entre elles ?
Il y a tellement d'options dans l'espace sans tête maintenant, vous pouvez facilement vous retrouver dans la paralysie des options. Il y a cependant quelques questions que vous pouvez utiliser pour vous forger une première opinion ou au moins éclaircir le champ :
Combien de temps vous faudra-t-il pour vous mettre à jour ?
Différents systèmes ont différentes courbes d'apprentissage et différentes façons de soutenir les développeurs. Chaque système répertorié ici a une communauté de développeurs construite autour de lui, mais toutes les communautés ne sont pas créées égales. Le fournisseur fournit-il une documentation détaillée ? Des projets de démarrage ? Tous ces éléments peuvent avoir un impact important sur le temps de démarrage.
De quel type de modèle de support aurez-vous besoin ?
Les modèles d'assistance sont généralement les plus importants pour les clients, et vous constatez souvent que pour accéder aux lignes d'assistance les plus directes, vous devez payer les forfaits "entreprise", ce qui pourrait rendre votre investissement plus élevé que ce à quoi vous pourriez vous attendre en regardant votre utilisation.
Dans quelle mesure le vendeur est-il bien établi ?
Dans quelle mesure le fournisseur est-il bien établi ? Comment sont-ils financés ? Encore une fois, ce sont généralement des considérations de clients plutôt que de développeurs, mais il est avantageux de pouvoir dire au client dès le début que le fournisseur que vous recommandez est stable, qu'il existe depuis X années et qu'il dispose d'un soutien financier suffisant pour assurez-vous qu'ils n'iront nulle part de sitôt. La dernière chose à laquelle un client souhaite avoir à faire est une nouvelle plate-forme forcée, car son fournisseur existant met fin à son produit alors que le client est à mi-chemin de son engagement !
À quoi ressemble l'expérience d'édition ?
L'expérience d'édition est susceptible d'être extrêmement importante pour un certain nombre de personnes du côté client de tout projet. Ce sont les personnes qui travailleront jour après jour avec le CMS que vous choisirez. Si le CMS est un cauchemar à utiliser, ils le diront - beaucoup. Croyez-moi, j'ai participé à de nombreuses présentations et réunions de suivi où une quantité importante de temps a été passée avec le client énumérant les nombreuses frustrations qu'il a avec son système existant !
"Le ou les systèmes que vous envisagez peuvent-ils fournir une édition contextuelle ou des aperçus de brouillon en direct ?"
« Combien d'efforts faut-il pour les mettre en place ? »
"À quelle vitesse ou lenteur l'éditeur lui-même s'exécute-t-il ?"
"L'utilisateur est-il bombardé d'options et de boutons inconnus ou les choses sont-elles bien organisées ?"
Toutes ces questions alimentent la facilité d'utilisation globale du système. Certaines solutions, telles que Storyblok, se sont donné beaucoup de mal pour faire de l'édition de contenu une expérience riche et transparente , mais cela n'est généralement pas considéré comme une force dans le paysage sans tête dans son ensemble, il vaut donc vraiment la peine de mettre une démo à petite échelle dans devant vos éditeurs de contenu et voir ce qu'ils pensent de la ou des solutions sur lesquelles vous avez un œil.
Est-il facile d'extraire vos données de la plate-forme ?
J'ai perdu le compte du nombre de réunions de présentation auxquelles j'ai assisté et on m'a dit que nous devrons probablement repartir de zéro ou écrire un grattoir personnalisé pour le contenu car le contenu du client est complètement lié à un système de gestion de contenu propriétaire, et ils ne peuvent pas facilement exporter leurs données.
Peu importe à quel point le CMS de votre choix semble cool, assurez-vous qu'il existe un moyen simple de retirer tout votre contenu du système à un moment donné. Malheureusement, aucun système n'est éternel, et le client finira par vouloir changer son site, et son infrastructure avec lui. Tout ce que vous pourrez faire pour leur faciliter la vie à ce moment-là sera un énorme avantage.
C'est généralement plus facile avec les solutions CMS sans tête, car elles sont compatibles avec l'API, mais cela nécessite toujours un examen plus approfondi pour s'assurer que vous n'allez pas causer un énorme mal de tête dans quelques années.
Résumé
Choisir une approche et une plate-forme pour la gestion de contenu est un choix important dans tout projet numérique. La gestion de contenu sans tête est puissante et flexible, mais entraîne certains coûts et n'est pas idéale pour toutes les situations.
Gardez à l'esprit que le prix que vous voyez à l'avance auprès du fournisseur correspond rarement au coût final et total de la solution, et assurez-vous de ne pas tomber dans le piège de penser que vous pouvez réduire les coûts de développement en supprimant -end” développeurs.
Assurez-vous que tout le monde est à l'aise avec les réalités du travail avec un CMS sans tête par opposition à une configuration plus traditionnelle, et assurez-vous d'amener des éditeurs de contenu avec vous car ce sont les personnes qui travailleront avec le système que vous configurez le plus. fréquemment.
J'espère que ce guide a au moins aidé à donner un contexte au battage médiatique et peut vous aider à prendre une décision avec laquelle vous et votre client pouvez être à l'aise. Vous pouvez maintenant construire à peu près tout ce que vous voulez avec le sans tête en son centre - mais demandez-vous toujours si vous recherchez une solution parce qu'elle est familière ou à la mode, ou si c'est vraiment la meilleure solution pour votre situation.