TYPO3 v13 LTS - Surfer sur la vague

Auteurs : Michael Schams
Traduit par : Léo - W-Seils

Lire l’article complet en version originale

Nous sommes ravis de dévoiler TYPO3 v13 LTS, notre dernière version majeure conçue pour amener vos projets web à un niveau supérieur. En tant que version supportée à long terme (LTS), vous recevrez des mises à jour de sécurité gratuites pendant au moins trois ans. Dotée de fonctionnalités innovantes et d'améliorations, cette version marque une étape importante dans l'évolution de TYPO3. Êtes-vous prêt à dynamiser votre présence numérique ?

TYPO3 est fièrement open-source, et notre communauté est remplie d'individus talentueux et motivés de divers horizons qui ont travaillé en collaboration pour faire de cette version majeure TYPO3 v13 LTS, supportée à long terme, une réalité.

Pour mettre cela en chiffres : plus de 200 contributeurs ont travaillé sur la base de code de TYPO3 v13 LTS depuis avril 2023. Cela a donné lieu à plus de 3 300 commits Git, plus de 31 000 fichiers modifiés et plus de 140 nouvelles fonctionnalités. TYPO3 continue d'être un système de gestion de contenu open-source techniquement mature, très avancé et riche en fonctionnalités. Le CMS propose plus de 60 langues par défaut (y compris les langues s'écrivant de droite à gauche) et répond à des normes d'accessibilité strictes.

Comme indiqué dans notre feuille de route TYPO3 v13, nous nous sommes fixé pour objectif d'améliorer considérablement la convivialité et l'accessibilité du backend afin de répondre et de dépasser les exigences strictes du secteur public, y compris la directive 2019/882 de l'Union européenne (UE). Cette directive définit les exigences en matière d'accessibilité pour les produits et services mis sur le marché après le 28 juin 2025.

Les gouvernements et le secteur public ne sont bien sûr pas les seules entités à bénéficier des nouvelles fonctionnalités d'accessibilité. L'interface utilisateur soignée de TYPO3, ses normes de confidentialité et de sécurité intégrées et les innombrables options de personnalisation font du logiciel un choix idéal pour les entreprises de toute taille et les organisations à but non lucratif.

Cet article n'offre qu'un bref aperçu des nouvelles fonctionnalités passionnantes et des nombreuses améliorations apportées à cette dernière version. Un aperçu technique détaillé avec des informations plus approfondies est disponible sur le site TYPO3 v13 Changelog. Consultez également la documentation de la version LTS de TYPO3 v13.

Améliorations de l'interface utilisateur du backend

Lorsque vous vous connectez pour la première fois au backend de TYPO3 v13 LTS, vous remarquerez son aspect moderne et actualisé. Naviguez et vous réaliserez rapidement que l'interface web d'administration de TYPO3 a reçu de nombreuses améliorations.

Nous avons remanié les feuilles de style et optimisé les éléments de mise en page pour une expérience utilisateur encore plus propre, rendant l'interface du backend non seulement plus intuitive mais aussi alignée avec la directive d'accessibilité de l'Union européenne (UE).

Les améliorations de l'expérience utilisateur (UX) comprennent également la prise en charge des schémas de couleurs, qui est un facteur crucial pour l'accessibilité.

Également connue sous le nom de mode sombre, cette option d'affichage offre une amélioration à la fois fonctionnelle et esthétique. Elle peut améliorer le confort lorsque l'on se concentre sur des applications ou des sites web contenant beaucoup de texte, aider à prévenir la fatigue oculaire et offrir une expérience visuelle plus agréable dans l'ensemble.

D'un point de vue technique, le mode sombre peut réduire la consommation d'énergie et prolonger la durée de vie de la batterie, ce qui en fait un choix économe en énergie pour certains types d'écrans.

Arborescence réactive des pages/fichiers

L'arborescence des pages/fichiers dans le backend TYPO3 est un composant essentiel pour les utilisateurs du backend. Il fournit une représentation visuelle de la structure du site (connue sous le nom d'arbre des pages) et du contenu du stockage (connu sous le nom de liste des fichiers).

Nous avons introduit un arbre fortement modernisé et réactif qui est construit sur des normes web contemporaines, résultant en une expérience rationalisée et conviviale. Les principaux changements comprennent le glisser-déposer natif, des terminaisons d'API améliorées, un défilement virtuel amélioré, et plus encore.

L'arborescence des pages/fichiers prend également en charge les modes clair/foncé et le sens d'écriture de droite à gauche.

Interface backend de droite à gauche

Cela a toujours été l'un de nos principaux objectifs de rendre l'interface utilisateur de TYPO3 accessible au plus grand nombre d'utilisateurs possible. Cet objectif se reflète dans le support de plus de 60 langues par défaut, permettant à TYPO3 de servir une base d'utilisateurs mondiale. Le CMS est largement utilisé par les organisations internationales et dans le secteur public, où les réglementations locales et les exigences légales - en particulier autour de l'accessibilité et du support linguistique - sont des considérations critiques.

Au-delà des langues, les différents systèmes d'écriture sont également un facteur clé lors du développement d'interfaces utilisateur localisables. Le backend TYPO3 prend désormais en charge la direction du texte de droite à gauche (RTL). Cette fonctionnalité a un impact significatif sur la mise en page et affecte diverses zones du backend TYPO3, y compris les tableaux, les zones de contenu, l'arborescence des pages/fichiers et les menus.

La direction du texte de droite à gauche est pertinente pour des langues telles que l'arabe, l'hébreu, le kurde (Sorani), le persan/farsi et plusieurs langues d'Asie du Sud, telles que l'ourdou, le cachemiri et le pachto.

Regardez la courte vidéo « Right-to-Left Backend UI in TYPO3 v13 » sur la façon d'ajouter des langues et d'activer l'écriture RTL enregistrée par Tom Warwick (TYPO3 GmbH).

Fonctions de recherche

Nous avons considérablement amélioré la fonctionnalité de recherche du backend pour rationaliser votre flux de travail dans le backend de TYPO3. Assurant des résultats de recherche complets, la fonctionnalité améliorée recherche maintenant à travers les pages, le contenu des pages, les enregistrements de base de données, les modules du backend, et les espaces de travail. Pour utiliser cette fonctionnalité, cliquez sur la loupe dans l'en-tête ou appuyez sur Ctrl/Cmd+K pour ouvrir la fenêtre de recherche. Le système respecte vos autorisations d'accès, en fournissant rapidement des résultats pertinents.

Le gestionnaire de formulaire, qui fait partie du cadre de formulaire dans le backend, dispose également d'une nouvelle fonction de recherche. Cette fonction est particulièrement utile dans les installations TYPO3 contenant de nombreuses définitions de formulaires. Tapez un terme de recherche tel que « contact » dans le champ de saisie en haut de la page, appuyez sur Entrée, et TYPO3 filtre la liste en fonction de votre mot-clé.

Édition en masse

Une fonctionnalité qui simplifie et rationalise le flux de travail des éditeurs est l'option d'éditer/mettre à jour plusieurs enregistrements dans le backend TYPO3 en une seule fois. Les exemples typiques sont les propriétés des pages ou les métadonnées des fichiers téléchargés.

Disons que vous voulez mettre à jour le nom de l'auteur pour plusieurs pages. Ouvrez la page parent sous Web → Liste et sélectionnez les colonnes pertinentes avec lesquelles vous voulez travailler en cliquant sur le bouton Afficher les colonnes. Sélectionnez ensuite les pages que vous souhaitez modifier, puis cliquez sur le nouveau bouton Modifier les colonnes. Ce bouton a la même fonctionnalité que le bouton Modifier, mais il ne présente que les colonnes actives. Cette fonction, en combinaison avec le sélecteur de colonnes, améliore considérablement l'efficacité du travail. TYPO3 limite la vue au champ que vous avez activé, et vous n'êtes pas distrait par des champs que vous ne voulez pas mettre à jour.

La même fonction est également disponible dans le module File → Filelist backend. Le bouton correspondant dans ce module est intitulé Editer des métadonnées spécifiques.

Lisez l'article de blog « Mass Editing Columns in TYPO3 v13 » et regardez la vidéo d'accompagnement publiée par Tom Warwick (TYPO3 GmbH) pour découvrir comment visualiser et appliquer des modifications de masse à plusieurs pages dans l'arborescence, et comment visualiser et mettre à jour efficacement les métadonnées pour une collection d'images dans la liste de fichiers.

Télécharger les préréglages

Le module de backend Web → Liste a fait l'objet d'une autre modification, petite mais pratique. La fenêtre modale d'exportation de données vous permet de télécharger les données de presque toutes les tables de la base de données dans différents formats.

Si vous avez régulièrement besoin d'exporter des données spécifiques, vous apprécierez la nouvelle option permettant d'exploiter les préréglages de téléchargement. Par exemple, vous pouvez définir un préréglage pour l'exportation d'une liste d'utilisateurs du frontend contenant le nom d'utilisateur, le nom réel, l'adresse électronique et la dernière connexion. Une fois sélectionné, le téléchargement n'inclut que ces champs.

Un cas pratique d'utilisation de cette fonctionnalité est un rapport mensuel des utilisateurs comprenant la date de leur dernière connexion. Les préréglages éliminent la nécessité de configurer manuellement les champs requis pour chaque exportation de données, ce qui réduit les tâches répétitives et simplifie votre travail quotidien.

Pour en savoir plus sur la façon de rationaliser vos exportations de données avec Download Presets et de les partager avec d'autres utilisateurs du backend, regardez la vidéo « How to Streamline Your Data Exports... » enregistrée par Tom Warwick (TYPO3 GmbH).

Fonctionnalités clés pour les intégrateurs

Surligner et annoter les pages

Avis aux intégrateurs TYPO3 ! Nous sommes ravis de vous présenter une nouvelle fonctionnalité puissante dans TYPO3 qui vous permet d'améliorer l'expérience de l'arborescence des pages pour les utilisateurs du backend. Vous pouvez maintenant facilement mettre en évidence et annoter des pages spécifiques avec des étiquettes et des codes de couleur personnalisés, en utilisant User TSconfig ou PHP. Cette amélioration rend la gestion et l'organisation de l'arborescence plus efficace que jamais.

En tant que développeur, vous pouvez ajouter encore plus de détails à une page de l'arborescence en exploitant un événement PSR-14 et en ajoutant des informations d'état arbitraires, notamment une étiquette, un niveau de gravité, une icône et une icône de superposition.

Un cas d'utilisation pratique typique de ces fonctionnalités pourrait être le marquage des pages qui ont été récemment modifiées par d'autres utilisateurs du backend. Un autre exemple est celui des icônes dans l'arborescence des pages qui visualisent une campagne ou un événement.

Site set

TYPO3 est réputé pour sa flexibilité en matière de configuration. Dans TYPO3 v13 LTS, vous pouvez maintenant consolider les configurations et regrouper une configuration prédéfinie (ou plusieurs configurations) en tant que Site Set. Ces configurations peuvent être des TypoScript, TSconfig, des modèles, etc.

Le module backend TYPO3 Site Management → Sites offre un moyen simple de sélectionner un ou plusieurs ensembles dans le cadre d'un site.

Mais ce n'est pas tout ! TYPO3 propose désormais un nouveau module backend Site Management → Settings qui offre une interface web facile à utiliser pour les intégrateurs TYPO3. Le module liste tous les sites disponibles et leurs Site Sets de manière claire. Le module backend vous permet également de modifier les paramètres (remplacer les valeurs par défaut) et d'exporter la configuration actuelle au format YAML - idéal pour stocker la configuration d'un site dans une extension, par exemple.

Les Site Sets stockés et gérés dans une extension permettent de contrôler la version de la configuration et de partager les configurations entre les sites et/ou les installations.

Création de types de contenu personnalisés

L'objectif principal de l'équipe Content Types a été de construire une solution qui permet aux intégrateurs et aux développeurs de créer des types d'éléments de contenu personnalisés et sémantiquement structurés pour TYPO3. L'équipe est issue de la "Structured Content Initiative" et a collaboré étroitement avec les développeurs de TYPO3 Core pour introduire une méthode unifiée de création d'éléments de contenu, de types de pages et de types d'enregistrements génériques, en s'appuyant sur les fichiers YAML pour définir les configurations.

Une série de changements et de nouvelles fonctionnalités de TYPO3 Core ont été nécessaires pour atteindre cet objectif ambitieux, y compris une nouvelle API de schéma (voir ci-dessous), de meilleurs outils dans l'aperçu du module de page, et plus encore.

Pour s'assurer qu'une mise à niveau vers TYPO3 v13 est aussi fluide que possible dans presque tous les scénarios, nous avons publié Content Blocks comme une extension TYPO3 pour les installations qui utilisent déjà ces fonctionnalités dans les versions précédentes de TYPO3. Cette extension est optionnelle et fournit des fonctions supplémentaires qui ne sont pas couvertes par le noyau TYPO3. Nous avons opté pour cette approche car elle nous permet également d'ajouter des fonctionnalités supplémentaires à l'extension sans violer la philosophie stricte de TYPO3 sur les changements non-rupture après la sortie de la version LTS.

Les nouveaux projets commençant avec TYPO3 v13 LTS à partir de zéro peuvent tirer parti de toutes les fonctionnalités mises en œuvre dans le TYPO3 Core, ce qui facilite la création de types de contenu personnalisés. L'intégration réussie de presque toutes les fonctionnalités de base des Content Blocks dans le TYPO3 Core est une grande réussite de l'équipe Content Types et marque une étape importante dans la création de nouveaux types de contenu dans TYPO3.

Version 4 de Fluid

Fluid, le moteur de template par défaut de TYPO3, fait partie du CMS depuis de nombreuses années. L'histoire du succès continue dans TYPO3 v13 LTS avec une mise à niveau vers la version 4 de Fluid. En plus de la modernisation et de l'amélioration de la qualité du code, Fluid a maintenant un support approprié pour les attributs booléens et un ensemble de nouveaux ViewHelpers. Cela inclut, par exemple, le Feature-ViewHelper qui permet aux intégrateurs de vérifier dans un modèle Fluid si un indicateur de fonctionnalité spécifique dans TYPO3 est activé.

Le passage de la version 2 à la version 4 de Fluid devrait être simple, car les développeurs et les contributeurs de Fluid ont pris toutes les mesures possibles pour éviter d'introduire des changements radicaux dans les API orientées vers l'utilisateur.

Rendu d'images

La bibliothèque de manipulation d'images pour TypoScript est basée sur l'extension PHP GDlib, qui est intégrée à PHP, et est encore améliorée par des outils externes puissants et bien connus tels que ImageMagick ou GraphicsMagick. Les technologies web évoluant à une vitesse incroyable, nous avons suivi le rythme de ces changements et étendu ces fonctions de traitement d'images dans TYPO3 v13 LTS. Le système prend désormais en charge les formats d'image modernes WebP et AVIF.

En plus des nouveaux formats, TYPO3 supporte nativement le recadrage des images SVG à travers le système d'édition d'image intégré, ou l'Image-ViewHelper ou l'UriImage-ViewHelper de Fluid (leur attribut « crop »). Les images traitées sont stockées en tant que SVG au lieu d'images PNG/JPG tramées.

Les intégrateurs TYPO3 et les mainteneurs de systèmes peuvent vérifier si le système sous-jacent supporte les nouveaux formats d'image dans Outils d'administration → Environnement et système → Rapports.

Point d'entrée personnalisable

TYPO3 a toujours eu le concept d'une zone frontend et backend avec des points d'entrée strictement séparés pour les requêtes HTTP. Cela a changé dans TYPO3 v13 LTS, car toutes les demandes au système, qu'elles s'adressent au frontend ou au backend, vont maintenant à un seul point d'entrée.

Les installations TYPO3 n'ont plus de répertoire « typo3/ » pour accéder au backend. Ce changement a ouvert la porte à un URI configurable pour le backend. Le backend reste accessible par le chemin « /typo3/ » par défaut, mais les administrateurs peuvent maintenant ajuster l'URI du backend à leurs besoins.

Tom Warwick (TYPO3 GmbH) explique comment reconfigurer le point d'entrée du backend dans l'article de blog, « How to Change the Entry Point in TYPO3 v13 » qui est accompagné d'une vidéo. L'article de blog souligne également les avantages et les inconvénients de cette personnalisation.

Widgets du tableau de bord

Le tableau de bord TYPO3 est livré avec un ensemble de nouveaux widgets de tableau de bord dans TYPO3 v13 LTS. Les widgets donnent un aperçu de l'état actuel de votre système et des notes créées dans le backend. Les utilisateurs du backend avec les permissions appropriées peuvent ajouter un tableau de bord qui montre une vue d'ensemble des notes du système, soigneusement organisées par catégories telles que les instructions, les notes, les ToDos, etc.

Les nouveaux widgets « System Notes » ne sont pas la seule amélioration dans ce domaine. Les éditeurs veulent souvent savoir quelles pages ont été récemment mises à jour. TYPO3 offre maintenant un widget de tableau de bord qui liste les pages les plus récemment mises à jour.

Fonctionnalités clés pour les développeurs

API schéma

L'API Schema est une API basée sur les objets pour travailler avec les définitions TCA. L'API permet aux développeurs TYPO3 d'accéder à un schéma et de lire les informations de la TCA qui sont spécifiques à TYPO3-Core. Les schémas contiennent une liste de capacités, des sous-schémas possibles et tous les champs enregistrés dans la section « showitem ».

Une caractéristique d'un schéma est son immuabilité. Cela signifie que les schémas et les champs existent dans des collections et ne peuvent pas être modifiés après le démarrage. L'architecture de l'API Schema réduit l'accès direct à la TCA et fournit un moyen unifié, propre et simple de travailler avec la TCA.

Création automatique de champs de base de données

Êtes-vous fatigué de maintenir des champs dans des fichiers TCA et de les ajouter ensuite à un fichier SQL ? Nous avons une excellente nouvelle pour vous ! Le fichier ext_tables.sql n'est plus nécessaire que dans de rares cas.

Nous avons déjà équipé TYPO3 v12 d'une fonction qui peut créer automatiquement des colonnes de table de base de données basées sur les définitions stockées dans TCA. Nous avons étendu cette logique dans TYPO3 v13 LTS pour couvrir une plus large gamme de types de colonnes TCA afin de déclarer le fichier ext_tables.sql (presque) obsolète. Vous pouvez toujours remplacer la logique intelligente de TYPO3 en ajoutant votre SQL personnalisé au fichier si nécessaire.

Accessibilité au clavier grâce aux touches de raccourci

L'accessibilité au clavier est un aspect crucial de l'accessibilité au web, car de nombreux utilisateurs utilisent leur clavier pour naviguer. Il s'agit notamment des personnes souffrant de handicaps moteurs, d'un contrôle limité de la motricité fine ou de déficiences visuelles.

Les raccourcis clavier sont un outil puissant pour aider les utilisateurs à naviguer dans une interface web et à exécuter des actions.

Nous avons ajouté un module JavaScript simple mais puissant hotkeys.js à TYPO3 v13 LTS pour permettre aux développeurs TYPO3 d'enregistrer des raccourcis clavier personnalisés dans le backend TYPO3. Les raccourcis par défaut Ctrl/Cmd + K (ouvrir la recherche dans le backend) et Ctrl/Cmd + S (sauvegarder le document ouvert) ne sont que deux exemples de l'utilité des raccourcis - non seulement pour les utilisateurs handicapés, mais aussi pour ceux qui préfèrent la navigation au clavier pour des raisons d'efficacité.

Doctrine DBAL et TYPO3's ExpressionBuilder

La Doctrine DBAL (couche d'abstraction de base de données) permet à TYPO3 d'interagir avec les bases de données tout en s'affranchissant de la nécessité de gérer les implémentations spécifiques à chaque fournisseur. Les développeurs utilisent une interface unifiée pour effectuer des opérations sur les bases de données, quelle que soit la base de données utilisée (MySQL, MariaDB, PostgreSQL ou SQLite).

Nous avons mis à jour TYPO3 et amélioré Doctrine DBAL à la version stable la plus récente 4.2. Cela nous a permis d'implémenter de nouvelles fonctionnalités dans la classe ExpressionBuilder de TYPO3. L'ExpressionBuilder dispose maintenant de plus de méthodes d'expression pour construire des requêtes de base de données avancées. Cela inclut concat(), castVarchar(), castInt(), leftPad(), rightPad(), et plus encore.

Nous avons également introduit une nouvelle méthode pour construire des expressions « if-then-else », qui sont automatiquement traduites en instructions IF ou CASE en fonction du moteur de base de données utilisé. En outre, une nouvelle méthode a été ajoutée pour convertir les résultats des expressions en types de données de type texte. Cette fonctionnalité est particulièrement utile pour convertir des valeurs non textuelles en texte dans des chaînes d'expression complexes.

Changements sous le capot (« Core Changes »)

Index de référence

L'index de référence de TYPO3 (abrégé : refindex) a également reçu des mises à jour passionnantes qui rendront plusieurs opérations extrêmement rapides à l'avenir. Nous avons ajouté une série de nouveaux champs à l'index de référence, effectué plusieurs ajustements et changements structurels dans la classe PHP associée, et réduit le nombre de requêtes SQL nécessaires pour récupérer les données. Ensemble, ces mesures améliorent considérablement les performances du système dans TYPO3 v13 LTS.

Nous recommandons fortement de mettre à jour le refindex chaque fois que vous modifiez une extension ou que vous mettez à jour le noyau de TYPO3. Cela signifie que l'exécution de la mise à jour du refindex devrait également faire partie intégrante de votre stratégie de déploiement.

Dépréciations supprimées

Avec la sortie de TYPO3 v13.0, la première version sprint de la série de versions v13 en janvier 2024, nous avons non seulement effectué des mises à niveau de la plate-forme et des dépendances, mais nous avons également supprimé toutes les dépréciations de TYPO3 v12 conformément à notre politique de dépréciation.

En tant qu'intégrateur TYPO3, nous vous recommandons d'activer la journalisation des dépréciations et d'examiner le fichier journal avant de mettre à jour votre installation à partir d'une version LTS précédente vers TYPO3 v13 LTS.

Les développeurs peuvent aider à maximiser le taux d'adoption de TYPO3 v13 LTS en publiant une version compatible de leurs extensions. TYPO3 dispose d'une gamme d'outils utiles pour vous aider à analyser et à mettre à jour votre base de code. Les méthodes couramment utilisées comprennent le journal de dépréciation (voir ci-dessus), l'Extension Scanner intégré (interface interactive pour analyser le code de l'extension à la recherche d'appels d'API TYPO3 Core obsolètes), et le projet TYPO3 Rector (mises à jour automatisées du code).

Configuration minimale requise

TYPO3 v13 LTS a une nouvelle configuration minimale requise par rapport aux versions précédentes de TYPO3. Tout d'abord, TYPO3 requiert la version 8.2 de PHP ou une version plus récente. PHP v8.2 recevra des mises à jour de sécurité jusqu'en décembre 2026. Cette version de PHP est également requise pour Symfony version 7, qui est un autre composant utilisé par TYPO3 v13 LTS. Symfony v7 sera supporté jusqu'en novembre 2028.

La mise à jour de Doctrine v4 mentionnée précédemment a également un impact sur les exigences du système en ce qui concerne les moteurs de base de données pris en charge. TYPO3 v13 LTS supporte les moteurs de base de données et les versions suivantes :

  • MySQL version 8.0.17 ou supérieure
  • MariaDB version 10.4.3 ou supérieure
  • PostgresSQL version 10.0 ou supérieure
  • SQLite version 3.8.3 ou supérieure

Lors de la mise à jour de TYPO3 v12 LTS vers v13 LTS, vous pouvez mettre à jour la plateforme en premier, puis l'instance TYPO3. TYPO3 v12 LTS supporte déjà PHP version 8.2 et les versions des moteurs de base de données MariaDB et MySQL sont également supportées par TYPO3 v13 LTS.

Support et maintenance

En tant que version LTS (support à long terme), TYPO3 v13 LTS (également connue sous le nom de version 13.4) recevra des corrections de bugs pendant 1,5 an, jusqu'au 30 avril 2026. Ensuite, nous fournirons des correctifs de sécurité gratuits jusqu'au 31 décembre 2027. La période de support totale est donc de plus de 3 ans.

Pour en savoir plus sur les exigences et les dépendances, consultez le site get.typo3.org.

En plus des 3+ années de support et de maintenance gratuits, TYPO3 GmbH offre un support à long terme étendu (ELTS) pour au moins trois années supplémentaires. Cela représente jusqu'à six ans de compatibilité avec les navigateurs, de correctifs de sécurité et de conformité avec les lois sur la sécurité informatique pour votre CMS d'entreprise.

Téléchargement et installation

Vous trouverez tous les détails sur la version et comment télécharger et installer TYPO3 sur get.typo3.org. Les instructions d'installation détaillées sont documentées dans le Guide d'installation. Nous recommandons d'utiliser Composer pour configurer votre environnement TYPO3.

Do you want to publish
a guest blog post?

 

Contact us

Do you want to publish
your own case study?

 

Get in touch