Avec de nombreuses options viennent 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 du sans-tête et ce à quoi cela sert ici sur Smashing Magazine. Aujourd'hui, je vais vous donner un petit aperçu du paysage CMS, ainsi que quelques questions à poser pour vous aider à prendre une décision.
Sans tête?
La gestion de contenu sans tête consiste à découpler votre système de gestion de contenu (CMS) de votre front-end. Contrairement aux systèmes traditionnels (ou «monolithes»), le CMS n'est pas directement responsable de l'alimentation du front-end Web. Au lieu de cela, le contenu est servi au front-end à partir d'un système distant via une API, et le front-end consomme ces données pour rendre ses pages. Cela peut se produire soit à au moment de l'exécution (lorsqu'un utilisateur arrive sur votre site Web), soit au au moment de la construction (le contenu est pré-rendu et généré à l'avance), mais l'important Le concept ici est la séparation entre les couches de contenu et de présentation.
Si vous prévoyez de créer un site à l'aide du 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 Ruby.
Mais pourquoi est-ce même une chose?
Headless est apparu à l'origine comme un moyen de gérer le contenu pour Jamstack (avant que Jamstack n'obtienne son nom chic), 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, de sorte que vous pouvez utiliser le contenu de votre site Web dans une application mobile native, par exemple.
Headless nous permet également de corriger 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 ce que nous aurions par défaut.
J'ai récemment travaillé sur un projet faisant exactement cela – étendre le contenu fourni par Shopify avec des, contenu plus riche d'un CMS headless (nous avons utilisé Contentful pour ce projet particulier, mais n'importe quel CMS headless 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 pourrions 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 autorisé qu'il soit 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, ce qui est devenu le principal pilote de données pour le site, avec les API Shopify qui ne s'impliquent vraiment que pour les contrôles de 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.
Nous avons obtenu ce résultat en utilisant Nuxt pour créer le site, mais nous aurions également pu choisir d'intégrer les données du CMS directement dans les modèles Shopify. Jamstack a été choisi comme la meilleure approche ici, mais le headless est suffisamment flexible pour pouvoir être utilisé presque partout. 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 headless dans votre flux de travail.
Le découplage de 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 vous assurer que votre contenu ne soit pas fragmenté entre un ensemble de systèmes différents gérés par différentes équipes.
Imagine you avoir un produit dont vous souhaitez parler sur votre site Web, dans une application mobile et également dans des publicités programmatiques. Avec headless, vous pourriez avoir un référentiel de contenu central et déployer le même contenu (ou des aspects de celui-ci) sur toutes ces plates-formes 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.
Ça a l'air génial! Alors est-ce que Headless est fait pour moi?
Il y a un tas de choses à considérer lors du choix de votre approche. Il y a des avantages à être sans tête, mais il y a aussi des coûts. Voici quelques questions à vous poser lorsque vous considérez le sans tête comme une approche:
Êtes-vous à l'aise avec les connaissances requises pour faire la scission?
Beaucoup de gens pensent que passer au sans tête peut «se débarrasser» du besoin de les 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’évoluent bien est encore très différent de l’état d’esprit nécessaire pour être un grand développeur front-end. 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 domaines «back-end», et certains pour se concentrer sur le «front-end». Les divisions sont plus fines et plus malléables dans les terres sans tête, mais ne travaillez pas sous la fausse hypothèse que vous pouvez diviser par deux vos effectifs de développement simplement en devenant sans tête.
Connaissez-vous le coût total de possession?
Alors que sans tête peut s'avèrent souvent moins chers qu'un monolithe, la nature SaaS de la plupart de ces systèmes peut signifier que pour de grands ensembles de données en évolution rapide, ou pour de très grandes équipes, les coûts peuvent ne pas s'additionner. Vérifiez toujours comment les coûts évoluent et sur quoi repose cette mise à l'échelle. Certains fournisseurs se basent sur le volume de données certains sur le nombre de requêtes API et certains sur le nombre de collaborateurs éditant votre contenu. La combinaison de ces éléments peut avoir un effet dramatique sur la façon dont vos coûts augmentent avec l'échelle.
Vous devrez probablement également examiner plusieurs plates-formes différentes pour formuler une idée de votre coût total de possession. Si vous n'obtenez pas la 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 comment ces coûts vont évoluer, et vous pouvez souvent commencer modestement, mais il vaut la peine de savoir ce que ces choses pourraient vous coûter à long terme.
Gardez également un œil sur vos minutes de construction si vous choisissez de passer sans tête: ceux-ci peuvent monter rapidement, en particulier dans les phases de développement et de remplissage du contenu. Sachez que si vous choisissez de générer votre site de manière statique, vous aurez besoin d'une compilation après chaque action de publication du CMS. Avec de grands sites, ces versions peuvent prendre un certain temps, il convient donc de garder à l'esprit que celles-ci devront être contrôlées. De nombreux services d'hébergement statiques 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 versions incrémentielles, cela peut aider à atténuer ce coût croissant, mais vous devez toujours garder un œil dessus et faire votre
L'avez-vous suffisamment expliqué pour votre client?
Vous aimerez peut-être l'expérience des développeurs de travailler avec Jamstack et sans tête, mais lorsque vous effectuez ces évaluations, vous devez garder sachez que ce sont les clients qui doivent utiliser et vivre avec les solutions que vous avez élaborées, vous voudrez donc essayer de leur simplifier la vie le plus possible.
Dans un rôle précédent, j'étais impliqué dans un présentation à un constructeur automobile qui a déclaré vouloir des performances de pointe comme une priorité absolue, mais ils ont finalement opté pour une autre agence offrant une solution plus traditionnelle. Cela peut se produire pour plusieurs raisons. (Nous n'avons probablement pas fait un travail suffisant pour vendre les avantages de notre approche, mais le fait de devenir sans tête peut également sembler assez effrayant pour les éditeurs de contenu, en particulier lorsqu'ils sont confrontés à certains des systèmes d '«entreprise» traditionnels qui ont un talent pour
Lorsque vous serez sans tête, vous rassemblerez des outils individuels qui sont tous conçus pour être très bons dans une chose particulière, plutôt que d'avoir un seul grand système capable de tout faire. ces choses en un seul endroit. Cela peut être assez intimidant à gérer à moins que vous ne puissiez le rendre aussi facile que possible pour votre client.
Prenez-vous en compte le temps de développement supplémentaire?
Toute la puissance et la flexibilité potentielles du headless doesn ' t venez gratuitement. 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 fait, ils sont configurés très délibérément pour ne pas avoir de tels paramètres par défaut. C'est génial 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'autre part, cependant, cela signifie que quelqu'un doit définir ces modèles de documents, et ensuite quelqu'un doit créez-les 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 contenu brouillon ; de nombreux frameworks modernes incluent un système permettant de prévisualiser le contenu du brouillon, mais ils nécessitent universellement une configuration supplémentaire pour fonctionner, et certains nécessiteront un niveau de code personnalisé. Bien entendu, le front-end n'est pas lié au contenu, donc tout mappage des données aux composants frontaux doit également être effectué. 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 les données Vous ne vivez 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 sensibles des données de production ou des données de production non publiques sont impliquées. La sécurité pour 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é quelque part sur un serveur AWS anonyme. Nous avons déjà vu que même les puissants AWS peuvent 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 le 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 susceptible d'être causée par des facteurs non liés à 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 simplement donner une très brève introduction à quelques-unes des options les plus connues. Si vous recherchez une liste plus complète, vous pouvez consulter Headless CMS ou Comparaison CMS .
Contentful
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écrivent 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 il prend en charge plusieurs «environnements» de contenu, ce qui permet les modifications à apporter à partir de vos données de production et à migrer plus tard.
Contentful dispose d'une suite d'intégrations avec d'autres applications SaaS, donc c'est facile y à intégrer avec Shopify ou CommerceLayer pour le commerce électronique, ou Cloudinary pour l'hébergement et le traitement d'actifs.
Idéal pour:
Ceux qui recherchent la solution la mieux établie dans l'espace sans tête. [19659047] Storyblok
Storyblok est la seule des options headless-first ici à se décrire comme un CMS, et dispose d'un très bel éditeur de contenu visuel qui vous permet de créer et de modifier votre contenu apparemment dans -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 capacité d'utiliser son API pour générer des schémas de contenu qui permettent à ces choses de vivre comme et avec 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 font que les équipes distribuées travaillent avec bonheur sur des sites multilingues. Dans l'ensemble, Storyblok se sent comme une offre extrêmement soignée et bien pensée, et dont les équipes de contenu, en particulier, sont susceptibles d'être fan.
Best For:
Ceux qui recherchent un best-in Solution d'édition de contenu de classe WYSIWYG à partir d'un CMS sans tête.
Sanity
Sanity est l'un des nouveaux enfants sur le bloc dans cet espace, mais a rapidement attiré l'attention. Ils se décrivent comme «la plate-forme de contenu ultime qui aide les équipes à rêver en 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 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 riches et profondes pour toutes sortes de choses – pas seulement du contenu Web.
La suite d'édition de Sanity est claire et simple, personnalisable, open-source et est 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.
Idéal pour:
Ceux qui ont besoin d'un contrôle absolu sur presque tous les aspects de l'implémentation, à partir de structures de données personnalisées
Prismic
Prismic est vraiment l'ancien personnage dans la pièce dans l'espace sans tête, datant de 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 rend la construction nouvelle les pages et les sections de contenu sont un jeu d'enfant pour les éditeurs.
La suite d'édition de Prismic est belle et il semble qu'ils ont corrigé des trous qui existaient autrefois dans leur sélection de champs, ce qui offre une expérience complète.
Idéal pour:
Ceux qui cherchent à minimiser les frictions pour les éditeurs de contenu.
Que faire si je veux quelque chose d'un peu plus Traditionnel?
WordPress
WordPress est encore énorme en 2021. Malgré tout le battage médiatique autour des autres plates-formes, WordPress alimente encore environ 40% de l'Internet, et il ne va nulle part. Les développeurs contribuent à garantir cela en améliorant ses capacités sans tête et en se concentrant plus fortement sur son support API. De nouveaux outils d'édition rendent également l'expérience d'écriture dans WordPress plus agréable, et certains des compromis inhérents à l'utilisation de WordPress ont été massivement améliorés ces dernières années.
Travailler avec une entreprise de services WordPress comme Nestify prend une grande partie de l'anxiété et des maux de tête liés à la sécurité vous échappe en tant que développeur, mais sachez que, en tant que plus grande plate-forme sur Internet, WordPress présente toujours une cible très tentante pour ceux qui ont des intentions malveillantes.
Idéal 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 les noms que vous vous attendriez le moins à voir sur cette liste, mais ils ont fait d'énormes progrès dans la prise en charge du headless, en libérant Sitecore JSS pour permettre aux projets Jamstack de s'interfacer avec les données Sitecore.
La grande difficulté à travailler avec Site Les systèmes CMS de base ou d’autres systèmes d’entreprise de manière sans tête ont toujours permis 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 pour beaucoup de projets – le coût à lui seul le met hors de portée de tous, sauf pour les clients au niveau de l'entreprise – mais cela vaut la peine d'être répertorié ici, avec AEM, car il y en a encore beaucoup des personnes qui pensent que la gestion de contenu sans tête n'est que pour les petits sites Web.
Idéal pour:
Ceux qui recherchent un projet d'entreprise avec un client qui ne veut pas nécessairement se lancer dans les nouvelles technologies. [19659080] Adobe Experience Manager
Adobe Experience Manager (ou AEM) est un autre des acteurs majeurs de l'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 now prend en charge plusieurs méthodes différentes de demande de données hors de leur plate-forme et Adobe commercialise désormais AEM comme un «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 ont besoin de travailler sur diverses plates-formes et ont besoin d'un contrôle précis du contenu entre ces plates-formes, mais ceux qui souhaitent utiliser «une plate-forme unique pour les gouverner tous» d'Adobe auront besoin de poches profondes pour commencer.
Idéal pour:
Ceux qui regardent le tout haut de gamme d'une entreprise, avec de grandes poches! AEM fait beaucoup (plus que ce que nous pourrions jamais espérer mentionner ici), mais coûte cher.
J'ai maintenant 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, que vous pouvez facilement vous retrouver dans la paralysie des options. Il y a cependant quelques questions que vous pouvez utiliser pour vous aider à vous faire une première opinion ou au moins à affiner le champ:
Combien de temps vous faudra-t-il pour vous mettre à niveau?
Différents systèmes ont des courbes d'apprentissage différentes et différentes manières 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 de la même manière. Le fournisseur fournit-il une documentation détaillée? 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 de support sont généralement les plus importants pour les clients, et vous trouvez souvent cela pour accéder aux lignes les plus directes de support, vous devez payer pour les packages «entreprise», ce qui pourrait rendre votre investissement plus élevé que ce à quoi vous vous attendez en regardant votre utilisation.
Dans quelle mesure le fournisseur 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 client plutôt que celles des développeurs, mais il est avantageux de pouvoir dire au client dès le début que le fournisseur que vous recommandez est stable, existe depuis X ans et qu'il en a suffisamment un soutien financier pour être sûrs qu'ils n'iront nulle part de si tôt. La dernière chose à laquelle un client souhaite avoir à faire face est une remise en forme forcée parce que son fournisseur actuel abandonne son produit alors que le client est à mi-chemin de son engagement!
À quoi ressemble l'expérience d'édition?
Le 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 ces personnes qui travailleront avec le CMS de votre choix jour après jour . Si le CMS est un cauchemar à utiliser, ils le diront beaucoup. Croyez-moi, j'ai participé à de nombreux pitchs et réunions de suivi où le client a passé beaucoup de temps à énumérer les nombreuses frustrations qu'il éprouve avec son système existant! vous cherchez à fournir une édition en contexte ou des aperçus de brouillons en direct? »
« Combien d'efforts faut-il pour les configurer? »
« À quelle vitesse 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 contribuent à la facilité générale d'utilisation 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 fluide mais elle n'est généralement pas considérée comme une force dans le paysage sans tête dans son ensemble, il vaut donc vraiment la peine de présenter une démo à petite échelle à vos éditeurs de contenu et de voir ce qu'ils pensent de la ou des solutions que vous envisagez.
Est-il facile d'extraire vos données de la plate-forme? [19659021] J'ai perdu le compte du nombre de réunions de pitch 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é à une gestion de contenu propriétaire
Peu importe à quel point votre CMS de choix semble cool, assurez-vous qu'il existe un moyen facile d'extraire tout votre contenu du système à un moment donné. Malheureusement, aucun système n'est éternel et le client voudra éventuellement changer son site et son infrastructure avec. Tout ce que vous pouvez faire pour leur faciliter la vie à ce moment-là sera un énorme positif.
C'est généralement plus facile avec les solutions CMS sans tête car elles sont compatibles API à leur base, mais cela vaut toujours la peine un examen plus attentif pour vous assurer que vous n'allez pas causer un énorme mal de tête dans quelques années.
En résumé
Choisir une approche et une plate-forme pour la gestion de contenu est un grand choix dans tout numérique projet. La gestion de contenu sans tête est puissante et flexible, mais elle comporte certains coûts, et elle n'est pas idéale pour toutes les situations.
N'oubliez pas que le prix que vous voyez dès le départ du fournisseur est rarement le prix final , coût 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 les développeurs «back-end» traditionnels.
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 de faire venir des éditeurs de contenu pour le voyage, car ce sont eux qui travailleront avec le système que vous configurez le plus fréquemment. [19659008] J'espère que ce guide a au moins contribué à donner un certain 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 construire à peu près tout ce que vous voulez avec headless en son centre maintenant – mais demandez-vous toujours si vous cherchez une solution parce qu'elle est familière ou excitée, ou si c'est vraiment la meilleure solution pour votre situation .
Source link