Blog

Articles

Des articles de fond signés par notre équipe. Ingénierie, produit et actualités de l'entreprise.

  • Product

    Un centre d’aide multilingue sans pages vides

    Le portail hébergé de Kookee affichait toutes les pages dans la langue par défaut du projet, quelle que soit la langue choisie par le lecteur. Désormais, chaque langue a sa propre adresse, une page sans traduction s’affiche dans la langue par défaut, et le sélecteur de langue ne propose que les langues du projet.

  • Product

    Comment ajouter une page de statut à votre SaaS

    Les choix à faire pour la page de statut d’un SaaS : quoi y afficher, quand un moniteur de disponibilité doit déclarer une panne, comment rédiger les mises à jour d’incident et où héberger la page, avec comme exemple la page de statut et les moniteurs de disponibilité que je viens d’ajouter à Kookee.

  • Product

    Vos webhooks ne devraient pas faire confiance à l’URL qu’on leur donne

    Le webhook est la seule fonctionnalité où un client saisit une adresse et où vos serveurs vont l’appeler. Ce que j’ai construit pour les webhooks de Kookee et ses intégrations Slack, GitHub et Jira, et huit choses qu’un émetteur de webhooks ne doit pas rater.

  • Product

    Votre centre d’aide ne devrait pas partir d’une page blanche

    La plupart des équipes ont déjà leur contenu d’aide, dans des PDF, des fichiers Word et de vieux exports. C’est la ressaisie qui laisse les centres d’aide vides. Ce que j’ai construit pour l’importer, et les sept règles qui empêchent un import de livrer des secrets à un chatbot.

  • oauth

    Votre serveur MCP ne devrait pas obliger à coller un token

    Le serveur MCP de Kookee fonctionnait bien avec des tokens personnels, tant qu’on vivait dans un terminal. Les applications de chat de Claude et ChatGPT, elles, se connectent en vous demandant de vous identifier. Ce que j’ai livré pour qu’elles y arrivent, et les sept décisions qui ont pris plus de temps que le code.

  • Product

    Votre widget de retours ne devrait pas exiger d’inscription

    Le tableau de retours de Kookee demande un compte, et pour les votes, c’est normal. Pour le visiteur qui vient de tomber sur un bug et dispose d’une demi-minute, c’est un mur. Le nouvel onglet Retours du widget du site, les cinq règles que j’ai suivies pour le concevoir, et pourquoi le chat IA devient lui aussi facultatif.

  • Product

    Votre widget de chat ne devrait pas faire quitter la page pour lire la réponse

    Le chat de Kookee citait le bon article, et un clic dessus emmenait le visiteur loin de la page et de la conversation. J’ai reconstruit le widget autour des onglets Accueil, Demander et Aide, et d’un lecteur d’articles. Les cinq règles que j’ai suivies, et ce que j’ai laissé de côté.

  • headless-cms

    Les composants React de votre CMS ne devraient pas récupérer eux-mêmes leurs données

    La plupart des kits de composants des CMS headless enveloppent votre app dans un provider et chargent les données dans les composants. Avec les Server Components, le contenu manque dans le premier HTML, des listes statiques partent en JavaScript et les articles sont envoyés deux fois. Les six règles que j’ai suivies pour les miens.

  • Engineering

    React 19 réécrit votre dangerouslySetInnerHTML à chaque rendu

    Un objet { __html } écrit en ligne pousse React 19 à remplacer tout le HTML d’un élément à chaque nouveau rendu de son parent. Je l’ai découvert à cause d’une table des matières bloquée sur le dernier titre. Pourquoi cela arrive, ce que cela casse, et le correctif d’une ligne.

  • pagination

    La pagination de votre blog cache sans doute des articles à Google

    Bouton « Charger plus », pagination gardée dans l’état du composant, toutes les pages canoniques vers la première, noindex dès la page deux : quatre façons courantes dont la pagination d’un blog cache les anciens articles aux moteurs de recherche, ce qu’il faut faire à la place, et une checklist.

  • security

    Votre lien d’invitation est un mot de passe collé dans Slack

    Envoyer un lien d’invitation, c’est distribuer un secret qui fonctionne pour quiconque le voit un jour. Voici ce que ce lien doit porter avant d’être collé sans risque dans un canal, et les choix que j’ai faits pour celui de Kookee.