<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Paneflow Blog</title>
    <link>https://paneflow.dev/fr/blog</link>
    <description>Des guides concrets pour lancer, organiser, reprendre et faire collaborer plusieurs agents de code avec Paneflow.</description>
    <language>fr-FR</language>
    <lastBuildDate>Tue, 21 Jul 2026 00:00:00 GMT</lastBuildDate>
    <atom:link href="https://paneflow.dev/fr/feed.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>Paneflow 0.8.1 : libghostty-vt remplace Alacritty sous Windows</title>
      <link>https://paneflow.dev/fr/blog/libghostty-windows</link>
      <guid isPermaLink="true">https://paneflow.dev/fr/blog/libghostty-windows</guid>
      <pubDate>Tue, 21 Jul 2026 00:00:00 GMT</pubDate>
      <dc:creator>Arthur Jean</dc:creator>
      <category>paneflow</category>
      <category>windows</category>
      <category>terminal</category>
      <category>ghostty</category>
      <description>Le build Windows x64 natif utilise désormais par défaut un moteur libghostty-vt lié statiquement. Paneflow conserve son rendu GPUI et son host ConPTY, avec Alacritty disponible comme repli immédiat.</description>
      <content:encoded><![CDATA[<p><a href="https://github.com/arthjean/paneflow/releases/tag/v0.8.1" rel="noopener noreferrer nofollow ugc" target="_blank">Paneflow 0.8.1</a> apporte <code>libghostty-vt</code> au build Windows natif. Dans le MSI x64 officiel, chaque nouvelle session de terminal sélectionne maintenant Ghostty lorsque <code>terminal.backend</code> est omis ou laissé sur <code>auto</code>.</p>
<p>Cette version prolonge la migration du moteur terminal livrée sous Linux avec Paneflow 0.8.0. Paneflow utilise désormais le même cœur VT Ghostty par défaut sous Linux x86_64, Linux ARM64 et Windows x64 MSVC. Alacritty reste disponible sur chaque plateforme comme backend de récupération explicite, et demeure le choix par défaut sur macOS et les cibles non prises en charge.</p>

  <img src="/images/libghostty-windows.webp" alt="Icône de Ghostty à côté du logo Windows dans un paysage bleu et lavande" width="{1920}" height="{1080}" />
<h2>Le moteur Ghostty fonctionne maintenant sur ConPTY</h2>
<p>Paneflow intègre Ghostty au niveau du moteur VT. <code>libghostty-vt</code> analyse les séquences terminal, maintient la grille et l'état du curseur, gère les graphèmes, le retour à la ligne et le reflow, puis encode les entrées clavier et souris. Paneflow reste responsable de la fenêtre, des panneaux, des sessions, du cycle de vie des processus, de la persistance et du rendu GPUI.</p>
<p>Le port Windows ajoute un host natif autour de ce moteur. Paneflow ouvre le pseudoterminal avec <code>portable-pty</code>, qui utilise ConPTY sous Windows, puis transmet sa sortie UTF-8 à <code>libghostty-vt</code>. L'état Ghostty est copié dans des snapshots Rust possédés avant que GPUI ne le peigne. L'application Ghostty, son interface et son moteur de rendu ne sont pas embarqués dans Paneflow.</p>
<p>Cette séparation est importante sous Windows. ConPTY porte la connexion au shell et le contrat de processus du système. Ghostty interprète le terminal. Paneflow contrôle le produit et les pixels. Le même moteur de rendu indépendant du backend peut ainsi afficher des sessions Alacritty ou Ghostty sans chemin de rendu propre à Windows.</p>
<h2>Le port exigeait un cycle de vie Windows complet</h2>
<p>Une bibliothèque statique qui compile sous Windows ne suffit pas. Les sessions terminal ont aussi besoin d'un démarrage, d'un redimensionnement, d'un drain de sortie, d'un arrêt et d'un nettoyage des processus descendants déterministes avec PowerShell, les invites de commandes, les TUI et les agents de code.</p>
<p>Le host Ghostty Windows regroupe les redimensionnements ConPTY, draine la dernière sortie avant de fermer une session, attend son lecteur avant de quitter et borne la backpressure lorsque plusieurs panneaux produisent de la sortie en même temps. Paneflow 0.8.1 regroupe aussi les redraws Ghostty sous Windows afin d'éviter du travail de rendu inutile.</p>
<p>Les entrées traversent la même frontière. L'intégration couvre l'encodage clavier Ghostty, AltGr, les touches mortes, les commits IME, le collage, le presse-papiers, la souris, le focus et les liens. Deux derniers correctifs de la 0.8.1 préservent les entrées multilignes avec <code>Shift+Enter</code> à travers ConPTY, y compris dans les prompts d'agents de code qui utilisent ce raccourci pour insérer une nouvelle ligne.</p>
<h2>Un artefact MSVC statique et épinglé est inclus dans Paneflow</h2>
<p>Le build Windows x64 officiel contient une archive <code>ghostty-vt-static.lib</code> épinglée. Son commit source, la chaîne d'outils Zig, les headers, les bindings Rust générés, les symboles, les métadonnées de build, les licences et les sommes de contrôle sont suivis dans le dépôt.</p>
<p>Tu n'as besoin d'installer ni Ghostty, ni Zig, ni DLL, ni runtime supplémentaire. Le MSI standard consomme l'archive vérifiée pendant le build de Paneflow, puis l'exécutable final lie statiquement le moteur. La reconstruction native et le build Windows qui consomme l'archive restent séparés afin que la CI détecte toute dérive de source, d'ABI ou d'artefact avant une release.</p>
<p>Paneflow confine l'ABI C brute dans son crate <code>-sys</code> et expose au-dessus un ownership Rust sûr. Les handles natifs sont libérés par l'allocateur Ghostty correspondant, les panics de callbacks restent derrière la frontière FFI, et aucune ligne ou cellule Ghostty empruntée ne survit au verrou du terminal ni ne franchit la frontière d'une frame.</p>
<h2>Ghostty devient automatique, Alacritty reste disponible</h2>
<p><code>terminal.backend</code> accepte trois valeurs sous Windows : <code>auto</code>, <code>ghostty</code> et <code>alacritty</code>. Dans le build x64 officiel de Paneflow 0.8.1, <code>auto</code> et <code>ghostty</code> sélectionnent le moteur Ghostty. Définis <code>alacritty</code> dans <code>paneflow.json</code> pour forcer l'ancien backend dans les nouvelles sessions :</p>
<pre><code class="language-json">{
  "terminal": {
    "backend": "alacritty"
  }
}
</code></pre>
<p>Ce réglage s'applique uniquement aux nouvelles sessions. Paneflow peut revenir une fois à Alacritty si Ghostty échoue avant la création du processus shell. Après le démarrage du processus, la session ne change jamais de backend et Paneflow ne lance jamais un second shell en arrière-plan.</p>
<p>Ce chemin de récupération garde les défaillances du terminal locales et réversibles. Tu peux revenir à Alacritty sans réinstaller Paneflow ni modifier les données de tes workspaces, puis repasser sur <code>auto</code> une fois le problème compris.</p>
<h2>Un même cœur terminal sous Linux et Windows</h2>
<p>Paneflow 0.8.0 a établi la frontière du moteur sous Linux. La version 0.8.1 montre que cette frontière peut traverser un modèle PTY et processus très différent sans pousser les détails de plateforme dans le moteur de rendu ou le modèle de workspace.</p>
<p>Windows ARM64 reste hors du périmètre de cette release et continue d'utiliser Alacritty. macOS reste également sur Alacritty pendant que son chemin Ghostty est évalué séparément. Sur les builds Linux et Windows pris en charge, <code>auto</code> signifie désormais la même chose : Ghostty pour le cœur terminal, GPUI pour le rendu et Paneflow pour l'espace de travail multi-agent autour.</p>
<p>Installe Paneflow 0.8.1, ouvre un nouveau panneau et lance le PowerShell, shell WSL, TUI ou agent de code que tu utilises habituellement. Si un comportement du terminal régresse, définis <code>terminal.backend</code> sur <code>alacritty</code> pour les nouvelles sessions et indique le shell, la version de Windows, la commande et la séquence de reproduction la plus courte possible.</p>]]></content:encoded>
    </item>
    <item>
      <title>Paneflow 0.8.0 : libghostty-vt remplace Alacritty sous Linux</title>
      <link>https://paneflow.dev/fr/blog/libghostty-linux</link>
      <guid isPermaLink="true">https://paneflow.dev/fr/blog/libghostty-linux</guid>
      <pubDate>Sat, 18 Jul 2026 00:00:00 GMT</pubDate>
      <dc:creator>Arthur Jean</dc:creator>
      <category>paneflow</category>
      <category>linux</category>
      <category>terminal</category>
      <category>ghostty</category>
      <description>Les builds Linux standard lient désormais statiquement un moteur libghostty-vt épinglé. Paneflow conserve son moteur de rendu GPUI, tandis qu&apos;Alacritty reste disponible comme solution de repli et actif sur macOS et Windows.</description>
      <content:encoded><![CDATA[<p><a href="https://github.com/arthjean/paneflow/releases/tag/v0.8.0" rel="noopener noreferrer nofollow ugc" target="_blank">Paneflow 0.8.0</a> utilise désormais <code>libghostty-vt</code> pour chaque nouvelle session de terminal dans les builds Linux standard. Avec <code>terminal.backend</code> sur <code>auto</code>, les builds Linux x86_64 et ARM64 sélectionnent Ghostty par défaut.</p>
<p>Cette migration change le moteur qui interprète les données VT et maintient l'état du terminal, pas l'espace de travail autour. Paneflow reste responsable du PTY, du cycle de vie des processus, du moteur de rendu GPUI, des panneaux, des sessions, de l'état des agents, des diffs et de la persistance. macOS et Windows continuent d'utiliser Alacritty.</p>

  <img src="/images/libghostty-linux.webp" alt="Icônes de Ghostty et Paneflow côte à côte dans un paysage bleu et lavande" width="{1920}" height="{1080}" />
<h2>Ghostty rejoint Paneflow au niveau du moteur VT</h2>
<p>Jusqu'à Paneflow 0.7.x, les sessions de terminal reposaient sur le crate Rust <code>alacritty_terminal</code> 0.26. Ce moteur gérait les séquences d'échappement, la grille, le scrollback, les modes d'entrée, la recherche et une partie du modèle de rendu.</p>
<p>Le nouveau chemin Linux utilise <a href="https://github.com/ghostty-org/ghostty/blob/ae52f97dcac558735cfa916ea3965f247e5c6e9e/README.md#cross-platform-libghostty-for-embeddable-terminals" rel="noopener noreferrer nofollow ugc" target="_blank"><code>libghostty-vt</code></a>, le moteur de terminal embarquable de Ghostty. Il analyse les séquences VT, suit l'état du curseur et de l'écran, gère les graphèmes, le retour à la ligne et le reflow, encode les entrées clavier et souris, puis expose un état de rendu incrémental à l'application hôte.</p>
<p>Paneflow n'embarque ni l'application Ghostty, ni son interface GTK, ni son moteur de rendu. Ghostty fournit le cœur du terminal. Paneflow transforme cet état en snapshots Rust possédés et les peint avec son moteur de rendu GPUI existant. L'interface du produit et le workflow multi-agent restent donc sous le contrôle de Paneflow.</p>
<h2>Une frontière Paneflow sépare maintenant le moteur du produit</h2>
<p>Remplacer le parser ne représentait qu'une partie du travail. Les types Alacritty avaient atteint la boucle PTY, le rendu, la recherche, la sélection, les liens, la restauration du scrollback et le cycle de vie des sessions. Changer de dépendance sans retirer d'abord ce couplage aurait simplement déplacé le même problème vers un nouveau moteur.</p>
<p>Paneflow expose maintenant sa propre frontière de session terminal. Alacritty et Ghostty produisent les mêmes commandes, événements, modes, résultats de recherche et snapshots de rendu Paneflow. Le moteur de rendu n'a plus besoin de savoir quel moteur de terminal a créé une cellule.</p>
<p>C'est la partie durable de la migration. Linux peut avancer en premier sans modifier macOS ou Windows, et une future mise à jour du moteur n'oblige plus le reste de l'application à adopter ses types internes.</p>
<h2>L'API C instable reste confinée dans un petit wrapper Rust</h2>
<p>Ghostty présente <code>libghostty-vt</code> comme fonctionnellement mature, mais ses signatures d'API changent encore. Paneflow épingle donc le commit Ghostty exact <a href="https://github.com/ghostty-org/ghostty/tree/ae52f97dcac558735cfa916ea3965f247e5c6e9e" rel="noopener noreferrer nofollow ugc" target="_blank"><code>ae52f97d</code></a>, son header C, les bindings générés, la version de Zig, la configuration du build et la somme de contrôle de l'archive.</p>
<p>L'ABI C brute est isolée dans un crate <code>-sys</code>. Un second wrapper sûr possède chaque handle natif, valide la version de l'API et les layouts C avant de créer un terminal, contient les panics des callbacks et libère les allocations Ghostty avec le bon allocateur.</p>
<p>La règle d'ownership compte surtout pendant le rendu. <code>libghostty-vt</code> expose des lignes et cellules empruntées qu'une mutation ultérieure du terminal peut invalider. Paneflow copie les données nécessaires pendant que le terminal est verrouillé, puis transmet à GPUI un snapshot Rust possédé. Aucun pointeur C ni slice emprunté ne franchit la durée du verrou ou la frontière d'une frame.</p>
<p>Cette stratégie coûte plus de maintenance que suivre une dépendance non épinglée. Chaque mise à jour de Ghostty impose de régénérer et relire le header, les bindings, les archives statiques, les sommes de contrôle, les symboles et les licences pour les deux architectures Linux. Ce coût reste explicite et contenu au lieu de devenir une incertitude à l'exécution.</p>
<h2>Alacritty reste la référence différentielle et le rollback</h2>
<p>Le résultat visible recherché est la continuité. Les shells, agents de code, TUI plein écran, recherches, sélections, opérations de presse-papiers, scrollback, événements OSC, redimensionnements, reflow et arrêts de processus doivent continuer à se comporter comme avant le changement de moteur.</p>
<p>Paneflow envoie les mêmes flux VT déterministes à Alacritty et Ghostty avec plusieurs tailles de fragments, puis compare leurs snapshots normalisés et leurs événements ordonnés. Des cibles de fuzzing séparées couvrent les séquences malformées ou tronquées, l'encodage des entrées, le redimensionnement, le reflow et les frontières où une séquence arrive sur plusieurs lectures du PTY. Les contrôles de paquet refusent aussi un artefact Linux qui dépend d'une <code>libghostty.so</code> à l'exécution, porte une mauvaise identité de build ou omet les notices natives relues.</p>
<p>Alacritty n'a pas été supprimé. Pour l'utiliser dans les nouvelles sessions Linux, configure le backend dans <code>paneflow.json</code> :</p>
<pre><code class="language-json">{
  "terminal": {
    "backend": "alacritty"
  }
}
</code></pre>
<p>Une session active ne change jamais de moteur en mémoire. Ferme-la et ouvre un nouveau panneau après avoir modifié ce réglage. <code>auto</code> sélectionne Ghostty dans les builds Linux standard et Alacritty sur macOS, Windows ou les builds Linux compilés avec <code>--no-default-features</code>.</p>
<h2>Une liaison statique, sans installation de Ghostty</h2>
<p>Les paquets Linux officiels contiennent une archive statique <code>libghostty-vt</code> épinglée pour x86_64 ou ARM64. Tu n'as besoin d'installer ni Ghostty, ni Zig, ni une bibliothèque partagée sur ta machine. Un <code>cargo build</code> normal depuis un checkout Paneflow propre utilise aussi l'archive vérifiée incluse dans le dépôt et ne télécharge aucune source native depuis <code>build.rs</code>.</p>
<p>Linux est la première plateforme à recevoir ce backend. Son extension à Windows ou macOS, puis le retrait éventuel d'Alacritty, feront l'objet de décisions séparées. Paneflow 0.8.0 limite le périmètre : un nouveau défaut, deux moteurs pris en charge et un rollback immédiat pour les nouvelles sessions.</p>
<p>Mets Paneflow à jour vers la version 0.8.0, ouvre un nouveau panneau et lance le shell, la TUI ou l'agent de code que tu utilises habituellement. Si un comportement du terminal régresse, repasse les nouvelles sessions sur Alacritty et indique la commande, ta distribution Linux et si la session tournait sous Wayland ou X11.</p>]]></content:encoded>
    </item>
    <item>
      <title>Lancement de Paneflow sur Show HN</title>
      <link>https://paneflow.dev/fr/blog/show-hn-launch</link>
      <guid isPermaLink="true">https://paneflow.dev/fr/blog/show-hn-launch</guid>
      <pubDate>Tue, 30 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>Arthur Jean</dc:creator>
      <category>paneflow</category>
      <category>agents</category>
      <description>Lancer un agent est simple. Paneflow garde plusieurs agents CLI, branches et diffs visibles dans un seul espace de travail local.</description>
      <content:encoded><![CDATA[<p>Lancer un agent de code est devenu banal. Tu ouvres un terminal, tu tapes une commande, et Claude Code, Codex, OpenCode ou un autre CLI commence à travailler.</p>
<p>Le problème arrive quand tu en lances plusieurs.</p>
<p>Un agent corrige un bug. Un autre prépare une refactorisation. Un troisième relit un diff. À côté, un serveur de dev tourne, les tests passent ou échouent, et chaque terminal raconte une partie différente de l'histoire. Au bout d'un moment, la difficulté n'est plus de lancer des agents. C'est de savoir lequel fait quoi, lequel attend une réponse, lequel a terminé, et sur quelle branche il travaille.</p>
<p>Paneflow est né de ce point précis : garder plusieurs agents de code visibles, pilotables et compréhensibles dans un seul espace de travail local.</p>
<p>Demo video: <a href="/videos/paneflow-landing-demo.mp4" rel="noopener noreferrer nofollow ugc" target="_blank">/videos/paneflow-landing-demo.mp4</a></p>
<p>La démo complète est aussi disponible sur <img src="/icons/youtube.webp" alt="" width="{20}" height="{14}" /><a href="https://www.youtube.com/watch?v=hElqzB2XMn0" rel="noopener noreferrer nofollow ugc" target="_blank">YouTube</a>.</p>
<p>La discussion de lancement est sur Hacker News : <img src="/icons/y-combinator.webp" alt="" width="{16}" height="{16}" /><a href="https://news.ycombinator.com/item?id=48735123" rel="noopener noreferrer nofollow ugc" target="_blank">Show HN: Paneflow</a>.</p>
<h2>Le terminal seul ne suffit plus toujours</h2>
<p>J'aime les terminaux. tmux, Zellij, Ghostty, Kitty ou WezTerm restent de très bons outils, surtout quand tu travailles en SSH ou sur une machine distante.</p>
<p>Mais quand tu fais tourner plusieurs agents locaux sur le même projet, le problème change. Une grille de terminaux affiche des processus. Elle ne dit pas vraiment quel agent réfléchit, lequel attend ton accord, lequel a produit un diff intéressant, ni lequel est en train de refaire le travail d'un autre.</p>
<p>Avec assez de fenêtres ouvertes, tu finis par reconstruire l'état du projet dans ta tête. Tu passes d'un terminal à l'autre, tu relis du scrollback, tu cherches le bon répertoire, tu vérifies la branche courante, puis tu reviens au diff. Ce n'est pas un gros problème une fois. Ça devient coûteux quand c'est ton mode de travail principal.</p>
<p>Paneflow ne cherche pas à remplacer ton éditeur. Il remplace plutôt cette couche de coordination que beaucoup de développeurs construisent à la main avec des splits, des noms de fenêtres, des conventions de branches et beaucoup de mémoire court terme.</p>
<h2>Un espace de travail par tâche, pas seulement un panneau par commande</h2>
<p>Dans Paneflow, un panneau reste un vrai terminal. Tu peux y lancer Claude Code, Codex, OpenCode, Grok Builder ou n'importe quel CLI qui tourne dans un shell.</p>
<p>La différence est autour du terminal.</p>
<p>Une tâche peut avoir son agent, ses tests, son serveur de développement, sa branche git, ses diffs et ses sessions précédentes. Paneflow rassemble ces éléments dans le même espace de travail pour que tu n'aies pas à les retrouver manuellement à chaque changement de contexte.</p>
<p>Quand tu veux isoler un travail, chaque tâche peut tourner dans son propre <code>git worktree</code>. La vue Review affiche ensuite les diffs côte à côte, un worktree par colonne. Tu vois ce que chaque agent a produit sans changer de fenêtre, de branche ou d'éditeur.</p>
<p>Cette organisation devient particulièrement utile quand deux agents travaillent sur des zones proches du code. Tu peux garder leurs sorties ouvertes, comparer leurs changements, puis décider lequel mérite d'être gardé, corrigé ou abandonné.</p>
<h2>La coordination passe dans l'interface CLI</h2>
<p>Le pari le plus important de Paneflow n'est pas l'affichage. C'est la coordination.</p>
<p>J'appelle cette couche Paneflow Conductor. Pour le moment, ce que j'expose aux agents passe volontairement dans l'interface CLI et le socket local. La GUI reste l'endroit où tu supervises, où tu lis, où tu reprends la main sur n'importe quel panneau.</p>
<p><code>paneflow ps</code> liste les panneaux et agents en cours avec leur état réel. <code>paneflow watch</code> diffuse les changements en JSONL, alimentés par les hooks et l'event bus au lieu d'interroger le terminal en boucle. Un agent peut donc observer ce qui tourne, attendre un événement, préparer un prompt pour un autre panneau et te laisser valider l'envoi.</p>
<p>Par défaut, Paneflow pré-remplit les prompts et c'est encore toi qui appuies sur Entrée. Le mode auto-submit existe, mais il est opt-in. Ce choix est volontaire : quand plusieurs agents peuvent agir dans le même projet, le contrôle humain doit rester visible.</p>
<h2>Les agents peuvent lire sans prendre le contrôle</h2>
<p>Un autre morceau important est le serveur MCP intégré. Il expose trois outils en lecture seule : <code>list_panes</code>, <code>read_pane</code> et <code>search_pane</code>.</p>
<p>Concrètement, Claude Code dans un panneau peut lire la sortie de test que Codex vient de produire dans un autre. Un agent peut chercher une erreur dans un terminal voisin avant de proposer un correctif. Tu n'as plus besoin de copier-coller la sortie d'un outil dans un autre.</p>
<p>La limite est stricte : cette passerelle ne permet pas d'écrire dans un panneau ni de piloter un agent à ta place. La sortie terminal est traitée comme non fiable, parce qu'un transcript d'agent ou un repo peut contenir du texte hostile. Paneflow rend le partage de contexte plus explicite, mais ne transforme pas chaque terminal en surface d'exécution ouverte.</p>
<p>C'est cette frontière qui m'intéresse : donner assez de contexte aux agents pour qu'ils évitent de travailler à l'aveugle, sans leur donner un pouvoir silencieux sur toute la session.</p>
<h2>Pourquoi une app native</h2>
<p>Paneflow est écrit en Rust et utilise GPUI, le framework d'interface derrière Zed. Ce choix vient d'une contrainte très simple : les agents peuvent tourner longtemps, parfois en parallèle, et l'espace qui les contient doit rester léger.</p>
<p>Je ne voulais pas d'une app Electron autour de terminaux qui exécutent déjà des processus lourds. Je ne voulais pas non plus d'un outil macOS-only alors que mon propre travail passe par Linux et Windows. Aujourd'hui, Paneflow livre des builds pour Linux, macOS Apple Silicon et Windows x64. macOS Intel et Windows ARM64 ne sont pas encore livrés.</p>
<p>Le résultat n'est pas un IDE. C'est un espace de travail local, open source, pensé pour les développeurs qui savent déjà utiliser leurs agents CLI mais veulent arrêter de piloter toute la coordination à la main.</p>
<h2>Essaie Paneflow sur ta prochaine session multi-agent</h2>
<p>Si tu lances un seul agent de temps en temps, ton terminal actuel suffit probablement.</p>
<p>Si tu commences à faire travailler plusieurs agents en parallèle, la question devient différente : comment garder leur état lisible, leurs branches séparées, leurs diffs vérifiables et leur contexte partageable sans perdre le contrôle ?</p>
<p>C'est exactement le problème que Paneflow cherche à résoudre.</p>
<p>Télécharge Paneflow, ouvre un projet, lance deux agents dans deux panneaux, puis regarde si l'espace de travail réduit la charge mentale que tu avais fini par accepter comme normale.</p>]]></content:encoded>
    </item>
    <item>
      <title>Laissez un agent de code piloter les autres avec Paneflow Conductor</title>
      <link>https://paneflow.dev/fr/blog/paneflow-conductor</link>
      <guid isPermaLink="true">https://paneflow.dev/fr/blog/paneflow-conductor</guid>
      <pubDate>Sun, 21 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>Arthur Jean</dc:creator>
      <category>paneflow</category>
      <category>agents</category>
      <category>conductor</category>
      <description>Paneflow 0.6.0 transforme l&apos;app en plan de contrôle pour agents CLI: découverte de la flotte, lecture d&apos;état, prompts et attente d&apos;événements depuis une seule CLI publique.</description>
      <content:encoded><![CDATA[<p>Lancer un agent de code est simple. En lancer plusieurs en parallèle devient un problème de coordination : lequel travaille, lequel attend, quelle branche change, et quel résultat doit alimenter l'étape suivante ?</p>
<p>Paneflow Conductor arrive avec <a href="https://github.com/arthjean/paneflow/releases/tag/v0.6.0" rel="noopener noreferrer nofollow ugc" target="_blank">Paneflow 0.6.0</a> pour rendre cette coordination explicite. Un agent peut découvrir ses pairs, lire leur sortie, envoyer le prompt suivant et attendre la fin du tour via la CLI publique <code>paneflow</code>.</p>
<p>Demo video: <a href="/videos/paneflow-conductor-demo-linkedin.mp4" rel="noopener noreferrer nofollow ugc" target="_blank">/videos/paneflow-conductor-demo-linkedin.mp4</a></p>
<h2>Une seule CLI pour toute la flotte</h2>
<p>Tout passe par le socket local de Paneflow. Le conductor peut être Claude Code, Codex, OpenCode, Gemini ou un script, parce que l'interface reste une suite de commandes shell.</p>
<pre><code class="language-bash">paneflow ps
paneflow status claude-impl
paneflow read claude-impl --lines 120
paneflow send claude-impl "Keep going and finish with REPORT_DONE"
paneflow wait --match claude-impl --pattern '^REPORT_DONE'
paneflow watch
</code></pre>
<p>C'est le changement important. Codex peut inspecter ce que Claude Code a produit. Claude Code peut confier une revue à OpenCode. Un script peut lancer le même workflow sans dépendre du harness utilisé dans chaque panneau.</p>
<p>Pour les travaux répétables, <code>paneflow up</code> lance un espace de travail hooké depuis un fichier TOML, et <code>paneflow flow run</code> exécute un pipeline multi-agent avec spawn, attente, transmission de contexte et revue.</p>
<h2>Déléguer sans masquer les terminaux</h2>
<p>Paneflow Conductor ne remplace pas les agents et ne transforme pas Paneflow en runtime hébergé. Les panneaux restent de vrais terminaux. Vous pouvez les lire, reprendre la main, arrêter une commande ou changer de direction.</p>
<p>L'intérêt est que les agents n'ont plus besoin de contexte copié-collé. Un agent conductor peut lire un panneau voisin, comprendre l'état courant, envoyer un follow-up précis, puis attendre une sentinelle comme <code>REPORT_DONE</code> avant de continuer.</p>
<p>Ce pattern devient utile quand vous séparez implémentation, revue, tests et documentation. L'agent leader n'a pas besoin de deviner depuis des notes périmées. Il inspecte la flotte réelle.</p>
<h2>Attendre l'état, pas un timer</h2>
<p>Paneflow 0.6.0 ajoute une machine d'état suivie tour par tour pour les agents hookés. Un panneau peut remonter des états comme <code>thinking</code>, <code>waiting_for_input</code> ou <code>finished</code>. <code>paneflow watch</code> diffuse les événements de cycle de vie en JSONL, et <code>paneflow wait</code> bloque sur une condition au lieu de dormir pendant un délai arbitraire.</p>
<p>C'est la différence entre orchestration et screen scraping. Un conductor ne devrait pas poller un terminal toutes les quelques secondes en espérant que la sortie soit stabilisée. Il doit réagir quand l'agent s'arrête vraiment, demande une entrée ou imprime le marqueur promis.</p>
<h2>Garder la frontière de contrôle visible</h2>
<p>Le modèle de sécurité est volontaire. Le bridge MCP est en lecture seule. <code>paneflow read</code> traite la sortie des pairs comme une donnée non fiable. Par défaut, <code>paneflow send</code> pré-remplit un prompt et un humain appuie encore sur Entrée.</p>
<p>L'auto-submit existe, mais il reste opt-in via la gate de scripting ou le mode AI free access. Cela garde le chemin puissant disponible pour les worktrees isolés et les workflows de confiance, sans faire des écritures silencieuses entre panneaux le comportement par défaut.</p>
<p>Cette frontière est le point central : donner assez de contexte partagé aux agents pour travailler ensemble, tout en gardant les terminaux visibles et la reprise humaine possible.</p>
<h2>Commencer avec une petite flotte</h2>
<p>La référence complète est dans la <a href="/fr/docs/conductor" rel="noopener noreferrer nofollow ugc" target="_blank">documentation Conductor</a>. Commencez avec deux panneaux : un agent d'implémentation, un agent de revue, et un conductor qui lit les deux avant d'envoyer le prompt suivant.</p>
<p>Si vous faites déjà tourner plusieurs agents CLI côte à côte, Paneflow Conductor leur donne une surface commune au lieu d'un protocole privé de plus.</p>]]></content:encoded>
    </item>
    <item>
      <title>Fais relire le diff de ta branche par plusieurs agents</title>
      <link>https://paneflow.dev/fr/blog/diff-viewer</link>
      <guid isPermaLink="true">https://paneflow.dev/fr/blog/diff-viewer</guid>
      <pubDate>Mon, 01 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>Arthur Jean</dc:creator>
      <category>paneflow</category>
      <description>Ouvre le diff de ta branche, lance Claude Code, Codex, OpenCode ou Pi dessous et compare leurs retours sans quitter Paneflow.</description>
      <content:encoded><![CDATA[<p>Paneflow réunit le diff de ta branche et les agents qui le relisent dans le même espace de travail. Tu vois chaque changement, l'envoies à un ou plusieurs agents, puis compares leurs remarques sans changer de fenêtre ni de branche.</p>
<p>Demo video: <a href="/videos/paneflow-diffview.mp4" rel="noopener noreferrer nofollow ugc" target="_blank">/videos/paneflow-diffview.mp4</a></p>
<h2>Relis tous les changements de ta branche</h2>
<p>Ouvre la vue Diff depuis la barre latérale ou avec <code>Ctrl+Shift+G</code>. Paneflow affiche tous les fichiers modifiés depuis la divergence avec la branche de base, y compris les changements non commités.</p>
<p>Tu peux parcourir les blocs modifiés, comparer les ajouts et suppressions, puis basculer entre une vue unifiée et une vue côte à côte. Les en-têtes restent visibles pendant le défilement et la coloration syntaxique utilise <a href="https://tree-sitter.github.io/tree-sitter/" rel="noopener noreferrer nofollow ugc" target="_blank">Tree-sitter</a>, le même parseur que Zed et GitHub.</p>
<h2>Compare plusieurs branches sans changer de worktree</h2>
<p>La vue projet affiche le diff de la tâche courante. La vue Multi-project réunit les dépôts ouverts dans des onglets. La vue Worktree place les branches voisines côte à côte, un <a href="https://git-scm.com/docs/git-worktree" rel="noopener noreferrer nofollow ugc" target="_blank">git worktree</a> par branche, pour comparer leur avancement sans les extraire une par une.</p>
<h2>Demande une relecture à plusieurs agents</h2>
<p>Chaque branche possède un bouton Review. Choisis Claude Code, Codex, OpenCode ou Pi et Paneflow ouvre chaque agent dans un vrai terminal, directement sous le diff et dans le bon répertoire.</p>
<p>Paneflow prépare le prompt de relecture, mais ne l'envoie jamais sans ton accord. Tu peux le vérifier avant d'appuyer sur Entrée. L'agent analyse ensuite le diff et retourne des remarques liées aux fichiers et aux lignes concernées.</p>
<p>Lance deux agents pour obtenir deux lectures différentes du même changement. Le second reçoit une consigne plus critique afin de réduire les réponses trop similaires.</p>
<p>Tu peux aussi envoyer une ligne ou un bloc précis à un agent pour lui poser une question ciblée.</p>
<h2>Fais relire ta prochaine branche dans Paneflow</h2>
<p>La vue Diff et la relecture par agents sont disponibles dans Paneflow 0.3.7, une version après les <a href="/blog/agent-sessions" rel="noopener noreferrer nofollow ugc" target="_blank">sessions d'agents</a>. Télécharge la dernière version, ouvre un projet et sélectionne Diff dans la barre latérale.</p>]]></content:encoded>
    </item>
    <item>
      <title>Reprends une session Claude Code, Codex ou OpenCode en un clic</title>
      <link>https://paneflow.dev/fr/blog/agent-sessions</link>
      <guid isPermaLink="true">https://paneflow.dev/fr/blog/agent-sessions</guid>
      <pubDate>Fri, 29 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>Arthur Jean</dc:creator>
      <category>paneflow</category>
      <description>Retrouve les sessions du projet courant et reprends celle dont tu as besoin avec son historique intact, sans rechercher la bonne commande.</description>
      <content:encoded><![CDATA[<p>Fermer le terminal d'un agent ne supprime pas sa session, mais la retrouver demande souvent de se souvenir de la bonne commande et du bon identifiant : <code>claude --resume</code> suivi d'un identifiant de session pour Claude Code, et un flag différent pour chaque autre agent. Paneflow regroupe les sessions liées au projet courant et te permet de reprendre celle dont tu as besoin en un clic.</p>
<p>Demo video: <a href="/videos/sessions-agents.mp4" rel="noopener noreferrer nofollow ugc" target="_blank">/videos/sessions-agents.mp4</a></p>
<h2>Retrouve les sessions du bon projet</h2>
<p>Paneflow détecte les sessions <a href="https://claude.com/claude-code" rel="noopener noreferrer nofollow ugc" target="_blank">Claude Code</a>, <a href="https://github.com/openai/codex" rel="noopener noreferrer nofollow ugc" target="_blank">Codex</a> et <a href="https://github.com/sst/opencode" rel="noopener noreferrer nofollow ugc" target="_blank">OpenCode</a> associées au répertoire de travail actif. Elles sont regroupées par agent, sans mélanger les conversations de tes autres projets.</p>
<p>Choisis une session et Paneflow la reprend dans le panneau courant avec son historique intact.</p>
<h2>Reviens à une tâche sans repartir de zéro</h2>
<p>Une session contient les échanges, les décisions et le plan déjà construit avec l'agent. Pouvoir la quitter puis la reprendre te permet de passer d'une tâche à l'autre sans perdre ce contexte ni répéter les mêmes explications.</p>
<p>Tu peux fermer un panneau, redémarrer Paneflow ou revenir plus tard sur le projet. Les sessions utiles restent disponibles lorsque tu en as besoin.</p>
<h2>Reprends ta prochaine session dans Paneflow</h2>
<p>Les sessions d'agents sont disponibles dans Paneflow 0.3.6, la même version que la <a href="/blog/files-sidebar" rel="noopener noreferrer nofollow ugc" target="_blank">barre latérale Files</a>. Télécharge la dernière version, lance un agent dans un projet, puis retrouve sa session depuis Paneflow.</p>]]></content:encoded>
    </item>
    <item>
      <title>Consulte les fichiers de ton projet sans quitter Paneflow</title>
      <link>https://paneflow.dev/fr/blog/files-sidebar</link>
      <guid isPermaLink="true">https://paneflow.dev/fr/blog/files-sidebar</guid>
      <pubDate>Fri, 29 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>Arthur Jean</dc:creator>
      <category>paneflow</category>
      <description>Parcours ton projet et ouvre un README ou un PRD dans un panneau à côté de l&apos;agent qui travaille dessus, sans changer d&apos;outil ni perdre ton contexte.</description>
      <content:encoded><![CDATA[<p>Quand un agent travaille à partir d'un README, d'un PRD ou d'une documentation interne, tu dois souvent ouvrir un autre outil pour relire le même fichier. La barre latérale Files garde cette documentation visible dans Paneflow, juste à côté de l'agent.</p>
<p>Demo video: <a href="/videos/paneflow-dock.mp4" rel="noopener noreferrer nofollow ugc" target="_blank">/videos/paneflow-dock.mp4</a></p>
<h2>Parcours le projet courant</h2>
<p>Ouvre la barre latérale depuis le bouton Files pour afficher les dossiers et fichiers du projet. L'arborescence suit automatiquement l'espace de travail actif et se met à jour lorsque les fichiers changent sur le disque.</p>
<p>Les éléments ignorés par <a href="https://git-scm.com/docs/gitignore" rel="noopener noreferrer nofollow ugc" target="_blank"><code>.gitignore</code></a> restent visibles, mais sont atténués pour laisser ressortir les fichiers utiles. Paneflow mémorise aussi les dossiers ouverts entre les redémarrages.</p>
<h2>Lis le Markdown dans un panneau</h2>
<p>Clique sur un README, un PRD ou un autre fichier Markdown pour l'ouvrir rendu dans un panneau. Tu peux ainsi garder les instructions, le plan et l'agent qui les utilise dans la même disposition.</p>
<p>Le reste des fichiers est affiché pour te permettre de comprendre rapidement la structure du projet, sans transformer Paneflow en gestionnaire de fichiers complet.</p>
<h2>Garde la documentation près de tes agents</h2>
<p>La barre latérale Files est disponible dans Paneflow 0.3.6, la même version que les <a href="/blog/agent-sessions" rel="noopener noreferrer nofollow ugc" target="_blank">sessions d'agents</a>. Télécharge la dernière version, ouvre un projet et utilise le bouton Files pour parcourir son contenu.</p>]]></content:encoded>
    </item>
    <item>
      <title>Pourquoi les agents de code ont besoin de leur propre espace de travail</title>
      <link>https://paneflow.dev/fr/blog/philosophy-of-paneflow</link>
      <guid isPermaLink="true">https://paneflow.dev/fr/blog/philosophy-of-paneflow</guid>
      <pubDate>Thu, 07 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>Arthur Jean</dc:creator>
      <category>paneflow</category>
      <category>philosophy</category>
      <description>Lancer plusieurs agents est facile. Garder leurs tâches, leurs décisions et leurs résultats compréhensibles l&apos;est beaucoup moins. Voici l&apos;approche de Paneflow.</description>
      <content:encoded><![CDATA[<p>Lancer un agent de code est devenu simple. En lancer plusieurs aussi. Le vrai problème commence lorsqu'il faut suivre leurs tâches, retrouver leur contexte et vérifier leurs résultats sans se perdre entre les terminaux.</p>
<p>Paneflow part de ce problème : plusieurs agents ont besoin d'un espace de travail conçu pour les garder compréhensibles.</p>
<h2>Une tâche ne se résume pas à un terminal</h2>
<p>Une tâche peut réunir un agent, une branche git, un serveur de développement, des tests, un diff et plusieurs sessions. Si ces éléments sont dispersés, tu dois reconstruire leur contexte chaque fois que tu changes de fenêtre.</p>
<p>Paneflow les regroupe dans <a href="/blog/introducing-paneflow" rel="noopener noreferrer nofollow ugc" target="_blank">un seul espace de travail</a> et restaure cet environnement lorsque tu reviens. Tu ne retrouves pas seulement un terminal ouvert. Tu retrouves la tâche telle que tu l'avais laissée.</p>
<h2>Les agents peuvent s'aider sans prendre le contrôle</h2>
<p>Le serveur <a href="https://modelcontextprotocol.io" rel="noopener noreferrer nofollow ugc" target="_blank">MCP</a> de Paneflow expose trois outils en lecture seule, <code>list_panes</code>, <code>read_pane</code> et <code>search_pane</code>, afin qu'un agent puisse lire la sortie d'un autre panneau. Il peut vérifier un test, rechercher une erreur ou consulter le travail d'un autre agent sans que tu aies à copier-coller son contenu.</p>
<p>Cette passerelle reste volontairement en lecture seule. Les agents peuvent partager du contexte, mais ils ne peuvent pas saisir de commandes les uns chez les autres. Tu gardes le contrôle des décisions et des actions.</p>
<h2>Un outil local que tu peux comprendre</h2>
<p>Paneflow fonctionne localement, sans compte et sans télémétrie. Son code est disponible sous licence <a href="https://www.gnu.org/licenses/gpl-3.0.html" rel="noopener noreferrer nofollow ugc" target="_blank">GPL-3.0-or-later</a>.</p>
<p>Ce choix est simple : l'espace qui exécute tes agents et contient le contexte de ton travail doit rester rapide, transparent et sous ton contrôle.</p>
<h2>Essaie cette approche sur ton prochain projet</h2>
<p>Télécharge Paneflow et rassemble les agents, terminaux et outils de ta prochaine tâche dans un seul espace de travail.</p>]]></content:encoded>
    </item>
    <item>
      <title>Paneflow : tous tes agents de code dans un seul espace de travail</title>
      <link>https://paneflow.dev/fr/blog/introducing-paneflow</link>
      <guid isPermaLink="true">https://paneflow.dev/fr/blog/introducing-paneflow</guid>
      <pubDate>Thu, 30 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator>Arthur Jean</dc:creator>
      <category>paneflow</category>
      <description>Lance Claude Code, Codex, OpenCode et 13 autres agents CLI côte à côte. Garde les terminaux, les branches, les diffs, les serveurs et les sessions de chaque tâche au même endroit.</description>
      <content:encoded><![CDATA[<p>Quand plusieurs agents travaillent en parallèle, le problème n'est plus de les lancer. C'est de savoir lequel fait quoi, lequel attend une réponse et où retrouver le contexte de chaque tâche.</p>
<p>Paneflow rassemble tes agents de code, leurs terminaux et tout ce qui les entoure dans un seul espace de travail local-first.</p>
<h2>Un espace de travail par tâche</h2>
<p>Lance Claude Code, Codex, OpenCode et 13 autres agents CLI dans des panneaux côte à côte. Ajoute les tests, les serveurs de développement ou les commandes dont la tâche a besoin, puis rattache cet espace à sa branche git.</p>
<p>Chaque espace conserve sa disposition, ses terminaux et ses sessions. Tu peux passer d'une tâche à l'autre ou redémarrer Paneflow sans reconstruire ton environnement.</p>
<h2>Le contexte reste visible</h2>
<ul>
<li><strong>Agents et terminaux :</strong> vois tout ce qui tourne et passe d'un panneau à l'autre au clavier.</li>
<li><strong>Branches et diffs :</strong> garde chaque tâche liée à sa branche et <a href="/blog/diff-viewer" rel="noopener noreferrer nofollow ugc" target="_blank">relis ses changements</a> sans quitter Paneflow.</li>
<li><strong>Sessions d'agents :</strong> retrouve et <a href="/blog/agent-sessions" rel="noopener noreferrer nofollow ugc" target="_blank">reprends les sessions Claude Code, Codex et OpenCode</a> du projet courant.</li>
<li><strong>Contexte entre panneaux :</strong> grâce au serveur <a href="https://modelcontextprotocol.io" rel="noopener noreferrer nofollow ugc" target="_blank">MCP</a> intégré, un agent peut lire la sortie d'un test ou rechercher une erreur dans un autre panneau, sans copier-coller.</li>
<li><strong>Environnement local :</strong> aucun compte, aucune télémétrie et aucun service distant imposé.</li>
</ul>
<h2>Une application native conçue pour durer</h2>
<p>Paneflow est écrit en Rust et utilise <a href="https://www.gpui.rs/" rel="noopener noreferrer nofollow ugc" target="_blank">GPUI</a>, le moteur de rendu de Zed. Les panneaux et les terminaux sont rendus directement par l'application, sans navigateur embarqué autour de processus qui peuvent tourner pendant des heures. L'application entière pèse entre 14 et 19 Mo.</p>
<p>Le projet est open source sous licence GPL-3.0-or-later et fonctionne sur Linux, macOS et Windows.</p>
<h2>Lance ton prochain agent dans Paneflow</h2>
<p>Télécharge Paneflow, ouvre un projet et crée un espace de travail pour la tâche sur laquelle tu veux avancer.</p>]]></content:encoded>
    </item>
  </channel>
</rss>
