Me

Ce site : de WordPress et Divi vers Statamic

C'est le site que vous êtes en train de lire, donc tout ce qui suit peut être vérifié en regardant autour de vous.

Il a tourné sur WordPress pendant cinq ans, monté avec Divi, portant des articles sur le mode de vie et le développement personnel. Le problème n'a jamais été l'apparence des pages — Divi fait cela très bien. C'est que les trois choses dont j'avais sans cesse besoin étaient les trois choses qu'un éditeur de pages n'est pas fait pour donner.

Là où l'éditeur s'arrêtait

Des champs à moi, sur les deux moitiés d'une rubrique. Je voulais des pages d'index avec leurs propres champs, et les entrées en dessous avec des champs encore différents — un projet portant ses outils et ses liens sortants, une conférence portant un film et une date. Un éditeur de pages modélise une page comme une toile que l'on agence. Ce qu'il me fallait, c'était une page comme une forme, pour qu'en la remplissant on ne puisse pas produire une mise en page que personne n'a dessinée.

Un seul back-office, pas un par fonctionnalité. Chaque capacité arrivait sous forme d'extension, et chaque extension apportait son propre écran de réglages, son propre vocabulaire et sa propre idée de l'endroit où les choses se trouvent. Ajouter une fonctionnalité revenait à ajouter un panneau de réglages — et ce panneau est précisément ce que doit apprendre celui qui édite le site.

Une mise en page que je puisse atteindre. Changer la structure d'une page revenait à contourner un thème plutôt qu'à ouvrir un gabarit.

Ce qui les a remplacés

Statamic répond franchement au premier point. Chaque type d'entrée a un blueprint — la liste des champs que ce type d'entrée possède réellement — si bien que la page des prestations est composée à partir de 68 champs nommés plutôt que d'une toile, et le gabarit les lit par leur nom. Un champ laissé vide fait disparaître toute sa section au lieu de laisser un titre au-dessus de rien.

Le second est la raison pour laquelle quelques éléments ici ont été développés plutôt qu'installés. Les titres et descriptions SEO de ce site sont rédigés à partir du texte même de l'entrée par un modèle d'IA, sur un bouton placé dans le formulaire de publication ordinaire — pas une extension avec son propre tableau de bord. Le modèle est derrière un contrat, si bien que deux fournisseurs sont sélectionnables aujourd'hui et qu'un troisième ne serait qu'une classe.

Le troisième est ce qui a rendu les deux autres possibles : en dessous, c'est une application Laravel, donc un gabarit est un fichier que j'ouvre.

Ce qui a suivi, et ce qui tourne aujourd'hui

L'archive arabe a suivi. Les articles plus anciens ont été traduits et les vidéos transcrites avec OpenAI et Google Cloud, pour que des années de matière restent lisibles au lieu d'être abandonnées dans la migration.

Les dons passent par PayPal, ponctuels ou mensuels, avec le montant décidé côté serveur et chaque signature de webhook vérifiée avant le moindre enregistrement. Les articles portent un sommaire généré, un fil de commentaires, et une recherche qui met en évidence le terme trouvé.

Le front-end est volontairement conservateur. Le gap de Flexbox est désactivé dans tout le build et réimplémenté avec des marges, et aspect-ratio comme le défilement fluide sont polyfillés, parce qu'une part réelle des personnes qui lisent ceci sont sur d'anciens WebViews Android où rien de tout cela ne fonctionne. C'est une décision sur qui a le droit de lire le site plutôt qu'une préférence technique.

Outils de développement

  • StatamicStatamic
  • LaravelLaravel
  • Alpine JSAlpine JS
  • JavascriptJavascript
  • TailwindTailwind
  • OpenAIOpenAI

Parlons de votre projet

Quelques lignes sur le problème suffisent pour démarrer. Je vous dirai franchement si je suis la bonne personne ou non.

Démarrer un projet