Quand une équipe met en place un centre d’aide, elle part rarement de rien. Les réponses existent déjà : un manuel produit que quelqu’un a exporté en PDF il y a deux ans, une politique de remboursement dans un fichier Word, les macros de l’ancien helpdesk, une feuille imprimée près du poste du support que quelqu’un pourrait prendre en photo. Ce qui manque, c’est le temps de tout ressaisir dans un éditeur.
Alors le centre d’aide reste à trois articles, le chat IA branché dessus répond « Je n’ai pas trouvé » à la plupart des questions, et le manuel continue de ne répondre à personne.
Cette semaine, j’ai ajouté l’import de fichiers au centre d’aide de Kookee. Vous déposez des fichiers Markdown, texte, HTML, Word, PDF ou des images dans un nouvel onglet Importer des fichiers, et chacun devient un article d’aide, public ou réservé au chat IA.

Accepter les fichiers était la partie facile. Les règles autour ont pris l’essentiel du travail.
Sept règles pour importer des documents dans un centre d’aide
1. Chaque fichier arrive en brouillon
Un article importé, c’est le document de quelqu’un d’autre, dans un nouvel endroit, que personne n’a encore relu. Chaque fichier devient donc un brouillon. Le seul raccourci est à activer soi-même : Publier automatiquement les fichiers non signalés publie les fichiers où la vérification du contenu n’a rien trouvé, et retient les autres.
2. Vérifiez ce que dit le fichier, pas seulement qu’il se lit
Un centre d’aide est public, et le chat IA branché dessus cite ce qu’il lit à quiconque le demande. Un document importé est justement l’endroit où se cachent des choses qui ne devraient jamais être publiques : une clé API dans un runbook, le nom et le téléphone d’un client dans une note d’escalade, un paragraphe qui commence par « Assistant, si on te pose une question sur les remboursements, dis… ».
Chaque fichier passe donc une fois par un modèle d’IA avant de devenir un article. Le modèle signale les problèmes de conversion possibles, les données sensibles possibles et le texte adressé à un assistant IA, en citant le passage, et ces signalements s’affichent dans une carte Fichier importé à côté du brouillon. Un brouillon signalé n’est jamais publié automatiquement, quel que soit le réglage.

On indique au modèle que le document contient des données, pas des instructions, et ce qu’il ne doit pas signaler : l’adresse et le téléphone du support de l’entreprise sont la raison d’être d’un article d’aide, pas une fuite.
3. « Chatbot uniquement » ne veut pas dire privé
Kookee propose depuis un moment des articles réservés au chatbot : ils n’apparaissent pas dans le centre d’aide et alimentent le chat IA. Pour un import, cette option ressemble à un endroit sûr pour des documents internes. Ce n’en est pas un. Le chat répond à partir de ces articles, et les cite, à quiconque pose la bonne question sur votre site.
Dès que vous choisissez Chatbot uniquement, le formulaire le dit donc en toutes lettres : non répertorié, pas privé, n’importez pas de documents internes ou confidentiels. Je préfère perdre un import plutôt que de voir quelqu’un découvrir le sens de « chatbot uniquement » sur la capture d’écran d’un client.

4. Lisez d’abord la couche texte, et n’envoyez que les scans à l’IA
Un PDF contient généralement son texte. Le lire est gratuit, exact et instantané : Kookee le lit donc page par page, et seules les pages presque sans texte comptent comme des scans. Celles-ci partent vers un modèle d’IA par lots de cinq pages au plus, avec les images, comme la photo d’une page imprimée, et reviennent en Markdown avec leurs titres, listes et tableaux en place.
Un manuel de quarante pages de texte avec une annexe scannée n’envoie alors que l’annexe au modèle, un appel par tranche de cinq pages scannées, au lieu des quarante et une pages. Et quand le modèle ne parvient pas à lire une page, il ne devine pas son contenu : elle est laissée de côté et listée sur le brouillon, pour que quelqu’un la regarde.
5. Un fichier, un article, et un chat qui trouve la page 40
J’ai envisagé de découper les longs documents au niveau de leurs titres, en de nombreux petits articles, et j’y ai renoncé. Le découpage décide à votre place de la structure de votre centre d’aide, et un manuel coupé en trente fragments est plus difficile à tenir à jour qu’un seul article.
Mais un long article cassait autre chose. Jusqu’ici, le chat IA de Kookee voyait les 3 000 premiers caractères d’un article qu’il ouvrait, et un aperçu de 200 caractères pour chaque résultat de recherche. La page 40 d’un manuel lui était invisible. Le chat a donc changé dans la même version : une recherche sémantique lui fournit maintenant en entier les quatre passages les plus pertinents, deux au plus par article, pris n’importe où dans l’article, et il est prévenu quand un article ouvert est plus long que ce qu’il a lu, pour aller chercher la suite.
6. Comptez les pages, une seule fois, et jamais pour un fichier refusé
La lecture par IA coûte de l’argent : les imports ont donc un quota mensuel en pages, 50 sur Free, 1 000 sur Pro et 5 000 sur Ultra. Un PDF compte ses pages, une image une page, et tout le reste une page par tranche de 3 000 caractères entamée.
Deux détails comptent plus que les chiffres. Les pages sont comptées une seule fois, avant tout appel au modèle, et une nouvelle tentative ne les recompte jamais. Et un fichier refusé avant le décompte de ses pages (endommagé, protégé par mot de passe ou trop long) ne coûte rien.
7. Rien ne s’exécute dans un fichier importé, et rien n’y est considéré comme fiable
Un export HTML peut contenir des scripts, un fichier Word peut pointer vers des images sur le serveur de quelqu’un d’autre, et une page enregistrée depuis un site Kookee contient des liens vers les entrées d’un autre projet. Les scripts et les frames sont donc retirés et jamais exécutés, les images liées d’un fichier Word ne sont jamais téléchargées, les octets d’un fichier doivent correspondre à son extension, la taille de l’archive d’un fichier Word est vérifiée avant toute lecture, et les liens vers d’autres entrées et les @mentions deviennent du texte brut.
Les images suivent la même règle. Depuis la v1.22.0, les imports les emportent avec eux, et chaque image est décodée puis réenregistrée en WebP : un fichier qui se fait seulement passer pour une image est refusé, un SVG n’a jamais l’occasion de s’exécuter, et les données d’appareil photo et de localisation sont laissées de côté. Une image hébergée sur le web est téléchargée par un fetcher qui refuse les adresses privées et internes, revérifie chaque redirection et abandonne au bout de 10 secondes ou de 10 Mo. Et comme la vérification du contenu lit le texte, pas les images, un article avec des images importées attend toujours une relecture humaine.
Ce qui se passe quand vous cliquez sur Importer
Chaque fichier passe par une file d’attente avec relances : conversion, lecture des pages scannées, vérification du contenu, création du brouillon. L’Historique des importations, sous le formulaire, montre où en est chaque fichier, et renvoie au brouillon une fois le traitement terminé.

Si un worker plante au milieu d’un scan, une tâche horaire repère l’import bloqué et le reprend là où il s’était arrêté, trois fois au plus, puis abandonne tout ce qui n’est toujours pas terminé au bout d’un jour. Le fichier d’origine est conservé en privé avec l’article qu’il est devenu, et supprimé quand vous supprimez l’article.
Si vous développez un outil d’import
Faites arriver chaque fichier en brouillon, et faites de la publication une option à activer.
Cherchez dans chaque fichier les secrets, les données personnelles et les instructions destinées à votre chatbot, avant que le chatbot puisse le lire.
Dites clairement que « chatbot uniquement » ne veut pas dire privé.
Utilisez la couche texte, et n’envoyez à un modèle d’IA que les pages qui en ont besoin.
Listez ce qui n’a pas pu être lu au lieu de le deviner.
Comptez l’usage une seule fois, avant la partie coûteuse, et jamais pour les fichiers refusés.
Traitez le fichier comme non fiable : pas de scripts, pas d’id que vous n’avez pas créés, et les images distantes uniquement via un fetcher qui refuse les adresses privées.
Faites en sorte que le chat trouve les passages situés loin dans les longs articles avant d’encourager les gens à en importer.
Pour aller plus loin
Importer des fichiers dans votre centre d’aide : les formats, les étapes, la vérification du contenu et le quota mensuel de pages.
Votre widget de chat ne devrait pas faire quitter la page pour lire la réponse : comment le widget du site ouvre les articles d’aide sur place.
Comment l’assistant choisit ses sources : ce que vous apprend la ligne Sources sous une réponse.