[{"data":1,"prerenderedAt":30},["ShallowReactive",2],{"doc:fr:code-index":3},{"title":4,"lede":5,"html":6,"headings":7},"L’index du code","Escouade range le code d’un projet en symboles et en liens, pour que ses agents trouvent ce qu’ils cherchent en un appel, plus vite et pour moins de tokens qu’en lisant des fichiers entiers.","\u003Ch2 id=\"ce-qu-il-fait-gagner\">Ce qu’il fait gagner\u003C\u002Fh2>\n\u003Cp>Sans index, un agent cherche à coups de grep, puis lit les fichiers qu’il a trouvés, souvent en entier. Avec l’index, il demande en un appel :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>où est un symbole (fonction, méthode, classe, type, champ, titre Markdown), avec sa signature et sa doc ;\u003C\u002Fli>\n\u003Cli>le contexte d’une tâche : les points d’entrée et les symboles liés, avec leurs extraits ;\u003C\u002Fli>\n\u003Cli>les appelants et les appelés d’une fonction ;\u003C\u002Fli>\n\u003Cli>ce qu’un changement toucherait.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Chaque réponse dit ce qu’elle a fait économiser : les tokens des fichiers dont elle tire, lus en entier, contre les siens. Les \u003Ca href=\"\u002Fdocs\u002Fstats\u002F\">statistiques\u003C\u002Fa> en font le total par projet.\u003C\u002Fp>\n\u003Cp>Les langages lus : Rust, TypeScript, JavaScript, Svelte, Python, Go, Java, C#, PHP et Markdown.\u003C\u002Fp>\n\u003Ch2 id=\"l-allumer\">L’allumer\u003C\u002Fh2>\n\u003Cp>L’index est \u003Cstrong>coupé par défaut\u003C\u002Fstrong>. Escouade le propose :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>à l’ajout d’un projet, à la dernière étape de l’assistant « Nouveau projet » (\u003Cstrong>Indexer le code\u003C\u002Fstrong>) ;\u003C\u002Fli>\n\u003Cli>dans \u003Cstrong>Réglages › Projets › Index du code\u003C\u002Fstrong> (\u003Cstrong>Indexer ce projet\u003C\u002Fstrong>), à tout moment.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Allumé, le projet est lu une fois, puis tenu à jour sans guetteur de fichiers : à chaque question des agents (au plus toutes les 3 secondes), aux commits, aux changements de branche et aux fins de tour. Le réglage dit ce qu’il contient : ses fichiers, ses symboles, sa taille et quand il a été lu. Le couper efface l’index.\u003C\u002Fp>\n\u003Cp>Les worktrees des agents ne sont pas indexés en entier : l’index de la branche de base sert à tous, et chaque worktree n’ajoute que ce qui en diffère.\u003C\u002Fp>\n\u003Ch2 id=\"rien-ne-quitte-la-machine\">Rien ne quitte la machine\u003C\u002Fh2>\n\u003Cp>L’index est calculé sur ta machine et gardé dans le \u003Ca href=\"\u002Fdocs\u002Fdata\u002F\">dossier d’Escouade\u003C\u002Fa>, jamais dans le dépôt ni dans un service en ligne. Seuls les agents en reçoivent des extraits, comme ils reçoivent déjà du code. Les fichiers ignorés par git ne sont pas lus.\u003C\u002Fp>\n\u003Ch2 id=\"les-projets-prives\">Les projets privés\u003C\u002Fh2>\n\u003Cp>L’index d’un \u003Ca href=\"\u002Fdocs\u002Fmcp\u002F#les-projets-prives\">projet privé\u003C\u002Fa> ne sert qu’à ses propres agents : ceux des autres projets n’y ont jamais accès, ni par le nom ni par l’id. Ce que sa clôture refuse n’est jamais lu ni indexé ; quand un autre projet est rangé dans son dossier, le réglage le nomme : « Laissé hors de l’index : … ». De même, un projet ouvert qui contient un projet privé dans son dossier le laisse hors de son index.\u003C\u002Fp>\n\u003Ch2 id=\"la-recherche-par-le-sens\">La recherche par le sens\u003C\u002Fh2>\n\u003Cp>En plus des mots, la \u003Ca href=\"\u002Fdocs\u002Fshared-memory\u002F\">mémoire partagée\u003C\u002Fa> et les docs d’un projet se cherchent par le sens, avec un petit modèle multilingue (multilingual-e5-base, licence MIT) qui tourne sur ta machine. Il se télécharge une fois pour tous les projets, depuis \u003Cstrong>Réglages › Projets › Index du code › Recherche par le sens\u003C\u002Fstrong> (282 Mo) :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>une jauge montre où en est le téléchargement, et \u003Cstrong>Annuler\u003C\u002Fstrong> l’arrête ;\u003C\u002Fli>\n\u003Cli>ce qui est venu est gardé : \u003Cstrong>Reprendre\u003C\u002Fstrong> repart de là ;\u003C\u002Fli>\n\u003Cli>le fichier est vérifié par son empreinte SHA-256, et passe par le proxy des \u003Ca href=\"\u002Fdocs\u002Fsettings-network\u002F\">réglages réseau\u003C\u002Fa> ;\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Effacer\u003C\u002Fstrong> le retire ; la recherche se fait alors par les mots seuls.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Une fois le modèle téléchargé, rien ne sort plus de la machine.\u003C\u002Fp>\n\u003Ch2 id=\"ce-que-voient-les-agents\">Ce que voient les agents\u003C\u002Fh2>\n\u003Cp>Les agents passent par cinq outils du \u003Ca href=\"\u002Fdocs\u002Fmcp\u002F\">serveur MCP\u003C\u002Fa>, les mêmes pour \u003Ca href=\"\u002Fdocs\u002Fharness\u002F\">tous les harness\u003C\u002Fa> : \u003Ccode class=\"key\">index_search\u003C\u002Fcode>, \u003Ccode class=\"key\">index_context\u003C\u002Fcode>, \u003Ccode class=\"key\">index_callers\u003C\u002Fcode>, \u003Ccode class=\"key\">index_callees\u003C\u002Fcode> et \u003Ccode class=\"key\">index_impact\u003C\u002Fcode>. Dans les vues de Claude Code et de Codex, une recherche qui vise un symbole reçoit une ligne qui dit que l’index y répond en un appel ; ailleurs, c’est une règle de leur consigne. Une recherche de texte n’est jamais bloquée.\u003C\u002Fp>\n\u003Ch2 id=\"ce-qu-il-a-fait-economiser\">Ce qu’il a fait économiser\u003C\u002Fh2>\n\u003Cp>Les \u003Ca href=\"\u002Fdocs\u002Fstats\u002F\">statistiques\u003C\u002Fa> ont une partie \u003Cstrong>Économies de l’index du code\u003C\u002Fstrong>, sur la période choisie : par projet, le nombre de réponses de l’index, les tokens économisés et leur valeur en dollars. Les dollars sont une estimation : les tokens économisés au prix d’entrée du modèle sur lequel tournait chaque agent.\u003C\u002Fp>\n",[8,12,15,18,21,24,27],{"id":9,"text":10,"depth":11},"ce-qu-il-fait-gagner","Ce qu’il fait gagner",2,{"id":13,"text":14,"depth":11},"l-allumer","L’allumer",{"id":16,"text":17,"depth":11},"rien-ne-quitte-la-machine","Rien ne quitte la machine",{"id":19,"text":20,"depth":11},"les-projets-prives","Les projets privés",{"id":22,"text":23,"depth":11},"la-recherche-par-le-sens","La recherche par le sens",{"id":25,"text":26,"depth":11},"ce-que-voient-les-agents","Ce que voient les agents",{"id":28,"text":29,"depth":11},"ce-qu-il-a-fait-economiser","Ce qu’il a fait économiser",1793283948896]