<?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/">
  <channel>
    <title>Forem: Antoine Laurent</title>
    <description>The latest articles on Forem by Antoine Laurent (@antoine_laurentt).</description>
    <link>https://forem.com/antoine_laurentt</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3820003%2Fa715e92b-d41a-4a32-8b32-8cf0b0c9b5c8.png</url>
      <title>Forem: Antoine Laurent</title>
      <link>https://forem.com/antoine_laurentt</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/antoine_laurentt"/>
    <language>en</language>
    <item>
      <title>Gemini 3.5 Flash contre GPT-5.5 contre Opus 4.7: Le modèle rapide peut-il battre les modèles phares?</title>
      <dc:creator>Antoine Laurent</dc:creator>
      <pubDate>Wed, 20 May 2026 02:48:55 +0000</pubDate>
      <link>https://forem.com/antoine_laurentt/gemini-35-flash-contre-gpt-55-contre-opus-47-le-modele-rapide-peut-il-battre-les-modeles-phares-36mh</link>
      <guid>https://forem.com/antoine_laurentt/gemini-35-flash-contre-gpt-55-contre-opus-47-le-modele-rapide-peut-il-battre-les-modeles-phares-36mh</guid>
      <description>&lt;p&gt;Trois versions de pointe ont été lancées en 33 jours : &lt;a href="http://apidog.com/blog/claude-opus-4-7?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Claude Opus 4.7&lt;/a&gt; d’Anthropic le 16 avril, &lt;a href="http://apidog.com/blog/what-is-gpt-5-5?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;GPT-5.5&lt;/a&gt; d’OpenAI le 23 avril, puis &lt;a href="http://apidog.com/blog/what-is-gemini-3-5?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Gemini 3.5 Flash&lt;/a&gt; de Google le 19 mai, avec une version Pro prévue en juin.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apidog.com/?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation" class="crayons-btn crayons-btn--primary"&gt;Essayez Apidog aujourd'hui&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;La comparaison n’est pas parfaitement symétrique : Opus 4.7 et GPT-5.5 sont des modèles phares, tandis que Gemini 3.5 Flash est une variante rapide et économique. La vraie question pour une équipe de dev n’est donc pas “quel modèle est le meilleur ?”, mais : &lt;strong&gt;quel modèle donne le meilleur ratio qualité / coût / latence pour votre workload ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Réponse courte : &lt;strong&gt;Gemini 3.5 Flash gagne sur le coût, la vitesse, le contexte long et plusieurs workloads agentiques&lt;/strong&gt;. &lt;strong&gt;Opus 4.7 reste plus sûr pour les refactorisations complexes et le suivi d’instructions exigeant&lt;/strong&gt;. &lt;strong&gt;GPT-5.5 est très fort pour les agents CLI et l’efficacité en jetons&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  La réponse en 30 secondes
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Question&lt;/th&gt;
&lt;th&gt;Meilleur choix&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Boucle d’agent de production la moins chère&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Gemini 3.5 Flash&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Meilleur score SWE-Bench Verified&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Opus 4.7&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Meilleure efficacité en jetons à l’échelle&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;GPT-5.5&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Meilleure récupération de contexte long 1M tokens&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Gemini 3.5 Flash&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Meilleure compréhension de graphiques et documents&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Gemini 3.5 Flash&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Meilleur agent CLI long terme&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;GPT-5.5&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Meilleur suivi d’instructions multi-étapes&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Opus 4.7&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sortie de jetons la plus rapide&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Gemini 3.5 Flash&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Meilleure refonte de code à l’échelle d’un dépôt&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Opus 4.7&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Il n’y a pas de gagnant unique. Le bon choix dépend du type de tâche, du budget par requête et du niveau de risque acceptable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Chronologie des versions
&lt;/h2&gt;

&lt;p&gt;Les trois modèles ont été publiés avec des objectifs différents :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Opus 4.7&lt;/strong&gt;, 16 avril 2026 : modèle phare d’Anthropic, orienté raisonnement, code et tâches multi-étapes longues.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GPT-5.5&lt;/strong&gt;, 23 avril 2026 : modèle de base entièrement ré-entraîné d’OpenAI depuis GPT-4.5, orienté efficacité agentique et réduction des coûts de sortie.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gemini 3.5 Flash&lt;/strong&gt;, 19 mai 2026 : variante rapide de Google, orientée coût bas, latence faible et exécution agentique. Gemini 3.5 Pro est prévu pour juin 2026.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pour le contexte côté outils de codage, voir aussi &lt;a href="http://apidog.com/blog/cursor-composer-2-5-vs-opus-4-7-vs-gpt-5-5?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Cursor Composer 2.5 vs Opus 4.7 vs GPT-5.5&lt;/a&gt; et &lt;a href="http://apidog.com/blog/gemini-3-1-pro-vs-opus-46-vs-gpt-5-3-codex?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Gemini 3.1 Pro vs Opus 4.6 vs GPT-5.3&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Comparaison des prix
&lt;/h2&gt;

&lt;p&gt;C’est ici que l’écart de catégorie est le plus visible.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Modèle&lt;/th&gt;
&lt;th&gt;Entrée USD / 1M tokens&lt;/th&gt;
&lt;th&gt;Sortie USD / 1M tokens&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Gemini 3.5 Flash&lt;/td&gt;
&lt;td&gt;~$1.50&lt;/td&gt;
&lt;td&gt;~$9.00&lt;/td&gt;
&lt;td&gt;Tier gratuit disponible&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPT-5.5&lt;/td&gt;
&lt;td&gt;~$10&lt;/td&gt;
&lt;td&gt;~$30&lt;/td&gt;
&lt;td&gt;Entrée en cache moins chère&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Claude Opus 4.7&lt;/td&gt;
&lt;td&gt;~$15&lt;/td&gt;
&lt;td&gt;~$75&lt;/td&gt;
&lt;td&gt;Prix catalogue le plus élevé&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Gemini 3.5 Flash est environ &lt;strong&gt;6 à 10 fois moins cher en entrée&lt;/strong&gt; et &lt;strong&gt;3 à 8 fois moins cher en sortie&lt;/strong&gt;. Pour les détails, consultez la &lt;a href="http://apidog.com/blog/gemini-3-5-flash-pricing?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;répartition des prix de Gemini 3.5 Flash&lt;/a&gt; et les &lt;a href="http://apidog.com/blog/gpt-5-5-pricing?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;prix de GPT-5.5&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Pour un agent qui exécute des centaines de tours par tâche, le coût par million de tokens devient rapidement secondaire : ce qui compte est le &lt;strong&gt;coût complet par tâche réussie&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Une évaluation utile doit donc suivre au minimum :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;coût_total = coût_input + coût_output
coût_par_tâche_réussie = coût_total / nombre_de_tâches_réussies
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;GPT-5.5 réduit partiellement l’écart grâce à une sortie plus courte : il produit parfois beaucoup moins de jetons qu’Opus 4.7 pour une tâche équivalente. Mais Flash garde l’avantage brut sur le prix.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benchmarks de codage
&lt;/h2&gt;

&lt;p&gt;Le codage est le terrain où Opus 4.7, GPT-5.5 et Gemini 3.5 Flash se différencient le plus.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fobe81sus75vbhgh7uhh7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fobe81sus75vbhgh7uhh7.png" alt="Benchmark de codage" width="800" height="599"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  SWE-Bench Verified : corrections de bugs isolées
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Modèle&lt;/th&gt;
&lt;th&gt;Score&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Opus 4.7&lt;/td&gt;
&lt;td&gt;87.6%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPT-5.5&lt;/td&gt;
&lt;td&gt;~85%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Gemini 3.5 Flash&lt;/td&gt;
&lt;td&gt;Non rapporté séparément&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Opus 4.7 reste en tête sur les corrections de bugs isolées. GPT-5.5 est proche. Flash n’a pas de score publié comparable, mais il est attendu qu’un modèle rapide soit moins performant que deux modèles phares sur ce benchmark précis.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;À utiliser ainsi :&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;bug isolé, patch court, risque élevé : Opus 4.7 ou GPT-5.5 ;&lt;/li&gt;
&lt;li&gt;bug routinier à gros volume : Gemini 3.5 Flash peut être plus rentable ;&lt;/li&gt;
&lt;li&gt;pipeline de validation automatique : testez les trois et gardez celui qui maximise les patches acceptés par CI.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  SWE-Bench Pro : corrections complexes multi-fichiers
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Modèle&lt;/th&gt;
&lt;th&gt;Score&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Opus 4.7&lt;/td&gt;
&lt;td&gt;64.3%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPT-5.5&lt;/td&gt;
&lt;td&gt;58.6%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Gemini 3.5 Flash&lt;/td&gt;
&lt;td&gt;Non rapporté séparément&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Les refactorisations multi-fichiers restent le point fort d’Opus 4.7. Si votre workflow ressemble à &lt;a href="http://apidog.com/blog/cursor-composer-2-5-vs-opus-4-7-vs-gpt-5-5?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Cursor Composer&lt;/a&gt; ou &lt;a href="http://apidog.com/blog/claude-code-agent-harness-architecture?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Claude Code&lt;/a&gt;, Opus est le choix le plus sûr pour les changements profonds à l’échelle d’un dépôt.&lt;/p&gt;

&lt;p&gt;Pour réduire le coût, un pattern efficace consiste à router les tâches :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;si changement &amp;lt;= 1 fichier et faible risque:
    utiliser Gemini 3.5 Flash
sinon si refactorisation multi-fichiers:
    utiliser Opus 4.7
sinon:
    utiliser GPT-5.5 ou Opus selon coût/latence
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Terminal-Bench 2.0 / 2.1 : agents CLI
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Modèle&lt;/th&gt;
&lt;th&gt;Score&lt;/th&gt;
&lt;th&gt;Benchmark&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;GPT-5.5&lt;/td&gt;
&lt;td&gt;82.7%&lt;/td&gt;
&lt;td&gt;Terminal-Bench 2.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Gemini 3.5 Flash&lt;/td&gt;
&lt;td&gt;76.2%&lt;/td&gt;
&lt;td&gt;Terminal-Bench 2.1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Opus 4.7&lt;/td&gt;
&lt;td&gt;69.4%&lt;/td&gt;
&lt;td&gt;Terminal-Bench 2.0&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Les versions 2.0 et 2.1 ne sont pas strictement identiques, mais la tendance est claire : &lt;strong&gt;GPT-5.5 et Gemini 3.5 Flash sont solides pour les boucles d’agents CLI longues&lt;/strong&gt;. GPT-5.5 garde l’avantage, tandis que Flash se rapproche avec un coût bien inférieur.&lt;/p&gt;

&lt;h3&gt;
  
  
  MCP Atlas : coordination multi-outils
&lt;/h3&gt;

&lt;p&gt;Gemini 3.5 Flash obtient &lt;strong&gt;83,6 %&lt;/strong&gt; sur MCP Atlas, le benchmark utilisé par Google pour mesurer l’usage d’outils agentiques. OpenAI et Anthropic n’ont pas publié de chiffres directement comparables sur ce même benchmark.&lt;/p&gt;

&lt;p&gt;En pratique, pour un agent multi-outils, testez surtout :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;stabilité du format JSON ;&lt;/li&gt;
&lt;li&gt;respect des arguments de fonction ;&lt;/li&gt;
&lt;li&gt;capacité à corriger une erreur d’outil ;&lt;/li&gt;
&lt;li&gt;nombre de tours nécessaires avant succès ;&lt;/li&gt;
&lt;li&gt;coût total par tâche.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Travail agentique et tâches longues
&lt;/h2&gt;

&lt;p&gt;Pour les tâches qui tournent plusieurs dizaines de minutes sans supervision :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Gemini 3.5 Flash&lt;/strong&gt; : meilleur choix pour le coût par tâche, la vitesse de sortie et les workflows agentiques à gros volume.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GPT-5.5&lt;/strong&gt; : meilleur choix pour les agents CLI efficaces en tokens.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Opus 4.7&lt;/strong&gt; : meilleur choix quand la qualité de chaque tour compte plus que la latence ou le prix.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Si vous utilisez un modèle d’agent du type &lt;a href="http://apidog.com/blog/goal-command-codex-claude-code-autonomous-agents?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;commande &lt;code&gt;/goal&lt;/code&gt; avec Codex et Claude Code&lt;/a&gt;, le budget devient vite critique.&lt;/p&gt;

&lt;p&gt;Un routeur simple peut suffire :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="kd"&gt;type&lt;/span&gt; &lt;span class="nx"&gt;TaskType&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;cli_agent&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;repo_refactor&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;document_qa&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;visual_analysis&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;routine&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;selectModel&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;task&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;TaskType&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;switch &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;task&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;repo_refactor&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
      &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;claude-opus-4.7&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;cli_agent&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
      &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;gpt-5.5&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;document_qa&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;visual_analysis&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
      &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;gemini-3.5-flash&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;routine&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;default&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
      &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;gemini-3.5-flash&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Fenêtre contextuelle et récupération de contexte long
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Modèle&lt;/th&gt;
&lt;th&gt;Entrée max&lt;/th&gt;
&lt;th&gt;Sortie max&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Gemini 3.5 Flash&lt;/td&gt;
&lt;td&gt;1 million de tokens&lt;/td&gt;
&lt;td&gt;64 000 tokens&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPT-5.5&lt;/td&gt;
&lt;td&gt;400 000 tokens&lt;/td&gt;
&lt;td&gt;128 000 tokens&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Opus 4.7&lt;/td&gt;
&lt;td&gt;1 million de tokens, bêta&lt;/td&gt;
&lt;td&gt;64 000 tokens&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Gemini 3.5 Flash est en tête du tableau publié par Google sur MRCR v2 à 1 million de tokens. Il devient donc un choix pratique pour :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;questions-réponses sur longs PDF ;&lt;/li&gt;
&lt;li&gt;analyse multi-documents ;&lt;/li&gt;
&lt;li&gt;revue de contrats ;&lt;/li&gt;
&lt;li&gt;exploration de bases de code ;&lt;/li&gt;
&lt;li&gt;extraction d’informations dans de gros rapports.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pour ces cas, Flash permet souvent d’éviter une étape de chunking complexe. Ce n’est pas toujours optimal, mais c’est simple à implémenter.&lt;/p&gt;

&lt;p&gt;Exemple de stratégie :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. Envoyer le document complet à Gemini 3.5 Flash.
2. Demander les passages pertinents + citations.
3. Si une décision critique est requise, faire relire uniquement les extraits par Opus 4.7 ou GPT-5.5.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Multimodal
&lt;/h2&gt;

&lt;p&gt;Gemini 3.5 Flash est particulièrement fort sur les documents visuels et les graphiques :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;CharXiv Reasoning&lt;/strong&gt; : 84,2 %&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MMMU-Pro&lt;/strong&gt; : 83,6 %&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;OpenAI et Anthropic prennent aussi en charge les images sur leurs modèles phares, mais Flash ressort très compétitif au lancement pour les workflows qui combinent texte, captures d’écran, PDF et graphiques.&lt;/p&gt;

&lt;p&gt;Cas d’usage typiques :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;extraire des données depuis des captures d’écran ;&lt;/li&gt;
&lt;li&gt;lire des graphiques dans un rapport ;&lt;/li&gt;
&lt;li&gt;analyser un PDF scanné ;&lt;/li&gt;
&lt;li&gt;comparer texte et image dans un même prompt ;&lt;/li&gt;
&lt;li&gt;automatiser une revue de documents avec tableaux.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Si votre pipeline inclut aussi la génération d’images, voir &lt;a href="http://apidog.com/blog/gemini-image-vs-seedream-comparison-2026?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Gemini 3 Pro Image vs Seedream&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Vitesse de sortie
&lt;/h2&gt;

&lt;p&gt;La vitesse de streaming compte beaucoup pour les interfaces utilisateur.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Modèle&lt;/th&gt;
&lt;th&gt;Vitesse de sortie relative&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Gemini 3.5 Flash&lt;/td&gt;
&lt;td&gt;~4× référence&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPT-5.5&lt;/td&gt;
&lt;td&gt;référence&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Opus 4.7&lt;/td&gt;
&lt;td&gt;~0.7× référence&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Les chiffres varient selon la région et la charge, mais la tendance est stable : &lt;strong&gt;Gemini 3.5 Flash diffuse beaucoup plus vite&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Pour un assistant de dev, cela change l’expérience :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;autocomplétion plus réactive ;&lt;/li&gt;
&lt;li&gt;feedback plus rapide dans le chat ;&lt;/li&gt;
&lt;li&gt;meilleure perception de qualité ;&lt;/li&gt;
&lt;li&gt;moins d’attente pendant les boucles d’agent.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Raisonnement, mathématiques et sciences
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Benchmark&lt;/th&gt;
&lt;th&gt;Flash&lt;/th&gt;
&lt;th&gt;GPT-5.5&lt;/th&gt;
&lt;th&gt;Opus 4.7&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;GPQA Diamond&lt;/td&gt;
&lt;td&gt;Fort selon Google&lt;/td&gt;
&lt;td&gt;Élevé&lt;/td&gt;
&lt;td&gt;Élevé&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Raisonnement mathématique&lt;/td&gt;
&lt;td&gt;Fort&lt;/td&gt;
&lt;td&gt;Fort&lt;/td&gt;
&lt;td&gt;Fort&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Écriture longue&lt;/td&gt;
&lt;td&gt;Bon&lt;/td&gt;
&lt;td&gt;Bon&lt;/td&gt;
&lt;td&gt;Meilleur&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Les trois modèles sont compétitifs en raisonnement. La différence la plus visible est qualitative : Opus 4.7 produit souvent une sortie plus narrative et mieux structurée pour les textes longs.&lt;/p&gt;

&lt;p&gt;Pour les tâches scientifiques ou mathématiques, ne vous fiez pas seulement au benchmark. Ajoutez des tests de vérification :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;- réponse finale correcte ;
- étapes de raisonnement cohérentes ;
- unités respectées ;
- calculs vérifiables ;
- absence d’invention de références.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Écosystème d’outils et intégrations
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Opus 4.7&lt;/strong&gt; : Claude Code, MCP, API Anthropic, écosystème mature, &lt;a href="http://apidog.com/blog/bitwarden-agent-access-ai-coding-agents?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Bitwarden Agent&lt;/a&gt;, support IDE large.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GPT-5.5&lt;/strong&gt; : OpenAI Codex, API Responses, intégration ChatGPT, function calling très établi.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gemini 3.5 Flash&lt;/strong&gt; : Antigravity, Gemini Enterprise Agent Platform, &lt;a href="http://apidog.com/blog/gemini-cli-google-open-source-claude-code-alternative?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Gemini CLI&lt;/a&gt;, Android Studio, écosystème en croissance rapide.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Anthropic a un écosystème tiers très profond pour les agents de code. OpenAI garde une adoption développeur massive. Google rattrape rapidement avec Antigravity et Agent Platform.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quand choisir quel modèle
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Choisissez Gemini 3.5 Flash lorsque
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;vous avez un budget strict par tâche ;&lt;/li&gt;
&lt;li&gt;la latence de streaming est importante ;&lt;/li&gt;
&lt;li&gt;vous traitez de longs documents ;&lt;/li&gt;
&lt;li&gt;vous analysez des PDF, graphiques ou captures d’écran ;&lt;/li&gt;
&lt;li&gt;vous voulez une boucle d’agent crédible au coût le plus bas ;&lt;/li&gt;
&lt;li&gt;vous êtes déjà sur Google Cloud ou Workspace ;&lt;/li&gt;
&lt;li&gt;le volume est élevé et “suffisamment bon” vaut mieux que “parfait”.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Choisissez GPT-5.5 lorsque
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;l’efficacité en tokens est prioritaire ;&lt;/li&gt;
&lt;li&gt;la tâche est un agent CLI long ;&lt;/li&gt;
&lt;li&gt;vous voulez un écosystème d’outils tiers très large ;&lt;/li&gt;
&lt;li&gt;ChatGPT est déjà dans le workflow de votre équipe ;&lt;/li&gt;
&lt;li&gt;vous voulez suivre une configuration API complète : &lt;a href="http://apidog.com/blog/how-to-use-gpt-5-5-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Comment utiliser l’API GPT-5.5&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Choisissez Opus 4.7 lorsque
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;la tâche est une refactorisation multi-fichiers ;&lt;/li&gt;
&lt;li&gt;la qualité du code est plus importante que le coût ;&lt;/li&gt;
&lt;li&gt;le suivi d’instructions multi-étapes est critique ;&lt;/li&gt;
&lt;li&gt;vous produisez une écriture longue ou très soignée ;&lt;/li&gt;
&lt;li&gt;vous utilisez déjà &lt;a href="http://apidog.com/blog/claude-agent-sdk-with-claude-plan-setup-guide?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Claude Code avec le plan Claude&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Choisissez un mix lorsque
&lt;/h3&gt;

&lt;p&gt;En production, le meilleur choix est souvent un routeur multi-modèles :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Flash pour la récupération et la préparation, Opus pour la décision finale&lt;/strong&gt; ;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GPT-5.5 pour les agents CLI, Flash pour les documents et graphiques&lt;/strong&gt; ;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flash pour 80 % du trafic, Opus ou GPT-5.5 pour les 20 % complexes&lt;/strong&gt; ;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;les trois derrière un routeur qui choisit selon le type de tâche&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Exemple de routage par complexité :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="kr"&gt;interface&lt;/span&gt; &lt;span class="nx"&gt;ModelDecisionInput&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;tokenCount&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;number&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;hasImages&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;boolean&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;touchesMultipleFiles&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;boolean&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;requiresCliLoop&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;boolean&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;risk&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;low&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;medium&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;high&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;routeModel&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;input&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;ModelDecisionInput&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;input&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;hasImages&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nx"&gt;input&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;tokenCount&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;300&lt;/span&gt;&lt;span class="nx"&gt;_000&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;gemini-3.5-flash&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;input&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;touchesMultipleFiles&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nx"&gt;input&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;risk&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;high&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;claude-opus-4.7&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;input&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;requiresCliLoop&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;gpt-5.5&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;gemini-3.5-flash&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Comparaison des offres gratuites
&lt;/h2&gt;

&lt;p&gt;Les trois modèles ont une voie d’accès gratuite ou limitée :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Gemini 3.5 Flash&lt;/strong&gt; : clé API AI Studio, environ 1 500 requêtes par jour. Voir le &lt;a href="http://apidog.com/blog/how-to-use-gemini-3-5-for-free?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide gratuit Flash&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GPT-5.5&lt;/strong&gt; : requêtes gratuites limitées dans ChatGPT et passerelles décrites dans le &lt;a href="http://apidog.com/blog/how-to-use-gpt-5-5-api-for-free?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide gratuit GPT-5.5&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Opus 4.7&lt;/strong&gt; : limite quotidienne sur &lt;a href="http://Claude.ai" rel="noopener noreferrer"&gt;Claude.ai&lt;/a&gt;, plus les options du &lt;a href="http://apidog.com/blog/claude-opus-4-7-free?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide gratuit Opus 4.7&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pour un développeur qui veut tester vite via API, Flash est le plus simple grâce à AI Studio et à ses quotas gratuits.&lt;/p&gt;

&lt;h2&gt;
  
  
  Comment tester ces modèles avec votre propre workload
&lt;/h2&gt;

&lt;p&gt;Les benchmarks donnent une moyenne. Votre workload décide.&lt;/p&gt;

&lt;p&gt;Construisez un petit harnais d’évaluation avec 20 tâches réelles :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Sélectionnez des prompts représentatifs.&lt;/li&gt;
&lt;li&gt;Exécutez les trois modèles sur chaque prompt.&lt;/li&gt;
&lt;li&gt;Mesurez réussite, coût, latence et nombre de tokens.&lt;/li&gt;
&lt;li&gt;Notez les erreurs : JSON invalide, appel d’outil incorrect, refus, hallucination, sortie trop longue.&lt;/li&gt;
&lt;li&gt;Relancez le test chaque semaine pour détecter la dérive.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Exemple de format de résultat :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"task_id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"bugfix-014"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"model"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"gemini-3.5-flash"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"success"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"latency_ms"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;2840&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"input_tokens"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;18200&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"output_tokens"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;940&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"estimated_cost_usd"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;0.035&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"notes"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Patch accepté par la CI"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;C’est là qu’&lt;a href="https://apidog.com?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt; est utile. Vous pouvez enregistrer les trois endpoints API — Gemini, OpenAI, Anthropic — comme requêtes paramétrées, stocker les clés en variables d’environnement, puis exécuter la même invite sur les trois modèles.&lt;/p&gt;

&lt;p&gt;Configuration pratique :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://apidog.com/download?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Téléchargez Apidog&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Créez un espace de travail nommé &lt;code&gt;Évaluation de modèles de pointe&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzmvlhuijc0exhsyrprir.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzmvlhuijc0exhsyrprir.png" alt="Espace de travail Apidog" width="800" height="524"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Créez trois requêtes : Flash, GPT-5.5, Opus 4.7.&lt;/li&gt;
&lt;li&gt;Définissez les clés API comme variables d’environnement.&lt;/li&gt;
&lt;li&gt;Créez un scénario de test qui exécute le même prompt sur les trois.&lt;/li&gt;
&lt;li&gt;Ajoutez des assertions : JSON valide, champs obligatoires, latence maximale, chaînes attendues.&lt;/li&gt;
&lt;li&gt;Exportez ou comparez les réponses côte à côte.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Deux jours de configuration valent mieux que trois mois de débat subjectif sur le modèle qui “semble” le meilleur.&lt;/p&gt;

&lt;h2&gt;
  
  
  Exemple de structure de test API
&lt;/h2&gt;

&lt;p&gt;Vous pouvez standardiser vos requêtes avec un schéma commun côté application :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="kr"&gt;interface&lt;/span&gt; &lt;span class="nx"&gt;LlmRequest&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;model&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;system&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;temperature&lt;/span&gt;&lt;span class="p"&gt;?:&lt;/span&gt; &lt;span class="kr"&gt;number&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;maxOutputTokens&lt;/span&gt;&lt;span class="p"&gt;?:&lt;/span&gt; &lt;span class="kr"&gt;number&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kr"&gt;interface&lt;/span&gt; &lt;span class="nx"&gt;LlmResult&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;model&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;output&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;latencyMs&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;number&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;inputTokens&lt;/span&gt;&lt;span class="p"&gt;?:&lt;/span&gt; &lt;span class="kr"&gt;number&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;outputTokens&lt;/span&gt;&lt;span class="p"&gt;?:&lt;/span&gt; &lt;span class="kr"&gt;number&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;costUsd&lt;/span&gt;&lt;span class="p"&gt;?:&lt;/span&gt; &lt;span class="kr"&gt;number&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;success&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;boolean&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Puis connecter chaque fournisseur derrière un adaptateur :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="kr"&gt;interface&lt;/span&gt; &lt;span class="nx"&gt;LlmAdapter&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nf"&gt;run&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;request&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;LlmRequest&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt; &lt;span class="nb"&gt;Promise&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;LlmResult&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;GeminiAdapter&lt;/span&gt; &lt;span class="k"&gt;implements&lt;/span&gt; &lt;span class="nx"&gt;LlmAdapter&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="nf"&gt;run&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;request&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;LlmRequest&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt; &lt;span class="nb"&gt;Promise&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;LlmResult&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="c1"&gt;// Appel Gemini 3.5 Flash&lt;/span&gt;
    &lt;span class="k"&gt;throw&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;À implémenter&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;OpenAIAdapter&lt;/span&gt; &lt;span class="k"&gt;implements&lt;/span&gt; &lt;span class="nx"&gt;LlmAdapter&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="nf"&gt;run&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;request&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;LlmRequest&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt; &lt;span class="nb"&gt;Promise&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;LlmResult&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="c1"&gt;// Appel GPT-5.5&lt;/span&gt;
    &lt;span class="k"&gt;throw&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;À implémenter&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;AnthropicAdapter&lt;/span&gt; &lt;span class="k"&gt;implements&lt;/span&gt; &lt;span class="nx"&gt;LlmAdapter&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="nf"&gt;run&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;request&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;LlmRequest&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt; &lt;span class="nb"&gt;Promise&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;LlmResult&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="c1"&gt;// Appel Claude Opus 4.7&lt;/span&gt;
    &lt;span class="k"&gt;throw&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;À implémenter&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;L’objectif est de pouvoir changer de modèle sans réécrire votre application.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ce qui change ensuite
&lt;/h2&gt;

&lt;p&gt;Trois points à surveiller dans les 90 prochains jours :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Disponibilité générale de Gemini 3.5 Pro&lt;/strong&gt; : la comparaison changera quand Google aura un modèle phare direct face à Opus 4.7 et GPT-5.5.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Réponse d’OpenAI&lt;/strong&gt; : GPT-5.5 pourrait recevoir une mise à jour de mi-cycle ou une variante.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Prochain mouvement d’Anthropic&lt;/strong&gt; : une actualisation de Sonnet ou Opus 4.8 serait cohérente avec le rythme du marché.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;La bonne stratégie n’est pas de choisir un fournisseur pour toujours. C’est de garder votre harnais d’évaluation actif et de router les tâches selon les résultats réels.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Gemini 3.5 Flash est-il vraiment compétitif avec Opus 4.7 et GPT-5.5 ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Oui, dans sa catégorie. Il domine sur le coût, la vitesse, le contexte long et certains workloads agentiques. Pour les refactorisations complexes et l’écriture longue très soignée, les modèles phares restent meilleurs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pourquoi comparer un modèle rapide à des modèles phares ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Parce que l’écart de coût est suffisamment important pour changer les décisions de production. La bonne question est : “Flash est-il suffisant pour cette tâche ?”&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Opus 4.7 vaut-il son prix plus élevé ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Oui si la qualité du code, la précision du suivi d’instructions ou l’écriture longue sont critiques. Non si vous exécutez des milliers de tours à faible risque.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Puis-je utiliser les trois via une seule API ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Pas directement. Chaque fournisseur a ses endpoints et ses identifiants. Le plus propre est de créer une abstraction légère dans votre code ou d’utiliser un outil de test API pour comparer les appels.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Quand Gemini 3.5 Pro sera-t-il lancé ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Juin 2026. Ce sera la comparaison plus directe avec Opus 4.7 et GPT-5.5.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Comment suivre les coûts avec trois fournisseurs ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Suivez les tokens, la latence et le coût estimé par modèle. Dans Apidog, vous pouvez comparer l’historique des requêtes et compléter avec les tableaux de bord fournisseurs.&lt;/p&gt;

&lt;h2&gt;
  
  
  En résumé
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Gemini 3.5 Flash&lt;/strong&gt; : meilleur choix pour le coût, la vitesse, les documents longs, le multimodal et beaucoup de workloads agentiques.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GPT-5.5&lt;/strong&gt; : meilleur choix pour les agents CLI et l’efficacité en tokens.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Opus 4.7&lt;/strong&gt; : meilleur choix pour les refactorisations complexes, le suivi d’instructions exigeant et l’écriture longue.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ne choisissez pas uniquement à partir des benchmarks publics. Construisez votre évaluation, testez vos vrais prompts, mesurez coût et latence, puis routez chaque tâche vers le modèle le plus rentable. Juin changera probablement encore la donne avec Gemini 3.5 Pro.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Comment utiliser Gemini 3.5 Flash gratuitement ?</title>
      <dc:creator>Antoine Laurent</dc:creator>
      <pubDate>Wed, 20 May 2026 02:27:21 +0000</pubDate>
      <link>https://forem.com/antoine_laurentt/comment-utiliser-gemini-35-flash-gratuitement--3nc9</link>
      <guid>https://forem.com/antoine_laurentt/comment-utiliser-gemini-35-flash-gratuitement--3nc9</guid>
      <description>&lt;p&gt;Gemini 3.5 Flash a été lancé le 19 mai 2026, et Google a conservé un niveau d’accès gratuit. Flash est disponible dès maintenant avec une clé API gratuite ; Pro arrive en juin. Si vous voulez utiliser Flash sans payer, voici les voies réellement exploitables côté développeur.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apidog.com/?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation" class="crayons-btn crayons-btn--primary"&gt;Essayez Apidog aujourd’hui&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Ce guide se concentre sur la mise en place pratique : obtenir une clé, tester des appels API, comprendre les quotas et choisir le bon chemin selon votre usage.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0x0fglq5wxp42w2kdxha.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0x0fglq5wxp42w2kdxha.png" alt="Gemini 3.5 Flash" width="800" height="599"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Résumé rapide
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Voie&lt;/th&gt;
&lt;th&gt;Ce que vous obtenez&lt;/th&gt;
&lt;th&gt;Limite&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Application Gemini&lt;/td&gt;
&lt;td&gt;Chat complet + saisie d’images avec Flash&lt;/td&gt;
&lt;td&gt;Plafond quotidien de messages sur le niveau gratuit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google AI Studio&lt;/td&gt;
&lt;td&gt;Aire de jeux web avec contrôle des paramètres&lt;/td&gt;
&lt;td&gt;Pas de quota strict dans l’interface&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Clé API AI Studio&lt;/td&gt;
&lt;td&gt;Accès REST/SDK à &lt;code&gt;gemini-3.5-flash&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;~1 500 requêtes/jour&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Crédits nouveau compte Vertex AI&lt;/td&gt;
&lt;td&gt;Accès Flash orienté production&lt;/td&gt;
&lt;td&gt;300 $ de crédit, 90 jours&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CLI Gemini&lt;/td&gt;
&lt;td&gt;Accès terminal à Flash via connexion Google&lt;/td&gt;
&lt;td&gt;1 000 requêtes quotidiennes&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Chaque voie répond à un besoin différent : discuter, prototyper une invite, intégrer Flash dans une application ou exécuter des scripts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Voie 1 : Application Gemini, sans configuration
&lt;/h2&gt;

&lt;p&gt;Utilisez cette voie si vous voulez simplement tester Flash dans une interface de chat.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Ouvrez &lt;a href="https://gemini.google.com" rel="noopener noreferrer"&gt;gemini.google.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Connectez-vous avec un compte Google&lt;/li&gt;
&lt;li&gt;Dans le sélecteur de modèle, choisissez &lt;strong&gt;3.5 Flash&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Lancez une conversation&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feg46t0clexr2kvirqfmu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feg46t0clexr2kvirqfmu.png" alt="Application Gemini" width="800" height="492"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;L’application prend en charge le texte, les images, les fichiers et l’édition de documents de type Canvas. Sur le niveau gratuit, vous disposez d’un plafond quotidien de messages qui se réinitialise chaque jour.&lt;/p&gt;

&lt;p&gt;À utiliser pour :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;rédaction et recherche sans script ;&lt;/li&gt;
&lt;li&gt;analyse d’images sans API ;&lt;/li&gt;
&lt;li&gt;comparaison avec &lt;a href="http://apidog.com/blog/best-local-llms-2026?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;d’autres modèles de chat gratuits&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;À éviter pour :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;une intégration logicielle ;&lt;/li&gt;
&lt;li&gt;le traitement par lots ;&lt;/li&gt;
&lt;li&gt;tout flux nécessitant une réponse programmable.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Voie 2 : Google AI Studio, l’aire de jeux navigateur
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://aistudio.google.com" rel="noopener noreferrer"&gt;Google AI Studio&lt;/a&gt; est l’interface web pour prototyper avec Flash avant d’écrire du code.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Ouvrez &lt;a href="https://aistudio.google.com" rel="noopener noreferrer"&gt;aistudio.google.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Connectez-vous&lt;/li&gt;
&lt;li&gt;Cliquez sur &lt;strong&gt;Créer une nouvelle invite&lt;/strong&gt; ou choisissez un modèle&lt;/li&gt;
&lt;li&gt;Sélectionnez &lt;code&gt;gemini-3.5-flash&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Saisissez votre invite, puis cliquez sur &lt;strong&gt;Exécuter&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0rqjp2f58lizev9dnaps.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0rqjp2f58lizev9dnaps.png" alt="Google AI Studio" width="800" height="492"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;AI Studio permet de tester rapidement :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;température, top-K, top-P ;&lt;/li&gt;
&lt;li&gt;instructions système ;&lt;/li&gt;
&lt;li&gt;sortie structurée en JSON ;&lt;/li&gt;
&lt;li&gt;invites multimodales avec plusieurs images ;&lt;/li&gt;
&lt;li&gt;génération de code Python ou Node.js équivalent ;&lt;/li&gt;
&lt;li&gt;export vers un &lt;a href="http://apidog.com/blog/how-to-use-gemini-3-5-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;appel d’API Flash&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AI Studio ne facture pas l’usage depuis le navigateur. C’est le meilleur point de départ pour valider vos invites avant une intégration API.&lt;/p&gt;

&lt;h2&gt;
  
  
  Voie 3 : Clé API gratuite Gemini 3.5 Flash
&lt;/h2&gt;

&lt;p&gt;C’est la voie la plus utile pour les développeurs. Le même compte AI Studio peut générer une clé API gratuite compatible avec &lt;code&gt;gemini-3.5-flash&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Obtenir la clé
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Dans &lt;a href="https://aistudio.google.com" rel="noopener noreferrer"&gt;AI Studio&lt;/a&gt;, cliquez sur &lt;strong&gt;Obtenir une clé API&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Choisissez ou créez un projet&lt;/li&gt;
&lt;li&gt;Cliquez sur &lt;strong&gt;Créer une clé API&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Copiez la clé et stockez-la dans un endroit sûr&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc8svpviggq86x4f1dowz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc8svpviggq86x4f1dowz.png" alt="Clé API Gemini" width="800" height="492"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Aucune carte de crédit n’est requise. La clé fonctionne immédiatement avec Flash. Pour le détail étape par étape, consultez le &lt;a href="http://apidog.com/blog/google-gemini-api-key-for-free?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide de la clé API Gemini gratuite&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Quotas du niveau gratuit
&lt;/h3&gt;

&lt;p&gt;En mai 2026, le niveau gratuit pour &lt;code&gt;gemini-3.5-flash&lt;/code&gt; est approximativement :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;1 500 requêtes par jour&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;1 million de tokens par minute&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;15 requêtes par minute&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ces limites peuvent changer. Vérifiez toujours la &lt;a href="https://ai.google.dev/gemini-api/docs/pricing" rel="noopener noreferrer"&gt;page des tarifs Google&lt;/a&gt; avant de baser une application de production dessus. Pour le calcul détaillé des coûts au-delà du gratuit, consultez la &lt;a href="http://apidog.com/blog/gemini-3-5-flash-pricing?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;répartition des tarifs Flash&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tester la clé avec Python
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;google&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;genai&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;genai&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Client&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;environ&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;GEMINI_API_KEY&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;

&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;models&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;generate_content&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;gemini-3.5-flash&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;contents&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Give me three startup ideas for API tooling in 2026.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Tester la clé avec Node.js
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;GoogleGenAI&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@google/genai&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;ai&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;GoogleGenAI&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;apiKey&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;GEMINI_API_KEY&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;ai&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;models&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;generateContent&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;model&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;gemini-3.5-flash&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;contents&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Give me three startup ideas for API tooling in 2026.&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;text&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Tester la clé avec curl
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="s2"&gt;"https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-flash:generateContent"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"x-goog-api-key: &lt;/span&gt;&lt;span class="nv"&gt;$GEMINI_API_KEY&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "contents": [
      {
        "parts": [
          {
            "text": "Hello Gemini 3.5 Flash"
          }
        ]
      }
    ]
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pour une configuration plus complète, incluant streaming et appels d’outils, consultez le &lt;a href="http://apidog.com/blog/how-to-use-gemini-3-5-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide de l’API Gemini 3.5 Flash&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tester les requêtes Flash dans Apidog
&lt;/h3&gt;

&lt;p&gt;Si vous avez 1 500 requêtes gratuites par jour, évitez de les gaspiller en relançant manuellement des appels mal formés. &lt;a href="https://apidog.com?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt; permet d’enregistrer votre endpoint Flash, de stocker la clé comme variable d’environnement et de rejouer les requêtes sans réécrire &lt;code&gt;curl&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5kyzxxfqu58mngulrqn8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5kyzxxfqu58mngulrqn8.png" alt="Tester Gemini dans Apidog" width="799" height="530"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Flux recommandé :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://apidog.com/download?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Téléchargez Apidog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Créez une requête et collez le &lt;code&gt;curl&lt;/code&gt; ci-dessus&lt;/li&gt;
&lt;li&gt;Déplacez la clé API dans les variables d’environnement&lt;/li&gt;
&lt;li&gt;Enregistrez la requête&lt;/li&gt;
&lt;li&gt;Ajoutez des assertions sur la réponse&lt;/li&gt;
&lt;li&gt;Rejouez-la après chaque modification d’invite&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;L’intérêt : vous gardez un historique des réponses et vous réduisez les appels inutiles pendant le débogage.&lt;/p&gt;

&lt;h2&gt;
  
  
  Voie 4 : Crédits Vertex AI pour nouveau compte Google Cloud
&lt;/h2&gt;

&lt;p&gt;Si vous créez un nouveau compte Google Cloud, vous pouvez obtenir 300 $ de crédits valables 90 jours. Ces crédits couvrent Gemini 3.5 Flash via Vertex AI, avec des contrôles plus adaptés aux organisations.&lt;/p&gt;

&lt;p&gt;Étapes :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Inscrivez-vous sur &lt;a href="https://cloud.google.com" rel="noopener noreferrer"&gt;cloud.google.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Confirmez le crédit de 300 $&lt;/li&gt;
&lt;li&gt;Activez l’API Vertex AI&lt;/li&gt;
&lt;li&gt;Créez un compte de service&lt;/li&gt;
&lt;li&gt;Donnez-lui le rôle &lt;code&gt;aiplatform.user&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Téléchargez les identifiants JSON&lt;/li&gt;
&lt;li&gt;Appelez Flash via le SDK Vertex AI&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Exemple Python :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;vertexai&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;vertexai.generative_models&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;GenerativeModel&lt;/span&gt;

&lt;span class="n"&gt;vertexai&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;init&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;project&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;your-project-id&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;location&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;us-central1&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;model&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;GenerativeModel&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;gemini-3.5-flash&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;generate_content&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Explain CAP theorem.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Vertex AI n’utilise pas le même plafond de requêtes par jour que le niveau gratuit d’AI Studio. Vous êtes limité par le crédit en dollars. Au tarif indicatif d’environ 1,50 $ / 9 $ par million de tokens, 300 $ peuvent couvrir plusieurs semaines d’usage modéré.&lt;/p&gt;

&lt;p&gt;Points à surveiller :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;le crédit expire après 90 jours ;&lt;/li&gt;
&lt;li&gt;le crédit inutilisé est perdu ;&lt;/li&gt;
&lt;li&gt;désactivez la conversion automatique vers un compte payant si vous ne voulez pas de facturation surprise ;&lt;/li&gt;
&lt;li&gt;Vertex demande plus de configuration qu’AI Studio.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Voie 5 : CLI Gemini depuis le terminal
&lt;/h2&gt;

&lt;p&gt;La &lt;a href="http://apidog.com/blog/gemini-cli-setup-guide?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;CLI Gemini&lt;/a&gt; est le client terminal open source de Google. Elle s’authentifie avec votre compte Google et donne accès à un quota quotidien de 1 000 requêtes sur le niveau gratuit, sans clé API.&lt;/p&gt;

&lt;p&gt;Installation :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; @google/gemini-cli
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Lancement :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;gemini
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Dans la CLI, choisissez ensuite &lt;code&gt;gemini-3.5-flash&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Cette voie convient bien pour :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;scripts ponctuels ;&lt;/li&gt;
&lt;li&gt;résumé de fichiers ou de bases de code ;&lt;/li&gt;
&lt;li&gt;usage terminal sans manipuler de clé API ;&lt;/li&gt;
&lt;li&gt;quota séparé de celui de votre clé API.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Elle est aussi une alternative gratuite à &lt;a href="http://apidog.com/blog/gemini-cli-google-open-source-claude-code-alternative?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Claude Code&lt;/a&gt; pour certains workflows de développement, car elle peut lire des fichiers et exécuter des outils.&lt;/p&gt;

&lt;p&gt;Évitez-la pour :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;intégrations de production ;&lt;/li&gt;
&lt;li&gt;contrôle HTTP bas niveau ;&lt;/li&gt;
&lt;li&gt;workloads nécessitant un streaming API spécifique.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Voie 6 bonus : OpenRouter et passerelles tierces
&lt;/h2&gt;

&lt;p&gt;Certaines passerelles agrègent plusieurs modèles d’IA et proposent un accès gratuit ou quasi gratuit à Flash. Ce modèle est détaillé dans l’article &lt;a href="http://apidog.com/blog/get-free-unlimited-gemini-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Obtenir une API Gemini gratuite illimitée&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;À garder en tête :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;la qualité varie ;&lt;/li&gt;
&lt;li&gt;certaines passerelles ralentissent fortement les appels ;&lt;/li&gt;
&lt;li&gt;vos prompts transitent par un tiers ;&lt;/li&gt;
&lt;li&gt;n’envoyez pas de données sensibles ;&lt;/li&gt;
&lt;li&gt;certaines plateformes utilisent des moyens de paiement ou contournements non standards.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Considérez cette option comme une solution de secours, pas comme une architecture principale. Pour construire sérieusement, privilégiez AI Studio ou Vertex AI.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quelle voie choisir ?
&lt;/h2&gt;

&lt;p&gt;Utilisez ce raccourci :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Vous voulez discuter ?&lt;/strong&gt; Application Gemini&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vous voulez travailler vos prompts ?&lt;/strong&gt; AI Studio&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vous construisez une application ?&lt;/strong&gt; Clé API AI Studio&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vous voulez un quota plus large avec un compte GCP neuf ?&lt;/strong&gt; Vertex AI&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vous préférez le terminal ?&lt;/strong&gt; CLI Gemini&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vous acceptez les risques tiers ?&lt;/strong&gt; OpenRouter ou passerelles similaires&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Dans la pratique, beaucoup de développeurs combinent deux voies : clé AI Studio pour le développement quotidien, crédits Vertex AI pour des tests plus proches de la production.&lt;/p&gt;

&lt;h2&gt;
  
  
  Flash gratuit vs payant : quand passer au payant
&lt;/h2&gt;

&lt;p&gt;Le niveau gratuit suffit à beaucoup de projets secondaires. Passez au payant si :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Vous atteignez 1 500 requêtes/jour plusieurs jours de suite.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Le temps passé à contourner les quotas coûtera plus cher que le passage au payant.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Vous avez besoin d’un débit plus élevé.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Le niveau gratuit est limité à 15 requêtes/minute.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Vous avez besoin de résidence des données ou de journaux d’audit.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Dans ce cas, utilisez Vertex AI avec un compte facturé.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Pour estimer le coût réel par token, les remises batch et différents scénarios d’usage, consultez le &lt;a href="http://apidog.com/blog/gemini-3-5-flash-pricing?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide des tarifs Gemini 3.5 Flash&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Comparez aussi avec d’autres fournisseurs. &lt;a href="http://apidog.com/blog/how-to-use-gpt-5-5-api-for-free?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;GPT-5.5&lt;/a&gt; et &lt;a href="http://apidog.com/blog/claude-opus-4-7-free?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Claude Opus 4.7&lt;/a&gt; ont leurs propres accès gratuits et limites. La &lt;a href="http://apidog.com/blog/gemini-3-5-vs-gpt-5-5-vs-opus-4-7?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;comparaison Gemini 3.5 vs GPT-5.5 vs Opus 4.7&lt;/a&gt; aide à choisir selon le workload.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conseils pour économiser le quota gratuit
&lt;/h2&gt;

&lt;p&gt;Quelques habitudes simples permettent de faire durer les 1 500 requêtes/jour :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cachez les réponses idempotentes.&lt;/strong&gt; Une même entrée ne doit pas appeler l’API plusieurs fois.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Utilisez le mode batch pour le volume.&lt;/strong&gt; Le &lt;a href="http://apidog.com/blog/gemini-api-batch-mode?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;mode batch de l’API Gemini&lt;/a&gt; offre une réduction de 50 % sur les tâches non temps réel et utilise un quota séparé.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Forcez une sortie structurée.&lt;/strong&gt; Un schéma JSON évite plusieurs appels de parsing ou de correction.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pré-validez les entrées.&lt;/strong&gt; Les assertions dans &lt;a href="https://apidog.com?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt; détectent les requêtes mal formées avant de consommer du quota.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Utilisez Flash par défaut.&lt;/strong&gt; Quand Pro sera disponible, gardez-le pour les tâches qui justifient ses quotas plus stricts.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Gemini 3.5 Flash est-il vraiment gratuit ?
&lt;/h3&gt;

&lt;p&gt;Oui, avec des plafonds. L’application Gemini, AI Studio et la clé API AI Studio donnent un accès gratuit à Flash avec des quotas quotidiens.&lt;/p&gt;

&lt;h3&gt;
  
  
  Faut-il une carte de crédit pour obtenir une clé API gratuite ?
&lt;/h3&gt;

&lt;p&gt;Non. Le niveau gratuit d’AI Studio ne demande pas de carte. Vertex AI demande une carte pour activer le crédit de 300 $, mais la facturation dépend de la mise à niveau.&lt;/p&gt;

&lt;h3&gt;
  
  
  Peut-on utiliser la clé gratuite en production ?
&lt;/h3&gt;

&lt;p&gt;Techniquement oui, mais le plafond de 1 500 requêtes/jour peut être vite atteint. Pour une vraie production, utilisez un compte facturé ou Vertex AI.&lt;/p&gt;

&lt;h3&gt;
  
  
  Gemini 3.5 Pro sera-t-il aussi gratuit ?
&lt;/h3&gt;

&lt;p&gt;Google a historiquement proposé un accès gratuit aux modèles Pro en disponibilité générale. Pro devrait arriver dans AI Studio avec des quotas plus stricts.&lt;/p&gt;

&lt;h3&gt;
  
  
  Peut-on utiliser Flash gratuit dans Cursor ou VS Code ?
&lt;/h3&gt;

&lt;p&gt;Oui, si l’outil accepte des clés API personnalisées. Le principe est le même que dans le &lt;a href="http://apidog.com/blog/gemini-3-0-pro-with-cursor?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;tutoriel Gemini 3.0 Pro avec Cursor&lt;/a&gt; : remplacez simplement le modèle par &lt;code&gt;gemini-3.5-flash&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Existe-t-il des journaux d’utilisation ?
&lt;/h3&gt;

&lt;p&gt;Oui. Dans AI Studio, ouvrez votre projet et consultez l’onglet &lt;strong&gt;Activité&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Quel est le piège ?
&lt;/h3&gt;

&lt;p&gt;Deux points :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Le niveau gratuit peut utiliser vos prompts pour améliorer les modèles Google, avec une option de désactivation dans les paramètres d’AI Studio.&lt;/li&gt;
&lt;li&gt;Les limites du niveau gratuit peuvent changer sans préavis.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Projet de démarrage : résumer une URL avec Flash
&lt;/h2&gt;

&lt;p&gt;Pour valider le flux complet, construisez une petite API qui reçoit une URL, récupère la page et demande à Flash de la résumer.&lt;/p&gt;

&lt;p&gt;Exemple minimal :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;google&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;genai&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;genai&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Client&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;environ&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;GEMINI_API_KEY&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;summarize_url&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;html&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;

    &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;models&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;generate_content&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;gemini-3.5-flash&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="n"&gt;contents&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Summarize this webpage in 3 bullets:&lt;/span&gt;&lt;span class="se"&gt;\n\n&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;html&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;50000&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;summarize_url&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://blog.google/&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Connectez ensuite cette API dans &lt;a href="https://apidog.com?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt; pour tester la requête et la réponse, puis déployez-la sur Cloud Run ou votre plateforme d’hébergement. Si ce flux fonctionne, vous maîtrisez le parcours Flash gratuit de bout en bout.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Comment utiliser l'API Gemini 3.5 Flash ?</title>
      <dc:creator>Antoine Laurent</dc:creator>
      <pubDate>Wed, 20 May 2026 02:18:39 +0000</pubDate>
      <link>https://forem.com/antoine_laurentt/comment-utiliser-lapi-gemini-35-flash--87i</link>
      <guid>https://forem.com/antoine_laurentt/comment-utiliser-lapi-gemini-35-flash--87i</guid>
      <description>&lt;p&gt;L'API Gemini 3.5 Flash a été mise en ligne avec le lancement du modèle le 19 mai 2026. Flash est la seule variante de la famille 3.5 disponible aujourd'hui ; &lt;a href="http://apidog.com/blog/what-is-gemini-3-5?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Pro sera disponible en juin&lt;/a&gt;. Ce guide vous montre comment configurer Flash côté développeur : obtenir une clé, effectuer un premier appel, gérer le multimodal, le streaming, les outils, la sortie JSON et tester l’intégration avec &lt;a href="https://apidog.com?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apidog.com/?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation" class="crayons-btn crayons-btn--primary"&gt;Essayez Apidog aujourd’hui&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Si vous avez déjà utilisé l'API Gemini, le changement principal est le nom du modèle : &lt;code&gt;gemini-3.5-flash&lt;/code&gt;. Si vous démarrez de zéro, vous pouvez envoyer une requête Flash fonctionnelle en quelques minutes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.apidog.com%2Fblog-next%2F2026%2F05%2Fimage-117.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.apidog.com%2Fblog-next%2F2026%2F05%2Fimage-117.png" alt="" width="800" height="599"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Ce que vous obtenez avec l'API Gemini 3.5 Flash
&lt;/h2&gt;

&lt;p&gt;À retenir avant d’intégrer le modèle :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;gemini-3.5-flash&lt;/code&gt;&lt;/strong&gt; : disponible maintenant, rapide, économique et multimodal&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Même point d'accès de style OpenAPI&lt;/strong&gt; : remplacement direct pour les projets qui utilisent déjà &lt;a href="http://apidog.com/blog/google-gemini-3-api-guide?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Gemini 3&lt;/a&gt; ou &lt;a href="http://apidog.com/blog/gemini-3-1-pro-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;3.1&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Niveau gratuit sur AI Studio&lt;/strong&gt; : environ 1 500 requêtes/jour sans carte de crédit&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Capacités exposées via l'API Flash :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Contexte d'entrée de 1M de tokens, 64K tokens de sortie&lt;/li&gt;
&lt;li&gt;Entrée texte + image, sortie texte + structurée&lt;/li&gt;
&lt;li&gt;Appel de fonction natif et utilisation d'outils&lt;/li&gt;
&lt;li&gt;Réponses en streaming&lt;/li&gt;
&lt;li&gt;Récupération sur contexte long&lt;/li&gt;
&lt;li&gt;Raisonnement sur graphiques et documents&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pour les détails de tarification, y compris les tarifs par token et les remises en mode batch, consultez le &lt;a href="http://apidog.com/blog/gemini-3-5-flash-pricing?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide de tarification de Gemini 3.5 Flash&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Étape 1 : obtenir une clé API Gemini 3.5 Flash
&lt;/h2&gt;

&lt;p&gt;Vous avez deux options selon votre usage : AI Studio pour démarrer rapidement, Vertex AI pour la production.&lt;/p&gt;

&lt;h3&gt;
  
  
  Option A : Google AI Studio
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Ouvrez &lt;a href="https://aistudio.google.com" rel="noopener noreferrer"&gt;aistudio.google.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Connectez-vous avec un compte Google&lt;/li&gt;
&lt;li&gt;Cliquez sur &lt;strong&gt;Obtenir une clé API&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Sélectionnez un projet existant ou créez-en un&lt;/li&gt;
&lt;li&gt;Cliquez sur &lt;strong&gt;Créer une clé API&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Copiez la clé et stockez-la dans une variable d’environnement&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Exemple :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;GEMINI_API_KEY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"votre-cle-api"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Le processus est le même que dans le &lt;a href="http://apidog.com/blog/google-gemini-api-key-for-free?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide de la clé API Gemini gratuite&lt;/a&gt;. La clé fonctionne immédiatement avec &lt;code&gt;gemini-3.5-flash&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.apidog.com%2Fblog-next%2F2026%2F05%2Fimage-114.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.apidog.com%2Fblog-next%2F2026%2F05%2Fimage-114.png" alt="" width="800" height="492"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Option B : Vertex AI pour la production
&lt;/h3&gt;

&lt;p&gt;Utilisez Vertex AI si vous avez besoin de facturation centralisée, IAM, journaux d’audit et contrôles organisationnels.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Activez l’API Vertex AI dans la &lt;a href="https://console.cloud.google.com" rel="noopener noreferrer"&gt;Google Cloud Console&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Créez un compte de service avec le rôle &lt;code&gt;aiplatform.user&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Téléchargez les identifiants JSON&lt;/li&gt;
&lt;li&gt;Authentifiez-vous avec :
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;gcloud auth application-default login
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;ou configurez le fichier JSON comme identifiant d’application.&lt;/p&gt;

&lt;p&gt;La plupart des équipes commencent avec AI Studio, puis migrent vers Vertex AI lorsque les contraintes de production l’exigent.&lt;/p&gt;

&lt;h2&gt;
  
  
  Étape 2 : installer le SDK
&lt;/h2&gt;

&lt;p&gt;Le SDK officiel Google GenAI est disponible pour Python, Node.js, Go et Java.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Python&lt;/span&gt;
pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-U&lt;/span&gt; google-genai

&lt;span class="c"&gt;# Node.js&lt;/span&gt;
npm &lt;span class="nb"&gt;install&lt;/span&gt; @google/genai

&lt;span class="c"&gt;# Go&lt;/span&gt;
go get google.golang.org/genai
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Vous pouvez aussi appeler directement l’API REST avec &lt;code&gt;curl&lt;/code&gt;, sans SDK.&lt;/p&gt;

&lt;h2&gt;
  
  
  Étape 3 : effectuer un premier appel Flash
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Python
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;google&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;genai&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;genai&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Client&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;environ&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;GEMINI_API_KEY&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;

&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;models&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;generate_content&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;gemini-3.5-flash&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;contents&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Explain how OAuth 2.0 PKCE flow works in 3 short paragraphs.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Node.js
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;GoogleGenAI&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@google/genai&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;ai&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;GoogleGenAI&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="na"&gt;apiKey&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;GEMINI_API_KEY&lt;/span&gt; &lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;ai&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;models&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;generateContent&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;model&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;gemini-3.5-flash&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;contents&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Explain how OAuth 2.0 PKCE flow works in 3 short paragraphs.&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;text&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  curl
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="s2"&gt;"https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-flash:generateContent"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"x-goog-api-key: &lt;/span&gt;&lt;span class="nv"&gt;$GEMINI_API_KEY&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "contents": [{
      "parts": [{"text": "Explain how OAuth 2.0 PKCE flow works in 3 short paragraphs."}]
    }]
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;À ce stade, l’intégration minimale fonctionne. Vous pouvez ensuite ajouter le streaming, les entrées multimodales, les outils ou la validation JSON.&lt;/p&gt;

&lt;h2&gt;
  
  
  Réponses en streaming
&lt;/h2&gt;

&lt;p&gt;Le streaming est utile si votre interface doit afficher la réponse progressivement au lieu d’attendre la sortie complète.&lt;/p&gt;

&lt;h3&gt;
  
  
  Python
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;stream&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;models&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;generate_content_stream&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;gemini-3.5-flash&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;contents&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Write a 5-step tutorial on writing a REST API client in Go.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;chunk&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;stream&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;chunk&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;end&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;""&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;flush&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Node.js
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;stream&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;ai&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;models&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;generateContentStream&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;model&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;gemini-3.5-flash&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;contents&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Write a 5-step tutorial on writing a REST API client in Go.&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="k"&gt;await &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;chunk&lt;/span&gt; &lt;span class="k"&gt;of&lt;/span&gt; &lt;span class="nx"&gt;stream&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;stdout&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;chunk&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;text&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;En REST brut, remplacez le suffixe :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;:generateContent
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;par :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;:streamGenerateContent
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Entrée multimodale avec Flash
&lt;/h2&gt;

&lt;p&gt;Gemini 3.5 Flash accepte les images en plus du texte. C’est utile pour extraire des données depuis des tableaux de bord, graphiques, captures d’écran ou documents visuels.&lt;/p&gt;

&lt;h3&gt;
  
  
  Python : image depuis le disque
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;google&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;genai&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;google.genai&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;types&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;genai&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Client&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;environ&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;GEMINI_API_KEY&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;

&lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nf"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;dashboard.png&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;rb&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;image_bytes&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;read&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;models&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;generate_content&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;gemini-3.5-flash&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;contents&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="n"&gt;types&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Part&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;from_bytes&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;image_bytes&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;mime_type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;image/png&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Extract every metric in this dashboard as a JSON object.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
    &lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Types MIME pris en charge :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;image/png&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;image/jpeg&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;image/webp&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;image/heic&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;image/heif&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Les PDF et les vidéos peuvent également être utilisés via &lt;code&gt;types.Part.from_uri()&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Appel de fonction et utilisation d’outils avec Flash
&lt;/h2&gt;

&lt;p&gt;L’appel d’outils permet au modèle de demander l’exécution d’une fonction externe au lieu de tout générer en texte libre.&lt;/p&gt;

&lt;p&gt;Exemple : déclarer un outil météo.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;google.genai&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;types&lt;/span&gt;

&lt;span class="n"&gt;weather_tool&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;types&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Tool&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;function_declarations&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[{&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;name&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;get_current_weather&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;description&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Get the current weather for a city.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;parameters&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;object&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;properties&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;city&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;string&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;description&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;City name&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
                &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;unit&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;string&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;enum&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;celsius&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;fahrenheit&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]}&lt;/span&gt;
            &lt;span class="p"&gt;},&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;required&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;city&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;}]&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;models&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;generate_content&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;gemini-3.5-flash&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;contents&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;What&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;s the weather in Singapore right now?&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;types&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;GenerateContentConfig&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tools&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;weather_tool&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;part&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;candidates&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;parts&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;part&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;function_call&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Call: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;part&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;function_call&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Args: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nf"&gt;dict&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;part&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;function_call&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Le modèle renvoie un objet &lt;code&gt;function_call&lt;/code&gt; avec :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;le nom de la fonction&lt;/li&gt;
&lt;li&gt;les arguments à transmettre&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ensuite, votre application exécute la fonction localement, renvoie le résultat au modèle et continue la conversation. Ce modèle correspond à celui déjà utilisé avec l’&lt;a href="http://apidog.com/blog/gemini-3-flash-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;API Gemini 3 Flash&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sortie structurée en JSON
&lt;/h2&gt;

&lt;p&gt;Pour éviter de parser du texte libre, forcez une sortie JSON avec un type MIME et un schéma.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;models&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;generate_content&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;gemini-3.5-flash&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;contents&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;List 3 popular API testing tools with their pricing.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;types&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;GenerateContentConfig&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="n"&gt;response_mime_type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;application/json&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="n"&gt;response_schema&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;array&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;items&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;object&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;properties&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;name&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;string&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
                    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;price_per_month&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;number&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
                    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;free_tier&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;boolean&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
                &lt;span class="p"&gt;},&lt;/span&gt;
                &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;required&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;name&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;free_tier&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
            &lt;span class="p"&gt;}&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;
&lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;loads&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Cette approche réduit les erreurs côté application : pas de regex, moins de retries, validation plus simple.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tarification à partir de mai 2026
&lt;/h2&gt;

&lt;p&gt;Tarifs à la consommation pour &lt;code&gt;gemini-3.5-flash&lt;/code&gt; :&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Niveau&lt;/th&gt;
&lt;th&gt;Entrée&lt;/th&gt;
&lt;th&gt;Sortie&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Standard&lt;/td&gt;
&lt;td&gt;~1,50 $ / 1M de tokens&lt;/td&gt;
&lt;td&gt;~9,00 $ / 1M de tokens&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Entrée mise en cache&lt;/td&gt;
&lt;td&gt;tarif réduit&lt;/td&gt;
&lt;td&gt;s.o.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mode batch&lt;/td&gt;
&lt;td&gt;~50% de réduction&lt;/td&gt;
&lt;td&gt;~50% de réduction&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Pour les charges de travail par lots, le &lt;a href="http://apidog.com/blog/gemini-api-batch-mode?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;mode batch de l'API Gemini&lt;/a&gt; offre une réduction de 50 % sur les tâches qui ne nécessitent pas une latence en temps réel.&lt;/p&gt;

&lt;p&gt;Pour le calcul complet de la tarification, y compris les scénarios de coûts pour SaaS et boucles d’agents, consultez la &lt;a href="http://apidog.com/blog/gemini-3-5-flash-pricing?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;ventilation de la tarification Flash&lt;/a&gt;. Pour la référence officielle, consultez la &lt;a href="https://ai.google.dev/gemini-api/docs/pricing" rel="noopener noreferrer"&gt;tarification de l'API Gemini Developer&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tester votre intégration Gemini 3.5 Flash avec Apidog
&lt;/h2&gt;

&lt;p&gt;Un appel SDK fonctionnel ne suffit pas pour une intégration de production. Vous devez aussi tester :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;les fragments de streaming&lt;/li&gt;
&lt;li&gt;la validation des appels d’outils&lt;/li&gt;
&lt;li&gt;les charges utiles multimodales&lt;/li&gt;
&lt;li&gt;les retries&lt;/li&gt;
&lt;li&gt;les erreurs HTTP&lt;/li&gt;
&lt;li&gt;les limites de débit&lt;/li&gt;
&lt;li&gt;la forme des réponses JSON&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.apidog.com%2Fblog-next%2F2026%2F05%2Fimage-116.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.apidog.com%2Fblog-next%2F2026%2F05%2Fimage-116.png" alt="" width="799" height="530"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apidog.com?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt; permet de tester toute la surface de l’API Gemini Flash dans un seul espace de travail :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Enregistrer le point d'accès Flash comme requête&lt;/strong&gt; : collez l’URL complète, ajoutez &lt;code&gt;x-goog-api-key&lt;/code&gt;, puis envoyez la requête&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Comparer plusieurs versions de modèle&lt;/strong&gt; : remplacez &lt;code&gt;gemini-3.5-flash&lt;/code&gt; par &lt;code&gt;gemini-3-flash&lt;/code&gt; dans la même requête&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Streamer les réponses&lt;/strong&gt; : visualisez les fragments au fur et à mesure de leur arrivée&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Valider le JSON&lt;/strong&gt; : ajoutez des assertions pour détecter les dérives de schéma&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Simuler le point d'accès Flash&lt;/strong&gt; : testez votre code aval sans consommer de quota&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Construire des scénarios d’agents&lt;/strong&gt; : enchaînez plusieurs appels Flash et validez les appels d’outils entre chaque étape&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pour démarrer :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://apidog.com/download?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Téléchargez Apidog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Créez une nouvelle requête&lt;/li&gt;
&lt;li&gt;Collez l’URL REST de Flash&lt;/li&gt;
&lt;li&gt;Ajoutez l’en-tête &lt;code&gt;x-goog-api-key&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Importez l’extrait &lt;code&gt;curl&lt;/code&gt; de cet article&lt;/li&gt;
&lt;li&gt;Envoyez la requête et inspectez la réponse&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Gestion des erreurs et limites de débit
&lt;/h2&gt;

&lt;p&gt;Les codes HTTP importants :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;400&lt;/strong&gt; : requête invalide, souvent un tableau &lt;code&gt;contents&lt;/code&gt; mal formé ou un type MIME non pris en charge&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;401&lt;/strong&gt; : clé API invalide&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;403&lt;/strong&gt; : quota épuisé ou modèle non activé&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;429&lt;/strong&gt; : limite de débit atteinte&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;500/503&lt;/strong&gt; : erreur côté serveur, à réessayer avec temporisation exponentielle&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ajoutez une boucle de retry autour de vos appels :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;time&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;google&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;genai&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;call_with_retry&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;max_retries&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;attempt&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;max_retries&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;models&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;generate_content&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
                &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="n"&gt;contents&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;prompt&lt;/span&gt;
            &lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;except&lt;/span&gt; &lt;span class="nb"&gt;Exception&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;attempt&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;max_retries&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="k"&gt;raise&lt;/span&gt;
            &lt;span class="n"&gt;time&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sleep&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="o"&gt;**&lt;/span&gt; &lt;span class="n"&gt;attempt&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Les quotas du niveau gratuit sont réinitialisés quotidiennement : environ 15 requêtes par minute et 1 500 par jour sur Flash. Les quotas de production sont réinitialisés par minute et par jour.&lt;/p&gt;

&lt;p&gt;Pour les tâches à haut débit, évaluez le mode batch ou prévoyez une solution de repli vers &lt;a href="http://apidog.com/blog/gemini-3-flash-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Gemini 3 Flash&lt;/a&gt; lorsque les limites sont atteintes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Migration de Gemini 3.1 vers 3.5 Flash
&lt;/h2&gt;

&lt;p&gt;Dans la plupart des projets, la migration consiste à changer le nom du modèle.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Avant
&lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;gemini-3.1-pro&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;  &lt;span class="c1"&gt;# ou gemini-3.1-flash
&lt;/span&gt;
&lt;span class="c1"&gt;# Après
&lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;gemini-3.5-flash&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Après le changement, vérifiez :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Schémas d’outils&lt;/strong&gt; : réexécutez vos tests de function calling&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Streaming UI&lt;/strong&gt; : adaptez l’interface si les fragments arrivent plus vite&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Budgets de tokens&lt;/strong&gt; : conservez vos limites, mais surveillez les sorties&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Refus et garde-fous&lt;/strong&gt; : comparez les réponses sur vos cas limites&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Pour un guide plus détaillé, le &lt;a href="http://apidog.com/blog/gemini-3-1-pro-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide de l'API Gemini 3.1 Pro&lt;/a&gt; couvre le modèle SDK et reste transférable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Modèles d’implémentation courants
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Analyse de documents à contexte long
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nf"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;large_report.pdf&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;rb&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;pdf_bytes&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;read&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;models&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;generate_content&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;gemini-3.5-flash&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;contents&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="n"&gt;types&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Part&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;from_bytes&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;pdf_bytes&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;mime_type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;application/pdf&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Summarize the financial outlook from this report in 5 bullet points.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
    &lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Le contexte de 1M de tokens de Flash permet de traiter des PDF volumineux sans découpage manuel dans de nombreux cas.&lt;/p&gt;

&lt;h3&gt;
  
  
  Boucle d’agent avec appels d’outils
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;conversation&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;role&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;user&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;parts&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Book me a flight to Tokyo&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}]&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;models&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;generate_content&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;gemini-3.5-flash&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="n"&gt;contents&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;conversation&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;types&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;GenerateContentConfig&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
            &lt;span class="n"&gt;tools&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;flight_search_tool&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;booking_tool&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="n"&gt;part&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;candidates&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;parts&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;part&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;function_call&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;part&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;break&lt;/span&gt;

    &lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;execute_tool&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;part&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;function_call&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="n"&gt;conversation&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;role&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;model&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;parts&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;part&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="p"&gt;})&lt;/span&gt;

    &lt;span class="n"&gt;conversation&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;role&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;user&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;parts&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;function_response&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;}]&lt;/span&gt;
    &lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ce modèle est utile pour les agents qui doivent sélectionner un outil, exécuter une action externe, puis continuer la conversation avec le résultat.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Existe-t-il un niveau gratuit pour l'API Gemini 3.5 Flash ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Oui, via &lt;a href="http://apidog.com/blog/google-gemini-api-key-for-free?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Google AI Studio&lt;/a&gt;, avec des quotas quotidiens d’environ 1 500 requêtes/jour. Aucune carte de crédit requise.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Flash prend-il en charge les points d'accès compatibles OpenAI ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Oui. Google expose un adaptateur compatible OpenAI à l’adresse &lt;code&gt;/v1beta/openai/&lt;/code&gt;. Vous pouvez configurer &lt;code&gt;base_url&lt;/code&gt; dans un SDK OpenAI et utiliser votre clé Gemini. Le nom du modèle reste &lt;code&gt;gemini-3.5-flash&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Puis-je utiliser Flash avec LangChain ou LlamaIndex ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Oui. Les deux disposent d’intégrations Gemini natives. Passez &lt;code&gt;model="gemini-3.5-flash"&lt;/code&gt; dans leurs wrappers respectifs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Quand Gemini 3.5 Pro sera-t-il disponible ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Juin 2026 selon l’annonce de lancement de Google. D’ici là, Flash est la seule variante 3.5 disponible.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Quelle est la taille d'image maximale pour Flash ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
La recommandation est 3072×3072. Les images plus grandes sont rééchantillonnées. Pour les workflows OCR, consultez le &lt;a href="http://apidog.com/blog/gemini-2-0-flash-ocr?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;flux de travail OCR de Gemini 2.0 Flash&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Comment tester les points d'accès de streaming dans Apidog ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Ouvrez la requête, utilisez &lt;code&gt;:streamGenerateContent&lt;/code&gt; comme suffixe du point d’accès, puis envoyez la requête. Apidog affiche les fragments SSE au fur et à mesure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Où consulter les journaux de l'API ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Dans AI Studio sous &lt;strong&gt;Activité&lt;/strong&gt;, ou dans Vertex AI sous &lt;strong&gt;Explorateur de journaux&lt;/strong&gt; pour les déploiements de production.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quoi construire en premier
&lt;/h2&gt;

&lt;p&gt;Projets simples à lancer avec Flash :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Robot Q&amp;amp;A PDF&lt;/strong&gt; : injectez un PDF dans le contexte, posez des questions, retournez des réponses citées&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pipeline graphique-vers-JSON&lt;/strong&gt; : envoyez une capture de tableau de bord, extrayez des métriques structurées&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Agent de support client&lt;/strong&gt; : connectez l’appel de fonction à votre CRM&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Assistant de révision de code&lt;/strong&gt; : analysez des diffs multi-fichiers avec sortie structurée&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Agent de recherche interne&lt;/strong&gt; : combinez le contexte long avec des appels vers vos API internes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Le workflow reste le même : écrivez l’invite, appelez le SDK, validez la réponse avec &lt;a href="https://apidog.com?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt;, puis déployez.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Gemini 3.5 Flash : Le Nouveau Modèle Rapide de Google Expliqué</title>
      <dc:creator>Antoine Laurent</dc:creator>
      <pubDate>Wed, 20 May 2026 02:18:02 +0000</pubDate>
      <link>https://forem.com/antoine_laurentt/gemini-35-flash-le-nouveau-modele-rapide-de-google-explique-2nc1</link>
      <guid>https://forem.com/antoine_laurentt/gemini-35-flash-le-nouveau-modele-rapide-de-google-explique-2nc1</guid>
      <description>&lt;p&gt;Google a lancé Gemini 3.5 Flash le 19 mai 2026. C’est la variante rapide et économique de la famille Gemini 3.5, et le seul modèle 3.5 utilisable dès maintenant. Gemini 3.5 Pro est annoncé pour juin 2026, mais Flash est déjà le modèle à tester pour les charges de travail de production : agents, automatisation, codage, multimodal et streaming.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apidog.com/?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation" class="crayons-btn crayons-btn--primary"&gt;Essayez Apidog aujourd’hui&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Gemini 3.5 Flash vise les workloads qui tournent réellement en 2026 : boucles d’agents longues, automatisation de terminaux, codage multifichier, analyse de documents multimodaux et chat en continu. D’après Google, il génère environ 4 fois plus vite que les autres modèles de pointe côté jetons de sortie, avec un coût par tâche inférieur à la moitié.&lt;/p&gt;

&lt;p&gt;Ce guide résume ce qui change, comment l’appeler, comment l’évaluer, et comment l’intégrer dans une pile de test API avec &lt;a href="https://apidog.com?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Faits saillants sur Gemini 3.5 Flash
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Date de sortie&lt;/strong&gt; : 19 mai 2026&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Variante disponible&lt;/strong&gt; : Gemini 3.5 Flash&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gemini 3.5 Pro&lt;/strong&gt; : annoncé pour juin 2026&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fenêtre contextuelle&lt;/strong&gt; : 1M de jetons en entrée, 64K en sortie&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Modalités&lt;/strong&gt; : texte, images, code, génération graphique&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Benchmarks clés&lt;/strong&gt; :

&lt;ul&gt;
&lt;li&gt;76,2 % sur Terminal-Bench 2.1&lt;/li&gt;
&lt;li&gt;84,2 % sur CharXiv Reasoning&lt;/li&gt;
&lt;li&gt;83,6 % sur MCP Atlas&lt;/li&gt;
&lt;li&gt;1656 Elo sur GDPval-AA&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Vitesse&lt;/strong&gt; : environ 4 fois plus rapide en jetons de sortie/seconde que les autres modèles de pointe&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Coût&lt;/strong&gt; : moins de la moitié du coût de modèles comparables pour les tâches d’agent&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Nom API&lt;/strong&gt; : &lt;code&gt;gemini-3.5-flash&lt;/code&gt;
&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Accès&lt;/strong&gt; : application Gemini, mode IA dans la recherche, Google Antigravity, &lt;a href="http://apidog.com/blog/google-gemini-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;API Gemini&lt;/a&gt;, AI Studio, Android Studio, Gemini Enterprise&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Pour les détails de prix, les limites gratuites et les scénarios de coûts réels, consultez le &lt;a href="http://apidog.com/blog/gemini-3-5-flash-pricing?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide de tarification Gemini 3.5 Flash&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyrz6q7dd6ormamnlx06p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyrz6q7dd6ormamnlx06p.png" alt="Gemini 3.5 Flash" width="800" height="599"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Ce qui change par rapport à Gemini 3 et 3.1
&lt;/h2&gt;

&lt;p&gt;Gemini 3.5 Flash s’appuie sur &lt;a href="http://apidog.com/blog/gemini-3-flash?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Gemini 3 Flash&lt;/a&gt; et &lt;a href="http://apidog.com/blog/gemini-3-1-pro-and-how-to-access-it?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Gemini 3.1 Pro&lt;/a&gt;, avec cinq améliorations concrètes.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Les agents tiennent mieux sur la durée
&lt;/h3&gt;

&lt;p&gt;Flash gère mieux les chaînes de tâches longues :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;meilleur suivi d’état ;&lt;/li&gt;
&lt;li&gt;appels d’outils dans le bon ordre ;&lt;/li&gt;
&lt;li&gt;dispatch de sous-agents plus robuste ;&lt;/li&gt;
&lt;li&gt;moins de boucles inutiles sur une même étape.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;C’est important si vous construisez un agent qui doit exécuter plusieurs appels API, lire des fichiers, corriger une erreur, puis reprendre le workflow.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Le code généré est plus exploitable
&lt;/h3&gt;

&lt;p&gt;Flash progresse surtout sur :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;les refactorisations multifichiers ;&lt;/li&gt;
&lt;li&gt;les tâches longues via CLI ;&lt;/li&gt;
&lt;li&gt;les modifications progressives dans une base de code ;&lt;/li&gt;
&lt;li&gt;les assistants de développement intégrés dans des outils.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. La génération graphique devient directement utile
&lt;/h3&gt;

&lt;p&gt;Le modèle peut produire des interfaces web, des SVG et des diagrammes intégrés sans passer systématiquement par un modèle image séparé.&lt;/p&gt;

&lt;p&gt;Exemples de prompts utiles :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Génère un dashboard HTML/CSS/JS pour visualiser la latence moyenne, le taux d’erreur et le coût par requête d’une API LLM.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Crée un diagramme SVG expliquant le flux entre client, API Gateway, service d’agent, outil externe et base de données.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4. La sortie est plus rapide
&lt;/h3&gt;

&lt;p&gt;Google annonce environ 4 fois plus de jetons/seconde en sortie que les autres modèles de pointe. Pour les développeurs, cela change surtout les UX de streaming :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;réponses visibles plus tôt ;&lt;/li&gt;
&lt;li&gt;chat plus fluide ;&lt;/li&gt;
&lt;li&gt;génération de code plus rapide ;&lt;/li&gt;
&lt;li&gt;agents moins coûteux en temps d’attente.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  5. Les garde-fous sont élargis
&lt;/h3&gt;

&lt;p&gt;Google mentionne des mesures de sécurité cybernétiques et CBRN renforcées, ainsi que des outils d’interprétabilité pour expliquer certains refus ou redirections.&lt;/p&gt;

&lt;p&gt;Le mouvement est clair : Google optimise Flash pour les workloads d’agents en production, pas uniquement pour le chat. C’est la même direction que celle prise par OpenAI et Anthropic avec &lt;a href="http://apidog.com/blog/what-is-gpt-5-5?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;GPT-5.5&lt;/a&gt; et &lt;a href="http://apidog.com/blog/claude-opus-4-7?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Claude Opus 4.7&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7zqrab899rgjmc0ijtdb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7zqrab899rgjmc0ijtdb.png" alt="Comparaison Gemini 3.5 Flash" width="800" height="445"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Benchmarks de Gemini 3.5 Flash
&lt;/h2&gt;

&lt;p&gt;Chiffres publiés par Google :&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Benchmark&lt;/th&gt;
&lt;th&gt;Ce qu’il teste&lt;/th&gt;
&lt;th&gt;Gemini 3.5 Flash&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Terminal-Bench 2.1&lt;/td&gt;
&lt;td&gt;Flux de travail CLI à long terme&lt;/td&gt;
&lt;td&gt;76,2 %&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MCP Atlas&lt;/td&gt;
&lt;td&gt;Coordination multi-outils&lt;/td&gt;
&lt;td&gt;83,6 %&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CharXiv Reasoning&lt;/td&gt;
&lt;td&gt;Interprétation de graphiques et diagrammes&lt;/td&gt;
&lt;td&gt;84,2 %&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GDPval-AA&lt;/td&gt;
&lt;td&gt;Valeur agentique générale&lt;/td&gt;
&lt;td&gt;1656 Elo&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MRCR v2, contexte 1M&lt;/td&gt;
&lt;td&gt;Récupération de contexte long&lt;/td&gt;
&lt;td&gt;En tête du tableau de Google&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Flash ressort particulièrement bien sur :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;le raisonnement sur graphiques ;&lt;/li&gt;
&lt;li&gt;les agents multi-outils ;&lt;/li&gt;
&lt;li&gt;la récupération d’information dans un contexte long.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Il ne domine pas partout. Sur SWE-Bench Verified pur, la compétition reste serrée entre &lt;a href="http://apidog.com/blog/claude-opus-4-7?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Opus 4.7&lt;/a&gt; et &lt;a href="http://apidog.com/blog/what-is-gpt-5-5?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;GPT-5.5&lt;/a&gt;. Si votre seul KPI est la correction de bugs en un seul passage, ces modèles restent très compétitifs. Si votre KPI est une longue exécution d’agent à coût réduit, Flash devient intéressant.&lt;/p&gt;

&lt;p&gt;Pour une comparaison plus détaillée, consultez &lt;a href="http://apidog.com/blog/gemini-3-5-vs-gpt-5-5-vs-opus-4-7?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Gemini 3.5 Flash vs GPT-5.5 vs Opus 4.7&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  La famille Gemini 3.5
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Gemini 3.5 Flash
&lt;/h3&gt;

&lt;p&gt;Flash est disponible via :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI Studio ;&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://apidog.com/blog/google-gemini-3-api-guide?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;API Gemini&lt;/a&gt; ;&lt;/li&gt;
&lt;li&gt;application Gemini ;&lt;/li&gt;
&lt;li&gt;mode IA dans la recherche ;&lt;/li&gt;
&lt;li&gt;Antigravity ;&lt;/li&gt;
&lt;li&gt;Android Studio ;&lt;/li&gt;
&lt;li&gt;Gemini Enterprise.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Les prix annoncés au lancement sont d’environ :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;1,50 $ / 1M jetons d’entrée&lt;/strong&gt; ;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;9,00 $ / 1M jetons de sortie&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;C’est plus élevé que &lt;a href="http://apidog.com/blog/gemini-3-1-flash-lite?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;3.1 Flash-Lite&lt;/a&gt;, mais toujours nettement inférieur aux modèles concurrents de niveau Pro. Pour le batch, l’entrée en cache et les tarifs Vertex, consultez le &lt;a href="http://apidog.com/blog/gemini-3-5-flash-pricing?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide de tarification complet&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Flash est particulièrement adapté à :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;boucles d’agents à haut débit ;&lt;/li&gt;
&lt;li&gt;compréhension de graphiques et documents ;&lt;/li&gt;
&lt;li&gt;scripts de test avec &lt;a href="https://apidog.com?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt; quand la latence compte ;&lt;/li&gt;
&lt;li&gt;interfaces de chat en streaming ;&lt;/li&gt;
&lt;li&gt;analyse de documents jusqu’à 1M de jetons sans découpage manuel.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Gemini 3.5 Pro
&lt;/h3&gt;

&lt;p&gt;Gemini 3.5 Pro est annoncé, mais pas encore livré. Google le positionne comme la variante agentique haut de gamme : tâches autonomes longues, recherches approfondies, meilleurs scores de classement.&lt;/p&gt;

&lt;p&gt;Tant que Pro n’est pas disponible, Flash est la variante à tester et intégrer.&lt;/p&gt;

&lt;h3&gt;
  
  
  Et Gemini 3.5 Nano ?
&lt;/h3&gt;

&lt;p&gt;Google n’a pas lancé de variante 3.5 Nano. L’inférence sur appareil repose encore sur &lt;a href="http://apidog.com/blog/gemini-3-1-flash-lite?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;3.1 Flash-Lite&lt;/a&gt;. Une annonce 3.5 Nano pourrait arriver plus près d’un prochain cycle Pixel.&lt;/p&gt;

&lt;h2&gt;
  
  
  Où utiliser Gemini 3.5 Flash
&lt;/h2&gt;

&lt;p&gt;Six surfaces ont été livrées au lancement :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Application Gemini&lt;/strong&gt; : accès mondial, niveaux gratuit et payant.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mode IA dans la recherche Google&lt;/strong&gt; : réponses et suivis.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Google Antigravity&lt;/strong&gt; : plateforme d’agents pour automatisation utilisateur.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;API Gemini&lt;/strong&gt; : point d’entrée développeur via &lt;a href="http://apidog.com/blog/google-gemini-api-key-for-free?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;AI Studio&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Android Studio&lt;/strong&gt; : assistance au codage pour les développeurs Android.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gemini Enterprise + plateforme d’agents&lt;/strong&gt; : runtime d’agents géré pour les organisations.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;La nouvelle surface la plus notable est &lt;strong&gt;Gemini Spark&lt;/strong&gt;, un agent personnel qui fonctionne 24h/24 et 7j/7 sur votre compte. Spark utilise Flash en coulisses et se connecte au contexte Gmail, Agenda et Drive.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmo6b7ogoy26um3i7spnj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmo6b7ogoy26um3i7spnj.png" alt="Gemini Spark" width="799" height="526"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Les agents d’information dans la recherche sont aussi nouveaux : ils suivent des sujets et regroupent des mises à jour sans que vous relanciez manuellement les requêtes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Démarrer avec Gemini 3.5 Flash
&lt;/h2&gt;

&lt;p&gt;Vous avez quatre chemins principaux.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Utiliser l’application Gemini
&lt;/h3&gt;

&lt;p&gt;Allez sur &lt;a href="https://gemini.google.com" rel="noopener noreferrer"&gt;gemini.google.com&lt;/a&gt;, choisissez &lt;code&gt;3.5 Flash&lt;/code&gt; dans le sélecteur de modèle, puis testez vos cas d’usage :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;recherche ;&lt;/li&gt;
&lt;li&gt;rédaction ;&lt;/li&gt;
&lt;li&gt;génération de code ;&lt;/li&gt;
&lt;li&gt;analyse d’image ;&lt;/li&gt;
&lt;li&gt;résumé de document.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;C’est le chemin le plus simple pour valider rapidement la qualité du modèle.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Utiliser Google AI Studio
&lt;/h3&gt;

&lt;p&gt;Allez sur &lt;a href="https://ai.google.dev" rel="noopener noreferrer"&gt;ai.google.dev&lt;/a&gt;, connectez-vous, puis générez une clé API. Flash est disponible sur le niveau gratuit avec environ 1 500 requêtes par jour au lancement.&lt;/p&gt;

&lt;p&gt;Si vous avez déjà utilisé &lt;a href="http://apidog.com/blog/google-gemini-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;l’API Google Gemini&lt;/a&gt;, le schéma reste similaire :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;créer une clé API ;&lt;/li&gt;
&lt;li&gt;définir &lt;code&gt;GEMINI_API_KEY&lt;/code&gt; ;&lt;/li&gt;
&lt;li&gt;utiliser le modèle &lt;code&gt;gemini-3.5-flash&lt;/code&gt; ;&lt;/li&gt;
&lt;li&gt;envoyer la requête.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Exemple d’environnement :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;GEMINI_API_KEY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"votre_cle_api"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Consultez aussi le &lt;a href="http://apidog.com/blog/google-gemini-api-key-for-free?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide de clé API Gemini gratuite&lt;/a&gt; ou le &lt;a href="http://apidog.com/blog/how-to-use-gemini-3-5-for-free?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide gratuit spécifique à Flash&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Utiliser l’API Gemini en production
&lt;/h3&gt;

&lt;p&gt;En production, utilisez le même modèle avec un compte facturé. Le nom du modèle est :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gemini-3.5-flash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Exemple de structure de test avec &lt;code&gt;curl&lt;/code&gt; :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST &lt;span class="s2"&gt;"https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-flash:generateContent?key=&lt;/span&gt;&lt;span class="nv"&gt;$GEMINI_API_KEY&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "contents": [
      {
        "parts": [
          {
            "text": "Explique comment migrer une API REST vers un workflow agentique testé automatiquement."
          }
        ]
      }
    ]
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pour des exemples complets en Python, Node et curl, ainsi que les modèles de streaming, d’appel d’outils et de multimodal, consultez &lt;a href="http://apidog.com/blog/how-to-use-gemini-3-5-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Comment utiliser l’API Gemini 3.5 Flash&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Lorsque vous intégrez Flash dans votre pile, testez le point de terminaison comme n’importe quelle API critique. &lt;a href="https://apidog.com?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt; permet de gérer les requêtes, réponses, scénarios de streaming et charges utiles multimodales dans un même espace de travail.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Utiliser Gemini Enterprise
&lt;/h3&gt;

&lt;p&gt;Pour les organisations, Gemini Enterprise ajoute :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;journaux d’audit ;&lt;/li&gt;
&lt;li&gt;résidence des données ;&lt;/li&gt;
&lt;li&gt;runtime de plateforme d’agents ;&lt;/li&gt;
&lt;li&gt;intégration gérée pour les équipes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;C’est généralement le chemin à considérer après un prototype validé via l’API développeur.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cas d’usage où Gemini 3.5 Flash est solide
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Boucles d’agents longues à faible coût
&lt;/h3&gt;

&lt;p&gt;Le score MCP Atlas de 83,6 % suggère une meilleure coordination multi-outils. En pratique, cela aide pour des workflows comme :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;lire une demande utilisateur ;&lt;/li&gt;
&lt;li&gt;appeler une API ;&lt;/li&gt;
&lt;li&gt;analyser la réponse ;&lt;/li&gt;
&lt;li&gt;corriger une erreur ;&lt;/li&gt;
&lt;li&gt;appeler un autre outil ;&lt;/li&gt;
&lt;li&gt;produire une sortie finale structurée.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Raisonnement sur graphiques et documents
&lt;/h3&gt;

&lt;p&gt;Avec CharXiv à 84,2 %, Flash devient pertinent pour :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;rapports PDF ;&lt;/li&gt;
&lt;li&gt;documents avec graphiques ;&lt;/li&gt;
&lt;li&gt;tableaux de bord exportés ;&lt;/li&gt;
&lt;li&gt;schémas techniques ;&lt;/li&gt;
&lt;li&gt;analyse d’images contenant du texte ou des diagrammes.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Génération d’interfaces interactives
&lt;/h3&gt;

&lt;p&gt;Vous pouvez demander directement :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Génère une page HTML avec un graphique de coût par requête, un tableau des erreurs API et un filtre par modèle LLM.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Le bond de qualité graphique par rapport à &lt;a href="http://apidog.com/blog/gemini-3-1-flash-lite?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;3.1 Flash-Lite&lt;/a&gt; est l’une des améliorations les plus visibles.&lt;/p&gt;

&lt;h3&gt;
  
  
  Workloads sensibles au coût
&lt;/h3&gt;

&lt;p&gt;Google présente Flash comme coûtant moins de la moitié des autres modèles de pointe pour les tâches d’agent. Même avec prudence, le coût par tâche devient intéressant pour des agents longs comparés à &lt;a href="http://apidog.com/blog/claude-opus-4-7-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Opus 4.7&lt;/a&gt; ou &lt;a href="http://apidog.com/blog/how-to-use-gpt-5-5-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;GPT-5.5&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Les détails sont dans l’&lt;a href="http://apidog.com/blog/gemini-3-5-flash-pricing?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;analyse des prix&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Limites à connaître
&lt;/h2&gt;

&lt;p&gt;Gemini 3.5 Flash n’est pas une solution universelle.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;SWE-Bench Verified pur&lt;/strong&gt; : Opus 4.7 reste devant avec 87,6 % sur les benchmarks de correction de bugs isolés.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Voix&lt;/strong&gt; : la pile vocale Gemini est séparée. Pour ce cas, comparez avec &lt;a href="http://apidog.com/blog/grok-voice-vs-gpt-realtime-best-voice-model?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Grok Voice vs GPT-Realtime&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Écosystème d’outils&lt;/strong&gt; : OpenAI et Anthropic ont encore une avance sur certains adaptateurs tiers. Google rattrape avec Antigravity, mais l’écosystème reste plus jeune.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Tester correctement Gemini 3.5 Flash
&lt;/h2&gt;

&lt;p&gt;Avant de router du trafic production vers Flash, construisez un petit banc d’évaluation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Étape 1 : définir un jeu de prompts représentatifs
&lt;/h3&gt;

&lt;p&gt;Incluez les vrais cas de votre application :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;- prompts courts ;
- prompts longs ;
- appels d’outils ;
- entrées multimodales ;
- erreurs attendues ;
- sorties JSON strictes ;
- scénarios de streaming.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Étape 2 : comparer avec votre modèle actuel
&lt;/h3&gt;

&lt;p&gt;Exécutez les mêmes prompts sur :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;gemini-3.5-flash&lt;/code&gt; ;&lt;/li&gt;
&lt;li&gt;votre modèle actuel ;&lt;/li&gt;
&lt;li&gt;éventuellement un modèle de référence.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Étape 3 : mesurer ce qui compte
&lt;/h3&gt;

&lt;p&gt;Mesurez au minimum :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;latence ;&lt;/li&gt;
&lt;li&gt;coût en jetons ;&lt;/li&gt;
&lt;li&gt;succès de la tâche aval ;&lt;/li&gt;
&lt;li&gt;stabilité du schéma de réponse ;&lt;/li&gt;
&lt;li&gt;exactitude des appels d’outils ;&lt;/li&gt;
&lt;li&gt;taux de refus ;&lt;/li&gt;
&lt;li&gt;dérives entre versions mineures.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Étape 4 : automatiser les tests API
&lt;/h3&gt;

&lt;p&gt;Avec &lt;a href="https://apidog.com?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt;, vous pouvez enregistrer une suite de tests pour les points de terminaison Gemini Flash, y compris le streaming. Cela permet de rejouer les mêmes prompts, comparer les réponses et vérifier les charges utiles de bout en bout.&lt;/p&gt;

&lt;p&gt;Vous pouvez &lt;a href="https://apidog.com/download?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;télécharger Apidog&lt;/a&gt; pour configurer ces tests localement.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conseils de migration de Gemini 3.1 vers 3.5 Flash
&lt;/h2&gt;

&lt;p&gt;Si vous utilisez déjà Gemini 3.1, la migration ressemble souvent à un simple changement de nom de modèle.&lt;/p&gt;

&lt;p&gt;Avant :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gemini-3.1-flash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Après :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gemini-3.5-flash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Points à vérifier :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Budgets de jetons&lt;/strong&gt; : 1M en entrée / 64K en sortie reste stable.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Schémas d’outils&lt;/strong&gt; : les définitions de fonctions existantes doivent être retestées, mais le modèle reste compatible.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Streaming&lt;/strong&gt; : la sortie étant plus rapide, vérifiez que votre UI peut suivre.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Coûts&lt;/strong&gt; : recalculez vos projections avec le &lt;a href="http://apidog.com/blog/gemini-3-5-flash-pricing?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide de tarification Flash&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sécurité&lt;/strong&gt; : les réponses de refus peuvent changer ; relancez vos tests red team.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pour plus de détails SDK, consultez le &lt;a href="http://apidog.com/blog/google-gemini-3-api-guide?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide de l’API Google Gemini 3&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Quand Gemini 3.5 Pro sera-t-il disponible ?
&lt;/h3&gt;

&lt;p&gt;Google a annoncé « un déploiement le mois prochain » le 19 mai 2026. Il faut donc s’attendre à une disponibilité en juin 2026 via AI Studio, l’API Gemini et Gemini Enterprise. D’ici là, Flash est la seule variante 3.5 appelable.&lt;/p&gt;

&lt;h3&gt;
  
  
  Gemini 3.5 Flash est-il gratuit ?
&lt;/h3&gt;

&lt;p&gt;Oui, avec quotas quotidiens. L’application Gemini et AI Studio permettent d’utiliser Flash sans paiement initial. Consultez le &lt;a href="http://apidog.com/blog/how-to-use-gemini-3-5-for-free?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide gratuit Flash&lt;/a&gt; et &lt;a href="http://apidog.com/blog/get-free-unlimited-gemini-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Obtenir l’API Gemini illimitée gratuite&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Gemini 3.5 Flash prend-il en charge l’appel de fonctions ?
&lt;/h3&gt;

&lt;p&gt;Oui. L’appel d’outils et le dispatch de sous-agents sont des cas d’usage clés. Le score MCP Atlas de 83,6 % est l’indicateur principal cité.&lt;/p&gt;

&lt;h3&gt;
  
  
  Comment Flash se compare-t-il à Opus 4.7 et GPT-5.5 ?
&lt;/h3&gt;

&lt;p&gt;Flash est fort sur :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;coût ;&lt;/li&gt;
&lt;li&gt;vitesse de sortie ;&lt;/li&gt;
&lt;li&gt;raisonnement sur graphiques ;&lt;/li&gt;
&lt;li&gt;agents multi-outils.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Opus 4.7 reste très fort sur SWE-Bench Pro et l’écriture longue. GPT-5.5 reste compétitif sur l’efficacité en jetons. Consultez la &lt;a href="http://apidog.com/blog/gemini-3-5-vs-gpt-5-5-vs-opus-4-7?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;comparaison à trois&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Peut-on exécuter Gemini 3.5 Flash localement ?
&lt;/h3&gt;

&lt;p&gt;Non. Il n’existe pas de version open-weights. Pour l’inférence locale, consultez plutôt les &lt;a href="http://apidog.com/blog/best-local-llms-2026?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;meilleurs LLM locaux de 2026&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Gemini 3.5 Flash fonctionne-t-il avec Cursor ?
&lt;/h3&gt;

&lt;p&gt;Oui, via l’API Gemini standard. Le schéma est similaire à &lt;a href="http://apidog.com/blog/gemini-3-0-pro-with-cursor?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Gemini 3.0 Pro avec Cursor&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Quel est le nom du modèle API ?
&lt;/h3&gt;

&lt;p&gt;Utilisez :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gemini-3.5-flash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Ce que cela implique pour votre pile
&lt;/h2&gt;

&lt;p&gt;Si vous avez déjà une fonctionnalité IA en production :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Vous utilisez 3.1 Flash&lt;/strong&gt; : testez 3.5 Flash en parallèle. Le gain de vitesse en streaming peut justifier la migration.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vous utilisez Opus 4.7 ou GPT-5.5&lt;/strong&gt; : comparez coût, latence et qualité sur vos propres prompts. Pour les agents longs, Flash peut réduire le coût.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vous construisez une nouvelle boucle d’agents&lt;/strong&gt; : commencez par Flash, puis comparez avec un modèle plus coûteux uniquement si nécessaire.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vous avez une charge multimodale lourde&lt;/strong&gt; : testez Flash sur vos propres documents et graphiques.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Dans tous les cas, traitez le modèle comme un composant de pipeline. Testez les prompts, les appels d’outils, les sorties JSON, le streaming et les erreurs. &lt;a href="https://apidog.com?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt; couvre la partie test API pour Gemini ; la conception des prompts, le câblage des outils et l’évaluation métier restent à votre charge.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Qu'est-ce que Gemini Omni ? Le Modèle Vidéo Raisonnement d'Abord de Google</title>
      <dc:creator>Antoine Laurent</dc:creator>
      <pubDate>Wed, 20 May 2026 02:10:02 +0000</pubDate>
      <link>https://forem.com/antoine_laurentt/quest-ce-que-gemini-omni-le-modele-video-raisonnement-dabord-de-google-5595</link>
      <guid>https://forem.com/antoine_laurentt/quest-ce-que-gemini-omni-le-modele-video-raisonnement-dabord-de-google-5595</guid>
      <description>&lt;p&gt;Le blog de Google vient d’annoncer Gemini Omni, un nouveau modèle qui combine la pile de raisonnement de Gemini avec de la génération multimodale. La première variante, Gemini Omni Flash, accepte du texte, des images, de l’audio ou de la vidéo en entrée, puis génère une vidéo. Le modèle est déjà disponible dans l’application Gemini, Google Flow, YouTube Shorts et YouTube Create. L’accès API pour les développeurs est annoncé pour les prochaines semaines.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apidog.com/?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation" class="crayons-btn crayons-btn--primary"&gt;Essayez Apidog aujourd'hui&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Si vous développez avec &lt;a href="https://apidog.com?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt;, vous avez probablement déjà testé des modèles texte, des générateurs d’images comme &lt;a href="http://apidog.com/blog/nano-banana-2?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Nano Banana 2&lt;/a&gt;, ou des modèles vidéo comme &lt;a href="http://apidog.com/blog/veo-3-1-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Veo 3.1&lt;/a&gt;. Gemini Omni est le prochain endpoint à préparer. Sa logique est différente : le modèle raisonne avant de générer. Cet article explique ce que vous pouvez anticiper côté API, comment le comparer à Gemini 3 Pro et Veo, et comment préparer votre workspace Apidog avant la disponibilité des clés.&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;Gemini Omni est une nouvelle famille de modèles Google qui combine le raisonnement Gemini avec une génération multimodale native. Gemini Omni Flash accepte du texte, des images, de l’audio et de la vidéo en entrée, puis produit une vidéo. Les sorties image et audio sont prévues plus tard.&lt;/p&gt;

&lt;p&gt;Disponibilité actuelle :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Application Gemini&lt;/li&gt;
&lt;li&gt;&lt;a href="https://labs.google/flow" rel="noopener noreferrer"&gt;Google Flow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;YouTube Shorts&lt;/li&gt;
&lt;li&gt;YouTube Create&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;L’API développeur et l’API entreprise doivent arriver dans les prochaines semaines.&lt;/p&gt;

&lt;h2&gt;
  
  
  Qu’est-ce que Gemini Omni ?
&lt;/h2&gt;

&lt;p&gt;Gemini Omni est un modèle génératif orienté raisonnement. Un générateur vidéo classique prend une invite et produit une séquence d’images. Omni interprète d’abord la scène, raisonne sur ce qui devrait se passer, puis génère la sortie.&lt;/p&gt;

&lt;p&gt;Google DeepMind décrit Omni comme un modèle capable d’utiliser les connaissances de Gemini et une compréhension intuitive de concepts physiques comme :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;la gravité ;&lt;/li&gt;
&lt;li&gt;l’énergie cinétique ;&lt;/li&gt;
&lt;li&gt;les collisions ;&lt;/li&gt;
&lt;li&gt;les fluides ;&lt;/li&gt;
&lt;li&gt;les trajectoires.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Exemple concret : si vous demandez une balle qui rebondit dans un escalier, Omni ne se limite pas à interpoler des images plausibles. Il essaie de modéliser implicitement la perte de vitesse, les impacts successifs et la trajectoire attendue. C’est la différence mise en avant par Google : génération basée sur le raisonnement plutôt que simple génération image-par-image.&lt;/p&gt;

&lt;p&gt;Gemini Omni Flash suit la logique de nommage de Google :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gemini 3 Pro : raisonnement plus lourd ;&lt;/li&gt;
&lt;li&gt;Gemini 3 Flash : vitesse et coût ;&lt;/li&gt;
&lt;li&gt;Gemini Omni Flash : génération multimodale avec faible latence attendue.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Google n’a pas encore annoncé de variantes Omni plus grandes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ce qui distingue Omni des modèles vidéo précédents
&lt;/h2&gt;

&lt;p&gt;Les points clés pour les développeurs :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Entrée multimodale native&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Vous pouvez combiner texte, image, audio et vidéo dans une même requête.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Fusion de références&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Vous pouvez fournir plusieurs images de référence, une direction artistique, une couleur de marque et un script.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Édition multi-tours&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Vous pouvez générer un clip, puis demander : « rends l’arrière-plan plus enneigé » ou « remplace le chat par un renard ». Le modèle tente de conserver les parties non modifiées.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Raisonnement appliqué à la génération&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Le modèle planifie implicitement la scène avant de produire la vidéo.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Gemini Omni vs Veo 3.1 vs Gemini 3 Pro
&lt;/h2&gt;

&lt;p&gt;Si vous utilisez déjà les modèles Google, la séparation devient la suivante :&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Modèle&lt;/th&gt;
&lt;th&gt;Usage&lt;/th&gt;
&lt;th&gt;Entrée&lt;/th&gt;
&lt;th&gt;Sortie&lt;/th&gt;
&lt;th&gt;Raisonnement&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Gemini 3 Pro&lt;/td&gt;
&lt;td&gt;Texte, code, raisonnement multimodal&lt;/td&gt;
&lt;td&gt;Texte, image, audio, vidéo, code&lt;/td&gt;
&lt;td&gt;Texte, code&lt;/td&gt;
&lt;td&gt;Fort&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Veo 3.1&lt;/td&gt;
&lt;td&gt;Génération vidéo dédiée&lt;/td&gt;
&lt;td&gt;Texte, image&lt;/td&gt;
&lt;td&gt;Vidéo&lt;/td&gt;
&lt;td&gt;Limité&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Gemini Omni Flash&lt;/td&gt;
&lt;td&gt;Raisonnement + génération créative&lt;/td&gt;
&lt;td&gt;Texte, image, audio, vidéo&lt;/td&gt;
&lt;td&gt;Vidéo&lt;/td&gt;
&lt;td&gt;Natif&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;a href="http://apidog.com/blog/google-veo-3-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Veo 3&lt;/a&gt; et &lt;a href="http://apidog.com/blog/veo-3-1-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Veo 3.1&lt;/a&gt; restent adaptés si vous avez besoin d’une génération vidéo directe, avec une invite bien définie.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://apidog.com/blog/gemini-3-pro-ollama-free?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Gemini 3 Pro&lt;/a&gt; reste le bon choix pour les tâches de texte, code et raisonnement sans sortie vidéo.&lt;/p&gt;

&lt;p&gt;Omni devient intéressant lorsque :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;l’utilisateur décrit une scène complexe ;&lt;/li&gt;
&lt;li&gt;la vidéo doit tenir compte de références multiples ;&lt;/li&gt;
&lt;li&gt;vous avez besoin de modifications conversationnelles ;&lt;/li&gt;
&lt;li&gt;le contexte audio, image ou vidéo influence la sortie.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Disponibilité actuelle
&lt;/h2&gt;

&lt;p&gt;Gemini Omni Flash est disponible dans quatre produits :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Application Gemini&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Génération conversationnelle de clips vidéo.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Google Flow&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Outil de création de séquences vidéo multi-plans.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;YouTube Shorts&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Accès gratuit pour les créateurs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;YouTube Create&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Génération orientée mobile.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Les abonnements Google AI Plus, Pro et Ultra incluent l’accès via Gemini et Flow. Les créateurs YouTube y accèdent gratuitement via Shorts et YouTube Create.&lt;/p&gt;

&lt;p&gt;Chaque vidéo générée avec Omni contient un filigrane &lt;a href="https://deepmind.google/technologies/synthid/" rel="noopener noreferrer"&gt;SynthID&lt;/a&gt;. Il est invisible pour les spectateurs mais vérifiable via les outils Google compatibles.&lt;/p&gt;

&lt;p&gt;Pour les applications de conformité, de modération ou de vérification de contenu, prévoyez déjà un champ de provenance dans votre modèle de données.&lt;/p&gt;

&lt;h2&gt;
  
  
  Comprendre « raisonnement + génération »
&lt;/h2&gt;

&lt;p&gt;Prenons cette invite :&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Montre un verre d’eau tombant du bord d’une table et atterrissant sur un parquet.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Un modèle purement génératif tente de produire des images qui ressemblent à cette scène. Un modèle orienté raisonnement doit implicitement répondre à plusieurs questions :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;le verre est-il plein ou à moitié plein ?&lt;/li&gt;
&lt;li&gt;l’eau sort-elle avant ou après l’impact ?&lt;/li&gt;
&lt;li&gt;le verre rebondit-il, se brise-t-il ou glisse-t-il ?&lt;/li&gt;
&lt;li&gt;quelle trajectoire suit l’eau ?&lt;/li&gt;
&lt;li&gt;comment le bois réagit-il à l’impact ?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Omni ne lance pas une simulation physique réelle. Il prédit un résultat plausible à partir de son entraînement, puis génère une vidéo cohérente avec cette prédiction.&lt;/p&gt;

&lt;p&gt;Vous devriez voir la différence surtout sur :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;les trajectoires ;&lt;/li&gt;
&lt;li&gt;les collisions ;&lt;/li&gt;
&lt;li&gt;les éclaboussures ;&lt;/li&gt;
&lt;li&gt;la fumée ;&lt;/li&gt;
&lt;li&gt;les tissus ;&lt;/li&gt;
&lt;li&gt;les interactions entre objets.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Limite importante : Omni ne remplace pas un moteur physique ni un pipeline VFX. Sur des prises longues ou complexes, des erreurs de continuité peuvent toujours apparaître.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tableau de disponibilité
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Plateforme&lt;/th&gt;
&lt;th&gt;Coût&lt;/th&gt;
&lt;th&gt;Accès&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;YouTube Shorts&lt;/td&gt;
&lt;td&gt;Gratuit&lt;/td&gt;
&lt;td&gt;Tout créateur&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;YouTube Create&lt;/td&gt;
&lt;td&gt;Gratuit&lt;/td&gt;
&lt;td&gt;Créateurs mobiles&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Application Gemini&lt;/td&gt;
&lt;td&gt;Payant&lt;/td&gt;
&lt;td&gt;AI Plus / Pro / Ultra&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google Flow&lt;/td&gt;
&lt;td&gt;Payant&lt;/td&gt;
&lt;td&gt;AI Plus / Pro / Ultra&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;API développeur&lt;/td&gt;
&lt;td&gt;À déterminer&lt;/td&gt;
&lt;td&gt;Prochaines semaines&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;API entreprise&lt;/td&gt;
&lt;td&gt;À déterminer&lt;/td&gt;
&lt;td&gt;Prochaines semaines&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Google n’a pas encore donné de date exacte pour l’API. Le déploiement devrait probablement passer par Google AI Studio et Vertex AI, comme pour &lt;a href="http://apidog.com/blog/google-gemini-3-api-guide?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Gemini 3&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;En attendant, vous pouvez préparer votre environnement. &lt;a href="https://apidog.com/download?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Téléchargez Apidog&lt;/a&gt;, importez les schémas Gemini ou Veo que vous utilisez déjà, puis ajoutez une version simulée du futur endpoint Omni.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ce que l’on sait côté API
&lt;/h2&gt;

&lt;p&gt;Google a confirmé les éléments suivants :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Premier modèle API attendu&lt;/strong&gt; : Gemini Omni Flash.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Entrées&lt;/strong&gt; : texte, image, audio, vidéo.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sortie au lancement&lt;/strong&gt; : vidéo.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sorties futures&lt;/strong&gt; : image et audio.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tarification&lt;/strong&gt; : non annoncée.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rate limits&lt;/strong&gt; : non annoncés.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Disponibilité régionale&lt;/strong&gt; : non annoncée.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Endpoints probables&lt;/strong&gt; : Google AI Studio et Vertex AI.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Le plus prudent consiste à ne pas coupler directement votre application à un fournisseur ou à un nom de modèle. Créez une interface interne unique :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="kr"&gt;interface&lt;/span&gt; &lt;span class="nx"&gt;VideoGenerationProvider&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nf"&gt;generateVideo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;input&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;VideoGenerationInput&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt; &lt;span class="nb"&gt;Promise&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;VideoGenerationResult&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Puis implémentez plusieurs providers :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;VeoProvider&lt;/span&gt; &lt;span class="k"&gt;implements&lt;/span&gt; &lt;span class="nx"&gt;VideoGenerationProvider&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="nf"&gt;generateVideo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;input&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;VideoGenerationInput&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="c1"&gt;// Appel Veo 3.1&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;OmniProvider&lt;/span&gt; &lt;span class="k"&gt;implements&lt;/span&gt; &lt;span class="nx"&gt;VideoGenerationProvider&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="nf"&gt;generateVideo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;input&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;VideoGenerationInput&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="c1"&gt;// Appel Gemini Omni lorsque l'API sera disponible&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Cette approche vous permet de basculer entre Veo, Omni ou un autre modèle sans réécrire votre frontend.&lt;/p&gt;

&lt;p&gt;Vous pouvez tester ce pattern avec &lt;a href="https://apidog.com?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt; en simulant le futur endpoint et en validant les réponses attendues. Le même principe est détaillé dans notre &lt;a href="http://apidog.com/blog/best-text-to-video-api-2026?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide de l’API texte-vers-vidéo&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Préparer Omni dans Apidog
&lt;/h2&gt;

&lt;p&gt;Quand l’API sera disponible, votre workspace Apidog devra couvrir trois éléments.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Authentification
&lt;/h3&gt;

&lt;p&gt;Préparez deux environnements :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Google AI Studio avec &lt;code&gt;x-goog-api-key&lt;/code&gt; ;&lt;/li&gt;
&lt;li&gt;Vertex AI avec OAuth ou compte de service.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Dans Apidog, stockez les valeurs dans des variables d’environnement :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;GEMINI_API_KEY=...
GOOGLE_PROJECT_ID=...
GOOGLE_LOCATION=...
GOOGLE_ACCESS_TOKEN=...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Cela évite de modifier les headers manuellement pour chaque requête.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Schéma de requête
&lt;/h3&gt;

&lt;p&gt;Dès que Google publie la spécification OpenAPI, importez-la dans Apidog.&lt;/p&gt;

&lt;p&gt;Si elle n’est pas disponible immédiatement, créez un endpoint temporaire basé sur la structure Gemini existante. Cette méthode a déjà été utile lors du &lt;a href="http://apidog.com/blog/google-gemini-3-api-guide?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;lancement de Gemini 3&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Réponses simulées
&lt;/h3&gt;

&lt;p&gt;La génération vidéo est coûteuse et lente. Utilisez des mocks pour développer sans appeler le vrai modèle.&lt;/p&gt;

&lt;p&gt;Exemples de réponses simulées :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"video_gen_123"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"status"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"completed"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"model"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"gemini-omni-flash"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"output"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"mimeType"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"video/mp4"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://example.com/mock-video.mp4"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"durationSeconds"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"metadata"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"synthId"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ou, pour un workflow asynchrone :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"video_gen_123"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"status"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"processing"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"pollUrl"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"/v1/video-generations/video_gen_123"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Exemple de requête projetée
&lt;/h2&gt;

&lt;p&gt;La forme finale peut changer, mais une requête Omni pourrait ressembler à ceci si Google reprend la structure multimodale Gemini :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST https://generativelanguage.googleapis.com/v1beta/models/gemini-omni-flash:generateContent &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"x-goog-api-key: &lt;/span&gt;&lt;span class="nv"&gt;$GEMINI_API_KEY&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "contents": [{
      "parts": [
        {
          "text": "Generate a 6s product shot of the attached phone rotating on a white background"
        },
        {
          "inline_data": {
            "mime_type": "image/jpeg",
            "data": "&amp;lt;base64-image&amp;gt;"
          }
        }
      ]
    }],
    "generationConfig": {
      "responseMimeType": "video/mp4",
      "durationSeconds": 6
    }
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Cette structure est une projection à partir de l’API Gemini existante. Les noms de champs peuvent changer au lancement.&lt;/p&gt;

&lt;p&gt;Dans Apidog :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Créez une requête &lt;code&gt;POST&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Ajoutez le header &lt;code&gt;x-goog-api-key&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Définissez le body JSON.&lt;/li&gt;
&lt;li&gt;Ajoutez un exemple de réponse mockée.&lt;/li&gt;
&lt;li&gt;Ajoutez des tests sur :

&lt;ul&gt;
&lt;li&gt;le code HTTP ;&lt;/li&gt;
&lt;li&gt;la présence de l’URL vidéo ;&lt;/li&gt;
&lt;li&gt;le statut de génération ;&lt;/li&gt;
&lt;li&gt;la présence du champ SynthID si exposé.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Exemple d’assertions côté test :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;pm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;test&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;La génération retourne un identifiant&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nf"&gt;function &lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;pm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;expect&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;pm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;to&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;exist&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="nx"&gt;pm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;test&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;La réponse contient une vidéo&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nf"&gt;function &lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;body&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;pm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="nx"&gt;pm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;expect&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;body&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;output&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;mimeType&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;to&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;eql&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;video/mp4&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="nx"&gt;pm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;test&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;SynthID est indiqué&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nf"&gt;function &lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;body&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;pm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="nx"&gt;pm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;expect&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;body&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;metadata&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;synthId&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;to&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;eql&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Comparaison avec Sora 2, Veo 3.1 et Nano Banana 2
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Modèle&lt;/th&gt;
&lt;th&gt;Fournisseur&lt;/th&gt;
&lt;th&gt;Raisonnement&lt;/th&gt;
&lt;th&gt;Entrée multimodale&lt;/th&gt;
&lt;th&gt;Édition&lt;/th&gt;
&lt;th&gt;Filigrane&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Gemini Omni Flash&lt;/td&gt;
&lt;td&gt;Google&lt;/td&gt;
&lt;td&gt;Natif&lt;/td&gt;
&lt;td&gt;Texte, image, audio, vidéo&lt;/td&gt;
&lt;td&gt;Multi-tours&lt;/td&gt;
&lt;td&gt;SynthID&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Veo 3.1&lt;/td&gt;
&lt;td&gt;Google&lt;/td&gt;
&lt;td&gt;Limité&lt;/td&gt;
&lt;td&gt;Texte, image&lt;/td&gt;
&lt;td&gt;Ré-invite&lt;/td&gt;
&lt;td&gt;SynthID&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sora 2&lt;/td&gt;
&lt;td&gt;OpenAI&lt;/td&gt;
&lt;td&gt;Partiel&lt;/td&gt;
&lt;td&gt;Texte, image&lt;/td&gt;
&lt;td&gt;Ré-invite&lt;/td&gt;
&lt;td&gt;C2PA&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Nano Banana 2&lt;/td&gt;
&lt;td&gt;Google&lt;/td&gt;
&lt;td&gt;Partiel&lt;/td&gt;
&lt;td&gt;Texte, image&lt;/td&gt;
&lt;td&gt;Limité&lt;/td&gt;
&lt;td&gt;SynthID&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Veo 3.1 reste pertinent pour les vidéos cinématiques en un seul plan. Sora 2 est positionné par OpenAI comme un modèle fort en simulation du monde ; nous l’avons couvert dans notre &lt;a href="http://apidog.com/blog/openai-sora-2?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;analyse de Sora 2&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;L’intérêt principal d’Omni est ailleurs :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;édition conversationnelle ;&lt;/li&gt;
&lt;li&gt;entrées plus riches ;&lt;/li&gt;
&lt;li&gt;raisonnement intégré ;&lt;/li&gt;
&lt;li&gt;cohérence entre plusieurs références ;&lt;/li&gt;
&lt;li&gt;génération vidéo à partir d’audio ou d’éléments mixtes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pour une comparaison plus large, consultez aussi notre &lt;a href="http://apidog.com/blog/grok-imagine-video-vs-sora-2-veo-3-seedance-wan-vidu-comparison-2026?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;comparaison des modèles vidéo&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cas d’utilisation à préparer
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Marketing produit
&lt;/h3&gt;

&lt;p&gt;Générez des démonstrations courtes à partir :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;d’un script ;&lt;/li&gt;
&lt;li&gt;d’une image produit ;&lt;/li&gt;
&lt;li&gt;d’une charte graphique ;&lt;/li&gt;
&lt;li&gt;d’une voix off.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Omni peut être utile si l’équipe marketing veut modifier le résultat en langage naturel.&lt;/p&gt;

&lt;h3&gt;
  
  
  Formation et éducation
&lt;/h3&gt;

&lt;p&gt;Exemple :&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Explique la conservation de l’énergie avec une balle qui descend une rampe.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Le raisonnement est important ici : une vidéo visuellement propre mais physiquement fausse peut induire l’apprenant en erreur.&lt;/p&gt;

&lt;h3&gt;
  
  
  Customer success
&lt;/h3&gt;

&lt;p&gt;La fonction Avatars peut servir à produire des vidéos d’onboarding personnalisées. Google n’a pas encore détaillé le flux de consentement et de vérification côté API, mais la version grand public nécessite une configuration explicite.&lt;/p&gt;

&lt;h3&gt;
  
  
  Modération et vérification
&lt;/h3&gt;

&lt;p&gt;Si vous republiez des vidéos générées, ajoutez SynthID à votre pipeline de confiance et sécurité.&lt;/p&gt;

&lt;h3&gt;
  
  
  Prototypage d’applications et de jeux
&lt;/h3&gt;

&lt;p&gt;Omni peut aider à créer des prévisualisations de cinématiques, de tutoriels ou de séquences utilisateur avant de mobiliser une équipe 3D.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bonnes pratiques d’implémentation
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Ne codez pas le nom du modèle en dur
&lt;/h3&gt;

&lt;p&gt;Utilisez une variable :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;VIDEO_MODEL=gemini-omni-flash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Puis lisez-la côté application :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;model&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;VIDEO_MODEL&lt;/span&gt; &lt;span class="o"&gt;??&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;veo-3.1&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Les noms de modèles peuvent changer entre preview et disponibilité générale.&lt;/p&gt;

&lt;h3&gt;
  
  
  Traitez la génération comme asynchrone
&lt;/h3&gt;

&lt;p&gt;Une génération vidéo peut prendre plusieurs dizaines de secondes. Ne bloquez pas le thread principal.&lt;/p&gt;

&lt;p&gt;Préférez ce modèle :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;création d’un job ;&lt;/li&gt;
&lt;li&gt;polling ou webhook ;&lt;/li&gt;
&lt;li&gt;récupération de l’URL finale ;&lt;/li&gt;
&lt;li&gt;mise en cache.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Exemple :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="kd"&gt;type&lt;/span&gt; &lt;span class="nx"&gt;GenerationStatus&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;queued&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;processing&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;completed&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;failed&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kr"&gt;interface&lt;/span&gt; &lt;span class="nx"&gt;VideoJob&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;status&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;GenerationStatus&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;outputUrl&lt;/span&gt;&lt;span class="p"&gt;?:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;error&lt;/span&gt;&lt;span class="p"&gt;?:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Mettez en cache les résultats
&lt;/h3&gt;

&lt;p&gt;Si l’entrée est identique, évitez de repayer la génération.&lt;/p&gt;

&lt;p&gt;Clé de cache possible :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;crypto&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;crypto&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;buildCacheKey&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;input&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;unknown&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;crypto&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;createHash&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;sha256&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;update&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;JSON&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;stringify&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;input&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;digest&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;hex&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Prévoyez les erreurs de politique de contenu
&lt;/h3&gt;

&lt;p&gt;Les modèles Google peuvent refuser certaines générations, notamment autour :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;de personnes réelles ;&lt;/li&gt;
&lt;li&gt;de contenu sensible ;&lt;/li&gt;
&lt;li&gt;de personnages protégés ;&lt;/li&gt;
&lt;li&gt;de demandes violentes ou explicites.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ne retournez pas une page d’erreur brute. Proposez une invite alternative ou un fallback.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;code&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;CONTENT_POLICY_VIOLATION&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;status&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;failed&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;userMessage&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;La demande ne peut pas être générée telle quelle. Essayez une description plus générale.&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Simulez avant d’appeler l’API réelle
&lt;/h3&gt;

&lt;p&gt;Avec Apidog, créez des mocks pour :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;génération réussie ;&lt;/li&gt;
&lt;li&gt;génération en cours ;&lt;/li&gt;
&lt;li&gt;génération refusée ;&lt;/li&gt;
&lt;li&gt;timeout ;&lt;/li&gt;
&lt;li&gt;quota dépassé.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cela permet de tester le frontend, les états de chargement et les erreurs avant de consommer du quota réel.&lt;/p&gt;

&lt;h3&gt;
  
  
  Ajoutez SynthID à votre modèle de données
&lt;/h3&gt;

&lt;p&gt;Exemple :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="kr"&gt;interface&lt;/span&gt; &lt;span class="nx"&gt;GeneratedVideo&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;provider&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;google&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;model&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;url&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;synthIdDetected&lt;/span&gt;&lt;span class="p"&gt;?:&lt;/span&gt; &lt;span class="nx"&gt;boolean&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;createdAt&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Même si l’API ne retourne pas immédiatement tous ces champs, votre application sera prête pour les besoins de conformité.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pièges à éviter
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Ne partez pas du principe qu’Omni remplacera un éditeur vidéo.&lt;/li&gt;
&lt;li&gt;Ne bloquez pas une requête HTTP pendant toute la génération.&lt;/li&gt;
&lt;li&gt;Ne stockez pas les clés API côté client.&lt;/li&gt;
&lt;li&gt;Ne désactivez pas les contrôles de contenu.&lt;/li&gt;
&lt;li&gt;Ne supposez pas que les noms de champs de l’API projetée seront définitifs.&lt;/li&gt;
&lt;li&gt;Ne migrez pas tout depuis Veo sans mesurer coût, latence et qualité.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Omni est un modèle de génération, pas un outil de montage non linéaire. Vous aurez toujours besoin d’une passe finale dans DaVinci, Premiere ou Google Flow pour les coupes, la couleur et le mixage audio.&lt;/p&gt;

&lt;h2&gt;
  
  
  Questions fréquentes
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Qu’est-ce que Gemini Omni ?
&lt;/h3&gt;

&lt;p&gt;Gemini Omni est une famille de modèles Google qui combine le raisonnement Gemini avec une génération multimodale native. Gemini Omni Flash accepte texte, image, audio et vidéo en entrée, puis génère une vidéo.&lt;/p&gt;

&lt;h3&gt;
  
  
  Gemini Omni est-il identique à Veo 3 ?
&lt;/h3&gt;

&lt;p&gt;Non. Veo est un modèle dédié à la génération vidéo. Omni est un modèle de raisonnement capable de générer de la vidéo, d’interpréter des invites complexes et de fonctionner sur plusieurs tours. Consultez notre &lt;a href="http://apidog.com/blog/google-veo-3-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide de l’API Veo 3&lt;/a&gt; pour comparer les usages.&lt;/p&gt;

&lt;h3&gt;
  
  
  Quand l’API Gemini Omni sera-t-elle disponible ?
&lt;/h3&gt;

&lt;p&gt;Google indique un lancement dans les prochaines semaines après l’annonce de mai 2026. Aucune date ferme n’a été publiée.&lt;/p&gt;

&lt;h3&gt;
  
  
  Combien coûte Gemini Omni ?
&lt;/h3&gt;

&lt;p&gt;Pour les utilisateurs grand public, Omni est gratuit dans YouTube Shorts et YouTube Create, et inclus dans Google AI Plus, Pro et Ultra. La tarification API n’a pas encore été annoncée.&lt;/p&gt;

&lt;h3&gt;
  
  
  Gemini Omni peut-il générer de l’audio ?
&lt;/h3&gt;

&lt;p&gt;Pas au lancement. La sortie initiale est vidéo uniquement. Google indique que les sorties image et audio arriveront plus tard.&lt;/p&gt;

&lt;h3&gt;
  
  
  Gemini Omni utilise-t-il un filigrane ?
&lt;/h3&gt;

&lt;p&gt;Oui. Les vidéos générées par Omni contiennent un filigrane SynthID, vérifiable via les outils Google compatibles.&lt;/p&gt;

&lt;h3&gt;
  
  
  Apidog prendra-t-il en charge Gemini Omni ?
&lt;/h3&gt;

&lt;p&gt;Oui. Comme pour Gemini 3, Veo 3 et Nano Banana, vous pourrez importer la spécification OpenAPI dès sa publication. En attendant, vous pouvez déjà créer un schéma temporaire, simuler les réponses et préparer votre client avec &lt;a href="https://apidog.com?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Gemini Omni est-il un moteur physique ?
&lt;/h3&gt;

&lt;p&gt;Non. Omni n’exécute pas une simulation physique. Il prédit des résultats plausibles grâce à son entraînement, puis génère une vidéo cohérente avec cette prédiction.&lt;/p&gt;

&lt;h2&gt;
  
  
  Plan d’action pour les développeurs
&lt;/h2&gt;

&lt;p&gt;Si vous utilisez déjà des modèles vidéo, faites ces cinq choses maintenant :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Surveillez Google AI Studio pour l’apparition de Gemini Omni Flash.&lt;/li&gt;
&lt;li&gt;Configurez vos variables d’environnement dans &lt;a href="https://apidog.com?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Créez un endpoint mocké pour la génération Omni.&lt;/li&gt;
&lt;li&gt;Implémentez une abstraction interne pour basculer entre Veo, Omni et d’autres modèles.&lt;/li&gt;
&lt;li&gt;Ajoutez la provenance SynthID à votre modèle de données.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Quand l’API sera disponible, les équipes qui auront préparé leurs schémas, mocks et tests pourront intégrer Omni rapidement. Les autres devront commencer par structurer leur pipeline.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Claude Agents Managés vs Agent SDK (2026) : Lequel Choisir</title>
      <dc:creator>Antoine Laurent</dc:creator>
      <pubDate>Tue, 19 May 2026 10:33:42 +0000</pubDate>
      <link>https://forem.com/antoine_laurentt/claude-agents-manages-vs-agent-sdk-2026-lequel-choisir-1lbn</link>
      <guid>https://forem.com/antoine_laurentt/claude-agents-manages-vs-agent-sdk-2026-lequel-choisir-1lbn</guid>
      <description>&lt;p&gt;Vous déployez un agent IA de production sur Claude. Le premier choix d’architecture est simple à formuler, mais coûteux à corriger plus tard : laisser Anthropic héberger la boucle d’agent et le bac à sable avec les Claude Managed Agents, ou exécuter cette boucle dans votre propre service avec le SDK Claude Agent. Les deux peuvent produire une démo similaire ; en production, ils changent votre résidence des données, votre modèle de coût, votre observabilité et votre astreinte.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apidog.com/?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation" class="crayons-btn crayons-btn--primary"&gt;Essayez Apidog aujourd’hui&lt;/a&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  En bref
&lt;/h2&gt;

&lt;p&gt;Choisissez &lt;strong&gt;Claude Managed Agents&lt;/strong&gt; si vous voulez qu’Anthropic héberge la boucle d’agent, le bac à sable et l’état de session pour des tâches longues ou asynchrones.&lt;/p&gt;

&lt;p&gt;Choisissez &lt;strong&gt;SDK Claude Agent&lt;/strong&gt; si vous voulez exécuter la boucle dans votre propre processus, garder le contrôle des outils, des permissions, de la résidence des données et de l’infrastructure.&lt;/p&gt;

&lt;p&gt;Dans les deux cas, votre agent dépendra surtout des API et serveurs MCP qu’il appelle. Testez-les avant la mise en production.&lt;/p&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Construire un agent IA en production ne consiste plus à mettre une boucle &lt;code&gt;while&lt;/code&gt; autour d’une complétion de chat. Avec Claude, vous avez aujourd’hui deux modèles d’exécution :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Claude Managed Agents&lt;/strong&gt; : Anthropic exécute la boucle d’agent, le bac à sable et l’état de session via une API REST.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SDK Claude Agent&lt;/strong&gt; : vous importez une bibliothèque Python ou TypeScript, et la boucle s’exécute dans votre propre service.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Même modèle Claude, mais contrat opérationnel différent.&lt;/p&gt;

&lt;p&gt;Un agent de production appelle presque toujours des API : rembourser un paiement, créer un ticket Zendesk, lire un inventaire, interroger une API interne, déclencher une tâche ETL. Sa fiabilité dépend donc directement de la fiabilité de ces dépendances.&lt;/p&gt;

&lt;p&gt;Avant de choisir le modèle d’hébergement, préparez un environnement de test pour ces API. Avec &lt;a href="https://apidog.com?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt;, vous pouvez :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;mocker les services appelés par l’agent ;&lt;/li&gt;
&lt;li&gt;définir les schémas attendus ;&lt;/li&gt;
&lt;li&gt;exécuter des tests de contrat ;&lt;/li&gt;
&lt;li&gt;tester un serveur MCP comme l’agent le fera.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pour un focus sur la partie hébergée, consultez aussi le &lt;a href="http://apidog.com/blog/claude-managed-agents-guide?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide sur les Claude Managed Agents&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ce que sont réellement les Claude Managed Agents
&lt;/h2&gt;

&lt;p&gt;Les &lt;strong&gt;Claude Managed Agents&lt;/strong&gt; sont un harnais d’agent hébergé par Anthropic. Vous ne codez pas la boucle d’agent, le stockage de session ou le bac à sable : vous décrivez l’agent, puis vous envoyez des événements.&lt;/p&gt;

&lt;p&gt;La fonctionnalité a été lancée en bêta publique en avril 2026 et nécessite actuellement l’en-tête bêta suivant sur chaque requête :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight http"&gt;&lt;code&gt;&lt;span class="err"&gt;anthropic-beta: managed-agents-2026-04-01
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Le SDK peut configurer cet en-tête pour vous.&lt;/p&gt;

&lt;h3&gt;
  
  
  Les 4 concepts principaux
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Concept&lt;/th&gt;
&lt;th&gt;Rôle&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Agent&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Modèle, invite système, outils, serveurs MCP et compétences. Vous le créez une fois et le référencez par ID.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Environnement&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Modèle de conteneur avec packages préinstallés et règles réseau.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Session&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Instance d’agent en cours d’exécution, avec système de fichiers persistant et historique de conversation.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Événements&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Messages entre votre application et l’agent : tours utilisateur, résultats d’outils, statuts, réponses streamées.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Flux d’exécution
&lt;/h3&gt;

&lt;p&gt;Le flux typique ressemble à ceci :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Créer un agent.&lt;/li&gt;
&lt;li&gt;Configurer un environnement.&lt;/li&gt;
&lt;li&gt;Démarrer une session.&lt;/li&gt;
&lt;li&gt;Envoyer des messages utilisateur sous forme d’événements.&lt;/li&gt;
&lt;li&gt;Streamer les réponses.&lt;/li&gt;
&lt;li&gt;Récupérer l’historique d’événements pour audit ou débogage.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Les Managed Agents fournissent des outils intégrés comme :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Bash ;&lt;/li&gt;
&lt;li&gt;lecture, écriture et édition de fichiers ;&lt;/li&gt;
&lt;li&gt;glob et grep ;&lt;/li&gt;
&lt;li&gt;recherche et récupération web ;&lt;/li&gt;
&lt;li&gt;connexions à des serveurs MCP.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ils sont adaptés aux charges de travail longues ou asynchrones : tâches qui durent plusieurs minutes ou heures, nombreux appels d’outils, besoin d’un état persistant et volonté de réduire l’infrastructure opérée côté application.&lt;/p&gt;

&lt;h3&gt;
  
  
  Point important : les outils personnalisés
&lt;/h3&gt;

&lt;p&gt;Avec les Managed Agents, Claude peut décider d’appeler un outil personnalisé, mais &lt;strong&gt;votre application exécute réellement cet outil&lt;/strong&gt; et renvoie le résultat via le flux d’événements.&lt;/p&gt;

&lt;p&gt;Autrement dit :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;la boucle d’agent est hébergée ;&lt;/li&gt;
&lt;li&gt;le bac à sable est hébergé ;&lt;/li&gt;
&lt;li&gt;mais l’exécution de vos outils métier reste dans votre environnement.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Certaines fonctionnalités comme les résultats et le multi-agent sont limitées en aperçu de recherche et nécessitent une demande d’accès distincte. Ne partez pas du principe que tout est disponible par défaut.&lt;/p&gt;

&lt;p&gt;Pour replacer ces composants dans un modèle plus large, voir l’article sur l’&lt;a href="http://apidog.com/blog/agentic-ai-architecture?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;architecture IA agentique&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ce qu’est réellement le SDK Claude Agent
&lt;/h2&gt;

&lt;p&gt;Le &lt;strong&gt;SDK Claude Agent&lt;/strong&gt; est une bibliothèque Python ou TypeScript. Il expose la boucle d’agent, les outils intégrés et la gestion du contexte utilisés par Claude Code.&lt;/p&gt;

&lt;p&gt;Il s’appelait auparavant SDK Claude Code. Le changement de nom reflète une portée plus large que les seuls cas de génération ou modification de code.&lt;/p&gt;

&lt;p&gt;Installation :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;claude-agent-sdk
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;ou :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; @anthropic-ai/claude-agent-sdk
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Avec le SDK, la boucle s’exécute dans votre propre processus. Vous contrôlez donc :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;l’environnement d’exécution ;&lt;/li&gt;
&lt;li&gt;les permissions ;&lt;/li&gt;
&lt;li&gt;les hooks ;&lt;/li&gt;
&lt;li&gt;les logs ;&lt;/li&gt;
&lt;li&gt;les outils ;&lt;/li&gt;
&lt;li&gt;l’état de session ;&lt;/li&gt;
&lt;li&gt;la proximité avec vos bases de données ou services internes.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Exemple mental : pourquoi ce n’est pas juste un Client SDK
&lt;/h3&gt;

&lt;p&gt;Avec un simple Client SDK, vous implémentez vous-même une boucle du type :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;stop_reason&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;tool_use&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;tool_call&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;content&lt;/span&gt;
    &lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;execute_tool&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tool_call&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(...)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Avec le SDK Claude Agent, cette boucle est fournie. Vous configurez les outils, les permissions et les callbacks, puis vous consommez les messages streamés.&lt;/p&gt;

&lt;h3&gt;
  
  
  Ce que fournit le SDK
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Fonction&lt;/th&gt;
&lt;th&gt;Utilité&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Outils intégrés&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Lecture, écriture, édition, Bash, Glob, Grep, WebSearch, WebFetch, Monitor, AskUserQuestion.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Hooks&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Points de contrôle comme &lt;code&gt;PreToolUse&lt;/code&gt;, &lt;code&gt;PostToolUse&lt;/code&gt;, &lt;code&gt;Stop&lt;/code&gt;, &lt;code&gt;SessionStart&lt;/code&gt;, &lt;code&gt;SessionEnd&lt;/code&gt;, &lt;code&gt;UserPromptSubmit&lt;/code&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Sous-agents&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Agents spécialisés pour des sous-tâches, traçables via &lt;code&gt;parent_tool_use_id&lt;/code&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;MCP&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Connexion à des bases de données, navigateurs et API via Model Context Protocol.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Permissions&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Autoriser, bloquer ou demander validation selon l’outil ou l’action.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Sessions&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Capturer un ID de session, reprendre plus tard, forker une session, stocker l’état en JSONL.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Exemple de politique utile : avant un remboursement, intercepter l’appel d’outil avec &lt;code&gt;PreToolUse&lt;/code&gt;, vérifier le montant, puis exiger une approbation humaine au-delà d’un seuil.&lt;/p&gt;

&lt;p&gt;Le SDK lit aussi la configuration de l’écosystème Claude Code :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;compétences dans &lt;code&gt;.claude/skills/&lt;/code&gt; ;&lt;/li&gt;
&lt;li&gt;commandes slash ;&lt;/li&gt;
&lt;li&gt;fichier &lt;code&gt;CLAUDE.md&lt;/code&gt; ;&lt;/li&gt;
&lt;li&gt;plugins.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Côté authentification, il prend en charge l’API Anthropic directe, Amazon Bedrock, Claude Platform sur AWS, Google Vertex AI et Azure AI Foundry.&lt;/p&gt;

&lt;p&gt;Pour démarrer avec une boucle fonctionnelle, voir le guide de &lt;a href="http://apidog.com/blog/claude-agent-sdk-with-claude-plan-setup-guide?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;configuration du SDK Claude Agent avec un plan Claude&lt;/a&gt; et la procédure pas à pas pour &lt;a href="http://apidog.com/blog/build-your-own-claude-code?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;créer votre propre Claude Code&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Facturation à surveiller
&lt;/h3&gt;

&lt;p&gt;À partir du 15 juin 2026, l’utilisation du SDK Agent et de &lt;code&gt;claude -p&lt;/code&gt; sur les plans d’abonnement sera déduite d’un crédit mensuel distinct pour le SDK Agent, séparé des limites d’utilisation interactive.&lt;/p&gt;

&lt;p&gt;Ne basez pas votre budget sur une hypothèse ancienne. Vérifiez toujours les conditions actuelles directement chez Anthropic.&lt;/p&gt;

&lt;h2&gt;
  
  
  Comparatif : Managed Agents vs SDK Agent
&lt;/h2&gt;

&lt;p&gt;Considérez la ligne de coût comme indicative. Confirmez les chiffres actuels sur la &lt;a href="https://www.anthropic.com/pricing" rel="noopener noreferrer"&gt;page de tarification d’Anthropic&lt;/a&gt; et dans la &lt;a href="https://platform.claude.com/docs/en/managed-agents/overview" rel="noopener noreferrer"&gt;documentation des Managed Agents&lt;/a&gt;.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Dimension&lt;/th&gt;
&lt;th&gt;Claude Managed Agents&lt;/th&gt;
&lt;th&gt;SDK Claude Agent&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Où s’exécute la boucle&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Infrastructure gérée par Anthropic&lt;/td&gt;
&lt;td&gt;Votre processus, votre infrastructure&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Interface&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;API REST + flux d’événements SSE&lt;/td&gt;
&lt;td&gt;Bibliothèque Python ou TypeScript&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Contrôle de la boucle&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Configuré, non codé ; pilotage via événements&lt;/td&gt;
&lt;td&gt;Complet : hooks, permissions, logique in-process&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Modèle de coût&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Tokens Claude + frais d’exécution par heure de session active&lt;/td&gt;
&lt;td&gt;Tokens Claude + calcul et infrastructure que vous opérez&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Charge opérationnelle&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Faible : pas de bac à sable ni stockage de session à maintenir&lt;/td&gt;
&lt;td&gt;Plus élevée : service, scaling, sandboxing et monitoring à gérer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Observabilité&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Journal d’événements hébergé et récupérable&lt;/td&gt;
&lt;td&gt;Hooks, logs et tracing que vous instrumentez&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Latence&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Saut réseau vers l’exécution hébergée ; adapté aux tâches longues&lt;/td&gt;
&lt;td&gt;Boucle in-process ; proximité contrôlée avec vos données et outils&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Résidence des données&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Bac à sable et état de session dans l’infrastructure Anthropic ou AWS selon option&lt;/td&gt;
&lt;td&gt;Fichiers, état et exécution d’outils dans votre infrastructure&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Outils personnalisés&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Claude demande ; votre application exécute et renvoie le résultat&lt;/td&gt;
&lt;td&gt;Fonctions Python ou TypeScript in-process&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Meilleure adéquation&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Agents longs, asynchrones, avec faible charge infra côté équipe&lt;/td&gt;
&lt;td&gt;Agents proches de vos fichiers, services internes et contraintes de données&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Comment décider
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Regardez d’abord la résidence des données
&lt;/h3&gt;

&lt;p&gt;Si l’état de session, les fichiers temporaires ou les logs ne peuvent pas sortir de votre infrastructure, choisissez le SDK.&lt;/p&gt;

&lt;p&gt;Avec le SDK :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;les outils s’exécutent chez vous ;&lt;/li&gt;
&lt;li&gt;l’état de session reste chez vous ;&lt;/li&gt;
&lt;li&gt;les hooks peuvent alimenter votre audit interne ;&lt;/li&gt;
&lt;li&gt;seule l’inférence part vers Claude selon votre configuration.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Avec les Managed Agents, le bac à sable et le journal d’événements résident dans l’environnement d’Anthropic ou dans l’option AWS disponible, avec ses limites spécifiques.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Évaluez la charge opérationnelle
&lt;/h3&gt;

&lt;p&gt;Les Managed Agents retirent de votre backlog :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;le stockage de session ;&lt;/li&gt;
&lt;li&gt;le sandboxing ;&lt;/li&gt;
&lt;li&gt;le scaling de workers ;&lt;/li&gt;
&lt;li&gt;une partie de l’observabilité ;&lt;/li&gt;
&lt;li&gt;la gestion de tâches longues.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Le SDK vous rend responsable de ces éléments, mais vous donne plus de contrôle.&lt;/p&gt;

&lt;p&gt;C’est souvent le vrai arbitrage : &lt;strong&gt;moins d’infrastructure à opérer&lt;/strong&gt; contre &lt;strong&gt;plus de contrôle sur l’exécution&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Ne comparez pas seulement les prix affichés
&lt;/h3&gt;

&lt;p&gt;Les Managed Agents ajoutent des frais d’exécution par heure de session active.&lt;/p&gt;

&lt;p&gt;Le SDK n’a pas ces frais horaires côté Anthropic, mais vous payez :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;les machines ;&lt;/li&gt;
&lt;li&gt;l’autoscaling ;&lt;/li&gt;
&lt;li&gt;le monitoring ;&lt;/li&gt;
&lt;li&gt;le sandboxing ;&lt;/li&gt;
&lt;li&gt;les ingénieurs ;&lt;/li&gt;
&lt;li&gt;l’astreinte.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Une option moins chère sur la facture API peut coûter plus cher en exploitation.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Décidez comment vous allez observer l’agent
&lt;/h3&gt;

&lt;p&gt;Avec les Managed Agents, vous récupérez un journal d’événements hébergé.&lt;/p&gt;

&lt;p&gt;Avec le SDK, vous devez instrumenter explicitement :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;PreToolUse&lt;/code&gt; pour tracer les intentions ;&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;PostToolUse&lt;/code&gt; pour tracer les résultats ;&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Stop&lt;/code&gt; pour analyser les fins de session ;&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;SessionStart&lt;/code&gt; et &lt;code&gt;SessionEnd&lt;/code&gt; pour corréler les runs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Exemple de structure de log utile :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"session_id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"sess_123"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"tool"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"refund_payment"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"phase"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"PreToolUse"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"amount"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;129.99&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"currency"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"EUR"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"requires_human_approval"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"ticket_id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"SUP-4512"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Test et débogage des API appelées par vos agents
&lt;/h2&gt;

&lt;p&gt;Quel que soit le modèle choisi, votre agent sera aussi fiable que les API et serveurs MCP qu’il appelle.&lt;/p&gt;

&lt;p&gt;Un agent de remboursement peut parfaitement raisonner, mais s’il appelle deux fois une API de paiement après un timeout ambigu, vous avez un incident.&lt;/p&gt;

&lt;p&gt;Testez donc les dépendances avant de connecter l’agent à un client réel.&lt;/p&gt;

&lt;h3&gt;
  
  
  Couche 1 : contrats d’API
&lt;/h3&gt;

&lt;p&gt;Chaque outil appelé par l’agent est une API avec :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;une requête attendue ;&lt;/li&gt;
&lt;li&gt;une réponse attendue ;&lt;/li&gt;
&lt;li&gt;des erreurs possibles ;&lt;/li&gt;
&lt;li&gt;des timeouts ;&lt;/li&gt;
&lt;li&gt;des comportements de retry.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Avec &lt;a href="https://apidog.com?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt;, vous pouvez mocker un service de paiement ou de tickets, définir le schéma attendu, puis exécuter des tests de contrat régulièrement.&lt;/p&gt;

&lt;p&gt;Exemple de contrat minimal pour un outil de remboursement :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"transaction_id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"txn_123"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"amount"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;49.99&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"currency"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"EUR"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"reason"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"duplicate_charge"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"idempotency_key"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"refund_SUP-4512_txn_123"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Points à tester :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;champs obligatoires ;&lt;/li&gt;
&lt;li&gt;devise ;&lt;/li&gt;
&lt;li&gt;montant maximum ;&lt;/li&gt;
&lt;li&gt;clé d’idempotence ;&lt;/li&gt;
&lt;li&gt;erreurs 4xx ;&lt;/li&gt;
&lt;li&gt;erreurs 5xx ;&lt;/li&gt;
&lt;li&gt;timeout après exécution réussie côté serveur.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pour une approche structurée, voir le guide sur &lt;a href="http://apidog.com/blog/how-to-test-ai-agents-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;comment tester les agents IA qui appellent des API&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Couche 2 : serveurs MCP
&lt;/h3&gt;

&lt;p&gt;Les Managed Agents et le SDK peuvent utiliser MCP. Un serveur MCP expose des outils, des entrées et des sorties. C’est donc aussi une surface de test.&lt;/p&gt;

&lt;p&gt;Défaillances fréquentes :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;payload de sortie modifié ;&lt;/li&gt;
&lt;li&gt;timeout non géré ;&lt;/li&gt;
&lt;li&gt;erreur renvoyée en texte libre au lieu d’un format structuré ;&lt;/li&gt;
&lt;li&gt;outil renommé ;&lt;/li&gt;
&lt;li&gt;argument facultatif devenu obligatoire ;&lt;/li&gt;
&lt;li&gt;pagination oubliée.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Testez chaque outil MCP isolément avant de le connecter à un agent.&lt;/p&gt;

&lt;p&gt;Le guide sur le &lt;a href="http://apidog.com/blog/mcp-server-testing-apidog?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;test de serveur MCP avec Apidog&lt;/a&gt; explique comment énumérer les outils exposés et les exercer un par un.&lt;/p&gt;

&lt;p&gt;Apidog inclut aussi un agent IA et un débogueur A2A pour observer le trafic généré par un agent au lieu de le deviner.&lt;/p&gt;

&lt;h3&gt;
  
  
  Couche 3 : comportement réel de requête de l’agent
&lt;/h3&gt;

&lt;p&gt;Les agents n’appellent pas les API comme les humains.&lt;/p&gt;

&lt;p&gt;Ils peuvent produire :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;des rafales de retries ;&lt;/li&gt;
&lt;li&gt;des lectures partielles ;&lt;/li&gt;
&lt;li&gt;plusieurs appels identiques pendant le raisonnement ;&lt;/li&gt;
&lt;li&gt;des boucles sur un même endpoint ;&lt;/li&gt;
&lt;li&gt;des séquences inattendues après une erreur.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Rejouez du trafic réaliste contre vos mocks et inspectez les requêtes réellement envoyées.&lt;/p&gt;

&lt;p&gt;Objectif : découvrir les comportements dangereux en staging, pas pendant l’incident.&lt;/p&gt;

&lt;p&gt;Dans tous les cas, &lt;a href="https://apidog.com/download?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;téléchargez Apidog&lt;/a&gt; et testez les dépendances de l’agent avant qu’il n’approche un client réel.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cadre de décision
&lt;/h2&gt;

&lt;p&gt;Répondez aux questions dans l’ordre. Le premier « oui » fort oriente généralement le choix.&lt;/p&gt;

&lt;h3&gt;
  
  
  Choisissez Claude Managed Agents si :
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;votre agent s’exécute longtemps ou de manière asynchrone ;&lt;/li&gt;
&lt;li&gt;vous ne voulez pas gérer workers, sandboxing et stockage de session ;&lt;/li&gt;
&lt;li&gt;votre équipe est petite et l’exploitation est la contrainte principale ;&lt;/li&gt;
&lt;li&gt;vous voulez un journal d’événements hébergé et récupérable ;&lt;/li&gt;
&lt;li&gt;vos règles de conformité autorisent le bac à sable et l’état de session dans l’environnement Anthropic ou AWS ;&lt;/li&gt;
&lt;li&gt;vous acceptez le statut bêta et les fonctionnalités limitées derrière demande d’accès.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Choisissez le SDK Claude Agent si :
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;l’agent doit s’exécuter dans votre VPC ;&lt;/li&gt;
&lt;li&gt;il doit accéder à des bases de données ou services internes ;&lt;/li&gt;
&lt;li&gt;l’état de session ne doit pas être détenu par un tiers ;&lt;/li&gt;
&lt;li&gt;vous avez besoin de hooks d’audit et de permissions précises ;&lt;/li&gt;
&lt;li&gt;vous voulez exécuter les outils personnalisés in-process ;&lt;/li&gt;
&lt;li&gt;vous voulez utiliser Bedrock, Vertex ou Azure tout en gardant la boucle chez vous ;&lt;/li&gt;
&lt;li&gt;vous prototypez localement sur votre système de fichiers.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Chemin fréquent
&lt;/h3&gt;

&lt;p&gt;Un chemin raisonnable :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Prototyper localement avec le SDK Agent.&lt;/li&gt;
&lt;li&gt;Tester les API et serveurs MCP avec des mocks.&lt;/li&gt;
&lt;li&gt;Mesurer la durée des sessions et le nombre d’appels d’outils.&lt;/li&gt;
&lt;li&gt;Décider si la production doit rester en SDK ou migrer vers Managed Agents.&lt;/li&gt;
&lt;li&gt;Traiter la migration comme un vrai projet, pas comme un simple changement de configuration.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Si vous comparez aussi des modèles ou agents de codage, voir la &lt;a href="http://apidog.com/blog/claude-vs-codex-comparison-2026?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;comparaison Claude vs Codex pour 2026&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cas d’utilisation concrets
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Agent de remboursement de paiements
&lt;/h3&gt;

&lt;p&gt;Une équipe support fintech veut traiter les remboursements de bout en bout :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Lire le ticket.&lt;/li&gt;
&lt;li&gt;Rechercher la transaction.&lt;/li&gt;
&lt;li&gt;Vérifier la politique de remboursement.&lt;/li&gt;
&lt;li&gt;Appeler l’API de paiement.&lt;/li&gt;
&lt;li&gt;Écrire un résumé dans le ticket.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Ici, l’agent manipule de l’argent. Il faut donc :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;un contrat testé pour chaque API ;&lt;/li&gt;
&lt;li&gt;une clé d’idempotence ;&lt;/li&gt;
&lt;li&gt;une piste d’audit ;&lt;/li&gt;
&lt;li&gt;une approbation humaine au-delà d’un seuil.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Le SDK est souvent le choix naturel :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;exécution dans le VPC ;&lt;/li&gt;
&lt;li&gt;proximité avec le service de paiement ;&lt;/li&gt;
&lt;li&gt;état de session conservé en interne ;&lt;/li&gt;
&lt;li&gt;hooks &lt;code&gt;PreToolUse&lt;/code&gt; pour bloquer ou demander validation.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Exemple de règle :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;pre_tool_use&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tool_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;tool_name&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;refund_payment&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;amount&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;action&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;require_approval&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;reason&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Remboursement supérieur au seuil autorisé&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;action&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;allow&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Avant le lancement, l’équipe peut mocker les endpoints de paiement et de grand livre dans Apidog, écrire des tests de contrat, puis rejouer des tickets historiques contre les mocks.&lt;/p&gt;

&lt;p&gt;Bug typique à détecter : après une erreur &lt;code&gt;504&lt;/code&gt;, l’agent réessaie un remboursement qui avait en réalité réussi côté prestataire. Sans idempotence et tests de retry, c’est un incident financier.&lt;/p&gt;

&lt;h3&gt;
  
  
  Agent de triage de tickets support asynchrone
&lt;/h3&gt;

&lt;p&gt;Une entreprise SaaS reçoit des milliers de tickets par jour. Elle veut un agent qui :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Classe le ticket.&lt;/li&gt;
&lt;li&gt;Extrait les logs associés.&lt;/li&gt;
&lt;li&gt;Rédige une réponse.&lt;/li&gt;
&lt;li&gt;Résout ou escalade.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Les tickets arrivent en continu, chaque tâche prend plusieurs minutes et les données sont peu sensibles.&lt;/p&gt;

&lt;p&gt;Les Managed Agents conviennent bien :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;tâche longue et asynchrone ;&lt;/li&gt;
&lt;li&gt;équipe réduite ;&lt;/li&gt;
&lt;li&gt;pas besoin de gérer une flotte de workers ;&lt;/li&gt;
&lt;li&gt;journal d’événements hébergé par ticket.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Mais l’équipe doit quand même tester les dépendances :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;API de logs ;&lt;/li&gt;
&lt;li&gt;serveur MCP du système de tickets ;&lt;/li&gt;
&lt;li&gt;schémas de réponses ;&lt;/li&gt;
&lt;li&gt;timeouts ;&lt;/li&gt;
&lt;li&gt;erreurs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;L’hébergement est géré. La qualité des API reste votre responsabilité.&lt;/p&gt;

&lt;h3&gt;
  
  
  Agent interne de gestion de données derrière le pare-feu
&lt;/h3&gt;

&lt;p&gt;Une équipe plateforme veut un agent capable de répondre à :&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;« Relance les partitions ETL échouées hier. »&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;L’agent doit :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Interroger une API interne.&lt;/li&gt;
&lt;li&gt;Identifier les partitions échouées.&lt;/li&gt;
&lt;li&gt;Exécuter un script de remédiation.&lt;/li&gt;
&lt;li&gt;Rapporter le statut.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Les API ne sont pas exposées publiquement et les données sont sensibles.&lt;/p&gt;

&lt;p&gt;Le SDK s’impose généralement :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;exécution dans le réseau interne ;&lt;/li&gt;
&lt;li&gt;accès aux services privés ;&lt;/li&gt;
&lt;li&gt;état de session conservé en interne ;&lt;/li&gt;
&lt;li&gt;hooks pour journaliser chaque commande ;&lt;/li&gt;
&lt;li&gt;intégration avec l’audit existant.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ici, « s’exécute dans votre processus » n’est pas une préférence. C’est une exigence.&lt;/p&gt;

&lt;p&gt;Pour comprendre pourquoi les agents deviennent des consommateurs d’API majeurs, lire l’article sur les &lt;a href="http://apidog.com/blog/ai-agents-new-api-consumers?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;agents IA comme nouveaux consommateurs d’API&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Checklist de mise en production
&lt;/h2&gt;

&lt;p&gt;Avant de connecter un agent à des systèmes réels :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;[ ] Lister tous les outils appelés par l’agent.&lt;/li&gt;
&lt;li&gt;[ ] Identifier les API derrière chaque outil.&lt;/li&gt;
&lt;li&gt;[ ] Définir les schémas de requête et réponse.&lt;/li&gt;
&lt;li&gt;[ ] Mocker les dépendances critiques.&lt;/li&gt;
&lt;li&gt;[ ] Tester les erreurs 4xx, 5xx et timeouts.&lt;/li&gt;
&lt;li&gt;[ ] Tester les retries et l’idempotence.&lt;/li&gt;
&lt;li&gt;[ ] Ajouter des hooks ou journaux d’audit.&lt;/li&gt;
&lt;li&gt;[ ] Définir les seuils nécessitant validation humaine.&lt;/li&gt;
&lt;li&gt;[ ] Tester les serveurs MCP isolément.&lt;/li&gt;
&lt;li&gt;[ ] Rejouer du trafic réaliste.&lt;/li&gt;
&lt;li&gt;[ ] Vérifier résidence des données et contraintes de conformité.&lt;/li&gt;
&lt;li&gt;[ ] Confirmer les prix et le statut bêta à la source.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Le choix entre Managed Agents et SDK Agent est surtout une décision d’exploitation et de gouvernance des données.&lt;/p&gt;

&lt;p&gt;À retenir :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Managed Agents héberge la boucle et le bac à sable&lt;/strong&gt; ; le SDK les exécute dans votre processus.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Le coût dépend de la forme de charge&lt;/strong&gt; : frais d’exécution côté Managed Agents, infrastructure et astreinte côté SDK.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;La résidence des données tranche souvent&lt;/strong&gt; : VPC et données réglementées orientent vers le SDK.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Les petites équipes bénéficient du runtime géré&lt;/strong&gt; si les contraintes de données le permettent.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Les dépendances doivent être testées dans les deux cas&lt;/strong&gt; : API, serveurs MCP, retries, timeouts et contrats.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Prototyper avec le SDK puis migrer vers Managed Agents&lt;/strong&gt; est possible, mais la migration doit être planifiée.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vérifiez les prix et le statut bêta chez Anthropic&lt;/strong&gt; avant de vous engager.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Étape suivante : avant de brancher un agent sur une API client ou interne critique, testez ses dépendances. &lt;a href="https://apidog.com/download?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Téléchargez Apidog&lt;/a&gt; pour mocker les endpoints, exécuter des tests de contrat et déboguer le trafic réel de l’agent.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Quelle est la principale différence entre Claude Managed Agents et le SDK Claude Agent ?
&lt;/h3&gt;

&lt;p&gt;Les Managed Agents sont une API REST hébergée où Anthropic exécute la boucle d’agent et un bac à sable par session. Vous envoyez des événements et recevez des résultats en streaming.&lt;/p&gt;

&lt;p&gt;Le SDK Agent est une bibliothèque Python ou TypeScript qui exécute la boucle dans votre propre processus et infrastructure.&lt;/p&gt;

&lt;p&gt;Même modèle Claude, propriété opérationnelle différente.&lt;/p&gt;

&lt;h3&gt;
  
  
  Le SDK Claude Agent est-il le même que l’ancien SDK Claude Code ?
&lt;/h3&gt;

&lt;p&gt;Oui. Le SDK Claude Code a été renommé SDK Claude Agent pour refléter une portée plus large que les tâches de codage. Il expose la boucle d’agent, les outils intégrés et la gestion du contexte utilisés par Claude Code.&lt;/p&gt;

&lt;h3&gt;
  
  
  Quelle option est la moins chère ?
&lt;/h3&gt;

&lt;p&gt;Cela dépend de la charge de travail.&lt;/p&gt;

&lt;p&gt;Les Managed Agents facturent les tokens Claude plus des frais d’exécution pour le temps de session actif.&lt;/p&gt;

&lt;p&gt;Le SDK n’ajoute pas ces frais horaires côté Anthropic, mais vous payez et opérez l’infrastructure.&lt;/p&gt;

&lt;p&gt;Confirmez les tarifs actuels sur la page de tarification d’Anthropic avant de budgéter.&lt;/p&gt;

&lt;h3&gt;
  
  
  Puis-je utiliser des serveurs MCP avec les deux options ?
&lt;/h3&gt;

&lt;p&gt;Oui. Les deux peuvent utiliser le Model Context Protocol.&lt;/p&gt;

&lt;p&gt;C’est pourquoi il faut tester vos serveurs MCP avant de les connecter à l’agent. Le guide sur le &lt;a href="http://apidog.com/blog/mcp-server-testing-apidog?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;test de serveur MCP avec Apidog&lt;/a&gt; montre comment exercer chaque outil exposé.&lt;/p&gt;

&lt;h3&gt;
  
  
  Comment empêcher les données client de quitter mon infrastructure ?
&lt;/h3&gt;

&lt;p&gt;Utilisez le SDK Agent et exécutez la boucle dans votre propre environnement.&lt;/p&gt;

&lt;p&gt;Avec le SDK :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;l’exécution des outils reste chez vous ;&lt;/li&gt;
&lt;li&gt;l’état de session reste chez vous ;&lt;/li&gt;
&lt;li&gt;les fichiers restent chez vous.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Avec les Managed Agents, le bac à sable et le journal d’événements résident dans l’environnement Anthropic ou AWS selon l’option disponible.&lt;/p&gt;

&lt;h3&gt;
  
  
  Les Claude Managed Agents sont-ils prêts pour la production ?
&lt;/h3&gt;

&lt;p&gt;Ils ont été lancés en bêta publique en avril 2026 et nécessitent l’en-tête bêta :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight http"&gt;&lt;code&gt;&lt;span class="err"&gt;anthropic-beta: managed-agents-2026-04-01
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Certaines fonctionnalités comme les résultats et le multi-agent sont limitées derrière une demande d’aperçu de recherche. Traitez-les comme une bêta et vérifiez la documentation actuelle.&lt;/p&gt;

&lt;h3&gt;
  
  
  Comment tester un agent avant qu’il n’interagisse avec de vraies API ?
&lt;/h3&gt;

&lt;p&gt;Procédez en trois étapes :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Mockez chaque API et serveur MCP.&lt;/li&gt;
&lt;li&gt;Écrivez des tests de contrat sur les requêtes et réponses.&lt;/li&gt;
&lt;li&gt;Rejouez un trafic réaliste pour voir ce que l’agent envoie réellement.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Apidog couvre ces cas, avec un agent IA et un débogueur A2A pour inspecter le trafic. Le guide sur &lt;a href="http://apidog.com/blog/how-to-test-ai-agents-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;comment tester les agents IA qui appellent des API&lt;/a&gt; détaille les modes de défaillance.&lt;/p&gt;

&lt;h3&gt;
  
  
  Puis-je commencer avec une option et passer à l’autre plus tard ?
&lt;/h3&gt;

&lt;p&gt;Oui, mais ce n’est pas un simple changement de configuration.&lt;/p&gt;

&lt;p&gt;Les interfaces diffèrent :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SDK : bibliothèque Python ou TypeScript ;&lt;/li&gt;
&lt;li&gt;Managed Agents : REST + événements SSE.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;L’exécution des outils personnalisés et la gestion de session diffèrent aussi. Planifiez la migration comme un vrai projet.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Cursor Composer 2.5 vs Opus 4.7 vs GPT-5.5: Quel modèle de codage choisir ?</title>
      <dc:creator>Antoine Laurent</dc:creator>
      <pubDate>Tue, 19 May 2026 02:29:59 +0000</pubDate>
      <link>https://forem.com/antoine_laurentt/cursor-composer-25-vs-opus-47-vs-gpt-55-quel-modele-de-codage-choisir--45ia</link>
      <guid>https://forem.com/antoine_laurentt/cursor-composer-25-vs-opus-47-vs-gpt-55-quel-modele-de-codage-choisir--45ia</guid>
      <description>&lt;p&gt;L’affirmation de Cursor sur Composer 2.5 est simple : obtenir une qualité de codage proche des meilleurs modèles pour environ un dixième du prix. Pour un développeur, la vraie question est opérationnelle : faut-il l’utiliser par défaut face à Claude Opus 4.7 et GPT-5.5 dans une base de code réelle ?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apidog.com/?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation" class="crayons-btn crayons-btn--primary"&gt;Essayez Apidog aujourd’hui&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Si vous voulez le contexte complet du modèle, commencez par le &lt;a href="http://apidog.com/blog/cursor-composer-2-5?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide Cursor Composer 2.5&lt;/a&gt;. Ici, l’objectif est plus pratique : comparer les trois modèles sur les benchmarks, le coût, la vitesse et le choix à faire dans un workflow de développement quotidien.&lt;/p&gt;

&lt;h2&gt;
  
  
  La réponse courte
&lt;/h2&gt;

&lt;p&gt;Composer 2.5 n’est pas le meilleur modèle absolu dans toutes les situations. Son intérêt est ailleurs : il se rapproche à un ou deux points d’Opus 4.7 sur des tâches logicielles réelles, tout en coûtant moins d’un dollar par tâche au lieu de plusieurs.&lt;/p&gt;

&lt;p&gt;Pour la plupart des équipes qui livrent du code tous les jours, ce compromis est décisif. Opus 4.7 reste plus fort sur les tâches de raisonnement les plus difficiles. GPT-5.5 garde un avantage net sur les workflows lourds en terminal.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.apidog.com%2Fblog-next%2F2026%2F05%2Fimage-103.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.apidog.com%2Fblog-next%2F2026%2F05%2Fimage-103.png" alt="" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Comparaison des benchmarks
&lt;/h2&gt;

&lt;p&gt;Cursor met en avant trois suites de tests. Voici les résultats côte à côte, avec Composer 2 comme référence historique.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Benchmark&lt;/th&gt;
&lt;th&gt;Composer 2.5&lt;/th&gt;
&lt;th&gt;Opus 4.7&lt;/th&gt;
&lt;th&gt;GPT-5.5&lt;/th&gt;
&lt;th&gt;Composer 2&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;SWE-bench Multilingual&lt;/td&gt;
&lt;td&gt;79,8 %&lt;/td&gt;
&lt;td&gt;80,5 %&lt;/td&gt;
&lt;td&gt;77,8 %&lt;/td&gt;
&lt;td&gt;73,7 %&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Terminal-bench 2.0&lt;/td&gt;
&lt;td&gt;69,3 %&lt;/td&gt;
&lt;td&gt;69,4 %&lt;/td&gt;
&lt;td&gt;82,7 %&lt;/td&gt;
&lt;td&gt;n/a&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CursorBench v3.1&lt;/td&gt;
&lt;td&gt;63,2 %&lt;/td&gt;
&lt;td&gt;64,8 % max / 61,6 % par défaut&lt;/td&gt;
&lt;td&gt;59,2 % par défaut&lt;/td&gt;
&lt;td&gt;n/a&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Ce qu’il faut retenir
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1. Sur SWE-bench Multilingual, Composer 2.5 est presque au niveau d’Opus 4.7.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Cette suite teste la résolution de vrais problèmes GitHub dans plusieurs langages. Composer 2.5 atteint 79,8 %, contre 80,5 % pour Opus 4.7 et 77,8 % pour GPT-5.5.&lt;/p&gt;

&lt;p&gt;Le saut le plus important est par rapport à Composer 2, qui était à 73,7 %. Le &lt;a href="http://apidog.com/blog/cursor-composer-2?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide Composer 2&lt;/a&gt; montre d’où partait le modèle précédent.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Sur CursorBench avec les paramètres par défaut, Composer 2.5 est très compétitif.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Composer 2.5 atteint 63,2 %. Il dépasse Opus 4.7 en configuration par défaut, à 61,6 %, et GPT-5.5, à 59,2 %. Opus 4.7 ne reprend l’avantage qu’en réglage maximal, avec un coût et une latence plus élevés.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Sur Terminal-bench, GPT-5.5 est clairement devant.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
GPT-5.5 atteint 82,7 %, contre 69,3 % pour Composer 2.5. Si votre travail repose fortement sur des chaînes de commandes shell, des scripts ou de l’automatisation terminal, ce résultat doit peser dans votre choix.&lt;/p&gt;

&lt;p&gt;Pour vérifier les chiffres côté sources externes, consultez la &lt;a href="https://the-decoder.com/cursors-composer-2-5-matches-opus-4-7-and-gpt-5-5-benchmarks-at-a-fraction-of-the-cost/" rel="noopener noreferrer"&gt;couverture de The Decoder&lt;/a&gt; et l’&lt;a href="https://cursor.com/blog/composer-2-5" rel="noopener noreferrer"&gt;annonce officielle de Cursor Composer 2.5&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;
  
  
  Coût : le vrai différenciateur
&lt;/h2&gt;

&lt;p&gt;Quand l’écart de benchmark est d’un ou deux points, le coût par tâche devient souvent plus important que le score brut.&lt;/p&gt;



&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Modèle&lt;/th&gt;
&lt;th&gt;Entrée / M tokens&lt;/th&gt;
&lt;th&gt;Sortie / M tokens&lt;/th&gt;
&lt;th&gt;Coût approx. par tâche&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Composer 2.5 standard&lt;/td&gt;
&lt;td&gt;0,50 $&lt;/td&gt;
&lt;td&gt;2,50 $&lt;/td&gt;
&lt;td&gt;Moins de 1 $&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Composer 2.5 rapide&lt;/td&gt;
&lt;td&gt;3,00 $&lt;/td&gt;
&lt;td&gt;15,00 $&lt;/td&gt;
&lt;td&gt;Quelques dollars&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Opus 4.7 / GPT-5.5&lt;/td&gt;
&lt;td&gt;De niveau avancé&lt;/td&gt;
&lt;td&gt;De niveau avancé&lt;/td&gt;
&lt;td&gt;Plusieurs dollars, jusqu’à ~11 $&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;



&lt;p&gt;Cursor indique environ 63 % sur CursorBench pour un coût moyen inférieur à 1 $ par tâche avec Composer 2.5. Opus 4.7 et GPT-5.5 coûtent plusieurs dollars par tâche pour des résultats similaires ou inférieurs selon les cas, avec certaines comparaisons allant jusqu’à environ 11 $ pour le même type de travail.&lt;/p&gt;

&lt;p&gt;Exemple simple :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;2 000 tâches d’agent par mois à 1 $ : environ 2 000 $&lt;/li&gt;
&lt;li&gt;2 000 tâches à 5 $ : environ 10 000 $&lt;/li&gt;
&lt;li&gt;2 000 tâches à 11 $ : environ 22 000 $&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;À volume élevé, la différence n’est plus marginale. Elle devient une décision d’architecture et de budget.&lt;/p&gt;

&lt;p&gt;Pour aller plus loin, consultez le &lt;a href="http://apidog.com/blog/cursor-composer-pricing?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide de tarification de Cursor Composer&lt;/a&gt;, l’&lt;a href="http://apidog.com/blog/gpt-5-5-pricing?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;article sur la tarification de GPT-5.5&lt;/a&gt; et le &lt;a href="http://apidog.com/blog/claude-opus-4-7?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide Claude Opus 4.7&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;
  
  
  Vitesse et comportement en pratique
&lt;/h2&gt;

&lt;p&gt;Les scores ne suffisent pas. Le comportement du modèle dans l’éditeur compte autant.&lt;/p&gt;
&lt;h3&gt;
  
  
  Composer 2.5
&lt;/h3&gt;

&lt;p&gt;À utiliser quand vous voulez :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;un agent capable de suivre une tâche multi-fichiers ;&lt;/li&gt;
&lt;li&gt;un bon rapport qualité/prix ;&lt;/li&gt;
&lt;li&gt;un modèle optimisé pour la boucle Cursor ;&lt;/li&gt;
&lt;li&gt;une exécution répétée sur de nombreuses tâches quotidiennes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Composer 2.5 est basé sur le point de contrôle open source Moonshot Kimi K2.5, puis post-entraîné par Cursor. Il est donc spécialement orienté vers les tâches d’agent dans l’éditeur.&lt;/p&gt;
&lt;h3&gt;
  
  
  Opus 4.7
&lt;/h3&gt;

&lt;p&gt;À utiliser quand vous voulez :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;maximiser la qualité sur un problème difficile ;&lt;/li&gt;
&lt;li&gt;accepter une latence et un coût plus élevés ;&lt;/li&gt;
&lt;li&gt;traiter des tâches où le raisonnement prime sur le volume.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Opus 4.7 reste le bon choix pour les cas où le coût est secondaire et où vous voulez pousser la qualité au maximum.&lt;/p&gt;
&lt;h3&gt;
  
  
  GPT-5.5
&lt;/h3&gt;

&lt;p&gt;À utiliser quand vous voulez :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;automatiser des workflows terminal ;&lt;/li&gt;
&lt;li&gt;enchaîner des commandes shell complexes ;&lt;/li&gt;
&lt;li&gt;disposer d’un modèle généraliste solide aussi utilisable pour le code.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Son avantage sur Terminal-bench 2.0 est le signal principal à retenir.&lt;/p&gt;
&lt;h2&gt;
  
  
  Quel modèle choisir ?
&lt;/h2&gt;

&lt;p&gt;Utilisez cette grille comme point de départ.&lt;/p&gt;
&lt;h3&gt;
  
  
  Choisissez Composer 2.5 si :
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;vous livrez du code tous les jours ;&lt;/li&gt;
&lt;li&gt;le coût par tâche compte à grande échelle ;&lt;/li&gt;
&lt;li&gt;vous travaillez principalement dans Cursor ;&lt;/li&gt;
&lt;li&gt;vos tâches impliquent plusieurs fichiers, des corrections de bugs, des refactorings ou de petites fonctionnalités ;&lt;/li&gt;
&lt;li&gt;vous voulez une qualité proche des meilleurs modèles pour une fraction du prix.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Choisissez Opus 4.7 si :
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;vous avez besoin du meilleur score possible sur des tâches de raisonnement difficiles ;&lt;/li&gt;
&lt;li&gt;votre budget modèle est moins contraint ;&lt;/li&gt;
&lt;li&gt;vous utilisez déjà un workflow centré sur Claude.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;La &lt;a href="http://apidog.com/blog/claude-code-vs-cursor-2026?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;comparaison Claude Code vs Cursor&lt;/a&gt; détaille cette approche.&lt;/p&gt;
&lt;h3&gt;
  
  
  Choisissez GPT-5.5 si :
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;votre travail dépend fortement du terminal ;&lt;/li&gt;
&lt;li&gt;vous automatisez beaucoup via shell ;&lt;/li&gt;
&lt;li&gt;vous voulez un modèle généraliste qui reste performant pour le code.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Dans beaucoup d’équipes, la stratégie la plus efficace est hybride :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Composer 2.5 par défaut ;&lt;/li&gt;
&lt;li&gt;Opus 4.7 pour les problèmes complexes ;&lt;/li&gt;
&lt;li&gt;GPT-5.5 pour les workflows terminal lourds.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Le &lt;a href="http://apidog.com/blog/codex-vs-claude-code-vs-cursor-vs-copilot?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;comparatif Codex vs Claude Code vs Cursor vs Copilot&lt;/a&gt; donne une vue plus large si vous comparez encore les outils.&lt;/p&gt;
&lt;h2&gt;
  
  
  Testez les modèles sur votre propre code
&lt;/h2&gt;

&lt;p&gt;Les benchmarks publics donnent une moyenne. Votre base de code n’est pas une moyenne. Le test le plus utile consiste à comparer les modèles sur une tâche réelle.&lt;/p&gt;
&lt;h3&gt;
  
  
  Procédure de test rapide
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Choisissez une tâche représentative :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;correction de bug avec reproduction ;&lt;/li&gt;
&lt;li&gt;petite fonctionnalité ;&lt;/li&gt;
&lt;li&gt;refactoring avec tests ;&lt;/li&gt;
&lt;li&gt;modification d’un endpoint API ;&lt;/li&gt;
&lt;li&gt;migration ou nettoyage multi-fichiers.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Préparez une invite identique pour les trois modèles.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Exemple :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   Corrige le bug décrit ci-dessous sans modifier le comportement public existant.
   Ajoute ou mets à jour les tests nécessaires.
   Explique brièvement les fichiers modifiés.

   Bug :
   [description]

   Reproduction :
   [étapes]

   Résultat attendu :
   [comportement attendu]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Exécutez la tâche dans Cursor avec :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;composer-2.5&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Opus 4.7&lt;/li&gt;
&lt;li&gt;GPT-5.5&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Mesurez chaque exécution sur trois critères :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;les tests passent-ils ?&lt;/li&gt;
&lt;li&gt;combien de temps l’exécution a-t-elle pris ?&lt;/li&gt;
&lt;li&gt;quel est le coût affiché dans Cursor ?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Si la tâche touche une API, envoyez les requêtes générées via &lt;a href="https://apidog.com?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt;. Ne vous contentez pas de tests unitaires verts : vérifiez aussi les codes d’état, les payloads, les headers et l’authentification.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Vous verrez généralement le même schéma que dans les benchmarks : Composer 2.5 est très proche en qualité, mais nettement plus économique. Les modèles de pointe restent utiles pour les cas difficiles.&lt;/p&gt;

&lt;h2&gt;
  
  
  Le benchmark que les benchmarks oublient
&lt;/h2&gt;

&lt;p&gt;Un problème fréquent n’apparaît pas dans les classements : le modèle peut écrire du code API propre, cohérent et faux.&lt;/p&gt;

&lt;p&gt;Exemple typique :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;/api/users/profile&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;method&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;GET&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;Authorization&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;`Bearer &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;token&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Le code semble valide. Mais si votre vraie route est &lt;code&gt;/api/v1/me&lt;/code&gt;, ou si l’authentification attend un cookie plutôt qu’un header Bearer, le modèle a produit une intégration incorrecte.&lt;/p&gt;

&lt;p&gt;Composer 2.5, Opus 4.7 et GPT-5.5 peuvent tous faire cette erreur lorsqu’ils n’ont pas accès à votre contrat API réel.&lt;/p&gt;

&lt;p&gt;La solution est indépendante du modèle :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;fournissez la spécification API réelle au modèle ;&lt;/li&gt;
&lt;li&gt;faites générer le code à partir de cette source ;&lt;/li&gt;
&lt;li&gt;exécutez les requêtes générées ;&lt;/li&gt;
&lt;li&gt;vérifiez les réponses réelles avant de merger.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Vous pouvez connecter vos spécifications API à Cursor via un serveur MCP, puis valider les requêtes dans &lt;a href="https://apidog.com?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt;. Le &lt;a href="http://apidog.com/blog/connect-api-specifications-mcp-cursor?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide pas à pas des spécifications API dans Cursor&lt;/a&gt; montre la configuration.&lt;/p&gt;

&lt;p&gt;Le modèle choisi influence votre vitesse et votre facture. La boucle de vérification évite que cette vitesse se transforme en dette de débogage.&lt;/p&gt;

&lt;h2&gt;
  
  
  Foire aux questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Composer 2.5 est-il meilleur qu’Opus 4.7 ?
&lt;/h3&gt;

&lt;p&gt;Pas dans tous les cas. Sur SWE-bench Multilingual, Composer 2.5 est très proche : 79,8 % contre 80,5 %. Sur CursorBench avec les paramètres par défaut, il est légèrement devant Opus 4.7. Opus 4.7 reprend l’avantage en réglage maximal, avec un coût et une latence plus élevés.&lt;/p&gt;

&lt;p&gt;Pour la majorité des tâches de développement quotidiennes, Composer 2.5 gagne surtout sur le rapport qualité/prix.&lt;/p&gt;

&lt;h3&gt;
  
  
  Composer 2.5 est-il meilleur que GPT-5.5 ?
&lt;/h3&gt;

&lt;p&gt;Composer 2.5 dépasse GPT-5.5 sur SWE-bench Multilingual et CursorBench. GPT-5.5 est clairement meilleur sur Terminal-bench 2.0.&lt;/p&gt;

&lt;p&gt;Si votre travail est principalement du code applicatif dans l’éditeur, Composer 2.5 est souvent le meilleur choix par défaut. Si vous automatisez beaucoup via terminal, GPT-5.5 mérite d’être testé en priorité.&lt;/p&gt;

&lt;h3&gt;
  
  
  Pourquoi Composer 2.5 est-il moins cher ?
&lt;/h3&gt;

&lt;p&gt;Composer 2.5 est basé sur Kimi K2.5 et optimisé pour la boucle d’agent de Cursor. Cursor contrôle donc mieux son économie d’usage. Les modèles généralistes de pointe comme Opus 4.7 et GPT-5.5 sont facturés à des niveaux plus élevés.&lt;/p&gt;

&lt;h3&gt;
  
  
  Peut-on utiliser les trois dans Cursor ?
&lt;/h3&gt;

&lt;p&gt;Oui. Le sélecteur de modèle de Cursor permet de changer de modèle par tâche. Cela rend une stratégie hybride très pratique : Composer 2.5 par défaut, puis Opus 4.7 ou GPT-5.5 quand le contexte l’exige.&lt;/p&gt;

&lt;p&gt;Consultez le &lt;a href="http://apidog.com/blog/cursor-composer-2-5?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide Cursor Composer 2.5&lt;/a&gt; pour la configuration.&lt;/p&gt;

&lt;h2&gt;
  
  
  En résumé
&lt;/h2&gt;

&lt;p&gt;Si vous regardez uniquement les pics de benchmark, Opus 4.7 et GPT-5.5 ont chacun des cas où ils brillent. Si vous regardez la qualité par dollar sur des tâches logicielles réelles, Composer 2.5 est le meilleur choix par défaut pour beaucoup d’équipes.&lt;/p&gt;

&lt;p&gt;La stratégie la plus pragmatique :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Composer 2.5 pour la majorité des tâches ;&lt;/li&gt;
&lt;li&gt;Opus 4.7 pour les problèmes de raisonnement difficiles ;&lt;/li&gt;
&lt;li&gt;GPT-5.5 pour les workflows terminal ;&lt;/li&gt;
&lt;li&gt;vérification systématique des intégrations API avec votre contrat réel.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Quel que soit le modèle choisi, ancrez-le dans votre spécification API et testez les sorties. &lt;a href="https://apidog.com/download?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Téléchargez Apidog&lt;/a&gt; pour envoyer des requêtes en direct aux endpoints générés et intégrer les appels fonctionnels dans vos tests automatisés.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Créer des APIs avec Cursor Composer 2.5</title>
      <dc:creator>Antoine Laurent</dc:creator>
      <pubDate>Tue, 19 May 2026 02:28:50 +0000</pubDate>
      <link>https://forem.com/antoine_laurentt/creer-des-apis-avec-cursor-composer-25-671</link>
      <guid>https://forem.com/antoine_laurentt/creer-des-apis-avec-cursor-composer-25-671</guid>
      <description>&lt;p&gt;Cursor Composer 2.5 est assez rapide et abordable pour laisser un agent générer des clients API complets et des gestionnaires de routage. Le risque apparaît quand ce code touche un service réel : le modèle écrit une requête propre vers &lt;code&gt;/v2/orders&lt;/code&gt;, alors que votre service expose &lt;code&gt;/orders&lt;/code&gt; et attend une charge utile différente. Le code compile, mais il échoue à l’exécution.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apidog.com/?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation" class="crayons-btn crayons-btn--primary"&gt;Essayez Apidog aujourd’hui&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Ce guide montre un flux de travail plus fiable : connecter Composer 2.5 à votre spécification API réelle via MCP, générer du code aligné sur le contrat, puis vérifier les appels dans &lt;a href="https://apidog.com?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt; avant de les partager avec l’équipe. Si vous découvrez le modèle, le &lt;a href="http://apidog.com/blog/cursor-composer-2-5?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide de Cursor Composer 2.5&lt;/a&gt; explique ce que c’est et comment y accéder.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pourquoi les modèles agentiques devinent les formes d’API
&lt;/h2&gt;

&lt;p&gt;Composer 2.5 est conçu pour des tâches longues et multi-étapes. Par exemple :&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Ajoute un client pour notre service de facturation et intègre-le au processus de paiement.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Le modèle peut planifier, modifier plusieurs fichiers, exécuter des tests et corriger jusqu’à obtenir un résultat cohérent. C’est l’amélioration par rapport à &lt;a href="http://apidog.com/blog/cursor-composer-2?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Composer 2&lt;/a&gt;, et c’est utile pour du vrai travail d’implémentation.&lt;/p&gt;

&lt;p&gt;La limite est structurelle : si le modèle n’a pas votre contrat API en contexte, il complète les blancs avec ce qui semble statistiquement probable :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;conventions REST courantes ;&lt;/li&gt;
&lt;li&gt;noms de champs fréquents ;&lt;/li&gt;
&lt;li&gt;préfixes comme &lt;code&gt;/api&lt;/code&gt; ou &lt;code&gt;/v1&lt;/code&gt; ;&lt;/li&gt;
&lt;li&gt;schémas d’authentification génériques.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Résultat : le code semble correct, passe parfois les tests unitaires locaux, mais échoue contre le serveur réel.&lt;/p&gt;

&lt;p&gt;Symptômes fréquents :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;endpoints presque corrects : &lt;code&gt;/api/users/{id}&lt;/code&gt; au lieu de &lt;code&gt;/users/{userId}&lt;/code&gt; ;&lt;/li&gt;
&lt;li&gt;champs inventés ou mal nommés dans les bodies ;&lt;/li&gt;
&lt;li&gt;authentification implémentée de façon générique au lieu du schéma réel ;&lt;/li&gt;
&lt;li&gt;gestion d’erreurs incomplète ou alignée sur des statuts inexistants.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Coller une spécification OpenAPI complète dans le chat peut dépanner, mais ce n’est pas robuste : le contexte devient lourd, se périme vite et peut être ignoré partiellement. La meilleure approche consiste à fournir au modèle un accès structuré à la spécification.&lt;/p&gt;

&lt;h2&gt;
  
  
  La solution : ancrer Composer 2.5 dans votre spécification API réelle via MCP
&lt;/h2&gt;

&lt;p&gt;Le Model Context Protocol, ou MCP, permet d’exposer des outils et des données aux modèles d’IA. Cursor prend en charge les serveurs MCP, et le &lt;a href="http://apidog.com/blog/connect-api-specifications-mcp-cursor?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;serveur MCP Apidog&lt;/a&gt; expose votre spécification API Apidog comme source structurée consultable par le modèle pendant qu’il code.&lt;/p&gt;

&lt;p&gt;En pratique, Composer 2.5 ne devine plus les endpoints, paramètres, schémas et réponses. Il les lit depuis votre contrat API, puis génère du code aligné dessus. C’est le même principe que le &lt;a href="http://apidog.com/blog/vibe-coding-with-apidog-mcp-server?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;"vibe coding" avec le serveur MCP Apidog&lt;/a&gt;, appliqué à un modèle capable de gérer une tâche complète.&lt;/p&gt;

&lt;h2&gt;
  
  
  Étape 1 : préparez votre spécification API dans Apidog
&lt;/h2&gt;

&lt;p&gt;Avant de connecter Cursor, vérifiez que votre contrat API est exploitable par le modèle.&lt;/p&gt;

&lt;p&gt;À faire dans Apidog :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Concevez ou importez votre API.&lt;/li&gt;
&lt;li&gt;Vérifiez que les endpoints sont à jour.&lt;/li&gt;
&lt;li&gt;Renseignez les paramètres requis.&lt;/li&gt;
&lt;li&gt;Documentez les schémas de requête et de réponse.&lt;/li&gt;
&lt;li&gt;Ajoutez des exemples réalistes.&lt;/li&gt;
&lt;li&gt;Confirmez les codes d’erreur importants, par exemple &lt;code&gt;400&lt;/code&gt;, &lt;code&gt;401&lt;/code&gt;, &lt;code&gt;409&lt;/code&gt;, &lt;code&gt;422&lt;/code&gt; ou &lt;code&gt;500&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Si vous avez déjà une source existante, Apidog peut importer des spécifications OpenAPI et des collections Postman. L’objectif est simple : votre spécification doit devenir la source de vérité que Composer 2.5 consultera.&lt;/p&gt;

&lt;h2&gt;
  
  
  Étape 2 : connectez le serveur MCP Apidog à Cursor
&lt;/h2&gt;

&lt;p&gt;Cursor lit les serveurs MCP depuis un fichier de configuration dans votre projet, généralement :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.cursor/mcp.json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Une configuration typique ressemble à ceci :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mcpServers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"apidog-api-spec"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"npx"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"-y"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"apidog-mcp-server@latest"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"--project=&amp;lt;your-project-id&amp;gt;"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"env"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"APIDOG_ACCESS_TOKEN"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"&amp;lt;your-access-token&amp;gt;"&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Remplacez :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;your-project-id&amp;gt;&lt;/code&gt; par l’ID de votre projet Apidog ;&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;your-access-token&amp;gt;&lt;/code&gt; par votre jeton d’accès Apidog.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Utilisez la commande exacte indiquée dans le &lt;a href="http://apidog.com/blog/connect-api-specifications-mcp-cursor?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide de configuration MCP Apidog&lt;/a&gt;, car les valeurs dépendent de votre compte et de la version du serveur.&lt;/p&gt;

&lt;p&gt;Après avoir enregistré le fichier :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;redémarrez Cursor ;&lt;/li&gt;
&lt;li&gt;ouvrez votre projet ;&lt;/li&gt;
&lt;li&gt;vérifiez que le serveur MCP est disponible dans l’environnement agent.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Étape 3 : confirmez que Composer 2.5 voit la spécification
&lt;/h2&gt;

&lt;p&gt;Avant de lui demander de modifier du code, commencez par une requête en lecture seule.&lt;/p&gt;

&lt;p&gt;Sélectionnez &lt;code&gt;composer-2.5&lt;/code&gt; dans Cursor, puis demandez :&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;En utilisant le serveur MCP &lt;code&gt;apidog-api-spec&lt;/code&gt;, liste les endpoints de la ressource commandes et les champs requis pour créer une commande.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Si la réponse contient vos vrais endpoints et vos vrais champs, la connexion fonctionne.&lt;/p&gt;

&lt;p&gt;Si Composer répond avec des routes génériques comme &lt;code&gt;/api/orders&lt;/code&gt; ou &lt;code&gt;/v1/orders&lt;/code&gt; alors qu’elles ne correspondent pas à votre spécification :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;vérifiez &lt;code&gt;.cursor/mcp.json&lt;/code&gt; ;&lt;/li&gt;
&lt;li&gt;confirmez le jeton Apidog ;&lt;/li&gt;
&lt;li&gt;vérifiez l’ID du projet ;&lt;/li&gt;
&lt;li&gt;redémarrez Cursor ;&lt;/li&gt;
&lt;li&gt;relancez la question de vérification.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Ne passez pas à l’implémentation tant que cette étape n’est pas validée.&lt;/p&gt;

&lt;h2&gt;
  
  
  Étape 4 : générez le client en imposant la source de vérité
&lt;/h2&gt;

&lt;p&gt;Une fois le serveur MCP disponible, donnez une consigne explicite à Composer 2.5.&lt;/p&gt;

&lt;p&gt;Exemple de prompt :&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;En utilisant le serveur &lt;code&gt;apidog-api-spec&lt;/code&gt; comme source de vérité, écris un client TypeScript typé pour l’API des commandes, incluant les appels &lt;code&gt;createOrder&lt;/code&gt; et &lt;code&gt;getOrder&lt;/code&gt;. Fais correspondre exactement les schémas de requête et de réponse. Ajoute la gestion des erreurs pour la réponse de validation &lt;code&gt;422&lt;/code&gt; définie dans la spécification.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Ce type de prompt force trois choses :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;le modèle doit consulter la spécification ;&lt;/li&gt;
&lt;li&gt;les types doivent refléter les vrais schémas ;&lt;/li&gt;
&lt;li&gt;les erreurs doivent suivre le contrat documenté.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Un client généré peut par exemple prendre cette forme :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="kd"&gt;type&lt;/span&gt; &lt;span class="nx"&gt;CreateOrderRequest&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;customerId&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;items&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;Array&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;productId&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;quantity&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;number&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="kd"&gt;type&lt;/span&gt; &lt;span class="nx"&gt;OrderResponse&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;status&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;createdAt&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="kd"&gt;type&lt;/span&gt; &lt;span class="nx"&gt;ValidationError&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;message&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;errors&lt;/span&gt;&lt;span class="p"&gt;?:&lt;/span&gt; &lt;span class="nb"&gt;Record&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;createOrder&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="nx"&gt;payload&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;CreateOrderRequest&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;token&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;
&lt;span class="p"&gt;):&lt;/span&gt; &lt;span class="nb"&gt;Promise&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;OrderResponse&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;/orders&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;method&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;POST&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Content-Type&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;application/json&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;Authorization&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;`Bearer &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;token&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="na"&gt;body&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;JSON&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;stringify&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;payload&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="p"&gt;});&lt;/span&gt;

  &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;status&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="mi"&gt;422&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;error&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nx"&gt;ValidationError&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;throw&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;message&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;ok&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;throw&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`Order creation failed: &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;status&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nb"&gt;Promise&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;OrderResponse&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Le code exact doit venir de votre spécification, pas de cet exemple. L’intérêt du MCP est justement d’éviter que le modèle invente &lt;code&gt;/orders&lt;/code&gt;, les champs ou le format d’erreur.&lt;/p&gt;

&lt;h2&gt;
  
  
  Vérifiez avant de faire confiance : la boucle de test Apidog
&lt;/h2&gt;

&lt;p&gt;Ancrer Composer 2.5 dans une spécification réduit fortement les hallucinations, mais ne remplace pas la vérification. Une spécification peut être légèrement en retard sur le service réel, et un modèle peut mal gérer un cas limite.&lt;/p&gt;

&lt;p&gt;Utilisez cette boucle :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Exécutez les appels générés comme de vraies requêtes.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Prenez les endpoints et payloads générés par Composer 2.5, puis exécutez-les dans &lt;a href="https://apidog.com?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt; contre un environnement réel ou simulé.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Comparez les hypothèses du code avec les réponses réelles.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Vérifiez les codes HTTP, les bodies, les headers, l’authentification et les erreurs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Transformez les appels valides en tests.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Enregistrez les requêtes validées comme scénarios automatisés afin que les régressions soient détectées par la CI plutôt que par un utilisateur.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Simulez les endpoints non livrés.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Si le backend n’est pas encore disponible, utilisez le serveur de mock d’Apidog pour renvoyer des réponses réalistes. Ce workflow complète les modèles décrits dans &lt;a href="http://apidog.com/blog/ai-agents-and-api-testing?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Agents IA et tests d’API&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Le modèle produit une première implémentation alignée sur le contrat. Vous confirmez ensuite que cette implémentation fonctionne contre un serveur réel ou simulé.&lt;/p&gt;

&lt;h2&gt;
  
  
  Exemple de workflow de bout en bout
&lt;/h2&gt;

&lt;p&gt;Prenons une fonctionnalité de remboursement dans un service de paiement.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Le contrat existe dans Apidog
&lt;/h3&gt;

&lt;p&gt;Votre projet Apidog contient déjà :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;l’endpoint de création de remboursement ;&lt;/li&gt;
&lt;li&gt;le schéma de requête ;&lt;/li&gt;
&lt;li&gt;le schéma de réponse ;&lt;/li&gt;
&lt;li&gt;l’en-tête &lt;code&gt;idempotency-key&lt;/code&gt; requis ;&lt;/li&gt;
&lt;li&gt;les erreurs possibles, par exemple &lt;code&gt;409&lt;/code&gt; en cas de doublon.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Cursor est connecté au serveur MCP Apidog
&lt;/h3&gt;

&lt;p&gt;Votre projet contient &lt;code&gt;.cursor/mcp.json&lt;/code&gt;, Cursor a été redémarré, et Composer 2.5 peut lire la spécification.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Vous donnez une tâche précise
&lt;/h3&gt;

&lt;p&gt;Prompt :&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;En utilisant &lt;code&gt;apidog-api-spec&lt;/code&gt;, construis le client de remboursement et un hook React qui l’appelle. Suis exactement le schéma, y compris l’en-tête &lt;code&gt;idempotency-key&lt;/code&gt; requis par la spécification.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  4. Composer 2.5 génère l’implémentation
&lt;/h3&gt;

&lt;p&gt;Il peut créer ou modifier :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;un client API ;&lt;/li&gt;
&lt;li&gt;des types TypeScript ;&lt;/li&gt;
&lt;li&gt;un hook React ;&lt;/li&gt;
&lt;li&gt;des tests existants ou nouveaux.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Exemple de structure attendue :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;src/
  api/
    refundsClient.ts
  hooks/
    useCreateRefund.ts
  types/
    refunds.ts
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  5. Vous vérifiez dans Apidog
&lt;/h3&gt;

&lt;p&gt;Dans Apidog :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;envoyez une requête de création de remboursement ;&lt;/li&gt;
&lt;li&gt;confirmez que l’en-tête &lt;code&gt;idempotency-key&lt;/code&gt; est requis ;&lt;/li&gt;
&lt;li&gt;renvoyez la même requête pour vérifier le comportement en doublon ;&lt;/li&gt;
&lt;li&gt;confirmez le &lt;code&gt;409&lt;/code&gt; si la spécification le prévoit ;&lt;/li&gt;
&lt;li&gt;enregistrez les deux requêtes comme scénarios de test.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Ce que vous évitez : un client généré qui oublie l’en-tête d’idempotence, passe en revue de code, puis déclenche deux remboursements en staging.&lt;/p&gt;

&lt;h2&gt;
  
  
  Foire aux questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Composer 2.5 prend-il en charge MCP ?
&lt;/h3&gt;

&lt;p&gt;Oui. Composer 2.5 a accès aux outils agent de Cursor, y compris les serveurs MCP. Sélectionnez-le dans le sélecteur de modèle et configurez le serveur dans votre projet. Le &lt;a href="http://apidog.com/blog/cursor-composer-2-5?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide de Composer 2.5&lt;/a&gt; couvre la sélection du modèle.&lt;/p&gt;

&lt;h3&gt;
  
  
  Ai-je besoin d’Apidog pour utiliser MCP avec Composer 2.5 ?
&lt;/h3&gt;

&lt;p&gt;Vous avez besoin d’une source de spécification structurée. Le &lt;a href="http://apidog.com/blog/connect-api-specifications-mcp-cursor?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;serveur MCP Apidog&lt;/a&gt; est l’option utilisée ici, car il combine spécification, test et mock dans le même outil. D’autres options sont présentées dans le récapitulatif des &lt;a href="http://apidog.com/blog/best-mcp-servers-for-cursor?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;meilleurs serveurs MCP pour Cursor&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  L’ancrage dans une spécification supprime-t-il toutes les hallucinations ?
&lt;/h3&gt;

&lt;p&gt;Non. Il élimine surtout les erreurs de endpoints, paramètres et schémas, car le modèle lit le contrat réel au lieu de deviner. Mais vous devez toujours tester : une spécification peut diverger du service en cours d’exécution.&lt;/p&gt;

&lt;h3&gt;
  
  
  Est-ce utile pour un petit projet ?
&lt;/h3&gt;

&lt;p&gt;Oui, dès qu’un modèle génère du code qui appelle une API réelle. La configuration tient dans un fichier, et le bénéfice est immédiat : chaque appel généré est basé sur votre contrat plutôt que sur une supposition plausible.&lt;/p&gt;

&lt;h2&gt;
  
  
  L’essentiel
&lt;/h2&gt;

&lt;p&gt;Composer 2.5 peut accélérer le développement API, mais seulement s’il code contre votre contrat réel. Connectez votre spécification via le serveur MCP Apidog, demandez explicitement au modèle de l’utiliser comme source de vérité, puis vérifiez les appels dans Apidog.&lt;/p&gt;

&lt;p&gt;Pour fermer la boucle, &lt;a href="https://apidog.com/download?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;téléchargez Apidog&lt;/a&gt;, envoyez les requêtes générées, confirmez les réponses et transformez les appels valides en tests automatisés ou en mocks. La combinaison gagnante est simple : génération ancrée dans la spécification, puis vérification contre le comportement réel.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Cursor Composer 2.5 : Qu'est-ce que c'est, comment l'utiliser et comment y accéder</title>
      <dc:creator>Antoine Laurent</dc:creator>
      <pubDate>Tue, 19 May 2026 02:27:35 +0000</pubDate>
      <link>https://forem.com/antoine_laurentt/cursor-composer-25-quest-ce-que-cest-comment-lutiliser-et-comment-y-acceder-50b3</link>
      <guid>https://forem.com/antoine_laurentt/cursor-composer-25-quest-ce-que-cest-comment-lutiliser-et-comment-y-acceder-50b3</guid>
      <description>&lt;p&gt;Cursor a lancé Composer 2.5 le 18 mai 2026. Le point important pour les développeurs : un modèle de codage qui se rapproche d’Opus 4.7 et GPT-5.5 sur de vrais benchmarks logiciels, avec un coût inférieur à un dollar par tâche.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apidog.com/?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation" class="crayons-btn crayons-btn--primary"&gt;Essayez Apidog aujourd’hui&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Ce guide explique comment utiliser Composer 2.5 dans Cursor : ce que c’est, comment l’activer, quand choisir la variante standard ou rapide, et comment l’intégrer à un workflow API avec Apidog pour éviter de générer du code basé sur des suppositions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Qu’est-ce que Cursor Composer 2.5 ?
&lt;/h2&gt;

&lt;p&gt;Composer 2.5 est le modèle de codage agentique de Cursor. Il peut planifier une tâche, modifier des fichiers, exécuter des commandes de terminal et vérifier son travail directement dans l’éditeur Cursor.&lt;/p&gt;

&lt;p&gt;Il succède à &lt;a href="http://apidog.com/blog/cursor-composer-2?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Composer 2&lt;/a&gt;. La différence pratique : Composer 2 était surtout un partenaire rapide pour l’autocomplétion et les petites tâches, tandis que Composer 2.5 vise les tâches longues multi-fichiers.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fscbbfozxelzocyu4xrz2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fscbbfozxelzocyu4xrz2.png" alt="Cursor Composer 2.5" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Points clés :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Il est construit sur le checkpoint open-source &lt;a href="https://www.moonshot.ai/" rel="noopener noreferrer"&gt;Moonshot Kimi K2.5&lt;/a&gt;, une base d’environ un billion de paramètres.&lt;/li&gt;
&lt;li&gt;Cursor indique avoir consacré environ 85 % du budget de calcul d’entraînement à la post-formation et à l’apprentissage par renforcement.&lt;/li&gt;
&lt;li&gt;Le modèle a été entraîné sur 25 fois plus de tâches synthétiques que Composer 2, notamment des exercices où une fonctionnalité est supprimée puis reconstruite jusqu’à ce que les tests passent.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;En pratique, Composer 2.5 maintient mieux le contexte sur les longues sessions. Il suit plus correctement les instructions complexes et évalue mieux la quantité de travail nécessaire, sans s’arrêter trop tôt ni sur-implémenter.&lt;/p&gt;

&lt;p&gt;Pour le contexte sur la génération précédente, consultez le &lt;a href="http://apidog.com/blog/cursor-composer-2?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide Composer 2&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ce qui a changé sous le capot
&lt;/h2&gt;

&lt;p&gt;Trois changements expliquent l’amélioration :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;RL ciblée avec feedback textuel&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Cursor ne se limite pas à une récompense finale. Il ajoute un court indice textuel décrivant la correction attendue, l’insère dans le contexte local, puis distille ce comportement dans le modèle. Cela aide notamment le modèle à éviter d’appeler des outils indisponibles.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Données synthétiques à grande échelle&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
L’augmentation de 25x des tâches synthétiques donne au modèle plus d’exemples réalistes de travail sur dépôt, validés par des tests.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Optimiseur Muon sharded avec HSDP dual-mesh&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
C’est une partie infrastructure, pas une fonctionnalité utilisateur. Elle a permis à Cursor d’entraîner un modèle de 1T de paramètres avec une étape d’optimisation de 0,2 seconde, donc d’itérer plus vite sur la qualité.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Vous n’avez pas besoin de mémoriser ces détails pour l’utiliser, mais ils expliquent pourquoi Composer 2.5 est plus stable sur les tâches longues que les agents précédents.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benchmarks de Composer 2.5
&lt;/h2&gt;

&lt;p&gt;Cursor compare Composer 2.5 à Opus 4.7 et GPT-5.5 sur trois suites :&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Benchmark&lt;/th&gt;
&lt;th&gt;Composer 2.5&lt;/th&gt;
&lt;th&gt;Opus 4.7&lt;/th&gt;
&lt;th&gt;GPT-5.5&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;SWE-bench Multilingual&lt;/td&gt;
&lt;td&gt;79,8 %&lt;/td&gt;
&lt;td&gt;80,5 %&lt;/td&gt;
&lt;td&gt;77,8 %&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Terminal-Bench 2.0&lt;/td&gt;
&lt;td&gt;69,3 %&lt;/td&gt;
&lt;td&gt;69,4 %&lt;/td&gt;
&lt;td&gt;82,7 %&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CursorBench v3.1&lt;/td&gt;
&lt;td&gt;63,2 %&lt;/td&gt;
&lt;td&gt;64,8 % max / 61,6 % default&lt;/td&gt;
&lt;td&gt;59,2 % default&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Sur &lt;a href="https://www.swebench.com/" rel="noopener noreferrer"&gt;SWE-bench&lt;/a&gt; Multilingual, Composer 2.5 atteint 79,8 %, à moins d’un point d’Opus 4.7 et devant GPT-5.5. C’est aussi une progression nette par rapport aux 73,7 % de Composer 2.&lt;/p&gt;

&lt;p&gt;Sur CursorBench, la suite de tâches interne de Cursor, Composer 2.5 dépasse les paramètres par défaut d’Opus 4.7.&lt;/p&gt;

&lt;p&gt;Le point faible reste Terminal-Bench 2.0, où GPT-5.5 mène avec 82,7 %. Si votre workflow dépend surtout de longues séquences terminal, ce benchmark mérite d’être pris en compte.&lt;/p&gt;

&lt;p&gt;Le facteur décisif est le coût par tâche. Cursor indique environ 63 % sur CursorBench pour un coût moyen inférieur à un dollar par tâche, alors qu’Opus 4.7 et GPT-5.5 coûtent plusieurs dollars par tâche pour des résultats similaires ou inférieurs. Une analyse de &lt;a href="https://the-decoder.com/cursors-composer-2-5-matches-opus-4-7-and-gpt-5-5-benchmarks-at-a-fraction-of-the-cost/" rel="noopener noreferrer"&gt;The Decoder&lt;/a&gt; arrive à la même conclusion : une qualité proche des meilleurs modèles à une fraction du prix.&lt;/p&gt;

&lt;p&gt;Conclusion : Composer 2.5 n’est pas premier sur tous les benchmarks, mais il offre un compromis qualité/prix très intéressant pour les tâches de développement quotidiennes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Combien coûte Composer 2.5 ?
&lt;/h2&gt;

&lt;p&gt;Cursor propose deux variantes :&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Variante&lt;/th&gt;
&lt;th&gt;Entrée&lt;/th&gt;
&lt;th&gt;Sortie&lt;/th&gt;
&lt;th&gt;Quand l’utiliser&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Standard&lt;/td&gt;
&lt;td&gt;0,50 $ / M de jetons&lt;/td&gt;
&lt;td&gt;2,50 $ / M de jetons&lt;/td&gt;
&lt;td&gt;Tâches agentiques courantes, meilleure efficacité coût&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rapide&lt;/td&gt;
&lt;td&gt;3,00 $ / M de jetons&lt;/td&gt;
&lt;td&gt;15,00 $ / M de jetons&lt;/td&gt;
&lt;td&gt;Itération en direct, latence plus faible&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;La variante rapide fournit la même qualité de modèle avec une latence réduite. Elle est généralement sélectionnée par défaut.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu2ncia2kq6islb0yz2jq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu2ncia2kq6islb0yz2jq.png" alt="Tarification Composer 2.5" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Côté facturation :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Les &lt;strong&gt;abonnements individuels&lt;/strong&gt; comme Pro incluent un pool d’utilisation Composer.&lt;/li&gt;
&lt;li&gt;Les &lt;strong&gt;abonnements Équipe et Entreprise&lt;/strong&gt; sont facturés au tarif API.&lt;/li&gt;
&lt;li&gt;Pendant la semaine de lancement, Cursor a doublé l’utilisation de Composer 2.5 pour faciliter les premiers tests.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pour plus de détails sur la tarification, consultez le &lt;a href="http://apidog.com/blog/cursor-composer-pricing?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide de tarification Cursor Composer&lt;/a&gt;. Pour tester sans payer immédiatement, le guide &lt;a href="http://apidog.com/blog/cursor-composer-for-free?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Composer gratuit&lt;/a&gt; couvre l’utilisation incluse.&lt;/p&gt;

&lt;h2&gt;
  
  
  Comment accéder à Cursor Composer 2.5
&lt;/h2&gt;

&lt;p&gt;Voici le chemin le plus direct :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Mettez Cursor à jour&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Ouvrez Cursor, vérifiez les mises à jour, puis redémarrez l’application si nécessaire.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Connectez-vous avec un abonnement compatible&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Les abonnements Pro et Business incluent l’utilisation de Composer. Un compte gratuit peut tester le modèle via les allocations incluses, mais un usage intensif nécessite un abonnement payant.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Ouvrez le sélecteur de modèle&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Lancez une conversation ou une session agent, puis ouvrez le menu de sélection du modèle.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Choisissez &lt;code&gt;composer-2.5&lt;/code&gt;&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
La variante rapide est souvent sélectionnée par défaut.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Utilisez le mode Agent&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Composer 2.5 est conçu pour modifier des fichiers, lancer des commandes et utiliser des outils. Utilisez donc le mode Agent plutôt qu’une simple discussion.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Le modèle peut lire et modifier des fichiers, exécuter des commandes terminal et appeler les outils exposés par Cursor. Les &lt;a href="https://cursor.com/docs/models/cursor-composer-2-5" rel="noopener noreferrer"&gt;documents officiels de Composer 2.5&lt;/a&gt; listent les paramètres actuels.&lt;/p&gt;

&lt;p&gt;Si vous débutez avec l’agent Cursor, la &lt;a href="http://apidog.com/blog/cursor-2-0?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;vue d’ensemble de Cursor 2.0&lt;/a&gt; explique le fonctionnement de l’interface.&lt;/p&gt;

&lt;h2&gt;
  
  
  Comment utiliser Composer 2.5 efficacement
&lt;/h2&gt;

&lt;p&gt;L’accès est simple. La qualité du résultat dépend surtout de la façon dont vous formulez la tâche.&lt;/p&gt;

&lt;h3&gt;
  
  
  Donnez-lui une vraie tâche de bout en bout
&lt;/h3&gt;

&lt;p&gt;Composer 2.5 est plus utile sur des tâches multi-étapes que sur des micro-demandes ligne par ligne.&lt;/p&gt;

&lt;p&gt;Exemple :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Ajoute la pagination au endpoint GET /orders.

Contraintes :
- paramètres query : page et pageSize
- page commence à 1
- pageSize max = 100
- retourne 422 si page ou pageSize est invalide
- mets à jour les tests existants
- ajoute des tests pour les cas invalides
- tous les tests doivent passer
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ce type d’invite donne au modèle un objectif clair, des contraintes et une condition de validation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Définissez la condition de succès
&lt;/h3&gt;

&lt;p&gt;Composer 2.5 a été entraîné à travailler contre des vérifications. Indiquez donc comment vous validerez la tâche.&lt;/p&gt;

&lt;p&gt;Exemple :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;La tâche est terminée uniquement si :
1. tous les tests existants passent ;
2. les nouveaux tests couvrent les cas valides et invalides ;
3. le endpoint retourne 422 pour une entrée invalide ;
4. aucun changement non lié à la pagination n’est introduit.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Cela réduit les implémentations trop larges et aide le modèle à s’auto-corriger.&lt;/p&gt;

&lt;h3&gt;
  
  
  Choisissez la bonne variante
&lt;/h3&gt;

&lt;p&gt;Utilisez :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Standard&lt;/strong&gt; pour les tâches longues, batch ou sensibles au coût.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rapide&lt;/strong&gt; quand vous itérez en direct et attendez chaque réponse.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;L’intelligence est la même. Vous échangez surtout latence contre coût.&lt;/p&gt;

&lt;h3&gt;
  
  
  Gardez le contexte fiable
&lt;/h3&gt;

&lt;p&gt;Les agents savent modifier beaucoup de code, mais ils peuvent toujours deviner lorsqu’ils ne connaissent pas la forme exacte d’une API, d’un schéma ou d’un contrat métier.&lt;/p&gt;

&lt;p&gt;C’est particulièrement important pour le code API.&lt;/p&gt;

&lt;h2&gt;
  
  
  Composer 2.5 et votre workflow API
&lt;/h2&gt;

&lt;p&gt;Beaucoup de tâches réelles touchent une API : clients HTTP, SDK internes, tests d’intégration, mocks, validation de payloads, gestion d’erreurs.&lt;/p&gt;

&lt;p&gt;Si vous demandez simplement :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Écris un client TypeScript pour notre service de paiement.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Composer 2.5 peut générer un code propre, mais il risque d’inventer :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;des endpoints ;&lt;/li&gt;
&lt;li&gt;des champs ;&lt;/li&gt;
&lt;li&gt;des codes d’erreur ;&lt;/li&gt;
&lt;li&gt;des headers d’authentification ;&lt;/li&gt;
&lt;li&gt;des formats de réponse.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Le bon workflow consiste à connecter le modèle à votre spécification réelle, puis à tester les appels générés.&lt;/p&gt;

&lt;h3&gt;
  
  
  Étape 1 : fournir la vraie spécification API
&lt;/h3&gt;

&lt;p&gt;Le &lt;a href="http://apidog.com/blog/connect-api-specifications-mcp-cursor?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;serveur MCP Apidog&lt;/a&gt; permet de connecter votre spécification API Apidog à Cursor.&lt;/p&gt;

&lt;p&gt;Objectif : faire générer à Composer 2.5 du code de requête, des types et des tests contre votre vrai schéma, pas contre une estimation.&lt;/p&gt;

&lt;p&gt;Si vous utilisez plusieurs agents, le guide des &lt;a href="http://apidog.com/blog/best-mcp-servers-for-cursor?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;meilleurs serveurs MCP pour Cursor&lt;/a&gt; présente aussi des options complémentaires.&lt;/p&gt;

&lt;h3&gt;
  
  
  Étape 2 : vérifier les appels générés
&lt;/h3&gt;

&lt;p&gt;Une fois le code généré, validez-le dans &lt;a href="https://apidog.com?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt; :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;copiez ou importez les endpoints concernés ;&lt;/li&gt;
&lt;li&gt;envoyez de vraies requêtes ;&lt;/li&gt;
&lt;li&gt;vérifiez les codes de statut ;&lt;/li&gt;
&lt;li&gt;confirmez la forme des réponses ;&lt;/li&gt;
&lt;li&gt;transformez les appels corrects en tests automatisés ou en serveurs simulés.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Le modèle produit le premier brouillon. Apidog vérifie que ce brouillon correspond au comportement réel de l’API.&lt;/p&gt;

&lt;p&gt;Cette boucle est la plus importante :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;spécification réelle → génération par Composer 2.5 → test dans Apidog → automatisation
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Elle évite de convertir la vitesse de génération en dette de débogage.&lt;/p&gt;

&lt;h2&gt;
  
  
  Composer 2.5 vs la concurrence
&lt;/h2&gt;

&lt;p&gt;Résumé pratique :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;vs Opus 4.7&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Composer 2.5 est proche sur SWE-bench Multilingual et CursorBench, avec un coût par tâche beaucoup plus bas. Opus reste devant sur le score maximal de CursorBench.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;vs GPT-5.5&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Composer 2.5 gagne sur SWE-bench Multilingual et CursorBench. GPT-5.5 mène nettement sur Terminal-Bench 2.0.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;vs Claude Code&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Ce ne sont pas les mêmes workflows. Composer 2.5 vit dans l’éditeur Cursor ; Claude Code est un agent de terminal. La comparaison &lt;a href="http://apidog.com/blog/claude-code-vs-cursor-2026?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Claude Code vs Cursor&lt;/a&gt; détaille les cas d’usage.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;vs GitHub Copilot&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Copilot est surtout puissant pour l’autocomplétion inline. Composer 2.5 est pensé pour les tâches agentiques multi-fichiers. Le guide &lt;a href="http://apidog.com/blog/cursor-ai-vs-github-copilot?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Cursor vs GitHub Copilot&lt;/a&gt; approfondit la comparaison.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cursor a aussi indiqué entraîner un modèle beaucoup plus grand avec xAI, avec environ dix fois plus de puissance de calcul. Composer 2.5 semble donc être une étape intermédiaire, pas un plafond.&lt;/p&gt;

&lt;h2&gt;
  
  
  Questions fréquentes
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Composer 2.5 est-il gratuit ?
&lt;/h3&gt;

&lt;p&gt;Il n’existe pas de niveau entièrement gratuit dédié à Composer 2.5. Les abonnements individuels incluent toutefois un pool d’utilisation Composer, et Cursor a doublé l’utilisation pendant la semaine de lancement.&lt;/p&gt;

&lt;p&gt;Le guide &lt;a href="http://apidog.com/blog/cursor-composer-for-free?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Composer gratuit&lt;/a&gt; explique l’allocation incluse.&lt;/p&gt;

&lt;h3&gt;
  
  
  Composer 2.5 est-il meilleur que Composer 2 ?
&lt;/h3&gt;

&lt;p&gt;Oui. SWE-bench Multilingual passe de 73,7 % à 79,8 %, et Composer 2.5 maintient mieux le contexte sur les tâches longues.&lt;/p&gt;

&lt;p&gt;Le &lt;a href="http://apidog.com/blog/cursor-composer-2?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide Composer 2&lt;/a&gt; donne le point de comparaison.&lt;/p&gt;

&lt;h3&gt;
  
  
  Sur quel modèle Composer 2.5 est-il basé ?
&lt;/h3&gt;

&lt;p&gt;Composer 2.5 est construit sur le checkpoint open-source Kimi K2.5 de Moonshot, puis fortement post-entraîné par Cursor avec apprentissage par renforcement et tâches synthétiques.&lt;/p&gt;

&lt;h3&gt;
  
  
  Quelle variante choisir : standard ou rapide ?
&lt;/h3&gt;

&lt;p&gt;Même intelligence, latence différente.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Choisissez &lt;strong&gt;standard&lt;/strong&gt; pour réduire les coûts.&lt;/li&gt;
&lt;li&gt;Choisissez &lt;strong&gt;rapide&lt;/strong&gt; quand vous travaillez en interaction directe avec l’agent.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Composer 2.5 fonctionne-t-il avec MCP ?
&lt;/h3&gt;

&lt;p&gt;Oui. Il prend en charge les outils agentiques de Cursor, dont MCP. Vous pouvez connecter votre spécification API via le &lt;a href="http://apidog.com/blog/connect-api-specifications-mcp-cursor?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;serveur MCP Apidog&lt;/a&gt; pour générer du code aligné sur votre schéma réel.&lt;/p&gt;

&lt;h2&gt;
  
  
  En résumé
&lt;/h2&gt;

&lt;p&gt;Composer 2.5 rend le codage agentique plus intéressant économiquement : des performances proches d’Opus 4.7 sur de vraies tâches logicielles, avec un coût par tâche beaucoup plus bas.&lt;/p&gt;

&lt;p&gt;Pour l’utiliser :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;mettez Cursor à jour ;&lt;/li&gt;
&lt;li&gt;sélectionnez &lt;code&gt;composer-2.5&lt;/code&gt; dans le menu des modèles ;&lt;/li&gt;
&lt;li&gt;utilisez le mode Agent ;&lt;/li&gt;
&lt;li&gt;donnez-lui des tâches complètes avec critères de succès ;&lt;/li&gt;
&lt;li&gt;vérifiez systématiquement le code généré.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Pour les APIs, ne laissez pas le modèle deviner. Générez le code contre votre spécification réelle, puis &lt;a href="https://apidog.com/download?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;téléchargez Apidog&lt;/a&gt; pour envoyer des requêtes, confirmer les réponses et convertir les appels valides en tests ou en mocks.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Accès Sécurisé Agent Bitwarden : Partage de Mots de Passe Coffre-fort avec Agents IA</title>
      <dc:creator>Antoine Laurent</dc:creator>
      <pubDate>Fri, 15 May 2026 08:15:39 +0000</pubDate>
      <link>https://forem.com/antoine_laurentt/acces-securise-agent-bitwarden-partage-de-mots-de-passe-coffre-fort-avec-agents-ia-2800</link>
      <guid>https://forem.com/antoine_laurentt/acces-securise-agent-bitwarden-partage-de-mots-de-passe-coffre-fort-avec-agents-ia-2800</guid>
      <description>&lt;p&gt;Si vous utilisez Claude Code, Codex ou Cursor avec une API réelle, le problème arrive vite : l’agent a besoin d’identifiants, mais votre gestionnaire de mots de passe doit les protéger. Coller une clé API dans un chat l’inscrit dans le contexte du modèle. Mettre des secrets dans un fichier &lt;code&gt;.env&lt;/code&gt; les rend lisibles par les commandes que l’agent peut exécuter. La bonne approche consiste à fournir uniquement le secret nécessaire, au bon processus, au bon moment.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apidog.com/?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation" class="crayons-btn crayons-btn--primary"&gt;Essayez Apidog aujourd’hui&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Le projet open source de Bitwarden, &lt;a href="https://github.com/bitwarden/agent-access" rel="noopener noreferrer"&gt;Agent Access&lt;/a&gt;, propose une réponse concrète : un protocole de partage d’identifiants, un CLI (&lt;code&gt;aac&lt;/code&gt;) et un SDK Rust + Python pour créer un tunnel chiffré entre un gestionnaire de mots de passe et un processus distant — agent IA, runner CI ou script local.&lt;/p&gt;

&lt;p&gt;L’objectif : permettre à l’agent d’obtenir uniquement les secrets nécessaires, limités à un domaine ou à un élément de coffre-fort, sans jamais exposer l’intégralité du coffre-fort.&lt;/p&gt;

&lt;p&gt;Ce guide montre comment installer Agent Access, utiliser &lt;code&gt;aac connect&lt;/code&gt; et &lt;code&gt;aac run&lt;/code&gt;, l’intégrer à Claude Code, Codex et Cursor, puis appliquer ce modèle aux workflows API décrits dans &lt;a href="http://apidog.com/blog/secure-ai-agent-api-credentials?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Comment sécuriser les identifiants API des agents IA&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ce qu’est Agent Access
&lt;/h2&gt;

&lt;p&gt;Agent Access est un protocole ouvert et une implémentation de référence créés par Bitwarden, mais pensés pour être adoptés par d’autres gestionnaires de mots de passe.&lt;/p&gt;

&lt;p&gt;Le CLI &lt;code&gt;aac&lt;/code&gt; établit un tunnel chiffré de bout en bout avec le &lt;a href="https://noiseprotocol.org/" rel="noopener noreferrer"&gt;protocole Noise&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Le modèle repose sur deux rôles :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Fournisseur&lt;/strong&gt; : le processus qui a accès au coffre-fort et répond aux demandes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Consommateur&lt;/strong&gt; : l’agent, le script ou le runner CI qui demande un identifiant précis.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Le consommateur demande un identifiant par :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;domaine ;&lt;/li&gt;
&lt;li&gt;ou ID d’élément de coffre-fort.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Le fournisseur décide quoi renvoyer. Le consommateur ne peut pas parcourir le coffre-fort. Des journaux d’audit existent des deux côtés.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6felrvem0ts4fxuk62us.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6felrvem0ts4fxuk62us.png" alt="Agent Access" width="800" height="588"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Agent Access est actuellement en &lt;strong&gt;préversion&lt;/strong&gt;. Le README indique que les API et protocoles peuvent changer, et rappelle qu’il ne faut pas entrer directement des identifiants sensibles dans les LLM ou agents IA.&lt;/p&gt;

&lt;p&gt;Le modèle recommandé est donc l’injection d’environnement via &lt;code&gt;aac run&lt;/code&gt; : le secret est transmis au sous-processus qui en a besoin, sans passer par la fenêtre de contexte du modèle.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pourquoi c’est important
&lt;/h2&gt;

&lt;p&gt;Les agents de codage IA ne se limitent plus à suggérer du code. Claude Code, Codex, Cursor et d’autres outils peuvent :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;lire un dépôt ;&lt;/li&gt;
&lt;li&gt;exécuter des tests ;&lt;/li&gt;
&lt;li&gt;appeler des API ;&lt;/li&gt;
&lt;li&gt;lancer des scripts ;&lt;/li&gt;
&lt;li&gt;déclencher des déploiements.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Chaque étape peut nécessiter des identifiants. L’&lt;a href="http://apidog.com/blog/postman-exposed-api-keys-audit-workspace?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;incident Postman des clés API exposées&lt;/a&gt; a montré à quel point l’hygiène des secrets peut se dégrader dans les workflows humains. Avec des agents capables d’exécuter des commandes, le risque augmente.&lt;/p&gt;

&lt;p&gt;La réponse n’est pas de faire davantage confiance à l’agent. C’est de lui donner moins.&lt;/p&gt;

&lt;p&gt;Agent Access applique ce principe au niveau du protocole :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;secrets limités à une portée précise ;&lt;/li&gt;
&lt;li&gt;chiffrement en transit ;&lt;/li&gt;
&lt;li&gt;récupération à l’exécution ;&lt;/li&gt;
&lt;li&gt;disparition à la fin du processus.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Par rapport aux pratiques existantes listées dans &lt;a href="http://apidog.com/blog/api-key-management-tools?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;API Key Management Tools&lt;/a&gt;, Agent Access cible spécifiquement les workflows agentiques.&lt;/p&gt;

&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;

&lt;p&gt;Choisissez le binaire adapté à votre plateforme.&lt;/p&gt;

&lt;h3&gt;
  
  
  macOS Apple Silicon
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-L&lt;/span&gt; https://github.com/bitwarden/agent-access/releases/latest/download/aac-macos-aarch64.tar.gz | &lt;span class="nb"&gt;tar &lt;/span&gt;xz
&lt;span class="nb"&gt;sudo mv &lt;/span&gt;aac /usr/local/bin/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  macOS Intel
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-L&lt;/span&gt; https://github.com/bitwarden/agent-access/releases/latest/download/aac-macos-x86_64.tar.gz | &lt;span class="nb"&gt;tar &lt;/span&gt;xz
&lt;span class="nb"&gt;sudo mv &lt;/span&gt;aac /usr/local/bin/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Linux x86_64
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-L&lt;/span&gt; https://github.com/bitwarden/agent-access/releases/latest/download/aac-linux-x86_64.tar.gz | &lt;span class="nb"&gt;tar &lt;/span&gt;xz
&lt;span class="nb"&gt;sudo mv &lt;/span&gt;aac /usr/local/bin/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Windows x86_64
&lt;/h3&gt;

&lt;p&gt;Téléchargez &lt;code&gt;aac-windows-x86_64.zip&lt;/code&gt; depuis &lt;a href="https://github.com/bitwarden/agent-access/releases" rel="noopener noreferrer"&gt;la page des releases&lt;/a&gt;, puis extrayez le binaire dans un répertoire présent dans votre &lt;code&gt;PATH&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Vérifiez l’installation :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aac &lt;span class="nt"&gt;--help&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Si le CLI Bitwarden (&lt;code&gt;bw&lt;/code&gt;) est disponible dans votre &lt;code&gt;PATH&lt;/code&gt;, &lt;code&gt;aac&lt;/code&gt; l’utilise comme fournisseur par défaut.&lt;/p&gt;

&lt;p&gt;Pour tester sans Bitwarden, utilisez le fournisseur de démonstration :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aac connect &lt;span class="nt"&gt;--provider&lt;/span&gt; example &lt;span class="nt"&gt;--domain&lt;/span&gt; test.com &lt;span class="nt"&gt;--output&lt;/span&gt; json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Démarrage rapide : coupler puis récupérer un identifiant
&lt;/h2&gt;

&lt;p&gt;Le flux minimal utilise deux terminaux.&lt;/p&gt;

&lt;p&gt;Dans le premier terminal, lancez l’écouteur sur la machine qui contient le coffre-fort :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aac listen
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;La commande affiche un jeton de couplage.&lt;/p&gt;

&lt;p&gt;Dans un second terminal, côté consommateur, connectez-vous avec ce jeton et demandez un identifiant pour un domaine :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aac connect &lt;span class="nt"&gt;--token&lt;/span&gt; &amp;lt;jeton-de-couplage&amp;gt; &lt;span class="nt"&gt;--domain&lt;/span&gt; github.com &lt;span class="nt"&gt;--output&lt;/span&gt; json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Réponse typique :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"credential"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"notes"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"password"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"alligator5"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"totp"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"uri"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://github.com"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"username"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"example"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"domain"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"github.com"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"success"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Votre script peut ensuite analyser ce JSON et utiliser les champs nécessaires.&lt;/p&gt;

&lt;p&gt;Pour récupérer un identifiant par ID d’élément de coffre-fort :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aac connect &lt;span class="nt"&gt;--id&lt;/span&gt; &amp;lt;id-element-coffre-fort&amp;gt; &lt;span class="nt"&gt;--output&lt;/span&gt; json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;--id&lt;/code&gt; et &lt;code&gt;--domain&lt;/code&gt; sont mutuellement exclusifs. Choisissez l’un des deux.&lt;/p&gt;

&lt;p&gt;Les champs TOTP sont inclus dans la même charge utile si l’élément de coffre-fort en contient un.&lt;/p&gt;

&lt;h2&gt;
  
  
  Utiliser &lt;code&gt;aac run&lt;/code&gt; pour injecter des secrets
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;aac connect&lt;/code&gt; est utile si votre script sait gérer du JSON.&lt;/p&gt;

&lt;p&gt;Pour les workflows d’agents IA, &lt;code&gt;aac run&lt;/code&gt; est souvent plus sûr et plus simple : il récupère un identifiant, puis exécute un processus enfant avec les secrets injectés comme variables d’environnement.&lt;/p&gt;

&lt;p&gt;Les secrets ne sont pas :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;écrits sur disque ;&lt;/li&gt;
&lt;li&gt;imprimés sur &lt;code&gt;stdout&lt;/code&gt; ;&lt;/li&gt;
&lt;li&gt;visibles dans l’historique shell ;&lt;/li&gt;
&lt;li&gt;exposés dans le contexte du modèle.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Injecter des champs spécifiques
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aac run &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--domain&lt;/span&gt; example.com &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--env&lt;/span&gt; &lt;span class="nv"&gt;DB_PASSWORD&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;motdepasse &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--env&lt;/span&gt; &lt;span class="nv"&gt;DB_USER&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;nomutilisateur &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--&lt;/span&gt; psql
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Injecter tous les champs avec un préfixe &lt;code&gt;AAC_&lt;/code&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aac run &lt;span class="nt"&gt;--domain&lt;/span&gt; example.com &lt;span class="nt"&gt;--env-all&lt;/span&gt; &lt;span class="nt"&gt;--&lt;/span&gt; ./deploy.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Combiner valeurs par défaut et remplacements
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aac run &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--domain&lt;/span&gt; example.com &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--env-all&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--env&lt;/span&gt; &lt;span class="nv"&gt;CUSTOM_PW&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;motdepasse &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--&lt;/span&gt; ./deploy.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Champs disponibles :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;username&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;password&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;totp&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;uri&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;notes&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;domain&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;credential_id&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Exemple de modèle recommandé avec un agent :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aac run &lt;span class="nt"&gt;--domain&lt;/span&gt; api.stripe.com &lt;span class="nt"&gt;--env-all&lt;/span&gt; &lt;span class="nt"&gt;--&lt;/span&gt; ./deploy.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;L’agent voit la commande, mais pas la valeur du secret. Le secret est uniquement disponible pour le sous-processus &lt;code&gt;deploy.sh&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;C’est le même principe d’isolation que dans &lt;a href="http://apidog.com/blog/secure-ai-agent-api-credentials?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Comment sécuriser les identifiants API des agents IA&lt;/a&gt;, appliqué avec un outil concret.&lt;/p&gt;

&lt;h2&gt;
  
  
  SDK Python et Rust
&lt;/h2&gt;

&lt;p&gt;Si l’invocation CLI ne suffit pas, Agent Access fournit aussi des SDK.&lt;/p&gt;

&lt;h3&gt;
  
  
  Python
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;agent_access&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;RemoteClient&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;RemoteClient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;python-remote&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;connect&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;token&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;ABC-DEF-GHI&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;cred&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;request_credential&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;example.com&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;cred&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;username&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;cred&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;password&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;close&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Le module Python repose sur PyO3. L’implémentation principale reste en Rust, avec le même protocole Noise sous le capot.&lt;/p&gt;

&lt;h3&gt;
  
  
  Rust
&lt;/h3&gt;

&lt;p&gt;Le SDK Rust expose également &lt;code&gt;RemoteClient&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Les exemples de référence se trouvent dans le dépôt, sous :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;examples/rust-remote/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Utilisez le SDK Rust si vous développez :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;un CLI ;&lt;/li&gt;
&lt;li&gt;un runner de build ;&lt;/li&gt;
&lt;li&gt;un service distribué sous forme de binaire compilé ;&lt;/li&gt;
&lt;li&gt;un consommateur Agent Access intégré à votre propre outil.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pour les équipes qui utilisent déjà des outils de gestion de secrets, ce modèle complète les intégrations comme &lt;a href="http://apidog.com/blog/integrate-hashicorp-vault?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;HashiCorp Vault&lt;/a&gt; ou &lt;a href="http://apidog.com/blog/integrate-azure-key-vault?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Azure Key Vault&lt;/a&gt;. Agent Access ne remplace pas nécessairement ces solutions d’entreprise, mais il s’adapte bien aux postes développeur et aux runners CI.&lt;/p&gt;

&lt;h2&gt;
  
  
  Intégration avec les agents de codage IA
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Claude Code
&lt;/h3&gt;

&lt;p&gt;Créez un script que Claude Code peut appeler, puis encapsulez l’accès au secret avec &lt;code&gt;aac run&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Exemple :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# deploy.sh&lt;/span&gt;
&lt;span class="c"&gt;#!/usr/bin/env bash&lt;/span&gt;
aac run &lt;span class="nt"&gt;--domain&lt;/span&gt; prod.example.com &lt;span class="nt"&gt;--env-all&lt;/span&gt; &lt;span class="nt"&gt;--&lt;/span&gt; ./run-deploy.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Rendez le script exécutable :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;chmod&lt;/span&gt; +x deploy.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Puis demandez à Claude Code d’exécuter :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./deploy.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;L’agent ne reçoit aucun identifiant dans l’invite. Le secret est uniquement transmis à &lt;code&gt;run-deploy.sh&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Pour la CI, le même modèle peut être appliqué avec l’intégration &lt;a href="http://apidog.com/blog/claude-code-github-actions?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Claude Code GitHub Actions&lt;/a&gt; :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;installez &lt;code&gt;aac&lt;/code&gt; dans le runner ;&lt;/li&gt;
&lt;li&gt;couplez le runner avec le fournisseur ;&lt;/li&gt;
&lt;li&gt;exécutez vos scripts via &lt;code&gt;aac run&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  OpenAI Codex
&lt;/h3&gt;

&lt;p&gt;Le même modèle fonctionne avec le CLI Codex.&lt;/p&gt;

&lt;p&gt;Exposez au modèle une commande ou un script contrôlé :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./test-api.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Puis encapsulez les secrets dans ce script :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# test-api.sh&lt;/span&gt;
&lt;span class="c"&gt;#!/usr/bin/env bash&lt;/span&gt;
aac run &lt;span class="nt"&gt;--domain&lt;/span&gt; staging.example.com &lt;span class="nt"&gt;--env-all&lt;/span&gt; &lt;span class="nt"&gt;--&lt;/span&gt; ./run-api-tests.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;La couche d’appel d’outils de Codex voit la commande, pas la valeur du secret.&lt;/p&gt;

&lt;p&gt;L’article &lt;a href="http://apidog.com/blog/openai-codex-from-your-phone?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Codex depuis votre téléphone&lt;/a&gt; couvre la surface plus large de Codex ; Agent Access ajoute ici la couche de protection des identifiants.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cursor
&lt;/h3&gt;

&lt;p&gt;Pour Cursor, utilisez le même pattern avec les commandes de terminal et les workflows Composer.&lt;/p&gt;

&lt;p&gt;Exemple :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# local-check.sh&lt;/span&gt;
&lt;span class="c"&gt;#!/usr/bin/env bash&lt;/span&gt;
aac run &lt;span class="nt"&gt;--domain&lt;/span&gt; dev.example.com &lt;span class="nt"&gt;--env-all&lt;/span&gt; &lt;span class="nt"&gt;--&lt;/span&gt; npm &lt;span class="nb"&gt;test&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Cursor peut appeler &lt;code&gt;./local-check.sh&lt;/code&gt;, mais les secrets restent limités au sous-processus.&lt;/p&gt;

&lt;p&gt;Comme Cursor travaille souvent localement, l’écouteur &lt;code&gt;aac listen&lt;/code&gt; s’exécute généralement sur la même machine que le consommateur.&lt;/p&gt;

&lt;h3&gt;
  
  
  OpenClaw
&lt;/h3&gt;

&lt;p&gt;Agent Access fournit une compétence OpenClaw officielle prête à l’emploi. Le dépôt contient un fichier &lt;code&gt;SKILL.md&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Pour les équipes utilisant des compétences de style OpenClaw, cette intégration permet à la compétence de :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;connaître la forme du protocole ;&lt;/li&gt;
&lt;li&gt;récupérer l’identifiant ;&lt;/li&gt;
&lt;li&gt;le transmettre à l’outil aval exposé par la compétence.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Le &lt;a href="http://apidog.com/blog/openclaw-api-keys?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide des clés API OpenClaw&lt;/a&gt; couvre le sujet plus large de la gestion des identifiants dans cet écosystème.&lt;/p&gt;

&lt;h2&gt;
  
  
  Modèle de sécurité
&lt;/h2&gt;

&lt;p&gt;Agent Access repose sur trois garanties principales.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Chiffrement de bout en bout
&lt;/h3&gt;

&lt;p&gt;Le trafic entre consommateur et fournisseur est chiffré avec le &lt;a href="https://noiseprotocol.org/" rel="noopener noreferrer"&gt;framework Noise&lt;/a&gt;, la même famille de protocoles utilisée par des outils comme WireGuard et Signal.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Identifiants à portée limitée
&lt;/h3&gt;

&lt;p&gt;Le consommateur demande un domaine ou un ID d’élément précis. Il ne peut pas énumérer tout le coffre-fort.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Pas de secret sur disque par défaut
&lt;/h3&gt;

&lt;p&gt;Avec &lt;code&gt;aac run&lt;/code&gt;, les secrets sont injectés comme variables d’environnement dans un sous-processus. Ils ne sont pas écrits dans un fichier et ne sont pas affichés dans la sortie standard.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ce qu’Agent Access ne résout pas
&lt;/h2&gt;

&lt;p&gt;Agent Access réduit la surface d’exposition, mais ne supprime pas tous les risques.&lt;/p&gt;

&lt;p&gt;Il ne protège pas contre :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;un processus consommateur compromis&lt;/strong&gt; : si le script ou l’agent est malveillant, il peut toujours exfiltrer les secrets auxquels il a accès ;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;un fournisseur compromis&lt;/strong&gt; : si le coffre-fort lui-même est compromis, le protocole ne suffit plus ;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;les secrets collés dans une invite LLM&lt;/strong&gt; : si vous copiez une clé dans un chat, Agent Access ne peut pas l’effacer du contexte.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;La défense principale reste la portée minimale : donnez au processus uniquement ce dont il a besoin.&lt;/p&gt;

&lt;h2&gt;
  
  
  Workflow API courant : agent, CI et Apidog
&lt;/h2&gt;

&lt;p&gt;Un workflow pratique pour une équipe API ressemble à ceci :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;L’agent écrit le code&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Claude Code, Codex ou Cursor modifie un endpoint et ouvre une PR.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;La CI exécute les tests&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Le runner appelle &lt;code&gt;aac run&lt;/code&gt; pour récupérer une clé API à portée limitée, puis lance les tests sur un environnement de préproduction.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Apidog vérifie le contrat&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://apidog.com?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt; exécute les tests de contrat OpenAPI comme étape CI séparée, également via &lt;code&gt;aac run&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Exemple de script CI :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;#!/usr/bin/env bash&lt;/span&gt;
&lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="nt"&gt;-euo&lt;/span&gt; pipefail

aac run &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--domain&lt;/span&gt; staging.example.com &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--env-all&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--&lt;/span&gt; ./run-contract-tests.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Résultat :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;l’agent peut déclencher le workflow ;&lt;/li&gt;
&lt;li&gt;la CI peut tester l’API ;&lt;/li&gt;
&lt;li&gt;Apidog peut valider le contrat ;&lt;/li&gt;
&lt;li&gt;le secret reste hors du contexte du modèle.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Le guide &lt;a href="http://apidog.com/blog/how-to-test-ai-agents-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Comment tester les agents IA qui appellent vos API&lt;/a&gt; détaille cette approche côté test.&lt;/p&gt;

&lt;h2&gt;
  
  
  Limitations
&lt;/h2&gt;

&lt;p&gt;Avant de l’adopter, gardez ces points en tête.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Préversion&lt;/strong&gt; : les API et protocoles peuvent changer. Évitez de verrouiller un workflow critique sans prévoir de maintenance.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CLI Bitwarden requis par défaut&lt;/strong&gt; : le fournisseur par défaut repose sur &lt;code&gt;bw&lt;/code&gt;. Installez &lt;a href="https://bitwarden.com/help/cli/" rel="noopener noreferrer"&gt;le CLI Bitwarden&lt;/a&gt; ou utilisez &lt;code&gt;--provider example&lt;/code&gt; pour tester.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pas encore de fichier de configuration&lt;/strong&gt; : les invocations reposent principalement sur des flags. Utilisez des scripts pour standardiser les commandes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Aucun outil ne protège un secret collé dans une invite&lt;/strong&gt; : ne copiez jamais d’identifiants dans un chat LLM.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Agent Access est-il gratuit ?
&lt;/h3&gt;

&lt;p&gt;Oui. Le CLI, les SDK et le protocole sont open source dans l’organisation Bitwarden sur GitHub. Si vous utilisez Bitwarden comme coffre-fort, votre usage de Bitwarden reste soumis à son modèle habituel.&lt;/p&gt;

&lt;h3&gt;
  
  
  Fonctionne-t-il avec d’autres gestionnaires de mots de passe ?
&lt;/h3&gt;

&lt;p&gt;Le protocole est conçu pour être neutre vis-à-vis des fournisseurs. L’implémentation de référence prend en charge Bitwarden et un fournisseur d’exemple. D’autres fournisseurs pourront implémenter leurs propres intégrations.&lt;/p&gt;

&lt;h3&gt;
  
  
  Puis-je l’utiliser sans gestionnaire de mots de passe ?
&lt;/h3&gt;

&lt;p&gt;Pour tester, oui :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aac connect &lt;span class="nt"&gt;--provider&lt;/span&gt; example &lt;span class="nt"&gt;--domain&lt;/span&gt; test.com &lt;span class="nt"&gt;--output&lt;/span&gt; json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pour un usage réel, utilisez un fournisseur de secrets adapté, comme Bitwarden aujourd’hui.&lt;/p&gt;

&lt;h3&gt;
  
  
  Le processus consommateur a-t-il besoin du réseau ?
&lt;/h3&gt;

&lt;p&gt;Oui, il doit pouvoir atteindre l’écouteur du fournisseur. Un usage local fonctionne si l’écouteur et le consommateur sont sur la même machine.&lt;/p&gt;

&lt;h3&gt;
  
  
  En quoi est-ce différent d’un fichier &lt;code&gt;.env&lt;/code&gt; ?
&lt;/h3&gt;

&lt;p&gt;Un fichier &lt;code&gt;.env&lt;/code&gt; est stocké sur disque, peut être commité par erreur et peut être lu par tout processus que l’agent peut lancer.&lt;/p&gt;

&lt;p&gt;Avec &lt;code&gt;aac run&lt;/code&gt;, le secret est injecté uniquement dans le sous-processus ciblé et disparaît à la fin de son exécution.&lt;/p&gt;

&lt;h3&gt;
  
  
  Agent Access remplace-t-il HashiCorp Vault ou AWS Secrets Manager ?
&lt;/h3&gt;

&lt;p&gt;Non. Les coffres-forts d’entreprise restent adaptés aux secrets service-à-service à grande échelle. Agent Access couvre surtout les workflows de développeurs, d’agents et de runners CI où il faut transmettre un secret limité à un processus spécifique.&lt;/p&gt;

&lt;h3&gt;
  
  
  Anthropic, OpenAI ou d’autres fournisseurs l’intègrent-ils directement ?
&lt;/h3&gt;

&lt;p&gt;Aucune intégration directe n’est annoncée. Le modèle actuel consiste à envelopper vos scripts avec &lt;code&gt;aac run&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Où signaler des bugs ou contribuer ?
&lt;/h3&gt;

&lt;p&gt;Sur &lt;a href="https://github.com/bitwarden/agent-access" rel="noopener noreferrer"&gt;le dépôt GitHub Agent Access&lt;/a&gt;. Les issues, PR et discussions de protocole y sont centralisées.&lt;/p&gt;

&lt;h2&gt;
  
  
  Essayez-le maintenant
&lt;/h2&gt;

&lt;p&gt;Testez la boucle minimale :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aac listen
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Puis, dans un autre terminal :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aac connect &lt;span class="nt"&gt;--provider&lt;/span&gt; example &lt;span class="nt"&gt;--domain&lt;/span&gt; test.com &lt;span class="nt"&gt;--output&lt;/span&gt; json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ensuite :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;remplacez le fournisseur d’exemple par Bitwarden ;&lt;/li&gt;
&lt;li&gt;enveloppez un script réel avec &lt;code&gt;aac run&lt;/code&gt; ;&lt;/li&gt;
&lt;li&gt;retirez les clés API des prompts, fichiers &lt;code&gt;.env&lt;/code&gt; et historiques shell.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Associez Agent Access à &lt;a href="https://apidog.com?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt; pour la partie test API : le coffre-fort garde le secret, Apidog teste le contrat, l’agent exécute le workflow, et aucun identifiant n’est exposé en clair.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>7 Meilleurs Outils de Gestion d'API en 2026, Classés par G2</title>
      <dc:creator>Antoine Laurent</dc:creator>
      <pubDate>Fri, 15 May 2026 07:42:43 +0000</pubDate>
      <link>https://forem.com/antoine_laurentt/7-meilleurs-outils-de-gestion-dapi-en-2026-classes-par-g2-579l</link>
      <guid>https://forem.com/antoine_laurentt/7-meilleurs-outils-de-gestion-dapi-en-2026-classes-par-g2-579l</guid>
      <description>&lt;p&gt;La grille G2 Printemps 2026 pour la gestion des API est publiée : deux Leaders (Apidog, viaSocket), trois High Performers (Traefik Labs, Rasayel, Backendless) et deux acteurs de niche (Moesif/WSO2, Thunder Client). Voici comment lire cette grille côté implémentation : quel outil choisir, pour quel workflow API, et comment l’intégrer dans votre pile.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apidog.com/?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation" class="crayons-btn crayons-btn--primary"&gt;Essayez Apidog aujourd’hui&lt;/a&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  En bref
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://apidog.com/?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt; et viaSocket sont en tête de la grille G2 Printemps 2026 de gestion des API. Apidog est adapté aux équipes qui veulent concevoir, tester, simuler et documenter leurs API dans un seul espace de travail. viaSocket cible plutôt l’automatisation de workflows sans code avec des hooks d’API.&lt;/p&gt;

&lt;p&gt;Les cinq autres outils — Traefik Labs, Rasayel, Backendless, Moesif (WSO2) et Thunder Client — résolvent des problèmes plus spécifiques. Le bon choix dépend donc de ce que “gestion des API” signifie concrètement dans votre architecture.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ce que signale la grille G2 Printemps 2026
&lt;/h2&gt;

&lt;p&gt;Les &lt;a href="https://company.g2.com/news/g2-spring-2026-reports" rel="noopener noreferrer"&gt;rapports G2 Printemps 2026&lt;/a&gt; ont été publiés le 17 mars 2026, avec 27 019 rapports, soit une augmentation trimestrielle de 1,72 %. Selon Palmer Houchins, VP Marketing, seuls 3 % des produits sur G2 reçoivent un badge “Leader” toutes catégories confondues.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F47547nvmgeb21mnxxsli.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F47547nvmgeb21mnxxsli.jpg" alt="Grille G2 Printemps 2026" width="800" height="525"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;La grille utilise deux axes :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Satisfaction client&lt;/strong&gt; : basée sur les avis.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Présence sur le marché&lt;/strong&gt; : taille, portée, volume d’avis.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Dans la &lt;a href="https://www.g2.com/categories/api-management" rel="noopener noreferrer"&gt;catégorie gestion des API&lt;/a&gt;, Apidog et viaSocket sont classés Leaders. Traefik Labs, Rasayel et Backendless sont High Performers. Moesif, désormais une entreprise WSO2, et Thunder Client sont classés Niche.&lt;/p&gt;

&lt;p&gt;Le quadrant est utile, mais il ne suffit pas. Un outil de niche peut être le bon choix si son périmètre correspond exactement à votre besoin. À l’inverse, un Leader peut être inadapté s’il résout un problème que vous n’avez pas.&lt;/p&gt;

&lt;p&gt;Si vous voulez tester un workflow complet conception → test → mock → documentation, vous pouvez &lt;a href="https://apidog.com/download?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;télécharger Apidog&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Les sept outils en un coup d’œil
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Outil&lt;/th&gt;
&lt;th&gt;Quadrant G2&lt;/th&gt;
&lt;th&gt;Meilleure adéquation&lt;/th&gt;
&lt;th&gt;Open source ?&lt;/th&gt;
&lt;th&gt;Modèle de tarification&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Apidog&lt;/td&gt;
&lt;td&gt;Leader&lt;/td&gt;
&lt;td&gt;Conception, test, simulation, documentation API tout-en-un&lt;/td&gt;
&lt;td&gt;Niveau gratuit + payant&lt;/td&gt;
&lt;td&gt;SaaS par utilisateur&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;viaSocket&lt;/td&gt;
&lt;td&gt;Leader&lt;/td&gt;
&lt;td&gt;Automatisation de workflows sans code avec des hooks d’API&lt;/td&gt;
&lt;td&gt;Non&lt;/td&gt;
&lt;td&gt;Plan d’entrée à 50 $/mois&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Traefik Labs&lt;/td&gt;
&lt;td&gt;High Performer&lt;/td&gt;
&lt;td&gt;Passerelle API cloud-native + gouvernance GitOps&lt;/td&gt;
&lt;td&gt;Oui, Proxy OSS&lt;/td&gt;
&lt;td&gt;OSS gratuit, Hub payant&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rasayel&lt;/td&gt;
&lt;td&gt;High Performer&lt;/td&gt;
&lt;td&gt;Messagerie WhatsApp Business + API REST&lt;/td&gt;
&lt;td&gt;Non&lt;/td&gt;
&lt;td&gt;SaaS par siège&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Backendless&lt;/td&gt;
&lt;td&gt;High Performer&lt;/td&gt;
&lt;td&gt;BaaS avec REST et GraphQL auto-générés&lt;/td&gt;
&lt;td&gt;Non&lt;/td&gt;
&lt;td&gt;Niveau gratuit + payant&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Moesif (WSO2)&lt;/td&gt;
&lt;td&gt;Niche&lt;/td&gt;
&lt;td&gt;Analyse, observabilité, monétisation API&lt;/td&gt;
&lt;td&gt;Non&lt;/td&gt;
&lt;td&gt;Basé sur l’utilisation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Thunder Client&lt;/td&gt;
&lt;td&gt;Niche&lt;/td&gt;
&lt;td&gt;Client REST VS Code pour test individuel&lt;/td&gt;
&lt;td&gt;Non&lt;/td&gt;
&lt;td&gt;Gratuit + Pro payant&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;La catégorie G2 mélange plusieurs familles d’outils :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;plateformes de cycle de vie API ;&lt;/li&gt;
&lt;li&gt;iPaaS et automatisation ;&lt;/li&gt;
&lt;li&gt;passerelles API ;&lt;/li&gt;
&lt;li&gt;observabilité et analytics ;&lt;/li&gt;
&lt;li&gt;extensions d’IDE.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Lire le classement sans ce contexte peut conduire à comparer des outils qui ne résolvent pas le même problème.&lt;/p&gt;

&lt;h2&gt;
  
  
  Apidog : le leader des workflows API de bout en bout
&lt;/h2&gt;

&lt;p&gt;Apidog regroupe quatre phases dans un même espace de travail :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;conception ;&lt;/li&gt;
&lt;li&gt;test ;&lt;/li&gt;
&lt;li&gt;simulation ;&lt;/li&gt;
&lt;li&gt;documentation.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;C’est son principal intérêt pour les équipes qui veulent éviter de maintenir une chaîne d’outils séparés pour les specs, les collections de tests, les mocks et la documentation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F117hjvap1ojetzsbvucs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F117hjvap1ojetzsbvucs.png" alt="Interface Apidog" width="800" height="530"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ce que vous obtenez :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Conception d’API visuelle&lt;/strong&gt; : éditeur OpenAPI 3.0/3.1 axé sur le schéma avec prise en charge des branches.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tests automatisés&lt;/strong&gt; : constructeur de tests visuel, intégration CI/CD, sans script dans la plupart des cas.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Simulation intelligente&lt;/strong&gt; : réponses dynamiques générées depuis le schéma.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Documentation auto-générée&lt;/strong&gt; : URL publique ou privée, avec prise en charge de domaine personnalisé.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Collaboration d’équipe&lt;/strong&gt; : synchronisation en temps réel, contrôle de version, accès basé sur les rôles.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Workflow recommandé avec Apidog
&lt;/h3&gt;

&lt;p&gt;Pour une équipe backend/frontend/QA, le workflow peut être :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. Créer ou importer la spécification OpenAPI.
2. Définir les endpoints, paramètres, schémas et réponses.
3. Générer un mock server pour débloquer le frontend.
4. Créer des scénarios de test sur les mêmes endpoints.
5. Publier la documentation API.
6. Brancher les tests dans la CI/CD.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Exemple de validation côté équipe :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Backend       → définit le contrat API
Frontend      → consomme le mock dès que le schéma est prêt
QA            → écrit les scénarios de test
Tech lead     → relit les changements via branches
Documentation → générée depuis la source de vérité
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ses points forts concernent surtout les équipes jusqu’à environ 100 ingénieurs qui veulent une source unique de vérité pour leurs spécifications API. Les commentateurs G2 Printemps 2026 soulignent aussi la revue de conception basée sur les branches et l’éditeur OpenAPI 3.1 comme différenciateurs par rapport à Stoplight et SwaggerHub.&lt;/p&gt;

&lt;p&gt;Vous pouvez &lt;a href="https://apidog.com/download?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;télécharger Apidog&lt;/a&gt; et importer une collection Postman en un clic. Le niveau gratuit couvre la plupart des petites équipes.&lt;/p&gt;

&lt;h2&gt;
  
  
  viaSocket : leader pour les équipes d’intégration sans code
&lt;/h2&gt;

&lt;p&gt;viaSocket est l’autre Leader, mais son cas d’usage est différent. C’est une &lt;a href="https://viasocket.com" rel="noopener noreferrer"&gt;plateforme d’automatisation de workflow basée sur l’IA&lt;/a&gt;, plus proche de Zapier ou Make que d’une passerelle API classique.&lt;/p&gt;

&lt;p&gt;Son rôle : connecter des applications SaaS avec des webhooks, de la logique conditionnelle et du JavaScript personnalisé, sans dépendre d’une équipe d’ingénierie.&lt;/p&gt;

&lt;h3&gt;
  
  
  À utiliser si
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;vos équipes opérations, marketing ou revenus veulent connecter des outils SaaS ;&lt;/li&gt;
&lt;li&gt;vous avez besoin de workflows basés sur des webhooks ;&lt;/li&gt;
&lt;li&gt;vos intégrations portent sur des applications externes déjà cataloguées ;&lt;/li&gt;
&lt;li&gt;vous voulez limiter le développement custom.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  À éviter si
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;vous cherchez une passerelle API ;&lt;/li&gt;
&lt;li&gt;vous avez besoin de limitation de débit ;&lt;/li&gt;
&lt;li&gt;vous devez gérer des flux OAuth complexes ;&lt;/li&gt;
&lt;li&gt;vous faites du contract testing ;&lt;/li&gt;
&lt;li&gt;vos API sont surtout des microservices internes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Le prix commence à 50 $/mois pour les comptes créés après septembre 2025, ce qui peut être trop élevé pour des expérimentations individuelles.&lt;/p&gt;

&lt;h2&gt;
  
  
  Traefik Labs : passerelle open source avec gestion des API en sus
&lt;/h2&gt;

&lt;p&gt;Traefik Proxy est un proxy d’application cloud-native open source. &lt;a href="https://traefik.io/traefik-hub" rel="noopener noreferrer"&gt;Traefik Hub&lt;/a&gt; ajoute une couche de gestion des API : portails développeurs, contrôles de cycle de vie et gouvernance GitOps.&lt;/p&gt;

&lt;p&gt;Cette combinaison explique son classement High Performer : forte satisfaction, mais présence marché G2 impactée par le fait qu’une grande partie de l’usage se fait via l’open source.&lt;/p&gt;

&lt;h3&gt;
  
  
  Ce que Traefik fait bien
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Kubernetes Ingress ;&lt;/li&gt;
&lt;li&gt;découverte de services ;&lt;/li&gt;
&lt;li&gt;configuration dynamique ;&lt;/li&gt;
&lt;li&gt;certificats Let’s Encrypt automatiques ;&lt;/li&gt;
&lt;li&gt;gouvernance GitOps ;&lt;/li&gt;
&lt;li&gt;gestion des routes et politiques via Git ;&lt;/li&gt;
&lt;li&gt;fonctionnalités de passerelle IA ajoutées en 2026, dont la prise en charge de l’API OpenAI Responses comme endpoint géré.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Exemple de logique d’implémentation GitOps :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;repo-infra/
  apis/
    users-api.yaml
    billing-api.yaml
  routes/
    users-route.yaml
    billing-route.yaml
  policies/
    auth-policy.yaml
    rate-limit-policy.yaml
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Limites
&lt;/h3&gt;

&lt;p&gt;Traefik n’est pas un outil de conception ni de test API. Il est donc souvent utilisé en aval d’un outil comme &lt;a href="https://apidog.com/?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt; :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Apidog      → conception, tests, mocks, documentation
Traefik Hub → exposition, routage, politiques, gouvernance
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Les fonctionnalités d’entreprise comme LDAP, portails avancés ou RBAC se trouvent dans Hub, pas dans Traefik Proxy OSS.&lt;/p&gt;

&lt;p&gt;Pour approfondir, consultez le récapitulatif des &lt;a href="http://apidog.com/blog/open-source-api-management-tools?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;outils de gestion d’API open source&lt;/a&gt; et des &lt;a href="http://apidog.com/blog/top-api-management-tools-for-enterprise?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;meilleures plateformes de gestion d’API pour les équipes d’entreprise&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Rasayel : plateforme API WhatsApp Business avec une touche d’originalité
&lt;/h2&gt;

&lt;p&gt;Rasayel est d’abord une plateforme WhatsApp Business avec boîte de réception d’équipe, chatbots et messagerie de masse.&lt;/p&gt;

&lt;p&gt;Son classement dans la catégorie API vient de ses &lt;a href="https://rest.developers.rasayel.io" rel="noopener noreferrer"&gt;API REST et GraphQL&lt;/a&gt;, limitées à 200 req/min sur REST, et de son interface de gestion des clés API avec autorisation de lecture/écriture limitée.&lt;/p&gt;

&lt;h3&gt;
  
  
  À choisir si
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;votre support client ou vos ventes passent par WhatsApp ;&lt;/li&gt;
&lt;li&gt;vous avez besoin d’un accès programmatique à WhatsApp Business ;&lt;/li&gt;
&lt;li&gt;vous voulez connecter WhatsApp à HubSpot ou Pipedrive ;&lt;/li&gt;
&lt;li&gt;vous préférez utiliser des webhooks plutôt que Twilio directement.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  À éviter si
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;vous gérez des microservices internes ;&lt;/li&gt;
&lt;li&gt;vous cherchez une passerelle Edge ;&lt;/li&gt;
&lt;li&gt;WhatsApp n’est pas dans votre pile ;&lt;/li&gt;
&lt;li&gt;vous avez besoin d’une plateforme générale de gestion du cycle de vie API.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Rasayel est solide dans son périmètre, mais ce n’est pas le point de départ pour la plupart des décisions de plateforme API.&lt;/p&gt;

&lt;h2&gt;
  
  
  Backendless : BaaS avec API auto-générées
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://backendless.com/feature/service-management/" rel="noopener noreferrer"&gt;Backendless&lt;/a&gt; est une plateforme backend-as-a-service. Elle génère automatiquement des endpoints REST et GraphQL depuis votre modèle de données.&lt;/p&gt;

&lt;p&gt;Le modèle est simple :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Créer une table  → obtenir une API
Créer un service → obtenir des invocations suivies
Définir un rôle  → contrôler l’accès par opération
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Points forts
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;backend low-code ;&lt;/li&gt;
&lt;li&gt;SDK Android, iOS, JavaScript et .NET ;&lt;/li&gt;
&lt;li&gt;rôles de sécurité par opération ;&lt;/li&gt;
&lt;li&gt;suivi au niveau du service ;&lt;/li&gt;
&lt;li&gt;logs d’appels API par méthode, type de client et succès/erreur.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Mauvaise adéquation
&lt;/h3&gt;

&lt;p&gt;Backendless est moins adapté si :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;vous avez déjà une pile backend ;&lt;/li&gt;
&lt;li&gt;vous voulez gérer des API existantes ;&lt;/li&gt;
&lt;li&gt;vous avez besoin d’une conception contract-first ;&lt;/li&gt;
&lt;li&gt;vous voulez éviter le couplage fournisseur ;&lt;/li&gt;
&lt;li&gt;vous cherchez une passerelle API.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Backendless convient surtout aux startups et petites équipes qui veulent éviter de construire un backend complet dès le départ.&lt;/p&gt;

&lt;h2&gt;
  
  
  Moesif (une entreprise WSO2) : analyse et monétisation des API
&lt;/h2&gt;

&lt;p&gt;Moesif est un outil d’observabilité et de monétisation pour les API déjà déployées. Ce n’est ni une passerelle ni un outil de conception.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://wso2.com/library/blogs/wso2-acquires-api-analytics-and-monetization-leader-moesif/" rel="noopener noreferrer"&gt;WSO2 a acquis Moesif en mai 2025&lt;/a&gt; et l’intègre comme couche analytique pour la plateforme Choreo de WSO2. Moesif continue toutefois de fonctionner comme filiale indépendante avec sa propre feuille de route.&lt;/p&gt;

&lt;h3&gt;
  
  
  Ce que Moesif apporte
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;analyse d’utilisation des API ;&lt;/li&gt;
&lt;li&gt;répartition par utilisateur, endpoint et région ;&lt;/li&gt;
&lt;li&gt;détection d’anomalies de trafic ;&lt;/li&gt;
&lt;li&gt;monétisation basée sur l’usage ;&lt;/li&gt;
&lt;li&gt;gestion des plans ;&lt;/li&gt;
&lt;li&gt;tableaux de bord clients ;&lt;/li&gt;
&lt;li&gt;analyse de l’entonnoir et de la rétention des consommateurs d’API.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  À utiliser si
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;vous avez une API publique déjà déployée ;&lt;/li&gt;
&lt;li&gt;vous voulez comprendre qui utilise quoi ;&lt;/li&gt;
&lt;li&gt;vous préparez une tarification usage-based ;&lt;/li&gt;
&lt;li&gt;vous avez besoin de facturation au compteur ;&lt;/li&gt;
&lt;li&gt;vous voulez donner de la visibilité aux clients API.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  À éviter si
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;vous n’avez pas encore d’API publique ;&lt;/li&gt;
&lt;li&gt;vous cherchez une passerelle ;&lt;/li&gt;
&lt;li&gt;vous êtes développeur solo ;&lt;/li&gt;
&lt;li&gt;votre problème principal est la conception ou le test.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Thunder Client : l’extension client REST de VS Code
&lt;/h2&gt;

&lt;p&gt;Thunder Client est une extension VS Code pour envoyer des requêtes HTTP. Son cas d’usage est proche de Postman ou Insomnia, mais directement dans l’éditeur.&lt;/p&gt;

&lt;p&gt;Son classement Niche reflète un périmètre réduit, mais utile : test REST rapide pour développeur individuel.&lt;/p&gt;

&lt;h3&gt;
  
  
  Points forts
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;pas besoin de quitter VS Code ;&lt;/li&gt;
&lt;li&gt;léger et rapide ;&lt;/li&gt;
&lt;li&gt;collections stockées en JSON dans le dépôt ;&lt;/li&gt;
&lt;li&gt;compatible Git ;&lt;/li&gt;
&lt;li&gt;variables d’environnement ;&lt;/li&gt;
&lt;li&gt;scripting et assertions de test de base.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Exemple d’usage typique :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. Coder un endpoint.
2. Lancer l’API en local.
3. Envoyer une requête HTTP depuis VS Code.
4. Vérifier le statut, le body et les headers.
5. Committer la collection JSON avec le code.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Points faibles
&lt;/h3&gt;

&lt;p&gt;Thunder Client n’est pas :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;une plateforme de collaboration d’équipe ;&lt;/li&gt;
&lt;li&gt;un outil de conception API ;&lt;/li&gt;
&lt;li&gt;une passerelle ;&lt;/li&gt;
&lt;li&gt;un serveur de simulation ;&lt;/li&gt;
&lt;li&gt;un générateur de documentation.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Les limites de collaboration sont détaillées dans &lt;a href="http://apidog.com/blog/thunder-client-team-collaboration-limitations?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Thunder Client pour les équipes : limitations de collaboration&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Thunder Client convient si votre définition de la gestion API est : “tester mes endpoints pendant que je code”. Pour une équipe, Apidog couvre ce même workflow de test avec collaboration, conception, simulation et documentation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Comment choisir le bon outil pour votre équipe
&lt;/h2&gt;

&lt;p&gt;Commencez par identifier votre problème principal.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Vous devez concevoir, tester, simuler et documenter
&lt;/h3&gt;

&lt;p&gt;Choisissez Apidog.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Besoin :
- OpenAPI
- tests automatisés
- mock server
- documentation
- collaboration

Outil :
Apidog
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. Vous devez exposer et gouverner des services
&lt;/h3&gt;

&lt;p&gt;Choisissez Traefik Hub ou une passerelle équivalente.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Besoin :
- routage
- auth
- rate limiting
- politiques
- GitOps
- Kubernetes

Outil :
Traefik
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. Vous devez analyser une API déjà en production
&lt;/h3&gt;

&lt;p&gt;Choisissez Moesif.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Besoin :
- analytics
- usage par client
- anomalies
- monétisation
- billing usage-based

Outil :
Moesif
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4. Vous devez connecter des applications SaaS
&lt;/h3&gt;

&lt;p&gt;Choisissez viaSocket.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Besoin :
- webhooks
- automatisations no-code
- connecteurs SaaS
- logique conditionnelle

Outil :
viaSocket
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  5. Vous devez créer un backend rapidement
&lt;/h3&gt;

&lt;p&gt;Choisissez Backendless.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Besoin :
- BaaS
- REST auto-généré
- GraphQL auto-généré
- SDK mobiles/web
- rôles de sécurité

Outil :
Backendless
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  6. Vous devez intégrer WhatsApp Business
&lt;/h3&gt;

&lt;p&gt;Choisissez Rasayel.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Besoin :
- WhatsApp Business
- boîte de réception partagée
- API REST/GraphQL
- webhooks
- intégration CRM

Outil :
Rasayel
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  7. Vous testez seul depuis VS Code
&lt;/h3&gt;

&lt;p&gt;Choisissez Thunder Client.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Besoin :
- requêtes HTTP
- collections locales
- environnement VS Code
- tests simples

Outil :
Thunder Client
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Matrice de décision rapide
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Si votre priorité est…&lt;/th&gt;
&lt;th&gt;Commencez par…&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Conception + tests + mocks + docs&lt;/td&gt;
&lt;td&gt;Apidog&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Passerelle API cloud-native&lt;/td&gt;
&lt;td&gt;Traefik&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Automatisation SaaS no-code&lt;/td&gt;
&lt;td&gt;viaSocket&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WhatsApp Business&lt;/td&gt;
&lt;td&gt;Rasayel&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Backend sans construire l’infra&lt;/td&gt;
&lt;td&gt;Backendless&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Analytics et monétisation API&lt;/td&gt;
&lt;td&gt;Moesif&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Test REST solo dans VS Code&lt;/td&gt;
&lt;td&gt;Thunder Client&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Pour aller plus loin, consultez l’&lt;a href="http://apidog.com/blog/api-testing-tool-team-50-engineers?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;outil de test API pour une équipe de 50 ingénieurs&lt;/a&gt; et la &lt;a href="http://apidog.com/blog/api-platform-design-first-api-workflow?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;comparaison de plateformes API axées sur la conception&lt;/a&gt; entre Apidog, Stoplight et SwaggerHub.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ce que vous apprend la grille Printemps 2026
&lt;/h2&gt;

&lt;p&gt;Les sept outils de la grille G2 Printemps 2026 de gestion des API ne se concurrencent pas tous directement. Ils ciblent des couches différentes de la pile API.&lt;/p&gt;

&lt;p&gt;À retenir :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Apidog et viaSocket sont Leaders, mais ne résolvent pas le même problème.&lt;/li&gt;
&lt;li&gt;Apidog couvre le cycle de vie API : conception, test, simulation, documentation.&lt;/li&gt;
&lt;li&gt;viaSocket cible l’intégration no-code entre applications SaaS.&lt;/li&gt;
&lt;li&gt;Traefik est pertinent pour les passerelles et la gouvernance GitOps.&lt;/li&gt;
&lt;li&gt;Rasayel est spécialisé WhatsApp Business.&lt;/li&gt;
&lt;li&gt;Backendless est utile si vous voulez générer un backend et ses API.&lt;/li&gt;
&lt;li&gt;Moesif est fort sur l’analytics, l’observabilité et la monétisation.&lt;/li&gt;
&lt;li&gt;Thunder Client reste efficace pour tester des endpoints seul dans VS Code.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Une pile API pragmatique peut ressembler à ceci :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Apidog        → design-first, tests, mocks, documentation
Traefik       → gateway, routage, politiques
Moesif        → analytics, usage, monétisation
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Si votre équipe passe du temps sur la conception, les tests, la simulation et la documentation, commencez par &lt;a href="https://apidog.com/?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt;. Vous pouvez &lt;a href="https://apidog.com/download?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;télécharger Apidog&lt;/a&gt; et importer une API depuis Postman en quelques minutes.&lt;/p&gt;

&lt;p&gt;Pour le côté passerelle, consultez aussi le &lt;a href="http://apidog.com/blog/best-api-gateways?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;top 10 des passerelles API pour les développeurs en 2026&lt;/a&gt;.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Comment Déboguer le Protocole Agent-to-Agent (A2A) avec le Débogueur A2A d'Apidog</title>
      <dc:creator>Antoine Laurent</dc:creator>
      <pubDate>Fri, 15 May 2026 04:26:57 +0000</pubDate>
      <link>https://forem.com/antoine_laurentt/comment-deboguer-le-protocole-agent-to-agent-a2a-avec-le-debogueur-a2a-dapidog-cka</link>
      <guid>https://forem.com/antoine_laurentt/comment-deboguer-le-protocole-agent-to-agent-a2a-avec-le-debogueur-a2a-dapidog-cka</guid>
      <description>&lt;p&gt;Si vous construisez des agents IA qui communiquent avec d'autres agents IA, le premier blocage est souvent l'observabilité : difficile de voir exactement ce qu'un agent envoie, reçoit et interprète. Les journaux de console sont incomplets, les onglets réseau masquent souvent les champs structurés, et les scripts de test maison deviennent vite fragiles. Le Débogueur A2A d'Apidog fournit une boucle de test directe pour le protocole Agent2Agent (A2A) : collez une URL de Carte d'Agent, cliquez sur &lt;strong&gt;Connecter&lt;/strong&gt;, envoyez un message, puis inspectez la réponse dans trois vues.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apidog.com/?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation" class="crayons-btn crayons-btn--primary"&gt;Essayez Apidog aujourd’hui&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Ce guide montre comment utiliser le Débogueur A2A, connecter un premier agent, envoyer une requête de test, lire la réponse brute, gérer l'authentification et l'intégrer à vos tests MCP existants dans Apidog. Si vous avez besoin du contexte protocolaire, commencez par le guide &lt;a href="http://apidog.com/blog/mcp-server-vs-a2a?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;MCP vs A2A d'Apidog&lt;/a&gt;, puis revenez à cette procédure.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ce qu'est l'A2A en bref
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/a2aproject/A2A" rel="noopener noreferrer"&gt;A2A, pour Agent2Agent&lt;/a&gt;, est un protocole ouvert pour la communication entre agents. Il définit comment un agent publie ses capacités via une Carte d'Agent, comment un autre agent s'y connecte, comment les messages et pièces jointes sont échangés, et comment l'état des tâches est rapporté.&lt;/p&gt;

&lt;p&gt;Vous pouvez le voir comme une couche de transport standardisée pour les échanges agent-à-agent. Par exemple, un agent LangGraph dans un pipeline de données peut appeler un agent CrewAI géré par une autre équipe sans connaître son implémentation interne.&lt;/p&gt;

&lt;p&gt;A2A est différent du MCP, ou Model Context Protocol. Le MCP sert à connecter un agent à des outils, ressources ou prompts. L'A2A sert à connecter des agents entre eux. Pour comparer les deux usages, consultez le &lt;a href="http://apidog.com/blog/mcp-server-vs-a2a?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;comparatif MCP vs A2A&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ce que permet le Débogueur A2A
&lt;/h2&gt;

&lt;p&gt;Le &lt;a href="https://docs.apidog.com/a2a-debugger-2152018m0?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Débogueur A2A&lt;/a&gt; est intégré à &lt;a href="https://apidog.com?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt;. Il sert à tester un point d'accès A2A avant de l'intégrer dans un workflow multi-agent.&lt;/p&gt;

&lt;p&gt;Fonctionnalités principales :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Connexion via Carte d'Agent&lt;/strong&gt; : collez l'URL de la carte, connectez-vous, puis vérifiez le nom, la description, les capacités, les compétences déclarées et la version du protocole.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Validation rapide du manifeste&lt;/strong&gt; : si la Carte d'Agent est mal formée, la connexion échoue explicitement, ce qui permet de corriger le manifeste plutôt que de déboguer un faux problème réseau.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Envoi de messages&lt;/strong&gt; : saisissez du texte, ajoutez des fichiers si l'agent les accepte, et transmettez des métadonnées personnalisées.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Trois vues de réponse&lt;/strong&gt; : utilisez l'aperçu structuré, le contenu lisible et les données brutes JSON-RPC.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Authentification intégrée&lt;/strong&gt; : configurez un jeton Bearer, une authentification basique ou une clé API via en-tête personnalisé.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;En-têtes personnalisés&lt;/strong&gt; : ajoutez des valeurs attendues par une passerelle, un proxy ou un middleware.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Historique de session&lt;/strong&gt; : revenez sur les messages envoyés pendant la session de test.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Vous n'avez pas besoin d'écrire de commande &lt;code&gt;curl&lt;/code&gt;. Apidog gère l'enveloppe JSON-RPC, le streaming SSE lorsque l'agent le prend en charge, et l'analyse de la réponse.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F42d74nwa2mulcrb1wdqz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F42d74nwa2mulcrb1wdqz.png" alt="Débogueur A2A dans Apidog" width="800" height="438"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Étape 1 : connectez-vous à votre premier agent A2A
&lt;/h2&gt;

&lt;p&gt;Avant d'ouvrir le débogueur, préparez ces éléments :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Un client Apidog à jour&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Les versions anciennes ne contiennent pas le Débogueur A2A. Si nécessaire, &lt;a href="https://apidog.com/download?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;téléchargez Apidog&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Une URL de Carte d'Agent&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
C'est le point d'entrée standard d'un agent compatible A2A. En local, elle ressemble souvent à ceci :&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   http://localhost:3000/.well-known/agent.json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pour un agent hébergé, utilisez l'URL fournie par votre plateforme ou votre équipe d'infrastructure.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Des identifiants si l'agent est protégé&lt;/strong&gt;
Préparez le jeton Bearer, la clé API ou les identifiants d'authentification basique.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Ensuite :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Ouvrez Apidog.&lt;/li&gt;
&lt;li&gt;Accédez au Débogueur A2A.&lt;/li&gt;
&lt;li&gt;Collez l'URL de la Carte d'Agent.&lt;/li&gt;
&lt;li&gt;Configurez l'authentification si nécessaire.&lt;/li&gt;
&lt;li&gt;Cliquez sur &lt;strong&gt;Connecter&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Si l'agent répond avec une Carte d'Agent valide, le statut passe à &lt;strong&gt;Connecté&lt;/strong&gt;. Le panneau affiche alors les métadonnées de l'agent : nom, description, capacités, compétences déclarées et version du protocole.&lt;/p&gt;

&lt;h3&gt;
  
  
  Dépanner une connexion échouée
&lt;/h3&gt;

&lt;p&gt;Si la connexion échoue, vérifiez d'abord ces points :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;URL incorrecte ou agent arrêté&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Ouvrez l'URL dans un navigateur ou testez-la avec un client HTTP. Vous devez recevoir une charge utile JSON.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Carte d'Agent invalide&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Comparez votre manifeste à la &lt;a href="https://github.com/google/A2A" rel="noopener noreferrer"&gt;spécification A2A sur GitHub&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Authentification requise sur le point de découverte&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Certains agents protègent aussi l'URL de la Carte d'Agent. Configurez l'authentification dans Apidog avant de cliquer sur &lt;strong&gt;Connecter&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Étape 2 : envoyez un message de test
&lt;/h2&gt;

&lt;p&gt;Une fois connecté, ouvrez l'onglet &lt;strong&gt;Messages&lt;/strong&gt; et envoyez une requête minimale. Commencez simple afin de valider le transport avant de tester la logique métier.&lt;/p&gt;

&lt;p&gt;Exemple de message :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Summarize the last three customer feedback notes in our shared knowledge base, then draft a one-paragraph reply for the support team.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Avant de cliquer sur &lt;strong&gt;Envoyer&lt;/strong&gt;, vous pouvez ajouter :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Une pièce jointe&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Cliquez sur l'icône de trombone et sélectionnez un fichier. Le débogueur vérifie les types d'entrée déclarés par l'agent et bloque les fichiers non pris en charge avant l'envoi.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Des métadonnées personnalisées&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Ajoutez des paires clé-valeur comme :&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  priority: high
  tenant: acme-corp
  locale: fr-FR
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ces métadonnées sont intégrées à l'enveloppe de requête A2A. Elles seront visibles par l'agent si son gestionnaire les lit.&lt;/p&gt;

&lt;p&gt;Cliquez ensuite sur &lt;strong&gt;Envoyer&lt;/strong&gt;. Apidog construit la structure du message A2A, l'envoie à l'agent et attend la réponse.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fai3jv0dp8kilxqg0bfjt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fai3jv0dp8kilxqg0bfjt.png" alt="Envoi d'un message A2A dans Apidog" width="800" height="438"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Étape 3 : inspectez la réponse
&lt;/h2&gt;

&lt;p&gt;Une réponse A2A peut contenir du texte, du JSON structuré, des références de fichiers, des artefacts ou un mélange de plusieurs formats. Le débogueur expose trois vues complémentaires.&lt;/p&gt;

&lt;h3&gt;
  
  
  Vue Aperçu
&lt;/h3&gt;

&lt;p&gt;La vue &lt;strong&gt;Aperçu&lt;/strong&gt; affiche les champs structurés sous forme d'arbre. Utilisez-la pour vérifier rapidement :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;l'ID de tâche ;&lt;/li&gt;
&lt;li&gt;le statut ;&lt;/li&gt;
&lt;li&gt;les artefacts ;&lt;/li&gt;
&lt;li&gt;les messages intermédiaires ;&lt;/li&gt;
&lt;li&gt;l'historique ;&lt;/li&gt;
&lt;li&gt;les champs imbriqués.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Vue Contenu
&lt;/h3&gt;

&lt;p&gt;La vue &lt;strong&gt;Contenu&lt;/strong&gt; affiche la partie lisible par un humain. Si l'agent renvoie du texte, c'est généralement cette sortie que vous pourriez afficher dans une interface utilisateur.&lt;/p&gt;

&lt;p&gt;Si la réponse contient un artefact structuré avec une partie &lt;code&gt;text/plain&lt;/code&gt;, Apidog affiche le texte extrait.&lt;/p&gt;

&lt;h3&gt;
  
  
  Vue Données brutes
&lt;/h3&gt;

&lt;p&gt;La vue &lt;strong&gt;Données brutes&lt;/strong&gt; affiche la charge utile JSON-RPC complète. C'est la vue à utiliser pour :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;vérifier les noms exacts des champs ;&lt;/li&gt;
&lt;li&gt;comparer la réponse à la spécification ;&lt;/li&gt;
&lt;li&gt;repérer les erreurs d'échappement ;&lt;/li&gt;
&lt;li&gt;copier une réponse dans un rapport de bug ;&lt;/li&gt;
&lt;li&gt;confirmer si le problème vient du transport ou de la logique de l'agent.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Exemple de réflexe utile : lors du premier test, commencez par les &lt;strong&gt;Données brutes&lt;/strong&gt;, pas par l'aperçu. Vous voyez ainsi exactement ce que l'agent a émis.&lt;/p&gt;

&lt;p&gt;Si l'aperçu semble correct mais que le contenu est vide, l'agent renvoie probablement un artefact typé qu'Apidog peut afficher sous forme structurée, mais pas aplatir en texte.&lt;/p&gt;

&lt;p&gt;Si les données brutes contiennent une erreur, commencez par le champ :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"error"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"message"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"..."&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;L'historique de session se trouve dans le panneau de gauche. Chaque message envoyé devient un tour consultable. Cliquez sur &lt;strong&gt;Effacer&lt;/strong&gt; quand vous démarrez un nouveau test afin d'éviter que du contexte obsolète influence l'agent.&lt;/p&gt;

&lt;h2&gt;
  
  
  Authentification : trois schémas courants
&lt;/h2&gt;

&lt;p&gt;La plupart des points d'accès A2A en production sont protégés. Le débogueur prend en charge les schémas suivants.&lt;/p&gt;

&lt;h3&gt;
  
  
  Jeton Bearer
&lt;/h3&gt;

&lt;p&gt;Utilisez ce mode pour les agents hébergés ou les environnements protégés par un token.&lt;/p&gt;

&lt;p&gt;Dans le panneau d'authentification :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Sélectionnez &lt;strong&gt;Jeton Bearer&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Collez le jeton.&lt;/li&gt;
&lt;li&gt;Envoyez la requête.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Apidog ajoute l'en-tête suivant à chaque requête :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight http"&gt;&lt;code&gt;&lt;span class="err"&gt;Authorization: Bearer sk-agent-7f3e9a...
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Authentification basique
&lt;/h3&gt;

&lt;p&gt;Utilisez ce mode pour des agents internes ou des systèmes hérités protégés par nom d'utilisateur et mot de passe.&lt;/p&gt;

&lt;p&gt;Dans Apidog :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Sélectionnez &lt;strong&gt;Authentification basique&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Saisissez le nom d'utilisateur.&lt;/li&gt;
&lt;li&gt;Saisissez le mot de passe.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Apidog calcule automatiquement l'en-tête &lt;code&gt;Authorization: Basic ...&lt;/code&gt; encodé en base64.&lt;/p&gt;

&lt;h3&gt;
  
  
  Clé API via en-tête personnalisé
&lt;/h3&gt;

&lt;p&gt;Certains agents attendent un en-tête non standard, par exemple :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight http"&gt;&lt;code&gt;&lt;span class="err"&gt;X-Agent-Key: your-api-key
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Dans ce cas :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Ouvrez la section &lt;strong&gt;En-têtes&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Ajoutez le nom de l'en-tête.&lt;/li&gt;
&lt;li&gt;Ajoutez sa valeur.&lt;/li&gt;
&lt;li&gt;Relancez la connexion ou le message.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Le même mécanisme fonctionne pour des en-têtes de passerelle, des identifiants de locataire, des jetons CSRF ou des signatures de requête.&lt;/p&gt;

&lt;p&gt;Pour aller plus loin sur la gestion des secrets côté agents, consultez le &lt;a href="http://apidog.com/blog/secure-ai-agent-api-credentials?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide des identifiants d'agent IA d'Apidog&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  En-têtes personnalisés ou métadonnées : lequel utiliser ?
&lt;/h2&gt;

&lt;p&gt;Deux mécanismes permettent d'ajouter du contexte à une requête A2A, mais ils ne se situent pas au même niveau.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Canal&lt;/th&gt;
&lt;th&gt;Où cela réside&lt;/th&gt;
&lt;th&gt;Utilisation&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;En-têtes personnalisés&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;En-têtes HTTP&lt;/td&gt;
&lt;td&gt;Authentification de passerelle, observabilité, &lt;code&gt;X-Request-Id&lt;/code&gt;, feature flags&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Métadonnées&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Charge utile du message A2A&lt;/td&gt;
&lt;td&gt;Contexte lu par l'agent : priorité, locataire, locale&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Règle pratique :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;si un proxy inverse, une passerelle API ou un middleware doit lire la valeur, utilisez un &lt;strong&gt;en-tête&lt;/strong&gt; ;&lt;/li&gt;
&lt;li&gt;si le gestionnaire de tâche de l'agent doit lire la valeur, utilisez les &lt;strong&gt;métadonnées&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Beaucoup de bugs du type “l'agent ignore mon indice” viennent d'une confusion entre ces deux couches.&lt;/p&gt;

&lt;h2&gt;
  
  
  Débogueur A2A vs test de serveur MCP dans Apidog
&lt;/h2&gt;

&lt;p&gt;Apidog propose à la fois un &lt;a href="http://apidog.com/blog/apidog-april-updates-ai-agent-a2a-debugger-easier-postman-migration?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;débogueur A2A et un flux de test MCP&lt;/a&gt;. Les deux outils ciblent des protocoles différents.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Outil&lt;/th&gt;
&lt;th&gt;Protocole&lt;/th&gt;
&lt;th&gt;Ce que vous testez&lt;/th&gt;
&lt;th&gt;Quand l'utiliser&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Débogueur A2A&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Agent2Agent&lt;/td&gt;
&lt;td&gt;Connectivité, échange de messages, statut de tâche&lt;/td&gt;
&lt;td&gt;Quand des agents appellent d'autres agents&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Test de serveur MCP&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Model Context Protocol&lt;/td&gt;
&lt;td&gt;Appels d'outils, accès aux ressources, modèles de prompts&lt;/td&gt;
&lt;td&gt;Quand un serveur MCP expose des outils ou ressources à un agent&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;En résumé :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;le &lt;strong&gt;MCP&lt;/strong&gt; permet à un agent d'accéder à des systèmes externes ;&lt;/li&gt;
&lt;li&gt;l'&lt;strong&gt;A2A&lt;/strong&gt; permet à un agent de parler à un autre agent.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Si vous hésitez entre les deux, le &lt;a href="http://apidog.com/blog/mcp-server-vs-a2a?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide MCP vs A2A&lt;/a&gt; clarifie les cas d'usage.&lt;/p&gt;

&lt;p&gt;Pour la partie MCP du workflow, le &lt;a href="http://apidog.com/blog/mcp-server-testing-apidog?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;manuel de test de serveur MCP&lt;/a&gt; couvre les tests manuels et automatisés dans Apidog. Dans la pratique, de nombreuses équipes utilisent les deux : A2A pour la coordination entre agents, MCP pour l'accès aux outils.&lt;/p&gt;

&lt;h2&gt;
  
  
  Boucle de débogage recommandée
&lt;/h2&gt;

&lt;p&gt;Quand un agent “ne répond pas comme prévu”, évitez de tout déboguer en même temps. Isolez d'abord le transport, puis la logique.&lt;/p&gt;

&lt;p&gt;Procédure :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Ouvrez le Débogueur A2A.&lt;/li&gt;
&lt;li&gt;Connectez-vous à l'agent.&lt;/li&gt;
&lt;li&gt;Vérifiez que la Carte d'Agent expose bien la compétence attendue.&lt;/li&gt;
&lt;li&gt;Envoyez le message le plus simple possible qui devrait déclencher cette compétence.&lt;/li&gt;
&lt;li&gt;Commencez avec du texte brut uniquement.&lt;/li&gt;
&lt;li&gt;Ajoutez les fichiers et les métadonnées seulement après validation du chemin texte.&lt;/li&gt;
&lt;li&gt;Lisez d'abord les &lt;strong&gt;Données brutes&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Vérifiez si la réponse contient les champs attendus.&lt;/li&gt;
&lt;li&gt;Si un champ manque, cherchez côté code de l'agent.&lt;/li&gt;
&lt;li&gt;Si la réponse est bien formée mais incorrecte, cherchez côté prompt, modèle ou logique métier.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Cette approche reprend le même principe que dans l'article &lt;a href="http://apidog.com/blog/how-to-test-ai-agents-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Comment tester les agents IA qui appellent vos API&lt;/a&gt; : valider le câblage avant de déboguer le raisonnement.&lt;/p&gt;

&lt;h2&gt;
  
  
  Où l'intégrer dans votre workflow IA
&lt;/h2&gt;

&lt;p&gt;Les systèmes multi-agents rendent le trafic agent-à-agent aussi important que le trafic API classique. L'article &lt;a href="http://apidog.com/blog/ai-agents-new-api-consumers?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Les agents IA sont les nouveaux consommateurs d'API&lt;/a&gt; explique pourquoi il faut traiter ce trafic comme un cas d'usage de premier niveau.&lt;/p&gt;

&lt;p&gt;Le guide &lt;a href="http://apidog.com/blog/design-apis-ai-agents?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Concevoir des API pour les agents IA&lt;/a&gt; détaille aussi ce qui change quand le consommateur d'une API est un agent piloté par LLM plutôt qu'un développeur humain.&lt;/p&gt;

&lt;p&gt;Le Débogueur A2A se place au même niveau que le &lt;a href="http://apidog.com/blog/from-apis-to-ai-agents-visual-debugging-with-apidog-mcp-client?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;débogueur visuel client MCP&lt;/a&gt; d'Apidog. Dans les deux cas, l'objectif est de rendre visible un trafic souvent caché dans les SDK d'agents.&lt;/p&gt;

&lt;p&gt;Le workflow devient :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;connecter l'agent ;&lt;/li&gt;
&lt;li&gt;envoyer une requête minimale ;&lt;/li&gt;
&lt;li&gt;inspecter la réponse brute ;&lt;/li&gt;
&lt;li&gt;corriger le contrat, les métadonnées ou le code ;&lt;/li&gt;
&lt;li&gt;répéter avant la mise en production.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://apidog.com?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt; est gratuit à télécharger, et le Débogueur A2A est inclus dans le client standard.&lt;/p&gt;

&lt;h2&gt;
  
  
  Questions fréquentes
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Le Débogueur A2A est-il gratuit ?
&lt;/h3&gt;

&lt;p&gt;Oui. Il est fourni avec le client Apidog standard. &lt;a href="https://apidog.com/download?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Téléchargez Apidog&lt;/a&gt;, puis ouvrez le panneau latéral dans une version récente du client.&lt;/p&gt;

&lt;h3&gt;
  
  
  Fonctionne-t-il avec des agents écrits dans n'importe quel framework ?
&lt;/h3&gt;

&lt;p&gt;Oui, tant que l'agent expose une Carte d'Agent A2A valide. Le protocole est agnostique au framework. Des agents LangGraph, CrewAI, AutoGen, Python ou Go personnalisés peuvent donc être testés s'ils respectent la spécification A2A.&lt;/p&gt;

&lt;h3&gt;
  
  
  Puis-je enregistrer les sessions pour les rejouer plus tard ?
&lt;/h3&gt;

&lt;p&gt;Les sessions persistent tant que le débogueur est ouvert. Pour une conservation longue durée, copiez la sortie &lt;strong&gt;Données brutes&lt;/strong&gt; et enregistrez-la dans vos artefacts de test. L'exportation complète des sessions est prévue sur la feuille de route.&lt;/p&gt;

&lt;h3&gt;
  
  
  Comment le débogueur gère-t-il les réponses en streaming ?
&lt;/h3&gt;

&lt;p&gt;Lorsque l'agent prend en charge le streaming SSE selon la spécification A2A, le débogueur lit les morceaux au fur et à mesure de leur arrivée et met à jour les vues &lt;strong&gt;Aperçu&lt;/strong&gt; et &lt;strong&gt;Contenu&lt;/strong&gt; en temps réel. Les &lt;strong&gt;Données brutes&lt;/strong&gt; affichent la réponse assemblée lorsque le flux se ferme.&lt;/p&gt;

&lt;h3&gt;
  
  
  Quelle est la différence entre les métadonnées et les en-têtes ?
&lt;/h3&gt;

&lt;p&gt;Les en-têtes sont au niveau HTTP. Les métadonnées sont au niveau du message A2A.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Les en-têtes sont lus par la passerelle, le proxy ou le middleware.&lt;/li&gt;
&lt;li&gt;Les métadonnées sont lues par le gestionnaire de tâche de l'agent.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Apidog enregistre-t-il les réponses de l'agent sur ses serveurs ?
&lt;/h3&gt;

&lt;p&gt;Non. Apidog fonctionne comme un client local. Le trafic entre votre machine et l'agent ne transite pas par l'infrastructure Apidog.&lt;/p&gt;

&lt;h3&gt;
  
  
  Puis-je tester un agent hébergé sur un autre réseau ?
&lt;/h3&gt;

&lt;p&gt;Oui, si le chemin réseau est ouvert. Le débogueur effectue des requêtes HTTPS sortantes comme un client HTTP classique. Si votre agent est derrière un VPN, activez ce VPN avant de tester.&lt;/p&gt;

&lt;h3&gt;
  
  
  Où signaler des bugs ou demander des fonctionnalités ?
&lt;/h3&gt;

&lt;p&gt;Utilisez le canal de feedback d'Apidog pour les demandes liées au produit. Pour les sujets de spécification, le &lt;a href="https://github.com/google/A2A" rel="noopener noreferrer"&gt;référentiel GitHub du protocole A2A&lt;/a&gt; est l'endroit où suivre l'évolution du protocole.&lt;/p&gt;

&lt;h2&gt;
  
  
  Essayez maintenant
&lt;/h2&gt;

&lt;p&gt;Prenez l'agent A2A le plus simple auquel vous avez accès. Si vous n'en avez pas encore, les &lt;a href="https://google.github.io/A2A/" rel="noopener noreferrer"&gt;implémentations de référence A2A&lt;/a&gt; incluent un serveur d'exemple que vous pouvez exécuter localement en quelques minutes.&lt;/p&gt;

&lt;p&gt;Ensuite :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;lancez l'agent ;&lt;/li&gt;
&lt;li&gt;ouvrez sa Carte d'Agent ;&lt;/li&gt;
&lt;li&gt;copiez l'URL dans le Débogueur A2A d'Apidog ;&lt;/li&gt;
&lt;li&gt;envoyez un message &lt;code&gt;bonjour&lt;/code&gt; ;&lt;/li&gt;
&lt;li&gt;inspectez les vues &lt;strong&gt;Aperçu&lt;/strong&gt;, &lt;strong&gt;Contenu&lt;/strong&gt; et &lt;strong&gt;Données brutes&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;C'est la plus petite boucle A2A de bout en bout. Une fois cette boucle validée, ajoutez progressivement des prompts réels, des pièces jointes, des métadonnées et des workflows multi-agents.&lt;/p&gt;

&lt;p&gt;Associez le Débogueur A2A à &lt;a href="https://apidog.com?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt; pour le reste de vos tests API et MCP, et vous obtenez une interface unique pour les trois couches utilisées par de nombreux systèmes d'agents : HTTP, MCP et A2A.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
