{"id":12235,"date":"2025-03-11T20:27:18","date_gmt":"2025-03-11T20:27:18","guid":{"rendered":"https:\/\/news.dream.press\/news\/?post_type=announcement&#038;p=12235"},"modified":"2025-06-12T16:15:37","modified_gmt":"2025-06-12T16:15:37","slug":"comment-nous-avons-cree-273-tests-unitaires-en-3-jours-sans-ecrire-une-seule-ligne-de-code-fr","status":"publish","type":"announcement","link":"https:\/\/news.dream.press\/news\/fr\/announcements-fr\/comment-nous-avons-cree-273-tests-unitaires-en-3-jours-sans-ecrire-une-seule-ligne-de-code-fr\/","title":{"rendered":"Comment Nous Avons Cr\u00e9\u00e9 273 Tests Unitaires en 3 Jours Sans \u00c9crire Une Seule Ligne de Code"},"content":{"rendered":"\n<p><em>Ce billet est la <strong>Partie 3<\/strong> d&#8217;une s\u00e9rie en 4 parties. Assure-toi de consulter les autres billets de la s\u00e9rie pour approfondir notre <strong>g\u00e9n\u00e9rateur de plans d&#8217;affaires pilot\u00e9 par IA<\/strong>.<br>Partie 1 : <a href=\"https:\/\/www.dreamhost.com\/news\/announcements\/how-we-built-an-ai-powered-business-plan-generator-using-langgraph-langchain\/\">Comment nous avons construit un g\u00e9n\u00e9rateur de plans d&#8217;affaires pilot\u00e9 par IA en utilisant LangGraph &amp; LangChain<\/a><br>Partie 2 : <a href=\"https:\/\/www.dreamhost.com\/news\/announcements\/how-we-optimized-ai-business-plan-generation-speed-vs-quality-trade-offs\/\">Comment nous avons optimis\u00e9 la g\u00e9n\u00e9ration de plans d&#8217;affaires IA : Vitesse contre qualit\u00e9<\/a><br>Partie 3 : <a href=\"https:\/\/www.dreamhost.com\/news\/announcements\/how-we-created-273-unit-tests-in-3-days-without-writing-a-single-line-of-code\/\">Comment nous avons cr\u00e9\u00e9 273 tests unitaires en 3 jours sans \u00e9crire une seule ligne de code<\/a><br>Partie 4 : <a href=\"https:\/\/www.dreamhost.com\/news\/announcements\/ai-evaluation-framework-how-we-built-a-system-to-score-and-improve-ai-generated-business-plans\/\">Cadre d&#8217;\u00e9valuation IA \u2014 Comment nous avons construit un syst\u00e8me pour \u00e9valuer et am\u00e9liorer les plans d&#8217;affaires g\u00e9n\u00e9r\u00e9s par IA<\/a><\/em><\/p>\n\n\n<p>Dans le paysage en \u00e9volution rapide du d\u00e9veloppement logiciel, le r\u00f4le de l&#8217;intelligence artificielle s&#8217;\u00e9tend au-del\u00e0 de la g\u00e9n\u00e9ration de code pour englober l&#8217;automatisation des tests. Au cours d&#8217;une p\u00e9riode intensive de trois jours en f\u00e9vrier 2025, nous avons men\u00e9 un projet de recherche approfondi chez DreamHost \u00e9valuant \u00e0 quel point l&#8217;IA peut \u00e9crire de mani\u00e8re autonome des tests unitaires avec une intervention humaine minimale. Cet article partage les principales d\u00e9couvertes, m\u00e9triques et perspectives qui pourraient red\u00e9finir notre approche de l&#8217;automatisation des tests.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"ef1b\">Le Principe de la Recherche<\/h2>\n\n\n<p id=\"e5e9\">L&#8217;objectif principal \u00e9tait clair : \u00e9valuer si l&#8217;IA peut cr\u00e9er de mani\u00e8re fiable des tests unitaires de qualit\u00e9 de production sans aucune \u00e9criture de code humain. Ce n&#8217;\u00e9tait pas simplement un exercice acad\u00e9mique \u2014 chez DreamHost, nous appliquons l&#8217;IA pour d\u00e9cupler par \u00ab 100000x \u00bb notre productivit\u00e9 dans le projet de <a href=\"https:\/\/www.dreamhost.com\/news\/announcements\/how-we-built-an-ai-powered-business-plan-generator-using-langgraph-langchain\/\">Planificateur d\u2019entreprise IA<\/a>, et cette recherche \u00e9tait con\u00e7ue pour repousser encore plus ces limites. Cette approche repr\u00e9sente un changement significatif par rapport aux flux de travail de tests unitaires traditionnels et pourrait avoir un impact consid\u00e9rable sur la productivit\u00e9 du d\u00e9veloppement.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"687f\">Param\u00e8tres du projet<\/h2>\n\n\n<p id=\"5351\">Pour cette recherche, nous avons \u00e9tabli une m\u00e9thodologie structur\u00e9e :<\/p>\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Entr\u00e9e IA<\/strong> : Fournis \u00e0 l&#8217;IA le code source, des fichiers d&#8217;essai exemples montrant les motifs\/styles, les exigences de test, et le contexte de l&#8217;environnement de d\u00e9veloppement<\/li>\n\n\n\n<li><strong>Limites Humaines<\/strong> : Limite l&#8217;input humain aux clarifications, \u00e0 la correction des id\u00e9es fausses, et \u00e0 la fourniture du contexte manquant \u2014 sans \u00e9criture directe de code<\/li>\n\n\n\n<li><strong>Concentration sur la Mesure<\/strong> : Suit le temps jusqu&#8217;\u00e0 l&#8217;ach\u00e8vement, les it\u00e9rations n\u00e9cessaires, les types d&#8217;erreurs rencontr\u00e9es, la qualit\u00e9 de la sortie, la couverture atteinte, et l&#8217;effort humain requis<\/li>\n\n\n<\/ol>\n\n\n<p id=\"8a58\">Nos crit\u00e8res de succ\u00e8s \u00e9taient ambitieux mais n\u00e9cessaires pour l&#8217;applicabilit\u00e9 en production :<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li>Couverture des tests \u00e0 100%<\/li>\n\n\n\n<li>Impl\u00e9mentation s\u00fbre de type<\/li>\n\n\n\n<li>Adh\u00e9sion aux meilleures pratiques de test<\/li>\n\n\n\n<li>Intervention humaine minimale<\/li>\n\n\n\n<li>D\u00e9lai de r\u00e9alisation raisonnable<\/li>\n\n\n\n<li>Code de test maintenable<\/li>\n\n\n<\/ul>\n\n\n<h2 class=\"wp-block-heading\" id=\"043e\">Principales D\u00e9couvertes de l&#8217;\u00c9tude<\/h2>\n\n\n<p id=\"a078\">En seulement trois jours, notre \u00e9quipe a ajout\u00e9 273 nouveaux tests au projet de Planificateur d\u2019entreprise IA, augmentant consid\u00e9rablement notre couverture de test. Apr\u00e8s avoir analys\u00e9 plusieurs impl\u00e9mentations de test g\u00e9n\u00e9r\u00e9es par IA \u00e0 travers diff\u00e9rents services et composants, plusieurs mod\u00e8les ont \u00e9merg\u00e9 qui fournissent des aper\u00e7us pr\u00e9cieux sur l&#8217;\u00e9tat actuel des tests unitaires pilot\u00e9s par l&#8217;IA.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"61b9\">1. Mesures D&#8217;efficacit\u00e9<\/h3>\n\n\n<p id=\"2612\">L&#8217;une des d\u00e9couvertes les plus frappantes a \u00e9t\u00e9 la r\u00e9duction spectaculaire du temps de mise en \u0153uvre :<\/p>\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"240\" src=\"https:\/\/www.dreamhost.com\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code-1024x240.jpeg\" alt=\"\" class=\"wp-image-9513\" srcset=\"https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code-1024x240.jpeg 1024w, https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code-300x70.jpeg 300w, https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code-768x180.jpeg 768w, https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code-1536x360.jpeg 1536w, https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code-96x23.jpeg 96w, https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code-192x45.jpeg 192w, https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code-682x160.jpeg 682w, https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code-1364x320.jpeg 1364w, https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code-512x120.jpeg 512w, https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code-540x127.jpeg 540w, https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code-1080x253.jpeg 1080w, https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code-877x206.jpeg 877w, https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code-784x184.jpeg 784w, https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code-1568x368.jpeg 1568w, https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code-1598x375.jpeg 1598w, https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code-460x108.jpeg 460w, https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code-920x216.jpeg 920w, https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code.jpeg 1748w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n<p id=\"bb4f\">Les \u00e9conomies de temps sont substantielles \u2014 la plupart des impl\u00e9mentations de test ont \u00e9t\u00e9 compl\u00e9t\u00e9es en moins de 10 minutes, avec un \u00e9quivalent humain estim\u00e9 \u00e0 30\u201360 minutes pour la m\u00eame t\u00e2che. Cela repr\u00e9sente une augmentation potentielle de la productivit\u00e9 de 4 \u00e0 6 fois pour la r\u00e9daction de tests routiniers.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"4b76\">2. Les Forces Du Test IA<\/h3>\n\n\n<p id=\"f1cb\">\u00c0 travers plusieurs impl\u00e9mentations, certaines capacit\u00e9s IA se sont constamment d\u00e9marqu\u00e9es :<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Couverture Compl\u00e8te<\/strong> : L&#8217;IA a constamment atteint une couverture de code de 96 \u00e0 100 % \u00e0 travers diff\u00e9rentes complexit\u00e9s de services<\/li>\n\n\n\n<li><strong>Reconnaissance de Mod\u00e8les<\/strong> : L&#8217;IA a excell\u00e9 \u00e0 reconna\u00eetre les mod\u00e8les de tests \u00e0 partir d&#8217;exemples et \u00e0 les appliquer de mani\u00e8re constante<\/li>\n\n\n\n<li><strong>Adaptation aux Retours<\/strong> : La plupart des erreurs pouvaient \u00eatre r\u00e9solues avec un minimum de clarifications<\/li>\n\n\n\n<li><strong>Impl\u00e9mentation de Simulations<\/strong> : L&#8217;IA a d\u00e9montr\u00e9 de solides capacit\u00e9s \u00e0 cr\u00e9er des simulations et des dispositifs de test appropri\u00e9s<\/li>\n\n\n\n<li><strong>Consistance Structurelle<\/strong> : L&#8217;organisation des tests suivait les meilleures pratiques avec des mod\u00e8les clairs de pr\u00e9paration-action-v\u00e9rification<\/li>\n\n\n<\/ul>\n\n\n<h3 class=\"wp-block-heading\" id=\"502a\">3. Limitations et D\u00e9fis Observ\u00e9s<\/h3>\n\n\n<p id=\"a10a\">Malgr\u00e9 des r\u00e9sultats impressionnants, plusieurs d\u00e9fis r\u00e9currents sont apparus :<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Gestion des Types TypeScript<\/strong> : La source la plus fr\u00e9quente d&#8217;erreurs \u00e9tait des d\u00e9finitions de types incompl\u00e8tes ou des suppositions incorrectes concernant les types<\/li>\n\n\n\n<li><strong>Compr\u00e9hension de la Structure du Projet<\/strong> : Les chemins d&#8217;importation et les relations de d\u00e9pendance n\u00e9cessitaient souvent des corrections manuelles<\/li>\n\n\n\n<li><strong>Couverture des Cas Limites<\/strong> : Bien que les chemins de base \u00e9taient bien couverts, la logique conditionnelle complexe n\u00e9cessitait parfois des cas de test suppl\u00e9mentaires<\/li>\n\n\n\n<li><strong>Hypoth\u00e8ses sur les Mod\u00e8les<\/strong> : L&#8217;IA faisait parfois des hypoth\u00e8ses infond\u00e9es sur des mod\u00e8les ou des sch\u00e9mas sp\u00e9cifiques \u00e0 l&#8217;application<\/li>\n\n\n\n<li><strong>Exigences d&#8217;It\u00e9ration<\/strong> : Les services plus complexes n\u00e9cessitaient plus d&#8217;\u00e9changes pour atteindre une couverture compl\u00e8te<\/li>\n\n\n<\/ul>\n\n\n<h2 class=\"wp-block-heading\" id=\"6ac4\">Instantan\u00e9s D&#8217;\u00e9tude De Cas<\/h2>\n\n\n<p id=\"8135\">Examinons quelques impl\u00e9mentations repr\u00e9sentatives pour mieux comprendre ces mod\u00e8les.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"c10b\">Cas 1 : Test D&#8217;Exportation De Constante Simple<\/h3>\n\n\n<p id=\"5be1\">Pour tester des fichiers contenant principalement des exportations constantes :<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Dur\u00e9e de mise en \u0153uvre<\/strong> : 1 minute 30 secondes<\/li>\n\n\n\n<li><strong>Cas de test<\/strong> : 10<\/li>\n\n\n\n<li><strong>Couverture<\/strong> : 100%<\/li>\n\n\n\n<li><strong>It\u00e9rations<\/strong> : 1 (aucune correction n\u00e9cessaire)<\/li>\n\n\n\n<li><strong>Approche<\/strong> : Utilisation efficace des tests de snapshots pour les grands objets constants<\/li>\n\n\n<\/ul>\n\n\n<p id=\"c872\">Ce cas d\u00e9montre que pour des sc\u00e9narios de test simples, l&#8217;IA peut g\u00e9n\u00e9rer des tests complets sans aucune it\u00e9ration \u2014 essentiellement \u00ab parfait \u00bb d\u00e8s la premi\u00e8re tentative.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"d513\">Cas 2 : Service Complexe avec D\u00e9pendances DI<\/h3>\n\n\n<p id=\"eb78\">Pour un service plus complexe avec injection de d\u00e9pendances :<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Temps D&#8217;impl\u00e9mentation<\/strong> : 4 minutes 50 secondes<\/li>\n\n\n\n<li><strong>Cas De Test<\/strong> : 5<\/li>\n\n\n\n<li><strong>Couverture<\/strong> : 100%<\/li>\n\n\n\n<li><strong>It\u00e9rations<\/strong> : 2<\/li>\n\n\n\n<li><strong>D\u00e9fis<\/strong> : L&#8217;impl\u00e9mentation du test Bootstrap n\u00e9cessitait des corrections de liaison de d\u00e9pendance<\/li>\n\n\n<\/ul>\n\n\n<p id=\"2553\">L&#8217;IA a r\u00e9ussi \u00e0 traiter les tests d&#8217;injection de d\u00e9pendances, n\u00e9cessitant seulement de l\u00e9g\u00e8res modifications pour l&#8217;initialisation du conteneur.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"7eca\">Cas 3 : Service Tr\u00e8s Complexe Avec De Nombreuses Branches<\/h3>\n\n\n<p id=\"535c\">Pour les services les plus complexes test\u00e9s :<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Dur\u00e9e De Mise En \u0152uvre<\/strong> : 24 minutes<\/li>\n\n\n\n<li><strong>Cas De Test<\/strong> : 11<\/li>\n\n\n\n<li><strong>Couverture<\/strong> : 51.26% (en dessous de l&#8217;objectif)<\/li>\n\n\n\n<li><strong>It\u00e9rations<\/strong> : 5\u20136<\/li>\n\n\n\n<li><strong>D\u00e9fis<\/strong> : Difficult\u00e9 \u00e0 atteindre une couverture compl\u00e8te des branches pour une logique conditionnelle complexe<\/li>\n\n\n<\/ul>\n\n\n<p id=\"1352\">Cela repr\u00e9sente un cas limite important o\u00f9 l&#8217;IA a encore des difficult\u00e9s avec les tests complets d&#8217;une logique de branchement tr\u00e8s complexe.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"b05a\">Implications pour le Processus de D\u00e9veloppement<\/h2>\n\n\n<p id=\"98bb\">Ces d\u00e9couvertes sugg\u00e8rent plusieurs changements dans notre approche de la mise en \u0153uvre des tests :<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"0623\">1. Flux de Travail R\u00e9vis\u00e9<\/h3>\n\n\n<p id=\"9638\">Plut\u00f4t que les d\u00e9veloppeurs r\u00e9digent des tests \u00e0 partir de z\u00e9ro, un workflow plus efficace semble \u00eatre :<\/p>\n\n\n<ol class=\"wp-block-list\">\n<li>Le d\u00e9veloppeur fournit le code source et les tests d&#8217;exemple \u00e0 l&#8217;IA<\/li>\n\n\n\n<li>L&#8217;IA g\u00e9n\u00e8re une premi\u00e8re mise en \u0153uvre des tests<\/li>\n\n\n\n<li>Le d\u00e9veloppeur fournit des retours it\u00e9ratifs sur des probl\u00e8mes sp\u00e9cifiques<\/li>\n\n\n\n<li>L&#8217;IA affine la mise en \u0153uvre jusqu&#8217;\u00e0 atteindre les objectifs de couverture<\/li>\n\n\n\n<li>Le d\u00e9veloppeur effectue la revue finale et valide les modifications<\/li>\n\n\n<\/ol>\n\n\n<p id=\"6c02\">Cette approche permet aux d\u00e9veloppeurs de se concentrer sur l&#8217;\u00e9valuation de la qualit\u00e9 des tests et des cas limites plut\u00f4t que sur la r\u00e9daction de code de test standard.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"e3b2\">2. Opportunit\u00e9s D&#8217;Optimisation<\/h3>\n\n\n<p id=\"121d\">Plusieurs pratiques ont consid\u00e9rablement am\u00e9lior\u00e9 la performance de g\u00e9n\u00e9ration de tests IA :<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li>Fournir des tests exemples clairs dans le m\u00eame style\/mod\u00e8le<\/li>\n\n\n\n<li>Sp\u00e9cifier les exigences de couverture exactes d\u00e8s le d\u00e9but<\/li>\n\n\n\n<li>Inclure des informations sur les types complexes<\/li>\n\n\n\n<li>Identifier proactivement les cas limites potentiels<\/li>\n\n\n\n<li>Utiliser des approches de test en premier lieu o\u00f9 l&#8217;IA a acc\u00e8s simultan\u00e9ment \u00e0 l&#8217;impl\u00e9mentation et aux tests<\/li>\n\n\n<\/ul>\n\n\n<h3 class=\"wp-block-heading\" id=\"e045\">3. Impact \u00c9conomique<\/h3>\n\n\n<p id=\"1298\">Bas\u00e9 sur la comparaison entre le temps d&#8217;impl\u00e9mentation de l&#8217;IA et le temps estim\u00e9 d&#8217;impl\u00e9mentation humaine, les gains de productivit\u00e9 potentiels sont substantiels :<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li>R\u00e9duction de 70 \u00e0 85% du temps consacr\u00e9 \u00e0 la r\u00e9daction de tests unitaires routiniers<\/li>\n\n\n\n<li>Meilleure coh\u00e9rence de la couverture<\/li>\n\n\n\n<li>Cycles de retour d&#8217;information plus rapides pendant le d\u00e9veloppement<\/li>\n\n\n\n<li>Plus de cas de test pour le m\u00eame effort de d\u00e9veloppement<\/li>\n\n\n<\/ul>\n\n\n<h2 class=\"wp-block-heading\" id=\"0e8c\">Regard Vers L&#8217;Avenir : Le Futur Des Tests Pilot\u00e9s Par IA<\/h2>\n\n\n<p id=\"948c\">Cette recherche repr\u00e9sente une premi\u00e8re enqu\u00eate sur ce qui deviendra probablement une pratique de d\u00e9veloppement standard. Plusieurs tendances sugg\u00e8rent la direction de ce domaine :<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"b02c\">Opportunit\u00e9s Futures<\/h2>\n\n\n<ol class=\"wp-block-list\">\n<li><strong>D\u00e9veloppement Dirig\u00e9 par les Tests<\/strong> : L&#8217;IA pourrait g\u00e9n\u00e9rer \u00e0 la fois des tests et du code d&#8217;impl\u00e9mentation de mani\u00e8re it\u00e9rative<\/li>\n\n\n\n<li><strong>Int\u00e9gration avec CI\/CD<\/strong> : G\u00e9n\u00e9ration et maintenance automatis\u00e9es des tests pendant le processus de construction<\/li>\n\n\n\n<li><strong>Formation sur Domaine Personnalis\u00e9<\/strong> : Ajustement fin des mod\u00e8les pour des bases de code ou des motifs sp\u00e9cifiques<\/li>\n\n\n\n<li><strong>Tests Auto-R\u00e9parateurs<\/strong> : IA qui met \u00e0 jour les tests lorsque l&#8217;impl\u00e9mentation change<\/li>\n\n\n\n<li><strong>Mod\u00e8les de Tests Sp\u00e9cialis\u00e9s<\/strong> : Mod\u00e8les d&#8217;IA sp\u00e9cifiquement optimis\u00e9s pour la g\u00e9n\u00e9ration de tests<\/li>\n\n\n<\/ol>\n\n\n<h2 class=\"wp-block-heading\" id=\"0863\">D\u00e9fis Restants<\/h2>\n\n\n<p id=\"2065\">Malgr\u00e9 des progr\u00e8s significatifs, plusieurs d\u00e9fis subsistent :<\/p>\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Gestion d&#8217;\u00c9tat Complexe<\/strong> : Tester des composants \u00e0 \u00e9tat avec des interactions complexes<\/li>\n\n\n\n<li><strong>Connaissances Sp\u00e9cialis\u00e9es<\/strong> : Tests requ\u00e9rant des perspectives sp\u00e9cifiques au domaine ou des r\u00e8gles commerciales<\/li>\n\n\n\n<li><strong>Tests d&#8217;Int\u00e9gration<\/strong> : Aller au-del\u00e0 des tests unitaires pour les tests d&#8217;int\u00e9gration et syst\u00e9miques<\/li>\n\n\n\n<li><strong>Tests de Performance<\/strong> : Identifier et r\u00e9diger des tests de performance efficaces<\/li>\n\n\n\n<li><strong>Tests de S\u00e9curit\u00e9<\/strong> : Trouver et exploiter les vuln\u00e9rabilit\u00e9s de s\u00e9curit\u00e9<\/li>\n\n\n<\/ol>\n\n\n<h2 class=\"wp-block-heading\" id=\"68b0\">R\u00e9sum\u00e9 Du Projet : Les Chiffres<\/h2>\n\n\n<p id=\"0fef\">Voici un aper\u00e7u de ce que nous avons accompli lors de notre exp\u00e9rience de trois jours :<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Ajout De Tests<\/strong>: 273 nouveaux tests ajout\u00e9s (de 22 \u00e0 295 au total)<\/li>\n\n\n\n<li><strong>Taux De R\u00e9ussite<\/strong>: ~90% des tentatives ont atteint avec succ\u00e8s une couverture de 100%<\/li>\n\n\n\n<li><strong>Temps D&#8217;impl\u00e9mentation<\/strong>: Moyenne de 5\u20138 minutes par composant<\/li>\n\n\n\n<li><strong>Plus Grande Suite De Tests<\/strong>: 273 tests ajout\u00e9s en environ 6 heures de temps de travail total<\/li>\n\n\n\n<li><strong>Impl\u00e9mentation La Plus Rapide<\/strong>: 90 secondes pour les instantan\u00e9s de framework avec une couverture de 100%<\/li>\n\n\n\n<li><strong>Cas Le Plus Complexe<\/strong>: Composant graphique avec 13 d\u00e9pendances, compl\u00e9t\u00e9 en 5 minutes<\/li>\n\n\n\n<li><strong>Niveau De Qualit\u00e9<\/strong>: Qualit\u00e9 de code maintenue au niveau d&#8217;un d\u00e9veloppeur senior<\/li>\n\n\n\n<li><strong>Contribution Humaine<\/strong>: Z\u00e9ro ligne de code \u00e9crite par des humains<\/li>\n\n\n<\/ul>\n\n\n<p id=\"a2da\">D&#8217;un point de vue retour sur investissement, nous estimons une \u00e9conomie de temps de 70 \u00e0 80 % par rapport \u00e0 une mise en \u0153uvre manuelle, sans compromis sur la qualit\u00e9. L&#8217;unique \u00e9chec notable \u00e9tait avec le RunsService, o\u00f9 nous n&#8217;avons atteint que 51 % de couverture en raison d&#8217;une logique de branchement extr\u00eamement complexe.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"c981\">Conclusion : Recommandations Pratiques<\/h2>\n\n\n<p id=\"458f\">Sur la base de cette recherche, nous recommandons les pratiques suivantes pour les \u00e9quipes souhaitant exploiter l&#8217;IA pour les tests unitaires :<\/p>\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Commencez Simple<\/strong> : Commence par des composants simples qui suivent des mod\u00e8les \u00e9tablis<\/li>\n\n\n\n<li><strong>Fournis Des Exemples<\/strong> : Inclus des exemples repr\u00e9sentatifs de ton style de test<\/li>\n\n\n\n<li><strong>R\u00e9troaction It\u00e9rative<\/strong> : Pr\u00e9vois 2 \u00e0 3 cycles de r\u00e9troaction pour obtenir des r\u00e9sultats optimaux<\/li>\n\n\n\n<li><strong>Concentre-Toi Sur Les Cas Limites<\/strong> : Utilise tes connaissances du domaine pour sugg\u00e9rer des cas limites que l&#8217;IA pourrait manquer<\/li>\n\n\n\n<li><strong>\u00c9tablis Des Directives Claires<\/strong> : D\u00e9finis \u00e0 quoi ressemble le \u00ab termin\u00e9 \u00bb pour la couverture et le style des tests<\/li>\n\n\n\n<li><strong>Mises \u00c0 Jour R\u00e9guli\u00e8res<\/strong> : \u00c0 mesure que les mod\u00e8les d&#8217;IA s&#8217;am\u00e9liorent, revisite ton approche pour tirer parti des nouvelles capacit\u00e9s<\/li>\n\n\n<\/ol>\n\n\n<p id=\"3c1f\">L&#8217;aspect le plus excitant de cette recherche est qu&#8217;il repr\u00e9sente juste le d\u00e9but. \u00c0 mesure que les capacit\u00e9s de l&#8217;IA continuent d&#8217;\u00e9voluer, le potentiel des tests pilot\u00e9s par l&#8217;IA s&#8217;\u00e9tendra \u00e0 des domaines de tests plus complexes, transformant finalement la mani\u00e8re dont nous abordons l&#8217;assurance qualit\u00e9 dans le d\u00e9veloppement logiciel.<\/p>\n\n\n<p id=\"e546\"><em>Cette recherche a \u00e9t\u00e9 men\u00e9e sur trois jours en f\u00e9vrier 2025 sur le projet de Planificateur d\u2019entreprise de DreamHost, utilisant plusieurs mod\u00e8les d&#8217;IA dont GitHub Copilot, les mod\u00e8les GPT d&#8217;OpenAI, et Claude d&#8217;Anthropic. L&#8217;environnement de test \u00e9tait un service bas\u00e9 sur TypeScript avec Jest et ts-mockito pour les tests, se concentrant sur les composants d&#8217;application d&#8217;entreprise r\u00e9els. Plus important encore, nous n&#8217;avons \u00e9crit aucune ligne de code durant tout le processus \u2014 toute l&#8217;impl\u00e9mentation des tests a \u00e9t\u00e9 r\u00e9alis\u00e9e par l&#8217;IA avec seulement une supervision humaine.<\/em><\/p>\n\n\n<p><em>Ce billet est la <strong>Partie 3<\/strong> d&#8217;une s\u00e9rie en 4 parties. Assure-toi de consulter les autres billets de la s\u00e9rie pour une analyse plus approfondie de notre <strong>g\u00e9n\u00e9rateur de plans d&#8217;affaires pilot\u00e9 par IA<\/strong>.<br>Partie 1 : <a href=\"https:\/\/www.dreamhost.com\/news\/announcements\/how-we-built-an-ai-powered-business-plan-generator-using-langgraph-langchain\/\">Comment nous avons construit un g\u00e9n\u00e9rateur de plans d&#8217;affaires pilot\u00e9 par IA utilisant LangGraph &amp; LangChain<\/a><br>Partie 2 : <a href=\"https:\/\/www.dreamhost.com\/news\/announcements\/how-we-optimized-ai-business-plan-generation-speed-vs-quality-trade-offs\/\">Comment nous avons optimis\u00e9 la g\u00e9n\u00e9ration de plans d&#8217;affaires IA : Compromis vitesse contre qualit\u00e9<\/a><br>Partie 3 : <a href=\"https:\/\/www.dreamhost.com\/news\/announcements\/how-we-created-273-unit-tests-in-3-days-without-writing-a-single-line-of-code\/\">Comment nous avons cr\u00e9\u00e9 273 tests unitaires en 3 jours sans \u00e9crire une seule ligne de code<\/a><br>Partie 4 : <a href=\"https:\/\/www.dreamhost.com\/news\/announcements\/ai-evaluation-framework-how-we-built-a-system-to-score-and-improve-ai-generated-business-plans\/\">Cadre d&#8217;\u00e9valuation IA \u2014 Comment nous avons construit un syst\u00e8me pour \u00e9valuer et am\u00e9liorer les plans d&#8217;affaires g\u00e9n\u00e9r\u00e9s par IA<\/a><\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ce post est la partie 3 d&#8217;une s\u00e9rie en 4 parties. Assure-toi de consulter les autres posts de la s\u00e9rie pour une exploration approfondie de notre g\u00e9n\u00e9rateur de plans d\u2019entreprise aliment\u00e9 par IA. Partie 1 : Comment Nous Avons Construit un G\u00e9n\u00e9rateur de Plans d\u2019Entreprise Aliment\u00e9 par IA en Utilisant LangGraph &#038; LangChain Partie 2 : Comment Nous Avons Optimis\u00e9 la G\u00e9n\u00e9ration de Plans d\u2019Entreprise par IA : Compromis Vitesse vs Qualit\u00e9 Partie [\u2026]<\/p>\n","protected":false},"author":37,"featured_media":9516,"menu_order":0,"template":"","meta":{"_acf_changed":false,"_yoast_wpseo_metadesc":"","footnotes":""},"class_list":["post-12235","announcement","type-announcement","status-publish","has-post-thumbnail","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Comment Nous Avons Cr\u00e9\u00e9 273 Tests Unitaires en 3 Jours Sans \u00c9crire Une Seule Ligne de Code - DreamHost<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/news.dream.press\/news\/fr\/announcements-fr\/comment-nous-avons-cree-273-tests-unitaires-en-3-jours-sans-ecrire-une-seule-ligne-de-code-fr\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Comment Nous Avons Cr\u00e9\u00e9 273 Tests Unitaires en 3 Jours Sans \u00c9crire Une Seule Ligne de Code - DreamHost\" \/>\n<meta property=\"og:description\" content=\"Ce post est la partie 3 d&#039;une s\u00e9rie en 4 parties. Assure-toi de consulter les autres posts de la s\u00e9rie pour une exploration approfondie de notre g\u00e9n\u00e9rateur de plans d\u2019entreprise aliment\u00e9 par IA. Partie 1 : Comment Nous Avons Construit un G\u00e9n\u00e9rateur de Plans d\u2019Entreprise Aliment\u00e9 par IA en Utilisant LangGraph &amp; LangChain Partie 2 : Comment Nous Avons Optimis\u00e9 la G\u00e9n\u00e9ration de Plans d\u2019Entreprise par IA : Compromis Vitesse vs Qualit\u00e9 Partie [\u2026]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dreamhost.com\/news\/fr\/announcements-fr\/comment-nous-avons-cree-273-tests-unitaires-en-3-jours-sans-ecrire-une-seule-ligne-de-code-fr\/\" \/>\n<meta property=\"og:site_name\" content=\"DreamHost\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DreamHost\/\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-12T16:15:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dreamhost.com\/news\/wp-content\/uploads\/2025\/03\/How-I-Created-273-Unit-Tests-in-6-Hours-Without-Writing-a-Single-Line-of-Code.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"1400\" \/>\n\t<meta property=\"og:image:height\" content=\"788\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@dreamhost\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"11 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Comment Nous Avons Cr\u00e9\u00e9 273 Tests Unitaires en 3 Jours Sans \u00c9crire Une Seule Ligne de Code - DreamHost","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/news.dream.press\/news\/fr\/announcements-fr\/comment-nous-avons-cree-273-tests-unitaires-en-3-jours-sans-ecrire-une-seule-ligne-de-code-fr\/","og_locale":"en_US","og_type":"article","og_title":"Comment Nous Avons Cr\u00e9\u00e9 273 Tests Unitaires en 3 Jours Sans \u00c9crire Une Seule Ligne de Code - DreamHost","og_description":"Ce post est la partie 3 d'une s\u00e9rie en 4 parties. Assure-toi de consulter les autres posts de la s\u00e9rie pour une exploration approfondie de notre g\u00e9n\u00e9rateur de plans d\u2019entreprise aliment\u00e9 par IA. Partie 1 : Comment Nous Avons Construit un G\u00e9n\u00e9rateur de Plans d\u2019Entreprise Aliment\u00e9 par IA en Utilisant LangGraph & LangChain Partie 2 : Comment Nous Avons Optimis\u00e9 la G\u00e9n\u00e9ration de Plans d\u2019Entreprise par IA : Compromis Vitesse vs Qualit\u00e9 Partie [\u2026]","og_url":"https:\/\/www.dreamhost.com\/news\/fr\/announcements-fr\/comment-nous-avons-cree-273-tests-unitaires-en-3-jours-sans-ecrire-une-seule-ligne-de-code-fr\/","og_site_name":"DreamHost","article_publisher":"https:\/\/www.facebook.com\/DreamHost\/","article_modified_time":"2025-06-12T16:15:37+00:00","og_image":[{"width":1400,"height":788,"url":"https:\/\/www.dreamhost.com\/news\/wp-content\/uploads\/2025\/03\/How-I-Created-273-Unit-Tests-in-6-Hours-Without-Writing-a-Single-Line-of-Code.jpeg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_site":"@dreamhost","twitter_misc":{"Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/news.dream.press\/news\/fr\/announcements-fr\/comment-nous-avons-cree-273-tests-unitaires-en-3-jours-sans-ecrire-une-seule-ligne-de-code-fr\/#article","isPartOf":{"@id":"https:\/\/news.dream.press\/news\/fr\/announcements-fr\/comment-nous-avons-cree-273-tests-unitaires-en-3-jours-sans-ecrire-une-seule-ligne-de-code-fr\/"},"author":{"name":"Chris Miaskowski","@id":"https:\/\/news.dream.press\/news\/#\/schema\/person\/6063813fb8dfe183b50140f6a629e92a"},"headline":"Comment Nous Avons Cr\u00e9\u00e9 273 Tests Unitaires en 3 Jours Sans \u00c9crire Une Seule Ligne de Code","datePublished":"2025-03-11T20:27:18+00:00","dateModified":"2025-06-12T16:15:37+00:00","mainEntityOfPage":{"@id":"https:\/\/news.dream.press\/news\/fr\/announcements-fr\/comment-nous-avons-cree-273-tests-unitaires-en-3-jours-sans-ecrire-une-seule-ligne-de-code-fr\/"},"wordCount":2266,"publisher":{"@id":"https:\/\/news.dream.press\/news\/#organization"},"image":{"@id":"https:\/\/news.dream.press\/news\/fr\/announcements-fr\/comment-nous-avons-cree-273-tests-unitaires-en-3-jours-sans-ecrire-une-seule-ligne-de-code-fr\/#primaryimage"},"thumbnailUrl":"https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/How-I-Created-273-Unit-Tests-in-6-Hours-Without-Writing-a-Single-Line-of-Code.jpeg","inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/news.dream.press\/news\/fr\/announcements-fr\/comment-nous-avons-cree-273-tests-unitaires-en-3-jours-sans-ecrire-une-seule-ligne-de-code-fr\/","url":"https:\/\/news.dream.press\/news\/fr\/announcements-fr\/comment-nous-avons-cree-273-tests-unitaires-en-3-jours-sans-ecrire-une-seule-ligne-de-code-fr\/","name":"Comment Nous Avons Cr\u00e9\u00e9 273 Tests Unitaires en 3 Jours Sans \u00c9crire Une Seule Ligne de Code - DreamHost","isPartOf":{"@id":"https:\/\/news.dream.press\/news\/#website"},"primaryImageOfPage":{"@id":"https:\/\/news.dream.press\/news\/fr\/announcements-fr\/comment-nous-avons-cree-273-tests-unitaires-en-3-jours-sans-ecrire-une-seule-ligne-de-code-fr\/#primaryimage"},"image":{"@id":"https:\/\/news.dream.press\/news\/fr\/announcements-fr\/comment-nous-avons-cree-273-tests-unitaires-en-3-jours-sans-ecrire-une-seule-ligne-de-code-fr\/#primaryimage"},"thumbnailUrl":"https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/How-I-Created-273-Unit-Tests-in-6-Hours-Without-Writing-a-Single-Line-of-Code.jpeg","datePublished":"2025-03-11T20:27:18+00:00","dateModified":"2025-06-12T16:15:37+00:00","breadcrumb":{"@id":"https:\/\/news.dream.press\/news\/fr\/announcements-fr\/comment-nous-avons-cree-273-tests-unitaires-en-3-jours-sans-ecrire-une-seule-ligne-de-code-fr\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/news.dream.press\/news\/fr\/announcements-fr\/comment-nous-avons-cree-273-tests-unitaires-en-3-jours-sans-ecrire-une-seule-ligne-de-code-fr\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/news.dream.press\/news\/fr\/announcements-fr\/comment-nous-avons-cree-273-tests-unitaires-en-3-jours-sans-ecrire-une-seule-ligne-de-code-fr\/#primaryimage","url":"https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/How-I-Created-273-Unit-Tests-in-6-Hours-Without-Writing-a-Single-Line-of-Code.jpeg","contentUrl":"https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/How-I-Created-273-Unit-Tests-in-6-Hours-Without-Writing-a-Single-Line-of-Code.jpeg","width":1400,"height":788},{"@type":"BreadcrumbList","@id":"https:\/\/news.dream.press\/news\/fr\/announcements-fr\/comment-nous-avons-cree-273-tests-unitaires-en-3-jours-sans-ecrire-une-seule-ligne-de-code-fr\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.dreamhost.com\/news\/"},{"@type":"ListItem","position":2,"name":"Announcements","item":"https:\/\/www.dreamhost.com\/news\/announcements\/"},{"@type":"ListItem","position":3,"name":"Comment Nous Avons Cr\u00e9\u00e9 273 Tests Unitaires en 3 Jours Sans \u00c9crire Une Seule Ligne de Code"}]},{"@type":"WebSite","@id":"https:\/\/news.dream.press\/news\/#website","url":"https:\/\/news.dream.press\/news\/","name":"DreamHost News","description":"Product announcements, events, and more.","publisher":{"@id":"https:\/\/news.dream.press\/news\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/news.dream.press\/news\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/news.dream.press\/news\/#organization","name":"DreamHost","url":"https:\/\/news.dream.press\/news\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/news.dream.press\/news\/#\/schema\/logo\/image\/","url":"https:\/\/www.dreamhost.com\/news\/wp-content\/uploads\/2023\/03\/dreamhost-events.png","contentUrl":"https:\/\/www.dreamhost.com\/news\/wp-content\/uploads\/2023\/03\/dreamhost-events.png","width":1598,"height":921,"caption":"DreamHost"},"image":{"@id":"https:\/\/news.dream.press\/news\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DreamHost\/","https:\/\/x.com\/dreamhost"]},{"@type":"Person","@id":"https:\/\/news.dream.press\/news\/#\/schema\/person\/6063813fb8dfe183b50140f6a629e92a","name":"Chris Miaskowski","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/ed92bbd44a5f3bece343d41d8d5a35980ae7d6c2a03b29abb49c5656acf27747?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/ed92bbd44a5f3bece343d41d8d5a35980ae7d6c2a03b29abb49c5656acf27747?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ed92bbd44a5f3bece343d41d8d5a35980ae7d6c2a03b29abb49c5656acf27747?s=96&d=mm&r=g","caption":"Chris Miaskowski"},"description":"Building AI-Powered Solutions to Enhance Business Operations and Processes. Read more from Chris at https:\/\/chrismiaskowski.medium.com\/.","sameAs":["https:\/\/chrismiaskowski.medium.com\/","https:\/\/www.linkedin.com\/in\/krzysztof-miaskowski"],"url":"https:\/\/news.dream.press\/news\/author\/chris-miaskowski\/"}]}},"lang":"fr","translations":{"fr":12235,"de":11579,"en":9511,"pl":11695,"ru":11704,"uk":11709,"pt":11711,"it":11838,"nl":12252,"es":14026},"pll_sync_post":[],"_links":{"self":[{"href":"https:\/\/news.dream.press\/news\/wp-json\/wp\/v2\/announcements\/12235","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/news.dream.press\/news\/wp-json\/wp\/v2\/announcements"}],"about":[{"href":"https:\/\/news.dream.press\/news\/wp-json\/wp\/v2\/types\/announcement"}],"author":[{"embeddable":true,"href":"https:\/\/news.dream.press\/news\/wp-json\/wp\/v2\/users\/37"}],"version-history":[{"count":1,"href":"https:\/\/news.dream.press\/news\/wp-json\/wp\/v2\/announcements\/12235\/revisions"}],"predecessor-version":[{"id":12277,"href":"https:\/\/news.dream.press\/news\/wp-json\/wp\/v2\/announcements\/12235\/revisions\/12277"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/news.dream.press\/news\/wp-json\/wp\/v2\/media\/9516"}],"wp:attachment":[{"href":"https:\/\/news.dream.press\/news\/wp-json\/wp\/v2\/media?parent=12235"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}