Les projets secondaires du dimanche
Le dimanche devrait avoir sa propre discipline : le déjeuner qui s'étire, les volets baissés contre l'après-midi, un livre laissé ouvert sur la table, la lente administration du néant. Ce devrait être le jour où les choses cessent pendant quelques heures de réclamer de l'attention. Puis il y a ceux qui allument l'ordinateur juste pour vérifier une chose. Une petite chose, un détail, un webhook. J'appartiens à cette confrérie sans statut, composée de personnes qui à quatre heures de l'après-midi disent « cela prendra dix minutes » et à neuf heures du soir découvrent que quelqu'un, sans les consulter, a éteint le soleil.
GPulse est né ainsi. Pas d'un plan industriel, ni d'une étude de marché. Aucun groupe de consultants n'a étudié le quadrant concurrentiel des outils pour Ghost CMS. Il n'y a pas eu quarante-sept diapositives, trois graphiques sans unités de mesure et une flèche verte pointant vers le paradis des revenus récurrents. Il n'y avait que quelques-uns de mes sites construits avec Ghost et certaines fonctions dont j'avais besoin. Je les avais réalisées au fil du temps pour un usage personnel, comme on construit une étagère parce que les livres continuent de tomber. Puis elles étaient restées éparpillées entre dépôts, scripts, configurations et notes. Des choses vivantes, mais sans maison commune. À un certain moment, j'ai décidé de les rassembler en un seul endroit. Cet endroit est devenu GPulse.
Traduire sans travestir
La première fonction est GPulse Translate. Le besoin était simple à formuler et moins simple à satisfaire : publier du contenu en plusieurs langues sans transformer le site en un théâtre de traductions appliquées en surface. De nombreux services traduisent une page pendant que le visiteur la regarde. C'est une solution légitime, mais souvent la traduction reste une sorte de pellicule transparente posée sur le contenu original. Le lecteur voit une langue différente, tandis que sous le capot, il n'existe qu'une seule page.
GPulse Translate suit un autre chemin. Lorsque un article ou une page est publié ou mis à jour, le système crée dans Ghost un contenu traduit réel. La nouvelle version possède sa propre adresse, son propre slug, le tag de la langue, les références hreflang et sa propre présence dans le sitemap. Ce n'est pas un masque, c'est un contenu. Il peut être modifié depuis le panneau d'administration, corrigé, intégré et géré comme n'importe quel autre post. Les traductions peuvent vivre sur le même site ou être distribuées entre différentes installations Ghost.
Pour ceux qui administrent plusieurs publications internationales, cela signifie éviter l'une des liturgies les plus anciennes de l'informatique éditoriale : copier, coller, changer de fenêtre, perdre un paragraphe, corriger le mauvais site et enfin se demander pourquoi la version espagnole contient encore une phrase en allemand. Cela n'élimine pas le travail éditorial. Cela élimine une partie considérable du travail stupide. Et c'est souvent cela la meilleure fonction du logiciel.
Avertir les moteurs de recherche
La deuxième fonction est GPulse IndexNow. Lorsque un contenu est publié ou modifié, Ghost envoie un signal. GPulse le reçoit et communique aux moteurs de recherche compatibles que cette adresse a changé. Il ne promet pas de conquérir la première position d'ici le prochain solstice, n'interprète pas les fonds de café du SEO et ne sacrifie pas des mots-clés à la divinité de l'algorithme. Il fait une chose plus modeste et, justement pour cela, utile : automatise un trait de la plomberie numérique. Au lieu d'attendre qu'un moteur de recherche revienne visiter aléatoirement une page, il lui est communiqué que quelque chose s'est passé.
C'était une fonction que je désirais pour mes sites. Je l'ai conçue, développée, connectée à Ghost, testée et enfin transformée en un service. À ce moment-là, la comédie est intervenue.
La ponctualité du pont
Peu après avoir construit GPulse IndexNow, j'ai découvert qu'IndexNow allait devenir une fonction native de Ghost CMS. C'est l'un des grands classiques de l'informatique indépendante. Tu construis un bateau, tu le conçois, choisis le bois, ajustes la voile. Tu le peins, lui donnes un nom, prépares une bouteille à briser sur la proue. Tu invites des parents, des amis et deux mouettes intéressées par le buffet. Puis, alors que tu es sur le point de prendre le large, la municipalité inaugure un pont gratuit. Le pont a quatre voies, une piste cyclable, un éclairage nocturne et probablement aussi un distributeur de granités. Ton bateau reste là, élégant et légèrement perplexe.
Donc oui : il est possible que j'aie réalisé GPulse IndexNow presque pour rien. Le projet est né avec la dignité mélancolique d'un retraité qui reçoit la communication le premier jour de travail. Mais ce « presque » est important. En gérant plusieurs sites Ghost, je continuerai à trouver utile un seul tableau de bord à partir duquel contrôler les connexions, les envois, les erreurs et les statistiques. Une fonction native résout le problème à l'intérieur d'un site. GPulse permet plutôt d'observer plusieurs sites ensemble.
Surtout, IndexNow m'a forcé à construire l'infrastructure sur laquelle vit aujourd'hui Translate. Authentification, connexions avec Ghost, webhook, gestion des sites, files d'attente de traitement, contrôles et panneaux d'administration : tout ce qui semblait nécessaire à un petit produit destiné à être dépassé est devenu le terrain sur lequel le suivant a pu croître. Le bateau ne traversera peut-être pas la rivière, mais le bois a servi à construire une maison.
La valeur des choses latérales
Les projets annexes fonctionnent souvent de cette manière. Ils naissent d'un petit agacement : une procédure répétitive, un lien manquant, une information qu'il faut recopier à chaque fois. Au début, ils ne semblent pas être des projets, mais de petites insubordinations contre le temps perdu. Puis ils deviennent du code. Le code devient un outil. L'outil, parfois, devient un produit. D'autres fois, il est dépassé par une fonction native, une nouvelle plateforme ou par quelqu'un qui a eu la même idée six mois plus tôt et un département marketing avec des chaussures brillantes.
Cela ne signifie pas nécessairement que le travail a été inutile. Un projet produit au moins deux choses : ce qu'il fait et ce qu'il apprend à faire. La première peut devenir obsolète. La seconde reste dans les mains.
GPulse est né pour résoudre des problèmes que j'avais sur mes sites. Aujourd'hui, il rassemble ces outils et les rend disponibles à ceux qui utilisent Ghost CMS et rencontrent les mêmes besoins. Peut-être qu'il grandira. Peut-être que certaines fonctions seront absorbées par Ghost. Peut-être que d'autres arriveront, nées pendant un dimanche où je m'étais promis de ne pas allumer l'ordinateur. C'est le risque des choses vraiment construites. Elles n'existent pas seulement dans les présentations. Elles rencontrent le monde, et le monde parfois répond en les copiant, en les dépassant, en les ignorant ou en leur trouvant une utilité que nous n'avions pas prévue.
Pour cela, les projets annexes du dimanche ne sont pas du temps perdu. Ce sont des recherches faites avec les mains.
GhostPulse Translate
https://gpulse.it/translate/
GhostPulse IndexNow
https://gpulse.it/indexnow/
Votre projet est bloqué par une limite technique ?
Réserver 15 minutes