{"id":18545,"date":"2026-10-31T10:55:12","date_gmt":"2026-10-31T10:55:12","guid":{"rendered":"https:\/\/www.rapidclouddevelopment.com\/?page_id=18545"},"modified":"2026-10-31T11:01:05","modified_gmt":"2026-10-31T11:01:05","slug":"assistant-developpeur-ia","status":"publish","type":"page","link":"https:\/\/www.rapidclouddevelopment.com\/fr\/ai-avec-rcd\/assistant-developpeur-ia\/","title":{"rendered":"AI Developer Assistant"},"content":{"rendered":"\n<style>@import url('https:\/\/fonts.googleapis.com\/css2?family=Sora:wght@500;600;700&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@500&display=swap');.rcd-page{overflow-x:hidden;background:#F6F7FB;color:#0E1424;font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.rcd-page *,.rcd-page *::before,.rcd-page *::after{box-sizing:border-box}.rcd-page img{max-width:100%}.rcd-page picture{display:block}.rcd-page picture>img{display:block;width:inherit;height:inherit;max-width:100%;max-height:inherit;object-fit:inherit;object-position:inherit;border-radius:inherit;aspect-ratio:inherit}.rcd-page details>summary{list-style:none}.rcd-page details>summary::-webkit-details-marker{display:none}.rcd-page details[open]{border-color:#FF6B2C!important}.rcd-page details .rcd-sign{transition:transform .2s,background .2s}.rcd-page details[open] .rcd-sign{background:#C2410C!important;color:#fff!important;transform:rotate(45deg)}.rcd-page a[href^=\"mailto:\"]{word-break:break-all}@media(max-width:600px){.rcd-page [style*=\"minmax(min(100%,200px),1fr)\"]{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.rcd-page [style*=\"minmax(min(100%,200px),1fr)\"] a{min-height:80px!important}.rcd-page [style*=\"flex:1 1 420px\"],.rcd-page [style*=\"flex:1 1 400px\"]{flex-direction:column;align-items:flex-start!important}.rcd-page [style*=\"repeat(3,minmax(0,1fr))\"]>div{padding:14px!important}.rcd-page [style*=\"repeat(3,minmax(0,1fr))\"] b{font-size:24px!important}.rcd-page .rcd-mosaic{min-height:0!important;display:flex;flex-direction:column;gap:12px}.rcd-page .rcd-mosaic>div{position:static!important;width:auto!important}.rcd-page .rcd-mosaic>div:first-child{aspect-ratio:3\/2}}.rcd-page{background: rgb(246, 247, 251); color: rgb(14, 20, 36); font-family: Inter, system-ui, sans-serif; -webkit-font-smoothing: antialiased;}.rcd-page a{color: rgb(75, 50, 214);}.rcd-page a:hover{color: rgb(46, 27, 166);}.rcd-page .wrap{max-width: 1200px; margin: 0px auto; padding: 0px 32px; box-sizing: border-box;}.rcd-page .dark{background: rgb(10, 14, 26); color: rgb(231, 234, 243);}.rcd-page .dots{background: radial-gradient(50% 60% at 78% 30%, rgba(255, 107, 44, 0.18), transparent 70%), radial-gradient(40% 50% at 12% 85%, rgba(124, 92, 255, 0.18), transparent 70%), linear-gradient(rgba(255, 255, 255, 0.043) 1px, transparent 1px) 0px 0px \/ 48px 48px, linear-gradient(90deg, rgba(255, 255, 255, 0.043) 1px, transparent 1px) 0px 0px \/ 48px 48px, linear-gradient(135deg, rgb(10, 14, 26) 0%, rgb(20, 26, 51) 60%, rgb(28, 22, 56) 100%);}.rcd-page .gtext{background: linear-gradient(90deg, rgb(255, 107, 44), rgb(255, 177, 74) 45%, rgb(184, 168, 255)) text; color: transparent;}.rcd-page .glow-btn{box-shadow: rgba(255, 138, 76, 0.4) 0px 0px 0px 1px, rgba(255, 107, 44, 0.7) 0px 10px 40px -8px;}.rcd-page .flow{position: relative; display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 24px; align-items: center; padding: 40px 32px; border-radius: 28px; border: 1px solid rgba(255, 255, 255, 0.08); background: rgba(13, 18, 32, 0.55); backdrop-filter: blur(6px);}.rcd-page .fcol{position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 14px;}.rcd-page .track{position: absolute; left: 12%; right: 12%; top: 50%; height: 2px; background: linear-gradient(90deg, rgba(255, 107, 44, 0.15), rgba(255, 107, 44, 0.6), rgba(124, 92, 255, 0.6), rgba(124, 92, 255, 0.15));}.rcd-page .track i{position: absolute; top: -3px; width: 8px; height: 8px; border-radius: 50%; background: rgb(255, 177, 74); box-shadow: rgba(255, 138, 76, 0.9) 0px 0px 12px 3px; animation: 4s linear 0s infinite normal none running flow;}.rcd-page .track i:nth-child(2){animation-delay: 1s; background: rgb(255, 255, 255);}.rcd-page .track i:nth-child(3){animation-delay: 2s; background: rgb(184, 168, 255); box-shadow: rgba(124, 92, 255, 0.9) 0px 0px 12px 3px;}.rcd-page .track i:nth-child(4){animation-delay: 3s;}@keyframes flow { \n  0% { left: 0px; opacity: 0; }\n  10% { opacity: 1; }\n  90% { opacity: 1; }\n  100% { left: 100%; opacity: 0; }\n}.rcd-page .agent{display: flex; align-items: center; gap: 12px; width: 100%; max-width: 220px; padding: 12px 14px; border-radius: 16px; background: rgb(17, 23, 41); border: 1px solid rgba(255, 255, 255, 0.1); box-shadow: inset 0 0 0 1px rgba(255,255,255,.02),0 0 24px -10px var(--c); text-align: left; box-sizing: border-box;}.rcd-page .agent b{display: block; font: 500 10px \/ 1.2 \"JetBrains Mono\", monospace; letter-spacing: 0.12em; text-transform: uppercase; color: var(--c);}.rcd-page .agent span:last-child{font: 500 14px \/ 1.3 Inter, sans-serif; color: rgb(231, 234, 243);}.rcd-page .agent-i{width: 38px; height: 38px; border-radius: 11px; display: flex; align-items: center; justify-content: center; color: var(--c); background: rgb(10, 14, 26); border: 1px solid var(--c); flex: 0 0 auto;}.rcd-page .codecard{width: 100%; max-width: 250px; box-sizing: border-box; background: rgb(11, 16, 32); border: 1px solid rgb(42, 51, 80); border-radius: 14px; padding: 14px 16px; font-size: 11.5px; line-height: 1.7; color: rgb(126, 137, 166); text-align: left; box-shadow: rgba(0, 0, 0, 0.8) 0px 20px 40px -20px;}.rcd-page .dotw{width: 8px; height: 8px; border-radius: 50%; background: rgb(42, 51, 80);}.rcd-page .flabel{font: 500 12px \/ 1.2 \"JetBrains Mono\", monospace; letter-spacing: 0.08em; text-transform: uppercase; color: rgb(174, 182, 202);}.rcd-page .engine{position: relative; width: 200px; height: 200px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: radial-gradient(circle, rgb(42, 26, 46) 0%, rgb(18, 24, 41) 65%); border: 1px solid rgba(255, 138, 76, 0.35); box-shadow: rgba(255, 107, 44, 0.55) 0px 0px 80px -10px, rgba(124, 92, 255, 0.5) 0px 0px 140px -20px;}.rcd-page .engine-ring{position: absolute; inset: -14px; border-radius: 50%; border: 1px dashed rgba(184, 168, 255, 0.45); animation: 24s linear 0s infinite normal none running spin;}@keyframes spin { \n  100% { transform: rotate(360deg); }\n}@media (max-width: 980px){.rcd-page .flow{grid-template-columns: repeat(2, minmax(0px, 1fr));}.rcd-page .track{display: none;}}@media (max-width: 560px){.rcd-page .flow{grid-template-columns: minmax(0px, 1fr);}}@media (prefers-reduced-motion: reduce){.rcd-page .track i,.rcd-page .engine-ring{animation: auto ease 0s 1 normal none running none;}}.rcd-page .eyebrow{font: 500 12px \/ 1.2 \"JetBrains Mono\", monospace; letter-spacing: 0.14em; text-transform: uppercase; color: rgb(194, 65, 12);}.rcd-page .dark .eyebrow{color: rgb(255, 138, 76);}.rcd-page .h1{font: 700 clamp(44px, 6vw, 84px) \/ 1.02 Sora, sans-serif; letter-spacing: -0.035em; margin: 0px;}.rcd-page .h2{font: 700 clamp(30px, 3.4vw, 48px) \/ 1.08 Sora, sans-serif; letter-spacing: -0.025em; margin: 0px;}.rcd-page .lead{font-size: clamp(17px, 1.4vw, 20px); line-height: 1.6; color: rgb(74, 84, 104); margin: 0px;}.rcd-page .dark .lead{color: rgb(174, 182, 202);}.rcd-page .btn{display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0px 22px; border-radius: 12px; font: 600 15px \/ 1 Inter, sans-serif; text-decoration: none; box-sizing: border-box;}.rcd-page .btn-p{background: rgb(194, 65, 12); color: rgb(255, 255, 255);}.rcd-page .btn-p:hover{background: rgb(154, 52, 18); color: rgb(255, 255, 255);}.rcd-page .btn-o{border: 1px solid rgb(203, 210, 225); color: rgb(14, 20, 36); background: rgb(255, 255, 255);}.rcd-page .btn-o:hover{border-color: rgb(14, 20, 36); color: rgb(14, 20, 36);}.rcd-page .crumb{display: flex; gap: 10px; align-items: center; font-size: 14px; color: rgb(139, 149, 174);}.rcd-page .crumb a{color: rgb(201, 208, 224); text-decoration: none;}.rcd-page .crumb a:hover{color: rgb(255, 255, 255); text-decoration: underline;}.rcd-page .grp{font: 500 11px \/ 1 \"JetBrains Mono\", monospace; letter-spacing: 0.14em; text-transform: uppercase; color: rgb(91, 100, 120); margin: 22px 0px 10px;}.rcd-page .li{display: flex; gap: 12px; align-items: flex-start; padding: 7px 0px; line-height: 1.45;}.rcd-page .ck{flex: 0 0 auto; width: 22px; height: 22px; border-radius: 7px; background: rgb(255, 241, 234); color: rgb(194, 65, 12); display: flex; align-items: center; justify-content: center; margin-top: 1px;}.rcd-page .feat .ck{background: rgba(255, 107, 44, 0.16); color: rgb(255, 138, 76);}.rcd-page .feat .grp{color: rgb(139, 149, 174);}@media (max-width: 860px){.rcd-page .wrap{padding: 0px 20px;}}.rcd-page{}.rcd-page .cf-in{width: 100%; box-sizing: border-box; min-height: 48px; padding: 12px 14px; border: 1px solid rgb(203, 210, 225); border-radius: 12px; font: 400 15px Inter, sans-serif; color: rgb(14, 20, 36); background: rgb(255, 255, 255);}.rcd-page .cf-in:focus{outline: rgb(124, 92, 255) solid 2px; outline-offset: 1px; border-color: rgb(124, 92, 255);}.rcd-page .cf-l{display: flex; flex-direction: column; gap: 8px; font: 500 14px Inter, sans-serif; color: rgb(42, 50, 71);}.rcd-page a{color: rgb(75, 50, 214);}.rcd-page a:hover{color: rgb(46, 27, 166);}.rcd-page .gform_wrapper.gravity-theme{margin: 8px 0px 0px;}.rcd-page .gform_wrapper.gravity-theme .gform_fields{gap: 16px;}.rcd-page .gform_wrapper.gravity-theme .gfield_label{font: 500 14px Inter, sans-serif; color: rgb(42, 50, 71); margin-bottom: 8px;}.rcd-page .gform_wrapper.gravity-theme .gfield_required{color: rgb(194, 65, 12);}.rcd-page .gform_wrapper.gravity-theme .gform_required_legend{font-size: 13px; color: rgb(91, 100, 120);}.rcd-page .gform_wrapper.gravity-theme input[type=\"text\"],.rcd-page .gform_wrapper.gravity-theme input[type=\"email\"],.rcd-page .gform_wrapper.gravity-theme input[type=\"tel\"],.rcd-page .gform_wrapper.gravity-theme select,.rcd-page .gform_wrapper.gravity-theme textarea{width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid rgb(203, 210, 225); border-radius: 12px; font: 400 15px Inter, sans-serif; color: rgb(14, 20, 36); background: rgb(255, 255, 255); transition: border-color 0.2s, box-shadow 0.2s;}.rcd-page .gform_wrapper.gravity-theme textarea{min-height: 120px; height: 140px; resize: vertical;}.rcd-page .gform_wrapper.gravity-theme input:focus,.rcd-page .gform_wrapper.gravity-theme select:focus,.rcd-page .gform_wrapper.gravity-theme textarea:focus{outline: none; border-color: rgb(124, 92, 255); box-shadow: rgba(124, 92, 255, 0.2) 0px 0px 0px 3px;}.rcd-page .gform_wrapper.gravity-theme .gfield_checkbox label,.rcd-page .gform_wrapper.gravity-theme .ginput_container_consent label{font-size: 14px; color: rgb(42, 50, 71);}.rcd-page .gform_wrapper.gravity-theme input[type=\"checkbox\"]{width: 20px; height: 20px; accent-color: rgb(194, 65, 12);}.rcd-page .gform_wrapper.gravity-theme .gform_footer{margin: 8px 0px 0px; padding: 0px;}.rcd-page .gform_wrapper.gravity-theme .gform_button{min-height: 48px; padding: 0px 28px; border: 0px; border-radius: 12px; background: rgb(194, 65, 12); color: rgb(255, 255, 255); font: 600 15px Inter, sans-serif; cursor: pointer; box-shadow: rgba(255, 107, 44, 0.8) 0px 10px 30px -10px; transition: background 0.2s;}.rcd-page .gform_wrapper.gravity-theme .gform_button:hover{background: rgb(154, 52, 18);}.rcd-page .gform_wrapper.gravity-theme .gfield_error input,.rcd-page .gform_wrapper.gravity-theme .gfield_error textarea{border-color: rgb(192, 38, 38);}\n.rcd-page .da-new{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;font:500 12px\/1 \"JetBrains Mono\",monospace;letter-spacing:.1em;text-transform:uppercase;background:rgba(255,107,44,.14);color:#FF8A4C;border:1px solid rgba(255,138,76,.4)}\n.rcd-page .da-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:56px;align-items:center}\n.rcd-page .da-head{display:flex;flex-direction:column;gap:16px;max-width:820px;margin:0 auto 52px;text-align:center;align-items:center}\n.rcd-page .da-replay{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:8px 14px;border-radius:999px;border:1px solid #CBD2E1;background:#fff;color:#4A5468;font:500 13px Inter,sans-serif;cursor:pointer}\n.rcd-page .dark .da-replay{background:transparent;border-color:rgba(255,255,255,.25);color:#C9D0E0}\n.rcd-page .da-replay:hover{border-color:#FF6B2C;color:#C2410C}.rcd-page .dark .da-replay:hover{color:#FF8A4C}\n\/* hero: the knowledge map *\/\n.rcd-page .da-map{position:relative;width:100%;max-width:560px;justify-self:center;aspect-ratio:1\/1}\n.rcd-page .da-map svg{position:absolute;inset:0;width:100%;height:100%}\n.rcd-page .da-map .ln{stroke:rgba(184,168,255,.22);stroke-width:1.5;fill:none}\n.rcd-page .da-map .pulse{stroke:url(#daGrad);stroke-width:2.5;fill:none;stroke-dasharray:14 220;animation:da-run 3.2s linear infinite}\n.rcd-page .da-map .pulse:nth-of-type(2n){animation-delay:-1.1s}.rcd-page .da-map .pulse:nth-of-type(3n){animation-delay:-2.2s}\n@keyframes da-run{from{stroke-dashoffset:234}to{stroke-dashoffset:0}}\n.rcd-page .da-node{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 14px;border-radius:16px;background:#121829;border:1px solid #2A3350;color:#E7EAF3;font:600 14px Sora,sans-serif;white-space:nowrap;box-shadow:0 14px 30px -16px rgba(0,0,0,.8)}\n.rcd-page .da-node small{font:500 11px \"JetBrains Mono\",monospace;color:#8B95AE;letter-spacing:.04em}\n.rcd-page .da-core{padding:22px 24px;border-radius:50%;width:150px;height:150px;justify-content:center;text-align:center;white-space:normal;background:radial-gradient(circle,#2A1A2E 0%,#121829 70%);border-color:rgba(255,138,76,.45);box-shadow:0 0 70px -10px rgba(255,107,44,.55),0 0 120px -20px rgba(124,92,255,.5)}\n.rcd-page .da-core b{font:700 15px\/1.25 Sora,sans-serif;color:#fff}\n.rcd-page .da-core::after{content:\"\";position:absolute;inset:-14px;border-radius:50%;border:1px dashed rgba(184,168,255,.45);animation:da-spin 26s linear infinite}\n@keyframes da-spin{to{transform:rotate(360deg)}}\n\/* before \/ with *\/\n.rcd-page .da-vs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:24px}\n.rcd-page .da-col{border-radius:24px;padding:32px;display:flex;flex-direction:column;gap:6px}\n.rcd-page .da-col h3{margin:0 0 14px;font:600 20px Sora,sans-serif}\n.rcd-page .da-old{background:#fff;border:1px solid #E3E7F0}\n.rcd-page .da-old h3{color:#4A5468}\n.rcd-page .da-newc{background:#0D1220;border:1px solid #1E2740;color:#E7EAF3;box-shadow:0 30px 60px -30px rgba(14,20,36,.6)}\n.rcd-page .da-newc h3{color:#fff}\n.rcd-page .da-step{display:flex;gap:14px;align-items:flex-start;padding:12px 0;border-top:1px solid #EEF1F6;font-size:15.5px;line-height:1.5;transition:opacity .5s,color .5s}\n.rcd-page .da-newc .da-step{border-top-color:#1E2740;color:#C9D0E0}\n.rcd-page .da-step .m{flex:none;width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;font:600 13px Inter,sans-serif}\n.rcd-page .da-old .m{background:#F2F4F7;color:#98A2B3}\n.rcd-page .da-newc .m{background:rgba(18,163,127,.16);color:#3DD6A8;border:1px solid rgba(61,214,168,.35)}\n.rcd-page .da-old .da-step.gone{opacity:.45;text-decoration:line-through;text-decoration-color:#E5484D}\n.rcd-page .da-newc .da-step{opacity:0;transform:translateY(8px);transition:opacity .5s,transform .5s}\n.rcd-page .da-newc .da-step.on{opacity:1;transform:none}\n.rcd-page .da-time{margin-top:14px;display:flex;align-items:center;gap:10px;font:500 13px \"JetBrains Mono\",monospace;color:#8B95AE}\n.rcd-page .da-bar{flex:1;height:8px;border-radius:99px;background:#EEF1F6;overflow:hidden}\n.rcd-page .da-newc .da-bar{background:#1E2740}\n.rcd-page .da-bar i{display:block;height:100%;width:0;border-radius:99px;transition:width 2.6s cubic-bezier(.2,.7,.2,1)}\n.rcd-page .da-old .da-bar i{background:#CBD2E1}.rcd-page .da-newc .da-bar i{background:linear-gradient(90deg,#FF6B2C,#7C5CFF)}\n\/* code index path *\/\n.rcd-page .da-path{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px}\n.rcd-page .da-pn{padding:16px 18px;border-radius:16px;background:#fff;border:1px solid #E3E7F0;min-width:170px;text-align:left;transition:border-color .4s,box-shadow .4s,transform .4s}\n.rcd-page .da-pn small{display:block;font:500 11px \"JetBrains Mono\",monospace;letter-spacing:.08em;text-transform:uppercase;color:#8B95AE;margin-bottom:6px}\n.rcd-page .da-pn b{font:600 15px \"JetBrains Mono\",monospace;color:#0E1424}\n.rcd-page .da-pn span{display:block;margin-top:6px;font-size:13.5px;color:#4A5468}\n.rcd-page .da-pn.hot{border-color:#FF6B2C;box-shadow:0 0 0 4px rgba(255,107,44,.12);transform:translateY(-3px)}\n.rcd-page .da-arrow{color:#CBD2E1;font:600 22px Inter,sans-serif;transition:color .4s}.rcd-page .da-arrow.hot{color:#FF6B2C}\n.rcd-page .da-q{max-width:760px;margin:0 auto 28px;padding:14px 18px;border-radius:16px;background:#0D1220;color:#fff;font:500 15.5px\/1.5 Inter,sans-serif;min-height:52px;text-align:left}\n.rcd-page .da-q::before{content:\"\u2726 \";color:#FF8A4C}\n.rcd-page .da-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px;margin-top:44px}\n.rcd-page .da-fact{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.55;color:#4A5468}\n.rcd-page .da-fact b{display:block;color:#0E1424;font:600 16px Sora,sans-serif;margin-bottom:2px}\n.rcd-page .da-ic{flex:none;width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#EFEBFF;color:#5B3FE0}\n.rcd-page .da-ic svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}\n\/* designer + chat demo *\/\n.rcd-page .da-win{background:#0D1220;border:1px solid #1E2740;border-radius:24px;overflow:hidden;box-shadow:0 40px 80px -30px rgba(0,0,0,.7)}\n.rcd-page .da-tb{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid #1E2740;font:500 12.5px \"JetBrains Mono\",monospace;color:#8B95AE;flex-wrap:wrap}\n.rcd-page .da-tb i{width:9px;height:9px;border-radius:50%;background:#2A3350;display:inline-block}\n.rcd-page .da-tb b{color:#E7EAF3;font-weight:500;margin-left:6px}\n.rcd-page .da-tb .tab{margin-left:auto;color:#FF8A4C}\n.rcd-page .da-bd{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}\n.rcd-page .da-canvas{padding:22px;background:#F6F7FB;display:flex;flex-direction:column;gap:12px;color:#0E1424}\n.rcd-page .da-canvas .ttl{font:600 16px Sora,sans-serif;display:flex;justify-content:space-between;align-items:baseline}\n.rcd-page .da-canvas .ttl small{font:500 11px \"JetBrains Mono\",monospace;color:#8B95AE}\n.rcd-page .da-fld label{display:block;font:500 11.5px Inter,sans-serif;color:#4A5468;margin-bottom:4px}\n.rcd-page .da-fld div{padding:9px 11px;border-radius:9px;background:#fff;border:1px solid #E3E7F0;font-size:13.5px;transition:border-color .4s,box-shadow .4s}\n.rcd-page .da-fld.hot div{border-color:#FF6B2C;box-shadow:0 0 0 4px rgba(255,107,44,.14)}\n.rcd-page .da-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}\n.rcd-page .da-btnrow{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.rcd-page .da-btnrow span{font-size:12px;padding:6px 10px;border-radius:8px;background:#fff;border:1px solid #E3E7F0;color:#4A5468}\n.rcd-page .da-chat{padding:18px;display:flex;flex-direction:column;gap:10px;border-left:1px solid #1E2740;min-height:430px}\n.rcd-page .da-ph{display:flex;align-items:center;gap:10px;color:#E7EAF3;font:600 14px Sora,sans-serif}\n.rcd-page .da-ph .dot{width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#FF6B2C,#7C5CFF);color:#fff;font-size:13px}\n.rcd-page .da-ph small{margin-left:auto;font:500 11px \"JetBrains Mono\",monospace;color:#3DD6A8}\n.rcd-page .da-bub{align-self:flex-end;max-width:92%;padding:11px 13px;border-radius:14px 14px 4px 14px;background:#C2410C;color:#fff;font-size:14px;line-height:1.5;min-height:42px}\n.rcd-page .da-tools{display:flex;flex-direction:column;gap:5px;font:500 12px\/1.5 \"JetBrains Mono\",monospace;color:#8B95AE}\n.rcd-page .da-tools div{opacity:0;transform:translateX(-6px);transition:opacity .35s,transform .35s}\n.rcd-page .da-tools div.show{opacity:1;transform:none}\n.rcd-page .da-tools b{color:#B8A8FF;font-weight:500}.rcd-page .da-tools i{font-style:normal;color:#3DD6A8;margin-left:6px}\n.rcd-page .da-diff{background:#0A0E1A;border:1px solid #1E2740;border-radius:12px;overflow:hidden;font:500 12px\/1.75 \"JetBrains Mono\",monospace;color:#AEB6CA}\n.rcd-page .da-diff .fh{display:flex;justify-content:space-between;gap:10px;padding:7px 12px;border-bottom:1px solid #1E2740;color:#E7EAF3;font-size:11.5px;flex-wrap:wrap}\n.rcd-page .da-diff .fh span{color:#8B95AE}\n.rcd-page .da-diff .ln{display:block;padding:0 12px;white-space:pre;overflow:hidden;text-overflow:ellipsis}\n.rcd-page .da-diff .ad{background:rgba(18,163,127,.14);color:#6EE7B7}\n.rcd-page .da-ans{padding:11px 13px;border-radius:14px 14px 14px 4px;background:#121829;border:1px solid #232C44;color:#C9D0E0;font-size:14px;line-height:1.55}\n.rcd-page .da-ans b{color:#fff}\n.rcd-page .da-btns{display:flex;flex-wrap:wrap;gap:8px}\n.rcd-page .da-btns span{font:500 12.5px Inter,sans-serif;padding:7px 11px;border-radius:9px;border:1px solid #2A3350;color:#C9D0E0}\n.rcd-page .da-btns span.f{border-color:rgba(255,138,76,.5);color:#FF8A4C}\n.rcd-page .da-fade{opacity:0;transform:translateY(8px);transition:opacity .5s,transform .5s}.rcd-page .da-fade.show{opacity:1;transform:none}\n.rcd-page .da-pts{display:flex;flex-direction:column;gap:18px}\n.rcd-page .da-pt{display:flex;gap:14px;align-items:flex-start;color:#AEB6CA;font-size:15px;line-height:1.55}\n.rcd-page .da-pt b{display:block;color:#fff;font:600 16px Sora,sans-serif;margin-bottom:2px}\n.rcd-page .da-pt .da-ic{background:rgba(124,92,255,.14);color:#B8A8FF}\n\/* compare view *\/\n.rcd-page .da-cmp{background:#fff;border:1px solid #E3E7F0;border-radius:24px;overflow:hidden;box-shadow:0 30px 60px -36px rgba(14,20,36,.35)}\n.rcd-page .da-cmp .bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px 16px;border-bottom:1px solid #E3E7F0;font:500 12.5px Inter,sans-serif;color:#4A5468}\n.rcd-page .da-cmp .bar .tab{font-family:\"JetBrains Mono\",monospace;color:#0E1424;padding:5px 10px;border-radius:8px;background:#F6F7FB}\n.rcd-page .da-cmp .bar .st{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}\n.rcd-page .da-ok{padding:5px 10px;border-radius:999px;background:#E3F6F0;color:#0E8A6A;font-weight:600;opacity:0;transition:opacity .4s}.rcd-page .da-ok.show{opacity:1}\n.rcd-page .da-why{display:flex;gap:12px;margin:16px;padding:14px 16px;border-radius:14px;background:#F6F3FF;border:1px solid #E4DCFF;color:#2A3247;font-size:14.5px;line-height:1.55}\n.rcd-page .da-why .dot{flex:none;width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#FF6B2C,#7C5CFF);color:#fff;font-size:13px}\n.rcd-page .da-sides{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));border-top:1px solid #E3E7F0}\n.rcd-page .da-side+.da-side{border-left:1px solid #E3E7F0}\n.rcd-page .da-side .sh{display:flex;justify-content:space-between;padding:9px 14px;font:600 12.5px Inter,sans-serif;color:#0E1424;background:#F9FAFB;border-bottom:1px solid #E3E7F0}\n.rcd-page .da-side .sh small{font-weight:500;color:#8B95AE}\n.rcd-page .da-code{font:500 12.5px\/1.8 \"JetBrains Mono\",monospace;color:#2A3247;padding:8px 0;overflow-x:auto}\n.rcd-page .da-code div{display:flex;white-space:pre;padding-right:14px}\n.rcd-page .da-code i{flex:none;width:38px;text-align:right;padding-right:10px;color:#98A2B3;font-style:normal}\n.rcd-page .da-code b{flex:none;width:14px;color:#067647}\n.rcd-page .da-code .add{background:#ECFDF3;opacity:0;transition:opacity .4s}.rcd-page .da-code .add.show{opacity:1}\n.rcd-page .da-code .k{color:#7C3AED}.rcd-page .da-code .s{color:#B54708}.rcd-page .da-code .c{color:#98A2B3}\n.rcd-page .da-acc{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:14px 16px;border-top:1px solid #E3E7F0}\n.rcd-page .da-acc span{font:600 13px Inter,sans-serif;padding:9px 14px;border-radius:10px;border:1px solid #CBD2E1;color:#2A3247}\n.rcd-page .da-acc .pri{background:#0E1424;color:#fff;border-color:#0E1424;transition:transform .2s,background .3s}\n.rcd-page .da-acc .pri.press{transform:scale(.96)}.rcd-page .da-acc .pri.done{background:#0E8A6A;border-color:#0E8A6A}\n.rcd-page .da-acc .n{border:0;padding:0;font-weight:500;color:#8B95AE;margin-left:auto}\n\/* capability cards *\/\n.rcd-page .da-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:18px}\n.rcd-page .da-cc{background:#121829;border:1px solid #232C44;border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:12px;min-height:200px;transition:border-color .4s,box-shadow .4s}\n.rcd-page .da-cc.lit{border-color:rgba(255,138,76,.6);box-shadow:0 0 0 4px rgba(255,107,44,.08)}\n.rcd-page .da-cc .hd{display:flex;align-items:center;gap:12px}\n.rcd-page .da-cc .hd .da-ic{background:rgba(255,107,44,.12);color:#FF8A4C}\n.rcd-page .da-cc h3{margin:0;font:600 17px Sora,sans-serif;color:#fff}\n.rcd-page .da-cc .tag{margin-left:auto;font:500 10.5px \"JetBrains Mono\",monospace;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:999px;border:1px solid rgba(61,214,168,.4);color:#3DD6A8}\n.rcd-page .da-cc .tag.new{border-color:rgba(255,138,76,.45);color:#FF8A4C}\n.rcd-page .da-cc .ex{flex:1;font-size:15px;line-height:1.55;color:#C9D0E0;min-height:70px}\n.rcd-page .da-cc .ex::after{content:\"\u258d\";color:#FF8A4C;animation:da-blink 1s steps(1) infinite}\n.rcd-page .da-cc .ex.done::after{content:\"\"}\n@keyframes da-blink{50%{opacity:0}}\n.rcd-page .da-cc .dots{display:flex;gap:6px}.rcd-page .da-cc .dots i{width:6px;height:6px;border-radius:50%;background:#2A3350}.rcd-page .da-cc .dots i.on{background:#FF8A4C}\n.rcd-page .da-always{margin-top:28px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;color:#AEB6CA;font-size:15px}\n.rcd-page .da-always b{color:#fff}\n.rcd-page .da-always span{padding:8px 14px;border-radius:999px;border:1px solid #2A3350;background:rgba(255,255,255,.03)}\n\/* guardrails *\/\n.rcd-page .da-guard{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:18px}\n.rcd-page .da-gc{background:#fff;border:1px solid #E3E7F0;border-radius:20px;padding:26px;display:flex;flex-direction:column;gap:10px}\n.rcd-page .da-gc h3{margin:0;font:600 18px Sora,sans-serif;color:#0E1424}\n.rcd-page .da-gc p{margin:0;color:#4A5468;font-size:15px;line-height:1.55}\n.rcd-page .da-gc .da-ic{background:#E3F6F0;color:#0E8A6A}\n\/* nightly *\/\n.rcd-page .da-night{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:16px}\n.rcd-page .da-nt{position:relative;background:#121829;border:1px solid #232C44;border-radius:18px;padding:20px;color:#AEB6CA;font-size:14.5px;line-height:1.55}\n.rcd-page .da-nt time{display:block;font:600 13px \"JetBrains Mono\",monospace;color:#B8A8FF;margin-bottom:8px}\n.rcd-page .da-nt b{display:block;color:#fff;font:600 16px Sora,sans-serif;margin-bottom:4px}\n.rcd-page .da-nt .tag{display:inline-block;margin-top:10px;font:500 10.5px \"JetBrains Mono\",monospace;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:999px;border:1px solid rgba(61,214,168,.4);color:#3DD6A8}\n.rcd-page .da-lesson{margin-top:20px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;padding:22px;border-radius:20px;background:linear-gradient(135deg,rgba(255,107,44,.12),rgba(124,92,255,.14));border:1px solid rgba(184,168,255,.3);color:#E7EAF3;font-size:15.5px;line-height:1.55}\n.rcd-page .da-lesson b{color:#fff}\n.rcd-page .da-lesson code{font:500 13px \"JetBrains Mono\",monospace;padding:3px 8px;border-radius:6px;background:rgba(0,0,0,.3);color:#FFB14A}\n\/* faq *\/\n.rcd-page .da-faq{max-width:880px;margin:0 auto;display:flex;flex-direction:column;gap:12px}\n.rcd-page .da-faq details{background:#fff;border:1px solid #E3E7F0;border-radius:16px;padding:18px 22px}\n.rcd-page .da-faq summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;font:600 16px Sora,sans-serif;color:#0E1424}\n.rcd-page .da-faq .rcd-sign{flex:none;width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:#FFF1E8;color:#C2410C;font:600 18px\/1 Inter,sans-serif}\n.rcd-page .da-faq details p{margin:12px 0 0;color:#4A5468;line-height:1.6}\n.rcd-page .da-split>*,.rcd-page .da-bd>*{min-width:0}\n@media(min-width:1000px){.rcd-page .da-demo{grid-template-columns:minmax(0,1.75fr) minmax(0,1fr)}}\n@media(max-width:860px){.rcd-page .da-bd{grid-template-columns:minmax(0,1fr)}.rcd-page .da-chat{border-left:0;border-top:1px solid #1E2740}.rcd-page .da-side+.da-side{border-left:0;border-top:1px solid #E3E7F0}.rcd-page .da-arrow{transform:rotate(90deg);width:100%;text-align:center}.rcd-page .da-path{flex-direction:column}.rcd-page .da-pn{width:100%;max-width:420px}}\n@media(max-width:560px){.rcd-page .da-map{aspect-ratio:auto;height:440px}.rcd-page .da-node{font-size:12.5px;padding:9px 10px}.rcd-page .da-core{width:120px;height:120px}}\n@media(prefers-reduced-motion:reduce){.rcd-page .da-map .pulse,.rcd-page .da-core::after,.rcd-page .da-cc .ex::after{animation:none}}\n<\/style><div class=\"rcd-page\"><div><section class=\"dark dots\" style=\"padding:56px 0 104px;overflow:hidden\">\n  <div class=\"wrap\" style=\"display:flex;flex-direction:column;gap:24px\">\n    <nav class=\"crumb\" aria-label=\"Fil d'Ariane\"><a href=\"https:\/\/www.rapidclouddevelopment.com\/fr\/\">Accueil<\/a><span aria-hidden=\"true\">\/<\/span><a href=\"https:\/\/www.rapidclouddevelopment.com\/fr\/ai-avec-rcd\/\">Solutions IA<\/a><span aria-hidden=\"true\">\/<\/span><span>AI Developer Assistant<\/span><\/nav>\n    <div class=\"da-split\">\n      <div style=\"display:flex;flex-direction:column;gap:24px;align-items:flex-start\">\n        <span class=\"da-new\">Nouveau \u00b7 AI Developer Assistant<\/span>\n        <h1 class=\"h1\" style=\"color:#fff;font-size:clamp(40px,5.4vw,76px)\">L&rsquo;\u00e8re du codage manuel <span class=\"gtext\">est r\u00e9volue.<\/span><\/h1>\n        <p class=\"lead\" style=\"max-width:600px\">Avec l&rsquo;AI Developer Assistant, chaque d\u00e9veloppeur travaille comme un senior qui conna\u00eet toute l&rsquo;application : chaque \u00e9cran, chaque programme, chaque table. Posez votre question en langage courant et obtenez une modification d\u00e9j\u00e0 v\u00e9rifi\u00e9e, expliqu\u00e9e et pr\u00eate pour votre relecture.<\/p>\n        <div style=\"display:flex;flex-wrap:wrap;gap:12px\"><a class=\"btn btn-p glow-btn\" href=\"#contact-us\">Demander une d\u00e9mo<\/a><a class=\"btn\" href=\"#da-demo\" style=\"border:1px solid rgba(255,255,255,.3);color:#fff\">Voyez-le \u00e0 l&rsquo;\u0153uvre<\/a><\/div>\n      <\/div>\n      <div class=\"da-map\" role=\"img\" aria-label=\"Une seule question fait appel \u00e0 tout ce que l'assistant conna\u00eet : \u00e9crans, endpoints, programmes, base de donn\u00e9es, tickets Jira et Git\">\n        <svg viewBox=\"0 0 100 100\" preserveAspectRatio=\"none\" aria-hidden=\"true\">\n          <defs><linearGradient id=\"daGrad\" x1=\"0\" x2=\"1\"><stop offset=\"0\" stop-color=\"#FF6B2C\"><\/stop><stop offset=\"1\" stop-color=\"#B8A8FF\"><\/stop><\/linearGradient><\/defs>\n          <path class=\"ln\" d=\"M50 50 L18 18\"><\/path><path class=\"ln\" d=\"M50 50 L82 18\"><\/path><path class=\"ln\" d=\"M50 50 L92 50\"><\/path><path class=\"ln\" d=\"M50 50 L82 82\"><\/path><path class=\"ln\" d=\"M50 50 L18 82\"><\/path><path class=\"ln\" d=\"M50 50 L8 50\"><\/path>\n          <path class=\"pulse\" d=\"M18 18 L50 50\" pathLength=\"234\"><\/path><path class=\"pulse\" d=\"M82 18 L50 50\" pathLength=\"234\"><\/path><path class=\"pulse\" d=\"M92 50 L50 50\" pathLength=\"234\"><\/path><path class=\"pulse\" d=\"M82 82 L50 50\" pathLength=\"234\"><\/path><path class=\"pulse\" d=\"M18 82 L50 50\" pathLength=\"234\"><\/path><path class=\"pulse\" d=\"M8 50 L50 50\" pathLength=\"234\"><\/path>\n        <\/svg>\n        <div class=\"da-node\" style=\"left:18%;top:18%\">\u00c9crans<small>designer<\/small><\/div>\n        <div class=\"da-node\" style=\"left:82%;top:18%\">Endpoints<small>backend<\/small><\/div>\n        <div class=\"da-node\" style=\"left:88%;top:50%\">Programmes<small>index de code<\/small><\/div>\n        <div class=\"da-node\" style=\"left:82%;top:82%\">Base de donn\u00e9es<small>tables \u00b7 champs<\/small><\/div>\n        <div class=\"da-node\" style=\"left:18%;top:82%\">Jira<small>tickets<\/small><\/div>\n        <div class=\"da-node\" style=\"left:12%;top:50%\">Git<small>historique<\/small><\/div>\n        <div class=\"da-node da-core\" style=\"left:50%;top:50%\"><b>Votre question<\/b><small>langage courant<\/small><\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n\n<section style=\"padding:104px 0;background:#fff\" data-play=\"senior\">\n  <div class=\"wrap\">\n    <div class=\"da-head\"><span class=\"eyebrow\">Tous seniors<\/span><h2 class=\"h2\">Le savoir de votre meilleur d\u00e9veloppeur, <span class=\"gtext\">pour chaque d\u00e9veloppeur.<\/span><\/h2><p class=\"lead\">\u00catre senior, c&rsquo;\u00e9tait savoir depuis des ann\u00e9es o\u00f9 se trouve chaque chose. Aujourd&rsquo;hui, ce savoir n&rsquo;est qu&rsquo;\u00e0 une question de distance, pour le nouveau coll\u00e8gue comme pour l&rsquo;expert.<\/p><\/div>\n    <div class=\"da-vs\">\n      <div class=\"da-col da-old\">\n        <h3>L&rsquo;ancienne m\u00e9thode<\/h3>\n        <div class=\"da-step\"><span class=\"m\">1<\/span>Chercher dans les sources qui \u00e9crit ce champ.<\/div>\n        <div class=\"da-step\"><span class=\"m\">2<\/span>Attendre le seul coll\u00e8gue qui conna\u00eet cette partie.<\/div>\n        <div class=\"da-step\"><span class=\"m\">3<\/span>\u00c9crire la modification \u00e0 la main, \u00e9cran et endpoint.<\/div>\n        <div class=\"da-step\"><span class=\"m\">4<\/span>Compiler, corriger la faute de frappe, recompiler.<\/div>\n        <div class=\"da-step\"><span class=\"m\">5<\/span>Esp\u00e9rer n&rsquo;avoir oubli\u00e9 aucun programme qui l&rsquo;utilise.<\/div>\n        <div class=\"da-time\">effort<span class=\"da-bar\"><i><\/i><\/span><\/div>\n      <\/div>\n      <div class=\"da-col da-newc\">\n        <h3>Avec l&rsquo;AI Developer Assistant<\/h3>\n        <div class=\"da-step\"><span class=\"m\">\u2713<\/span>Posez une seule question, avec vos propres mots.<\/div>\n        <div class=\"da-step\"><span class=\"m\">\u2713<\/span>Il retrace chaque appelant, lecteur et r\u00e9dacteur dans l&rsquo;index de code.<\/div>\n        <div class=\"da-step\"><span class=\"m\">\u2713<\/span>Il \u00e9crit la modification et explique quoi et pourquoi.<\/div>\n        <div class=\"da-step\"><span class=\"m\">\u2713<\/span>Le compilateur et les r\u00e8gles RCD sont d\u00e9j\u00e0 pass\u00e9s.<\/div>\n        <div class=\"da-step\"><span class=\"m\">\u2713<\/span>Vous la relisez c\u00f4te \u00e0 c\u00f4te et l&rsquo;acceptez.<\/div>\n        <div class=\"da-time\">effort<span class=\"da-bar\"><i><\/i><\/span><\/div>\n      <\/div>\n    <\/div>\n    <div style=\"text-align:center\"><button class=\"da-replay\" type=\"button\">\u21bb Rejouer<\/button><\/div>\n  <\/div>\n<\/section>\n\n\n<section style=\"padding:104px 0\" data-play=\"index\">\n  <div class=\"wrap\">\n    <div class=\"da-head\"><span class=\"eyebrow\">Conna\u00eet toute votre application<\/span><h2 class=\"h2\">Il regarde avant d&rsquo;\u00e9crire.<\/h2><p class=\"lead\">Chaque r\u00e9ponse part d&rsquo;un index de code de votre propre application : l&rsquo;assistant suit le vrai chemin d&rsquo;un \u00e9cran jusqu&rsquo;\u00e0 la base de donn\u00e9es au lieu de deviner.<\/p><\/div>\n    <div class=\"da-q\" id=\"daIdxQ\"><\/div>\n    <div class=\"da-path\">\n      <div class=\"da-pn\"><small>\u00c9cran<\/small><b>Payments-Add<\/b><span>champ Amount<\/span><\/div><span class=\"da-arrow\">\u2192<\/span>\n      <div class=\"da-pn\"><small>Endpoint<\/small><b>Payments-Add-RecordSet.p<\/b><span>enregistre le paiement<\/span><\/div><span class=\"da-arrow\">\u2192<\/span>\n      <div class=\"da-pn\"><small>Proc\u00e9dure<\/small><b>ValidateRecord<\/b><span>s&rsquo;ex\u00e9cute avant l&rsquo;enregistrement<\/span><\/div><span class=\"da-arrow\">\u2192<\/span>\n      <div class=\"da-pn\"><small>Table \u00b7 champ<\/small><b>customer.CreditLimit<\/b><span>6 programmes le lisent<\/span><\/div>\n    <\/div>\n    <div class=\"da-facts\">\n      <div class=\"da-fact\"><span class=\"da-ic\"><svg viewBox=\"0 0 24 24\"><circle cx=\"11\" cy=\"11\" r=\"7\"><\/circle><path d=\"m21 21-4.3-4.3\"><\/path><\/svg><\/span><span><b>Qui appelle quoi<\/b>Chaque programme, proc\u00e9dure et include, et qui les utilise.<\/span><\/div>\n      <div class=\"da-fact\"><span class=\"da-ic\"><svg viewBox=\"0 0 24 24\"><ellipse cx=\"12\" cy=\"5\" rx=\"8\" ry=\"3\"><\/ellipse><path d=\"M4 5v6c0 1.7 3.6 3 8 3s8-1.3 8-3V5M4 11v6c0 1.7 3.6 3 8 3s8-1.3 8-3v-6\"><\/path><\/svg><\/span><span><b>Qui lit et qui \u00e9crit<\/b>Chaque table et chaque champ, avec les programmes qui les lisent ou les modifient.<\/span><\/div>\n      <div class=\"da-fact\"><span class=\"da-ic\"><svg viewBox=\"0 0 24 24\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2\"><\/rect><path d=\"M3 9h18M9 9v11\"><\/path><\/svg><\/span><span><b>\u00c9crans et endpoints<\/b>Les endpoints utilis\u00e9s par chaque \u00e9cran, et les d\u00e9finitions d&rsquo;\u00e9cran elles-m\u00eames.<\/span><\/div>\n      <div class=\"da-fact\"><span class=\"da-ic\"><svg viewBox=\"0 0 24 24\"><path d=\"M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z\"><\/path><\/svg><\/span><span><b>\u00c0 jour chaque matin<\/b>Reconstruit chaque nuit sans IA, il correspond donc toujours \u00e0 vos sources.<\/span><\/div>\n    <\/div>\n    <div style=\"text-align:center\"><button class=\"da-replay\" type=\"button\">\u21bb Rejouer<\/button><\/div>\n  <\/div>\n<\/section>\n\n\n<section id=\"da-demo\" class=\"dark dots\" style=\"padding:104px 0\" data-play=\"demo\">\n  <div class=\"wrap\">\n    <div class=\"da-head\"><span class=\"eyebrow\">Voyez-le \u00e0 l&rsquo;\u0153uvre<\/span><h2 class=\"h2\" style=\"color:#fff\">D&rsquo;un ticket Jira <span class=\"gtext\">\u00e0 une proposition v\u00e9rifi\u00e9e.<\/span><\/h2><p class=\"lead\">Directement dans le RCD Designer : l&rsquo;assistant lit le ticket, trouve le code, \u00e9crit la modification, la compile et l&rsquo;explique. Rien n&rsquo;est enregistr\u00e9.<\/p><\/div>\n    <div class=\"da-split da-demo\" style=\"align-items:start\">\n      <div class=\"da-win\">\n        <div class=\"da-tb\"><i><\/i><i><\/i><i><\/i><b>RCD Designer<\/b> \u00b7 Customer-Details<span class=\"tab\">\u2726 AI Developer Assistant<\/span><\/div>\n        <div class=\"da-bd\">\n          <div class=\"da-canvas\">\n            <div class=\"ttl\">D\u00e9tails du client<small>aper\u00e7u de l&rsquo;\u00e9cran<\/small><\/div>\n            <div class=\"da-row2\"><div class=\"da-fld\"><label>Num\u00e9ro de client<\/label><div>000001<\/div><\/div><div class=\"da-fld\"><label>Langue<\/label><div>N\u00e9erlandais<\/div><\/div><\/div>\n            <div class=\"da-fld\"><label>Nom<\/label><div>Example Ltd<\/div><\/div>\n            <div class=\"da-row2\"><div class=\"da-fld\"><label>Pays<\/label><div>Belgique<\/div><\/div><div class=\"da-fld\"><label>Ville<\/label><div>Anvers<\/div><\/div><\/div>\n            <div class=\"da-fld\" id=\"daVat\"><label>Num\u00e9ro de TVA<\/label><div>BE0999999999<\/div><\/div>\n            <div class=\"da-btnrow\"><span>Nouveau<\/span><span>Modifier<\/span><span>Enregistrer<\/span><span>Supprimer<\/span><\/div>\n          <\/div>\n          <div class=\"da-chat\">\n            <div class=\"da-ph\"><span class=\"dot\">\u2726<\/span>AI Developer Assistant<small>\u25cf propositions uniquement<\/small><\/div>\n            <div class=\"da-bub\" id=\"daQ\"><\/div>\n            <div class=\"da-tools\" id=\"daTools\">\n              <div>\u27f6 <b>jira_issue<\/b> ticket lu \u00b7 1 pi\u00e8ce jointe <i>\u2713<\/i><\/div>\n              <div>\u27f6 <b>code_index<\/b> qui \u00e9crit customer.VATNr \u00b7 3 programmes <i>\u2713<\/i><\/div>\n              <div>\u27f6 <b>edit_file<\/b> Customer-RecordSet.p <i>\u2713 proposition<\/i><\/div>\n              <div>\u27f6 <b>compile_check<\/b> compilateur OpenEdge <i>\u2713 0 erreur<\/i><\/div>\n              <div>\u27f6 <b>rcd_lint<\/b> <i>\u2713 aucune nouvelle remarque<\/i><\/div>\n            <\/div>\n            <div class=\"da-diff da-fade\" id=\"daDiff\"><div class=\"fh\"><b>Customer-RecordSet.p<\/b><span>+4 lignes \u00b7 rien n&rsquo;est enregistr\u00e9<\/span><\/div><span class=\"ln\">IF customer.VATNr &lt;&gt; \u00ab\u00a0\u00a0\u00bb THEN DO:<\/span><span class=\"ln ad\">  RUN CheckVatVies (customer.VATNr, OUTPUT lValid).<\/span><span class=\"ln ad\">  IF NOT lValid THEN<\/span><span class=\"ln ad\">    RETURN ERROR \u00ab\u00a0VAT number is not valid (VIES)\u00a0\u00bb.<\/span><span class=\"ln ad\">END.<\/span><\/div>\n            <div class=\"da-ans da-fade\" id=\"daA\">Proposition pr\u00eate : le num\u00e9ro de TVA est d\u00e9sormais v\u00e9rifi\u00e9 via VIES <b>avant l&rsquo;enregistrement du client<\/b>. J&rsquo;ai modifi\u00e9 un seul endpoint et je n&rsquo;ai rien enregistr\u00e9. V\u00e9rifiez d&rsquo;abord.<\/div>\n            <div class=\"da-btns da-fade\" id=\"daB\"><span class=\"f\">\u21c4 Comparer avant \/ apr\u00e8s<\/span><span class=\"f\">{ } Ouvrir dans l&rsquo;\u00e9diteur de code<\/span><span>Pourquoi ce programme ?<\/span><\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n      <div class=\"da-pts\">\n        <div class=\"da-pt\"><span class=\"da-ic\"><svg viewBox=\"0 0 24 24\"><path d=\"M3 7a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v3a2 2 0 0 0 0 4v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-3a2 2 0 0 0 0-4z\"><\/path><\/svg><\/span><span><b>Part de votre ticket<\/b>Il lit le ticket Jira et ses pi\u00e8ces jointes avec votre propre compte. Si la correction n&rsquo;est pas claire, il pose au maximum trois questions pr\u00e9cises.<\/span><\/div>\n        <div class=\"da-pt\"><span class=\"da-ic\"><svg viewBox=\"0 0 24 24\"><circle cx=\"11\" cy=\"11\" r=\"7\"><\/circle><path d=\"m21 21-4.3-4.3M8 11h6M11 8v6\"><\/path><\/svg><\/span><span><b>Trouve le bon endroit<\/b>L&rsquo;index de code montre quels programmes \u00e9crivent le champ, pour que la modification arrive l\u00e0 o\u00f9 elle doit \u00eatre.<\/span><\/div>\n        <div class=\"da-pt\"><span class=\"da-ic\"><svg viewBox=\"0 0 24 24\"><path d=\"M12 3l8 4v5c0 4.5-3.4 8.3-8 9-4.6-.7-8-4.5-8-9V7z\"><\/path><path d=\"m8.5 12 2.5 2.5 4.5-5\"><\/path><\/svg><\/span><span><b>V\u00e9rifi\u00e9 avant que vous ne le voyiez<\/b>Chaque programme modifi\u00e9 passe par le vrai compilateur OpenEdge et le linter RCD.<\/span><\/div>\n        <div class=\"da-pt\"><span class=\"da-ic\"><svg viewBox=\"0 0 24 24\"><path d=\"M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z\"><\/path><circle cx=\"12\" cy=\"12\" r=\"3\"><\/circle><\/svg><\/span><span><b>Expliqu\u00e9, jamais enregistr\u00e9<\/b>Une courte explication, une vue comparative et des boutons. C&rsquo;est vous qui d\u00e9cidez de la suite.<\/span><\/div>\n        <div><button class=\"da-replay\" type=\"button\">\u21bb Rejouer<\/button><\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n\n<section style=\"padding:104px 0;background:#fff\" data-play=\"compare\">\n  <div class=\"wrap\">\n    <div class=\"da-head\"><span class=\"eyebrow\">Dans l&rsquo;\u00e9diteur de code<\/span><h2 class=\"h2\">Chaque modification, ligne par ligne. <span class=\"gtext\">C&rsquo;est vous qui d\u00e9cidez.<\/span><\/h2><p class=\"lead\">La proposition s&rsquo;ouvre \u00e0 c\u00f4t\u00e9 de votre propre version, avec la raison de chaque modification. Acceptez-la, rejetez-la ou posez une question compl\u00e9mentaire.<\/p><\/div>\n    <div class=\"da-cmp\">\n      <div class=\"bar\"><span>\u21bb Actualiser<\/span><span>\u2713 V\u00e9rifier la syntaxe<\/span><span class=\"tab\">Payments-Add-RecordSet.p \u00b7 proposition IA<\/span><span class=\"st\"><span class=\"da-ok\">\u2713 compile \u00b7 0 erreur<\/span><span class=\"da-ok\">\u2713 lint \u00b7 aucune nouvelle remarque<\/span><\/span><\/div>\n      <div class=\"da-why da-fade\" id=\"daWhy\"><span class=\"dot\">\u2726<\/span><p style=\"margin:0\"><b>Pourquoi cette modification :<\/b> les paiements \u00e9taient enregistr\u00e9s sans tenir compte de la limite de cr\u00e9dit du client. La v\u00e9rification s&rsquo;ex\u00e9cute dans <b>ValidateRecord<\/b>, avant l&rsquo;\u00e9criture de l&rsquo;enregistrement, elle couvre donc aussi les imports qui utilisent cet endpoint. Une limite de 0 signifie \u00ab pas de limite \u00bb, comme partout ailleurs dans l&rsquo;application.<\/p><\/div>\n      <div class=\"da-sides\">\n        <div class=\"da-side\"><div class=\"sh\">Avant \u00b7 votre version<small>lignes 41\u201344<\/small><\/div><div class=\"da-code\">\n          <div><i>41<\/i><b><\/b><span><span class=\"k\">PROCEDURE<\/span> ValidateRecord:<\/span><\/div>\n          <div><i>42<\/i><b><\/b><span>  <span class=\"k\">IF<\/span> ttPayments.Amount &lt;= 0 <span class=\"k\">THEN<\/span><\/span><\/div>\n          <div><i>43<\/i><b><\/b><span>    <span class=\"k\">RETURN ERROR<\/span> <span class=\"s\">\u00ab\u00a0Amount must be positive\u00a0\u00bb<\/span>.<\/span><\/div>\n          <div><i>44<\/i><b><\/b><span><span class=\"k\">END PROCEDURE<\/span>.<\/span><\/div>\n        <\/div><\/div>\n        <div class=\"da-side\"><div class=\"sh\">Apr\u00e8s \u00b7 proposition IA<small>+6 lignes<\/small><\/div><div class=\"da-code\">\n          <div><i>41<\/i><b><\/b><span><span class=\"k\">PROCEDURE<\/span> ValidateRecord:<\/span><\/div>\n          <div><i>42<\/i><b><\/b><span>  <span class=\"k\">IF<\/span> ttPayments.Amount &lt;= 0 <span class=\"k\">THEN<\/span><\/span><\/div>\n          <div><i>43<\/i><b><\/b><span>    <span class=\"k\">RETURN ERROR<\/span> <span class=\"s\">\u00ab\u00a0Amount must be positive\u00a0\u00bb<\/span>.<\/span><\/div>\n          <div class=\"add\"><i>44<\/i><b>+<\/b><span>  <span class=\"c\">\/* refuse amounts above the customer&rsquo;s credit limit *\/<\/span><\/span><\/div>\n          <div class=\"add\"><i>45<\/i><b>+<\/b><span>  <span class=\"k\">FIND<\/span> customer <span class=\"k\">NO-LOCK WHERE<\/span> customer.CustNr = ttPayments.CustNr <span class=\"k\">NO-ERROR<\/span>.<\/span><\/div>\n          <div class=\"add\"><i>46<\/i><b>+<\/b><span>  <span class=\"k\">IF AVAILABLE<\/span> customer <span class=\"k\">AND<\/span> customer.CreditLimit &gt; 0<\/span><\/div>\n          <div class=\"add\"><i>47<\/i><b>+<\/b><span>     <span class=\"k\">AND<\/span> ttPayments.Amount &gt; customer.CreditLimit <span class=\"k\">THEN<\/span><\/span><\/div>\n          <div class=\"add\"><i>48<\/i><b>+<\/b><span>    <span class=\"k\">RETURN ERROR<\/span> <span class=\"k\">SUBSTITUTE<\/span>(<span class=\"s\">\u00ab\u00a0Amount exceeds the credit limit (&amp;1)\u00a0\u00bb<\/span>,<\/span><\/div>\n          <div class=\"add\"><i>49<\/i><b>+<\/b><span>                        customer.CreditLimit).<\/span><\/div>\n          <div><i>50<\/i><b><\/b><span><span class=\"k\">END PROCEDURE<\/span>.<\/span><\/div>\n        <\/div><\/div>\n      <\/div>\n      <div class=\"da-acc\"><span class=\"pri\" id=\"daAcc\">\u2713 Accepter la proposition<\/span><span>Rejeter<\/span><span>Poser une question compl\u00e9mentaire<\/span><span class=\"n\">Rien n&rsquo;est enregistr\u00e9 tant que vous n&rsquo;acceptez pas<\/span><\/div>\n    <\/div>\n    <div style=\"text-align:center\"><button class=\"da-replay\" type=\"button\">\u21bb Rejouer<\/button><\/div>\n  <\/div>\n<\/section>\n\n\n<section class=\"dark\" style=\"padding:104px 0\" data-play=\"cards\">\n  <div class=\"wrap\">\n    <div class=\"da-head\"><span class=\"eyebrow\">Il suffit de demander<\/span><h2 class=\"h2\" style=\"color:#fff\">Que pouvez-vous faire avec le <span class=\"gtext\">AI Developer Assistant ?<\/span><\/h2><p class=\"lead\">Dans le designer et dans l&rsquo;\u00e9diteur de code, avec vos propres mots.<\/p><\/div>\n    <div class=\"da-cards\">\n      <div class=\"da-cc\" data-ex=\"Explique ce que fait Orders-UIRules quand le client change.|Que se passe-t-il quand je clique sur Enregistrer dans Payments-Add ?|Dans l'\u00e9diteur de code : explique cette proc\u00e9dure.\"><div class=\"hd\"><span class=\"da-ic\"><svg viewBox=\"0 0 24 24\"><path d=\"m8 6-6 6 6 6M16 6l6 6-6 6M14 4l-4 16\"><\/path><\/svg><\/span><h3>Comprendre le code<\/h3><\/div><div class=\"ex\"><\/div><div class=\"dots\"><i><\/i><i><\/i><i><\/i><\/div><\/div>\n      <div class=\"da-cc\" data-ex=\"Qui appelle ProdResults-Create ?|O\u00f9 le champ CurrRate est-il rempli ?|Quels programmes \u00e9crivent dans accountbookline ?\"><div class=\"hd\"><span class=\"da-ic\"><svg viewBox=\"0 0 24 24\"><circle cx=\"10.5\" cy=\"10.5\" r=\"6.5\"><\/circle><path d=\"M15.5 15.5 21 21\"><\/path><\/svg><\/span><h3>Trouver en quelques secondes<\/h3><span class=\"tag\">Sans IA<\/span><\/div><div class=\"ex\"><\/div><div class=\"dots\"><i><\/i><i><\/i><i><\/i><\/div><\/div>\n      <div class=\"da-cc\" data-ex=\"Pourquoi le total de la facture n'inclut-il pas les lignes de remise ?|La commande est comptabilis\u00e9e sans compte : trouve la cause.|Dois-je faire cette correction ? Oui, et ajoute aussi la v\u00e9rification.\"><div class=\"hd\"><span class=\"da-ic\"><svg viewBox=\"0 0 24 24\"><rect x=\"7\" y=\"7\" width=\"10\" height=\"13\" rx=\"5\"><\/rect><path d=\"M12 7V4M3 12h4M17 12h4M4 18l3-2M20 18l-3-2\"><\/path><\/svg><\/span><h3>Analyser un bug<\/h3><\/div><div class=\"ex\"><\/div><div class=\"dots\"><i><\/i><i><\/i><i><\/i><\/div><\/div>\n      <div class=\"da-cc\" data-ex=\"V\u00e9rifie le ticket RCD-482, captures d'\u00e9cran et PDF compris.|Propose la correction, ou demande-moi ce qui n'est pas clair.|R\u00e9dige un commentaire pour le ticket qui explique la correction.\"><div class=\"hd\"><span class=\"da-ic\"><svg viewBox=\"0 0 24 24\"><path d=\"M3 7a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v3a2 2 0 0 0 0 4v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-3a2 2 0 0 0 0-4z\"><\/path><\/svg><\/span><h3>Travailler \u00e0 partir de tickets Jira<\/h3><\/div><div class=\"ex\"><\/div><div class=\"dots\"><i><\/i><i><\/i><i><\/i><\/div><\/div>\n      <div class=\"da-cc\" data-ex=\"Ajoute un champ Remarks sous OrdDate.|Rends CustNr obligatoire et d\u00e9place-le vers le premier onglet.|Affiche cette proposition dans le designer.\"><div class=\"hd\"><span class=\"da-ic\"><svg viewBox=\"0 0 24 24\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2\"><\/rect><path d=\"M3 9h18M9 9v11\"><\/path><\/svg><\/span><h3>Modifier un \u00e9cran<\/h3><\/div><div class=\"ex\"><\/div><div class=\"dots\"><i><\/i><i><\/i><i><\/i><\/div><\/div>\n      <div class=\"da-cc\" data-ex=\"Supprime les variables inutilis\u00e9es de ce programme.|Cr\u00e9e un nouvel endpoint Customers-Export.|Fais un commit dans Git, avec le num\u00e9ro du ticket dans le message.\"><div class=\"hd\"><span class=\"da-ic\"><svg viewBox=\"0 0 24 24\"><path d=\"M14 3H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z\"><\/path><path d=\"M14 3v6h6M10 13l-2 2 2 2M14 13l2 2-2 2\"><\/path><\/svg><\/span><h3>Modifier et commiter le code<\/h3><span class=\"tag new\">Nouveau<\/span><\/div><div class=\"ex\"><\/div><div class=\"dots\"><i><\/i><i><\/i><i><\/i><\/div><\/div>\n      <div class=\"da-cc\" data-ex=\"Compilation : \u00e7a compile, ou les erreurs avec leurs lignes.|Lint : les r\u00e8gles RCD et vos propres conventions.|Code inutilis\u00e9 : tout supprimer en un clic.\"><div class=\"hd\"><span class=\"da-ic\"><svg viewBox=\"0 0 24 24\"><path d=\"m4 12 5 5L20 6\"><\/path><\/svg><\/span><h3>V\u00e9rifications par code<\/h3><span class=\"tag\">Sans IA<\/span><\/div><div class=\"ex\"><\/div><div class=\"dots\"><i><\/i><i><\/i><i><\/i><\/div><\/div>\n      <div class=\"da-cc\" data-ex=\"\/command check-app = compile, lint, unused|\/rule les temp-tables commencent par tt|Demand\u00e9 trois fois ? Cela devient une routine, sans IA.\"><div class=\"hd\"><span class=\"da-ic\"><svg viewBox=\"0 0 24 24\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2\"><\/rect><path d=\"m7 9 3 3-3 3M12 15h5\"><\/path><\/svg><\/span><h3>Vos propres commandes<\/h3><\/div><div class=\"ex\"><\/div><div class=\"dots\"><i><\/i><i><\/i><i><\/i><\/div><\/div>\n      <div class=\"da-cc\" data-ex=\"Reprends la discussion de ce matin sur Orders-Details.|Pose ta question en n\u00e9erlandais : la r\u00e9ponse reste en n\u00e9erlandais.|D\u00e9tache-le sur un deuxi\u00e8me \u00e9cran, ou parle-lui simplement.\"><div class=\"hd\"><span class=\"da-ic\"><svg viewBox=\"0 0 24 24\"><path d=\"M3 12a9 9 0 1 0 3-6.7L3 8\"><\/path><path d=\"M3 3v5h5M12 7v5l3 3\"><\/path><\/svg><\/span><h3>Historique et votre langue<\/h3><span class=\"tag new\">Nouveau<\/span><\/div><div class=\"ex\"><\/div><div class=\"dots\"><i><\/i><i><\/i><i><\/i><\/div><\/div>\n    <\/div>\n    <div class=\"da-always\"><b>Toujours :<\/b><span>rien n&rsquo;est enregistr\u00e9 sans vous<\/span><span>framework intact<\/span><span>compil\u00e9 et v\u00e9rifi\u00e9 par le linter<\/span><span>limite de co\u00fbt par question<\/span><\/div>\n    <div style=\"text-align:center\"><button class=\"da-replay\" type=\"button\">\u21bb Rejouer<\/button><\/div>\n  <\/div>\n<\/section>\n\n\n<section style=\"padding:104px 0\">\n  <div class=\"wrap\">\n    <div class=\"da-head\"><span class=\"eyebrow\">Garde-fous pour les d\u00e9veloppeurs<\/span><h2 class=\"h2\">Fond\u00e9 sur le r\u00e9el. <span class=\"gtext\">Pas sur des suppositions.<\/span><\/h2><p class=\"lead\">Un senior n&rsquo;invente pas de noms de champs. L&rsquo;assistant non plus : il travaille \u00e0 partir de votre v\u00e9ritable application et de mod\u00e8les RCD \u00e9prouv\u00e9s, et du code v\u00e9rifie chaque r\u00e9sultat.<\/p><\/div>\n    <div class=\"da-guard\">\n      <div class=\"da-gc\"><span class=\"da-ic\"><svg viewBox=\"0 0 24 24\"><ellipse cx=\"12\" cy=\"5\" rx=\"8\" ry=\"3\"><\/ellipse><path d=\"M4 5v6c0 1.7 3.6 3 8 3s8-1.3 8-3V5M4 11v6c0 1.7 3.6 3 8 3s8-1.3 8-3v-6\"><\/path><\/svg><\/span><h3>Uniquement le vrai sch\u00e9ma<\/h3><p>Chaque table, champ, format et liste de valeurs est recherch\u00e9 dans vos v\u00e9ritables d\u00e9finitions de base de donn\u00e9es avant qu&rsquo;une seule ligne soit \u00e9crite.<\/p><\/div>\n      <div class=\"da-gc\"><span class=\"da-ic\"><svg viewBox=\"0 0 24 24\"><rect x=\"3\" y=\"7\" width=\"18\" height=\"14\" rx=\"3\"><\/rect><path d=\"M9 3h6l1 4H8zM8 12h8M8 16h5\"><\/path><\/svg><\/span><h3>Mod\u00e8les \u00e9prouv\u00e9s<\/h3><p>Une biblioth\u00e8que de structures d&rsquo;\u00e9crans et d&rsquo;endpoints confirm\u00e9es, v\u00e9rifi\u00e9es par rapport \u00e0 de vraies applications en production.<\/p><\/div>\n      <div class=\"da-gc\"><span class=\"da-ic\"><svg viewBox=\"0 0 24 24\"><path d=\"M12 3l8 4v5c0 4.5-3.4 8.3-8 9-4.6-.7-8-4.5-8-9V7z\"><\/path><path d=\"m8.5 12 2.5 2.5 4.5-5\"><\/path><\/svg><\/span><h3>V\u00e9rifications sans IA<\/h3><p>Le linter RCD et le vrai compilateur OpenEdge d\u00e9tectent gratuitement les erreurs r\u00e9currentes, avant toute relecture.<\/p><\/div>\n      <div class=\"da-gc\"><span class=\"da-ic\"><svg viewBox=\"0 0 24 24\"><rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\"><\/rect><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"><\/path><\/svg><\/span><h3>Des limites claires<\/h3><p>Il peut lire le framework RCD et les anciennes fen\u00eatres pour les comprendre, mais ne les modifie jamais. Les comptes designer en lecture seule ne peuvent pas l&rsquo;utiliser.<\/p><\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n\n<section class=\"dark dots\" style=\"padding:104px 0\">\n  <div class=\"wrap\">\n    <div class=\"da-head\"><span class=\"eyebrow\">Apprend chaque nuit<\/span><h2 class=\"h2\" style=\"color:#fff\">Demain, il sait <span class=\"gtext\">ce qui a chang\u00e9 aujourd&rsquo;hui.<\/span><\/h2><p class=\"lead\">Pendant que votre \u00e9quipe dort, l&rsquo;assistant met \u00e0 jour sa connaissance de chaque projet, en basse priorit\u00e9 et en grande partie sans IA.<\/p><\/div>\n    <div class=\"da-night\">\n      <div class=\"da-nt\"><time>01:00<\/time><b>Modifications de la base de donn\u00e9es<\/b>Les tables et champs nouveaux ou modifi\u00e9s sont pris en compte.<span class=\"tag\">Sans IA<\/span><\/div>\n      <div class=\"da-nt\"><time>02:00<\/time><b>Applications<\/b>Les \u00e9crans et applications nouveaux, modifi\u00e9s ou supprim\u00e9s sont enregistr\u00e9s.<span class=\"tag\">Sans IA<\/span><\/div>\n      <div class=\"da-nt\"><time>03:00<\/time><b>Index de code<\/b>Les sources modifi\u00e9es sont compil\u00e9es pour actualiser qui appelle, lit et \u00e9crit quoi.<span class=\"tag\">Sans IA<\/span><\/div>\n      <div class=\"da-nt\"><time>06:00<\/time><b>Rapport du jour<\/b>Un court rapport de ce qui a chang\u00e9, avec des r\u00e9sum\u00e9s r\u00e9dig\u00e9s par un petit mod\u00e8le peu co\u00fbteux.<\/div>\n    <\/div>\n    <div class=\"da-lesson\"><span class=\"da-ic\" style=\"background:rgba(255,107,44,.16);color:#FF8A4C\"><svg viewBox=\"0 0 24 24\"><path d=\"M12 2a7 7 0 0 0-4 12.7V17h8v-2.3A7 7 0 0 0 12 2zM9 21h6\"><\/path><\/svg><\/span><span style=\"flex:1 1 420px\"><b>Vos corrections deviennent des le\u00e7ons.<\/b> Lorsqu&rsquo;un d\u00e9veloppeur corrige une proposition, l&rsquo;assistant retient la le\u00e7on, par exemple <code>lessons\/screen-captions-translation.md<\/code>, et l&rsquo;applique dans les conversations suivantes pour toute l&rsquo;\u00e9quipe. Chaque projet conserve ses propres connaissances.<\/span><\/div>\n  <\/div>\n<\/section>\n\n\n<section style=\"padding:104px 0;background:#fff\">\n  <div class=\"wrap\">\n    <div class=\"da-head\" style=\"margin-bottom:32px\"><span class=\"eyebrow\">FAQ<\/span><h2 class=\"h2\">Questions sur l&rsquo;AI Developer Assistant<\/h2><\/div>\n    <div class=\"da-faq\">\n      <details><summary>Remplace-t-il mes d\u00e9veloppeurs ?<span class=\"rcd-sign\">+<\/span><\/summary><p>Non. Il les d\u00e9charge des recherches, des modifications de routine et des v\u00e9rifications, pour que chaque d\u00e9veloppeur puisse travailler avec le savoir d&rsquo;un senior. Ce sont toujours les d\u00e9veloppeurs qui d\u00e9cident de ce qui est enregistr\u00e9.<\/p><\/details>\n      <details><summary>L&rsquo;assistant modifie-t-il mes sources ?<span class=\"rcd-sign\">+<\/span><\/summary><p>Non. Il ne fait que proposer des modifications. Le designer affiche l&rsquo;\u00e9cran modifi\u00e9 et l&rsquo;\u00e9diteur de code montre chaque fichier modifi\u00e9 avant et apr\u00e8s ; vous enregistrez ce que vous acceptez.<\/p><\/details>\n      <details><summary>Comment conna\u00eet-il mon application ?<span class=\"rcd-sign\">+<\/span><\/summary><p>Il utilise un index de code de votre application (qui appelle quoi, quels programmes lisent ou \u00e9crivent une table ou un champ, quels endpoints un \u00e9cran utilise), les d\u00e9finitions de la base de donn\u00e9es et les mod\u00e8les RCD confirm\u00e9s. L&rsquo;index est actualis\u00e9 chaque nuit.<\/p><\/details>\n      <details><summary>Peut-il travailler sur un ticket Jira ?<span class=\"rcd-sign\">+<\/span><\/summary><p>Oui. Avec votre propre compte Jira, il lit le ticket et ses pi\u00e8ces jointes. Si la correction est claire, il la propose ; sinon, il pose au maximum trois questions pr\u00e9cises et montre ce qu&rsquo;il a trouv\u00e9.<\/p><\/details>\n      <details><summary>\u00c0 quoi ne peut-il pas toucher ?<span class=\"rcd-sign\">+<\/span><\/summary><p>Au framework RCD et aux fen\u00eatres h\u00e9rit\u00e9es : il peut les lire pour comprendre votre application, mais il ne les modifie jamais.<\/p><\/details>\n      <details><summary>Combien cela co\u00fbte-t-il ?<span class=\"rcd-sign\">+<\/span><\/summary><p>Les v\u00e9rifications et l&rsquo;index de code fonctionnent sans IA. Les questions utilisent un mod\u00e8le d&rsquo;IA, avec une limite de co\u00fbt par question, et les r\u00e9sum\u00e9s nocturnes utilisent un petit mod\u00e8le peu co\u00fbteux.<\/p><\/details>\n    <\/div>\n  <\/div>\n<\/section> <section id=\"contact-us\" style=\"background:#F6F7FB;padding:104px 0;font-family:Inter,system-ui,sans-serif;color:#0E1424\"> <div style=\"max-width:1200px;margin:0 auto;padding:0 32px;box-sizing:border-box;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:32px;align-items:stretch\"> <div style=\"background:#0A0E1A;color:#E7EAF3;border-radius:28px;padding:44px;display:flex;flex-direction:column;gap:28px;position:relative;overflow:hidden;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:28px 28px\"> <h3 style=\"margin:0;font:700 clamp(28px,3vw,40px)\/1.1 Sora,sans-serif;letter-spacing:-.02em;color:#fff\">Pourquoi RCD ?<\/h3> <ul style=\"list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px\"> <li style=\"display:flex;gap:14px;align-items:flex-start;font-size:16.5px;line-height:1.45;color:#D7DCE8\"><span style=\"flex:none;width:26px;height:26px;border-radius:8px;background:rgba(255,107,44,.16);color:#FF8A4C;display:flex;align-items:center;justify-content:center\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M5 12l5 5 9-10\"><\/path><\/svg><\/span>Explorez et profitez des nouvelles possibilit\u00e9s techniques<\/li> <li style=\"display:flex;gap:14px;align-items:flex-start;font-size:16.5px;line-height:1.45;color:#D7DCE8\"><span style=\"flex:none;width:26px;height:26px;border-radius:8px;background:rgba(255,107,44,.16);color:#FF8A4C;display:flex;align-items:center;justify-content:center\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M5 12l5 5 9-10\"><\/path><\/svg><\/span>R\u00e9pondez aux exigences de s\u00e9curit\u00e9 modernes<\/li> <li style=\"display:flex;gap:14px;align-items:flex-start;font-size:16.5px;line-height:1.45;color:#D7DCE8\"><span style=\"flex:none;width:26px;height:26px;border-radius:8px;background:rgba(255,107,44,.16);color:#FF8A4C;display:flex;align-items:center;justify-content:center\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M5 12l5 5 9-10\"><\/path><\/svg><\/span>Retrouvez votre comp\u00e9titivit\u00e9 sur le march\u00e9<\/li> <li style=\"display:flex;gap:14px;align-items:flex-start;font-size:16.5px;line-height:1.45;color:#D7DCE8\"><span style=\"flex:none;width:26px;height:26px;border-radius:8px;background:rgba(255,107,44,.16);color:#FF8A4C;display:flex;align-items:center;justify-content:center\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M5 12l5 5 9-10\"><\/path><\/svg><\/span>Devenez ind\u00e9pendant des appareils<\/li> <li style=\"display:flex;gap:14px;align-items:flex-start;font-size:16.5px;line-height:1.45;color:#D7DCE8\"><span style=\"flex:none;width:26px;height:26px;border-radius:8px;background:rgba(255,107,44,.16);color:#FF8A4C;display:flex;align-items:center;justify-content:center\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M5 12l5 5 9-10\"><\/path><\/svg><\/span>R\u00e9duisez vos co\u00fbts de d\u00e9veloppement<\/li> <li style=\"display:flex;gap:14px;align-items:flex-start;font-size:16.5px;line-height:1.45;color:#D7DCE8\"><span style=\"flex:none;width:26px;height:26px;border-radius:8px;background:rgba(255,107,44,.16);color:#FF8A4C;display:flex;align-items:center;justify-content:center\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M5 12l5 5 9-10\"><\/path><\/svg><\/span>Et bien d&rsquo;autres avantages encore&#8230;<\/li> <\/ul> <div style=\"margin-top:auto;height:2px;background:linear-gradient(90deg,#FF6B2C,#7C5CFF);border-radius:2px\"><\/div> <\/div> <div style=\"background:#fff;border:1px solid #E3E7F0;border-radius:28px;padding:44px;display:flex;flex-direction:column;gap:18px;box-sizing:border-box\"><h3 style=\"margin:0;font:700 clamp(26px,2.6vw,34px)\/1.15 Sora,sans-serif;letter-spacing:-.02em\">Des questions ? Vous \u00eates int\u00e9ress\u00e9 ?<\/h3><p style=\"margin:0;color:#4A5468;line-height:1.55\">Remplissez le formulaire ci-dessous et nous vous contacterons dans les plus brefs d\u00e9lais !<\/p><script>\nvar gform;gform||(document.addEventListener(\"gform_main_scripts_loaded\",function(){gform.scriptsLoaded=!0}),document.addEventListener(\"gform\/theme\/scripts_loaded\",function(){gform.themeScriptsLoaded=!0}),window.addEventListener(\"DOMContentLoaded\",function(){gform.domLoaded=!0}),gform={domLoaded:!1,scriptsLoaded:!1,themeScriptsLoaded:!1,isFormEditor:()=>\"function\"==typeof InitializeEditor,callIfLoaded:function(o){return!(!gform.domLoaded||!gform.scriptsLoaded||!gform.themeScriptsLoaded&&!gform.isFormEditor()||(gform.isFormEditor()&&console.warn(\"The use of gform.initializeOnLoaded() is deprecated in the form editor context and will be removed in Gravity Forms 3.1.\"),o(),0))},initializeOnLoaded:function(o){gform.callIfLoaded(o)||(document.addEventListener(\"gform_main_scripts_loaded\",()=>{gform.scriptsLoaded=!0,gform.callIfLoaded(o)}),document.addEventListener(\"gform\/theme\/scripts_loaded\",()=>{gform.themeScriptsLoaded=!0,gform.callIfLoaded(o)}),window.addEventListener(\"DOMContentLoaded\",()=>{gform.domLoaded=!0,gform.callIfLoaded(o)}))},hooks:{action:{},filter:{}},addAction:function(o,r,e,t){gform.addHook(\"action\",o,r,e,t)},addFilter:function(o,r,e,t){gform.addHook(\"filter\",o,r,e,t)},doAction:function(o){gform.doHook(\"action\",o,arguments)},applyFilters:function(o){return gform.doHook(\"filter\",o,arguments)},removeAction:function(o,r){gform.removeHook(\"action\",o,r)},removeFilter:function(o,r,e){gform.removeHook(\"filter\",o,r,e)},addHook:function(o,r,e,t,n){null==gform.hooks[o][r]&&(gform.hooks[o][r]=[]);var d=gform.hooks[o][r];null==n&&(n=r+\"_\"+d.length),gform.hooks[o][r].push({tag:n,callable:e,priority:t=null==t?10:t})},doHook:function(r,o,e){var t;if(e=Array.prototype.slice.call(e,1),null!=gform.hooks[r][o]&&((o=gform.hooks[r][o]).sort(function(o,r){return o.priority-r.priority}),o.forEach(function(o){\"function\"!=typeof(t=o.callable)&&(t=window[t]),\"action\"==r?t.apply(null,e):e[0]=t.apply(null,e)})),\"filter\"==r)return e[0]},removeHook:function(o,r,t,n){var e;null!=gform.hooks[o][r]&&(e=(e=gform.hooks[o][r]).filter(function(o,r,e){return!!(null!=n&&n!=o.tag||null!=t&&t!=o.priority)}),gform.hooks[o][r]=e)}});\n<\/script>\n\n                <div class='gf_browser_gecko gform_wrapper gravity-theme gform-theme--no-framework' data-form-theme='gravity-theme' data-form-index='0' id='gform_wrapper_25' ><div id='gf_25' class='gform_anchor' tabindex='-1'><\/div>\n                        <div class='gform_heading'>\n\t\t\t\t\t\t\t<p class='gform_required_legend'>\u00ab\u00a0<span class=\"gfield_required gfield_required_asterisk\">*<\/span>\u00a0\u00bb indique les champs n\u00e9cessaires<\/p>\n                        <\/div><form method='post' enctype='multipart\/form-data' target='gform_ajax_frame_25' id='gform_25'  action='\/fr\/wp-json\/wp\/v2\/pages\/18545#gf_25' data-formid='25' novalidate>\n                        <div class='gform-body gform_body'><div id='gform_fields_25' class='gform_fields top_label form_sublabel_below description_below validation_below'><div id=\"field_25_9\" class=\"gfield gfield--type-honeypot gform_validation_container field_sublabel_below gfield--has-description field_description_below field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_25_9'>LinkedIn<\/label><div class='ginput_container'><input name='input_9' id='input_25_9' type='text' value='' autocomplete='new-password'\/><\/div><div class='gfield_description' id='gfield_description_25_9'>Ce champ n\u2019est utilis\u00e9 qu\u2019\u00e0 des fins de validation et devrait rester inchang\u00e9.<\/div><\/div><div id=\"field_25_1\" class=\"gfield gfield--type-text gfield--input-type-text gfield--width-half gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_25_1'>Pr\u00e9nom &amp; nom<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_asterisk\">*<\/span><\/span><\/label><div class='ginput_container ginput_container_text'><input name='input_1' id='input_25_1' type='text' value='' class='large'    placeholder='Pr\u00e9nom &amp; nom' aria-required=\"true\" aria-invalid=\"false\"   \/><\/div><\/div><div id=\"field_25_7\" class=\"gfield gfield--type-text gfield--input-type-text gfield--width-half gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_25_7'>Nom de l\u2019entreprise<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_asterisk\">*<\/span><\/span><\/label><div class='ginput_container ginput_container_text'><input name='input_7' id='input_25_7' type='text' value='' class='large'    placeholder='Nom de l\u2019entreprise' aria-required=\"true\" aria-invalid=\"false\"   \/><\/div><\/div><div id=\"field_25_3\" class=\"gfield gfield--type-email gfield--input-type-email gfield--width-half gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_25_3'>Adresse e-mail<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_asterisk\">*<\/span><\/span><\/label><div class='ginput_container ginput_container_email'>\n                            <input name='input_3' id='input_25_3' type='email' value='' class='large'   placeholder='Adresse e-mail' aria-required=\"true\" aria-invalid=\"false\"  \/>\n                        <\/div><\/div><div id=\"field_25_2\" class=\"gfield gfield--type-phone gfield--input-type-phone gfield--width-half field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_25_2'>Num\u00e9ro de t\u00e9l\u00e9phone<\/label><div class='ginput_container ginput_container_phone'><input name='input_2' id='input_25_2' type='tel' value='' class='large'  placeholder='Num\u00e9ro de t\u00e9l\u00e9phone'  aria-invalid=\"false\"   \/><\/div><\/div><div id=\"field_25_8\" class=\"gfield gfield--type-select gfield--input-type-select gfield--width-full gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_25_8'>Comment pouvons-nous vous aider ?<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_asterisk\">*<\/span><\/span><\/label><div class='ginput_container ginput_container_select'><select name='input_8' id='input_25_8' class='large gfield_select'    aria-required=\"true\" aria-invalid=\"false\" ><option value='Demander une d\u00e9monstration' >Demander une d\u00e9monstration<\/option><option value='Demande de tarification' >Demande de tarification<\/option><option value='Demande d\u2019assistance' >Demande d\u2019assistance<\/option><option value='Demande g\u00e9n\u00e9rale' >Demande g\u00e9n\u00e9rale<\/option><option value='Autre' >Autre<\/option><\/select><\/div><\/div><div id=\"field_25_4\" class=\"gfield gfield--type-textarea gfield--input-type-textarea gfield_contains_required field_sublabel_below gfield--no-description field_description_below hidden_label field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_25_4'>Votre question ou remarque<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_asterisk\">*<\/span><\/span><\/label><div class='ginput_container ginput_container_textarea'><textarea name='input_4' id='input_25_4' class='textarea small'    placeholder='Votre question ou remarque' aria-required=\"true\" aria-invalid=\"false\"   rows='10' cols='50'><\/textarea><\/div><\/div><fieldset id=\"field_25_5\" class=\"gfield gfield--type-consent gfield--type-choice gfield--input-type-consent gfield_contains_required field_sublabel_below gfield--no-description field_description_below hidden_label field_validation_below gfield_visibility_visible\"  ><legend class='gfield_label gform-field-label gfield_label_before_complex' >Conditions g\u00e9n\u00e9rales<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_asterisk\">*<\/span><\/span><\/legend><div class='ginput_container ginput_container_consent'><input name='input_5.1' id='input_25_5_1' type='checkbox' value='1'   aria-required=\"true\" aria-invalid=\"false\"   \/> <label class=\"gform-field-label gform-field-label--type-inline gfield_consent_label\" for='input_25_5_1' >J\u2019accepte les <a href=\"https:\/\/www.rapidclouddevelopment.com\/fr\/conditions-generales\/\" target=\"_blank\">conditions g\u00e9n\u00e9rales<\/a>.<span class=\"gfield_required gfield_required_asterisk\">*<\/span><\/label><input type='hidden' name='input_5.2' value='J\u2019accepte les &lt;a href=&quot;https:\/\/www.rapidclouddevelopment.com\/fr\/conditions-generales\/&quot; target=&quot;_blank&quot;&gt;conditions g\u00e9n\u00e9rales&lt;\/a&gt;.' class='gform_hidden' \/><input type='hidden' name='input_5.3' value='13' class='gform_hidden' \/><\/div><\/fieldset><\/div><\/div>\n        <div class='gform-footer gform_footer top_label'> <input type='submit' id='gform_submit_button_25' class='gform_button button' onclick='gform.submission.handleButtonClick(this);' data-submission-type='submit' value='Envoyer'  \/> <input type='hidden' name='gform_ajax' value='form_id=25&amp;title=&amp;description=&amp;tabindex=0&amp;theme=gravity-theme&amp;styles=[]&amp;hash=99a504081129ebf7237df49638345912' \/>\n            <input type='hidden' class='gform_hidden' name='gform_submission_method' data-js='gform_submission_method_25' value='iframe' \/>\n            <input type='hidden' class='gform_hidden' name='gform_theme' data-js='gform_theme_25' id='gform_theme_25' value='gravity-theme' \/>\n            <input type='hidden' class='gform_hidden' name='gform_style_settings' data-js='gform_style_settings_25' id='gform_style_settings_25' value='[]' \/>\n            <input type='hidden' class='gform_hidden' name='is_submit_25' value='1' \/>\n            <input type='hidden' class='gform_hidden' name='gform_submit' value='25' \/>\n            \n            <input type='hidden' class='gform_hidden' name='gform_currency' data-currency='EUR' value='dGu3h1o6ZEXLNiWPD8WRgVZcqbAp9pq7VUlukcENKObHDXirlKUtv3GOlucTwgBxnWXmH9FI9t+RihS86K+yEkr+eIh3PIAdj44Jg+X9XjSZCQc=' \/>\n            <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' \/>\n            <input type='hidden' class='gform_hidden' name='state_25' value='WyJ7XCI4XCI6W1wiNDUxMGU3YTUwYTJiYTY0N2M5YzE1ZWRmZDhhZjYwNWRcIixcImEzM2Q4YmQ4OTEzZjE5MWIwNjEyY2NiNDNlMzJhMTQyXCIsXCJjMzg5NDJlMTcxY2IxZTk0ZDU2ZWUwNWZlNzk2ZDFkZFwiLFwiNTJmOTU4YjY3Mjc5MDIzZWYxMDIzODM2Nzk5N2FiMDNcIixcImJiYzliNjdkNjI1NDFhNDIyOGI0ZTAzNTZiZGM5YmRlXCJdLFwiNS4xXCI6XCJhNTBiMTNjOGZiNzUyZjVjYjY0NTQyOTcxYzUwMzYzM1wiLFwiNS4yXCI6XCIxNTJjODRkZmZlOWY2YTZkOTg4ZTJmN2NkOWVmYzlkMVwiLFwiNS4zXCI6XCJlOWM2M2Q2NDQxOWNhMzI3NWNjNTJmMWQwOTY2MjQ2OFwifSIsIjE5NjdhNTQ0NjE4ZTBkMDgzOTU4ZmY4YzRkYjc3NDkyIl0=' \/>\n            <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_target_page_number_25' id='gform_target_page_number_25' value='0' \/>\n            <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_source_page_number_25' id='gform_source_page_number_25' value='1' \/>\n            <input type='hidden' name='gform_field_values' value='' \/>\n            \n        <\/div>\n                        <p style=\"display: none !important;\" class=\"akismet-fields-container\" data-prefix=\"ak_\"><label>&#916;<textarea name=\"ak_hp_textarea\" cols=\"45\" rows=\"8\" maxlength=\"100\"><\/textarea><\/label><input type=\"hidden\" id=\"ak_js_1\" name=\"ak_js\" value=\"146\"\/><script>document.getElementById( \"ak_js_1\" ).setAttribute( \"value\", ( new Date() ).getTime() );<\/script><\/p><\/form>\n                        <\/div>\n\t\t                <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_25' id='gform_ajax_frame_25' title='Cette iframe contient la logique n\u00e9cessaire pour manipuler Gravity Forms avec Ajax.'><\/iframe>\n\t\t                <script>\ngform.initializeOnLoaded( function() {gformInitSpinner( 25, 'https:\/\/www.rapidclouddevelopment.com\/wp-content\/plugins\/gravityforms\/images\/spinner.svg', true );jQuery('#gform_ajax_frame_25').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_25');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_25').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_25').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_25').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_25').removeClass('gform_validation_error');}setTimeout( function() { \/* delay the scroll by 50 milliseconds to fix a bug in chrome *\/ jQuery(document).scrollTop(jQuery('#gform_wrapper_25').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_25').val();gformInitSpinner( 25, 'https:\/\/www.rapidclouddevelopment.com\/wp-content\/plugins\/gravityforms\/images\/spinner.svg', true );jQuery(document).trigger('gform_page_loaded', [25, current_page]);window['gf_submitting_25'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}jQuery('#gform_wrapper_25').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_25').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [25]);window['gf_submitting_25'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_25').text());}else{jQuery('#gform_25').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger(\"gform_pre_post_render\", [{ formId: \"25\", currentPage: \"current_page\", abort: function() { this.preventDefault(); } }]);        if (event && event.defaultPrevented) {                return;        }        const gformWrapperDiv = document.getElementById( \"gform_wrapper_25\" );        if ( gformWrapperDiv ) {            const visibilitySpan = document.createElement( \"span\" );            visibilitySpan.id = \"gform_visibility_test_25\";            gformWrapperDiv.insertAdjacentElement( \"afterend\", visibilitySpan );        }        const visibilityTestDiv = document.getElementById( \"gform_visibility_test_25\" );        let postRenderFired = false;        function triggerPostRender() {            if ( postRenderFired ) {                return;            }            postRenderFired = true;            gform.core.triggerPostRenderEvents( 25, current_page );            if ( visibilityTestDiv ) {                visibilityTestDiv.parentNode.removeChild( visibilityTestDiv );            }        }        function debounce( func, wait, immediate ) {            var timeout;            return function() {                var context = this, args = arguments;                var later = function() {                    timeout = null;                    if ( !immediate ) func.apply( context, args );                };                var callNow = immediate && !timeout;                clearTimeout( timeout );                timeout = setTimeout( later, wait );                if ( callNow ) func.apply( context, args );            };        }        const debouncedTriggerPostRender = debounce( function() {            triggerPostRender();        }, 200 );        if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) {            const observer = new MutationObserver( ( mutations ) => {                mutations.forEach( ( mutation ) => {                    if ( mutation.type === 'attributes' && visibilityTestDiv.offsetParent !== null ) {                        debouncedTriggerPostRender();                        observer.disconnect();                    }                });            });            observer.observe( document.body, {                attributes: true,                childList: false,                subtree: true,                attributeFilter: [ 'style', 'class' ],            });        } else {            triggerPostRender();        }    } );} );\n<\/script>\n<\/div> <\/div> <\/section><\/div><script>\n(function(){\n  var root=document.currentScript?document.currentScript.parentNode:document;\n  var reduce=window.matchMedia&&matchMedia('(prefers-reduced-motion: reduce)').matches;\n  function $(s,c){return (c||document).querySelector(s);} function $$(s,c){return [].slice.call((c||document).querySelectorAll(s));}\n  function typeIn(el,text,speed,done,run){ var n=0; el.textContent='';\n    (function step(){ if(run.stop) return; n+=1+(Math.random()<.3?1:0); el.textContent=text.slice(0,n);\n      if(n<text.length) setTimeout(step,speed); else if(done) done(); })(); }\n  function timer(run){ return function(fn,ms){ setTimeout(function(){ if(!run.stop) fn(); },ms); }; }\n  var plays={\n    senior:function(s,run){ var at=timer(run), old=$$('.da-old .da-step',s), nw=$$('.da-newc .da-step',s), bars=$$('.da-bar i',s);\n      old.forEach(function(x){x.classList.remove('gone');}); nw.forEach(function(x){x.classList.remove('on');}); bars.forEach(function(b){b.style.width='0';});\n      at(function(){ bars[0].style.width='100%'; },300);\n      old.forEach(function(x,k){ at(function(){ x.classList.add('gone'); nw[k].classList.add('on'); },900+k*700); });\n      at(function(){ bars[1].style.width='16%'; },900+old.length*700); },\n    index:function(s,run){ var at=timer(run), q=$('#daIdxQ',s), pn=$$('.da-pn',s), ar=$$('.da-arrow',s);\n      pn.concat(ar).forEach(function(x){x.classList.remove('hot');});\n      typeIn(q,\"Refuse les paiements qui d\u00e9passent la limite de cr\u00e9dit du client.\",34,function(){\n        pn.forEach(function(x,k){ at(function(){ x.classList.add('hot'); if(ar[k-1]) ar[k-1].classList.add('hot'); },400+k*700); }); },run); },\n    demo:function(s,run){ var at=timer(run), tools=$$('#daTools div',s), fades=[$('#daDiff',s),$('#daA',s),$('#daB',s)], v=$('#daVat',s);\n      tools.forEach(function(x){x.classList.remove('show');}); fades.forEach(function(x){x.classList.remove('show');}); v.classList.remove('hot');\n      typeIn($('#daQ',s),'Corrige RCD-482 : v\u00e9rifie le num\u00e9ro de TVA via VIES avant l\\'enregistrement d\\'un client.',30,function(){\n        tools.forEach(function(x,k){ at(function(){ x.classList.add('show'); if(k===1) v.classList.add('hot'); },300+k*750); });\n        fades.forEach(function(x,k){ at(function(){ x.classList.add('show'); },300+tools.length*750+k*1200); }); },run); },\n    compare:function(s,run){ var at=timer(run), ad=$$('.da-code .add',s), ok=$$('.da-ok',s), why=$('#daWhy',s), acc=$('#daAcc',s);\n      ad.concat(ok).forEach(function(x){x.classList.remove('show');}); why.classList.remove('show'); acc.classList.remove('press','done'); acc.textContent='\u2713 Accepter la proposition';\n      ad.forEach(function(x,k){ at(function(){ x.classList.add('show'); },500+k*300); });\n      ok.forEach(function(x,k){ at(function(){ x.classList.add('show'); },2600+k*450); });\n      at(function(){ why.classList.add('show'); },3600); at(function(){ acc.classList.add('press'); },6400);\n      at(function(){ acc.classList.remove('press'); acc.classList.add('done'); acc.textContent='\u2713 Accept\u00e9e, enregistr\u00e9e par vous'; },6800); },\n    cards:function(s,run){ var at=timer(run), cards=$$('.da-cc',s);\n      cards.forEach(function(c){ c.classList.remove('lit'); var e=$('.ex',c); e.textContent=''; e.classList.remove('done'); $$('.dots i',c).forEach(function(i){i.classList.remove('on');}); });\n      cards.forEach(function(c,k){ var ex=c.getAttribute('data-ex').split('|'), box=$('.ex',c), dots=$$('.dots i',c);\n        ex.forEach(function(t,j){ at(function(){ box.classList.remove('done'); dots.forEach(function(d,i){d.classList.toggle('on',i===j);});\n          typeIn(box,t,24,function(){box.classList.add('done');},run); },300+k*220+j*6200); }); });\n      cards.forEach(function(c,k){ at(function(){ cards.forEach(function(x){x.classList.remove('lit');}); c.classList.add('lit'); },1500+k*1900); });\n      at(function(){ cards.forEach(function(x){x.classList.remove('lit');}); },1500+cards.length*1900); }\n  };\n  function finalState(s,name){ \/* reduced motion: show everything at once *\/\n    $$('.da-old .da-step',s).forEach(function(x){x.classList.add('gone');}); $$('.da-newc .da-step,.da-tools div,.da-fade,.da-code .add,.da-ok',s).forEach(function(x){x.classList.add('show','on');});\n    var b=$$('.da-bar i',s); if(b.length){b[0].style.width='100%';b[1].style.width='16%';}\n    $$('.da-pn,.da-arrow',s).forEach(function(x){x.classList.add('hot');});\n    if($('#daIdxQ',s)) $('#daIdxQ',s).textContent=\"Refuse les paiements qui d\u00e9passent la limite de cr\u00e9dit du client.\";\n    if($('#daQ',s)) $('#daQ',s).textContent='Corrige RCD-482 : v\u00e9rifie le num\u00e9ro de TVA via VIES avant l\\'enregistrement d\\'un client.';\n    $$('.da-cc',s).forEach(function(c){ var e=$('.ex',c); e.textContent=c.getAttribute('data-ex').split('|')[0]; e.classList.add('done'); }); }\n  $$('[data-play]').forEach(function(s){ var name=s.getAttribute('data-play'), run={stop:true};\n    function start(){ run.stop=true; run={stop:false}; if(reduce) finalState(s,name); else plays[name](s,run); }\n    var btn=$('.da-replay',s); if(btn) btn.addEventListener('click',start);\n    if(!('IntersectionObserver' in window)){ start(); return; }\n    var io=new IntersectionObserver(function(es){ es.forEach(function(e){ if(e.isIntersecting){ io.disconnect(); start(); } }); },{threshold:.3});\n    io.observe(s); });\n})();\n<\/script><\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>Accueil\/Solutions IA\/AI Developer Assistant Nouveau \u00b7 AI Developer Assistant L&rsquo;\u00e8re du codage manuel est r\u00e9volue. Avec l&rsquo;AI Developer Assistant, chaque d\u00e9veloppeur travaille comme un senior qui conna\u00eet toute l&rsquo;application : chaque \u00e9cran, chaque programme, chaque table. Posez votre question en langage courant et obtenez une modification d\u00e9j\u00e0 v\u00e9rifi\u00e9e, expliqu\u00e9e et pr\u00eate pour votre relecture. Demander [&hellip;]<\/p>\n","protected":false},"author":13,"featured_media":0,"parent":15544,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-18545","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>AI Developer Assistant - Rapid Cloud Development<\/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:\/\/www.rapidclouddevelopment.com\/fr\/ai-avec-rcd\/assistant-developpeur-ia\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AI Developer Assistant - Rapid Cloud Development\" \/>\n<meta property=\"og:description\" content=\"Accueil\/Solutions IA\/AI Developer Assistant Nouveau \u00b7 AI Developer Assistant L&rsquo;\u00e8re du codage manuel est r\u00e9volue. Avec l&rsquo;AI Developer Assistant, chaque d\u00e9veloppeur travaille comme un senior qui conna\u00eet toute l&rsquo;application : chaque \u00e9cran, chaque programme, chaque table. Posez votre question en langage courant et obtenez une modification d\u00e9j\u00e0 v\u00e9rifi\u00e9e, expliqu\u00e9e et pr\u00eate pour votre relecture. Demander [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.rapidclouddevelopment.com\/fr\/ai-avec-rcd\/assistant-developpeur-ia\/\" \/>\n<meta property=\"og:site_name\" content=\"Rapid Cloud Development\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-31T11:01:05+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.rapidclouddevelopment.com\/fr\/ai-avec-rcd\/assistant-developpeur-ia\/\",\"url\":\"https:\/\/www.rapidclouddevelopment.com\/fr\/ai-avec-rcd\/assistant-developpeur-ia\/\",\"name\":\"AI Developer Assistant - Rapid Cloud Development\",\"isPartOf\":{\"@id\":\"https:\/\/www.rapidclouddevelopment.com\/fr\/#website\"},\"datePublished\":\"2026-10-31T10:55:12+00:00\",\"dateModified\":\"2026-10-31T11:01:05+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.rapidclouddevelopment.com\/fr\/ai-avec-rcd\/assistant-developpeur-ia\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.rapidclouddevelopment.com\/fr\/ai-avec-rcd\/assistant-developpeur-ia\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.rapidclouddevelopment.com\/fr\/ai-avec-rcd\/assistant-developpeur-ia\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.rapidclouddevelopment.com\/fr\/home\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Solutions IA\",\"item\":\"https:\/\/www.rapidclouddevelopment.com\/fr\/ai-avec-rcd\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"AI Developer Assistant\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.rapidclouddevelopment.com\/fr\/#website\",\"url\":\"https:\/\/www.rapidclouddevelopment.com\/fr\/\",\"name\":\"Rapid Cloud Development\",\"description\":\"The first OpenEdge web development framework for small and medium-sized companies\",\"publisher\":{\"@id\":\"https:\/\/www.rapidclouddevelopment.com\/fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.rapidclouddevelopment.com\/fr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.rapidclouddevelopment.com\/fr\/#organization\",\"name\":\"Rapid Cloud Development\",\"url\":\"https:\/\/www.rapidclouddevelopment.com\/fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.rapidclouddevelopment.com\/fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.rapidclouddevelopment.com\/wp-content\/uploads\/2025\/09\/logo500x500-black.png\",\"contentUrl\":\"https:\/\/www.rapidclouddevelopment.com\/wp-content\/uploads\/2025\/09\/logo500x500-black.png\",\"width\":501,\"height\":500,\"caption\":\"Rapid Cloud Development\"},\"image\":{\"@id\":\"https:\/\/www.rapidclouddevelopment.com\/fr\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"AI Developer Assistant - Rapid Cloud Development","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:\/\/www.rapidclouddevelopment.com\/fr\/ai-avec-rcd\/assistant-developpeur-ia\/","og_locale":"fr_FR","og_type":"article","og_title":"AI Developer Assistant - Rapid Cloud Development","og_description":"Accueil\/Solutions IA\/AI Developer Assistant Nouveau \u00b7 AI Developer Assistant L&rsquo;\u00e8re du codage manuel est r\u00e9volue. Avec l&rsquo;AI Developer Assistant, chaque d\u00e9veloppeur travaille comme un senior qui conna\u00eet toute l&rsquo;application : chaque \u00e9cran, chaque programme, chaque table. Posez votre question en langage courant et obtenez une modification d\u00e9j\u00e0 v\u00e9rifi\u00e9e, expliqu\u00e9e et pr\u00eate pour votre relecture. Demander [&hellip;]","og_url":"https:\/\/www.rapidclouddevelopment.com\/fr\/ai-avec-rcd\/assistant-developpeur-ia\/","og_site_name":"Rapid Cloud Development","article_modified_time":"2026-10-31T11:01:05+00:00","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.rapidclouddevelopment.com\/fr\/ai-avec-rcd\/assistant-developpeur-ia\/","url":"https:\/\/www.rapidclouddevelopment.com\/fr\/ai-avec-rcd\/assistant-developpeur-ia\/","name":"AI Developer Assistant - Rapid Cloud Development","isPartOf":{"@id":"https:\/\/www.rapidclouddevelopment.com\/fr\/#website"},"datePublished":"2026-10-31T10:55:12+00:00","dateModified":"2026-10-31T11:01:05+00:00","breadcrumb":{"@id":"https:\/\/www.rapidclouddevelopment.com\/fr\/ai-avec-rcd\/assistant-developpeur-ia\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.rapidclouddevelopment.com\/fr\/ai-avec-rcd\/assistant-developpeur-ia\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.rapidclouddevelopment.com\/fr\/ai-avec-rcd\/assistant-developpeur-ia\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.rapidclouddevelopment.com\/fr\/home\/"},{"@type":"ListItem","position":2,"name":"Solutions IA","item":"https:\/\/www.rapidclouddevelopment.com\/fr\/ai-avec-rcd\/"},{"@type":"ListItem","position":3,"name":"AI Developer Assistant"}]},{"@type":"WebSite","@id":"https:\/\/www.rapidclouddevelopment.com\/fr\/#website","url":"https:\/\/www.rapidclouddevelopment.com\/fr\/","name":"Rapid Cloud Development","description":"The first OpenEdge web development framework for small and medium-sized companies","publisher":{"@id":"https:\/\/www.rapidclouddevelopment.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.rapidclouddevelopment.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.rapidclouddevelopment.com\/fr\/#organization","name":"Rapid Cloud Development","url":"https:\/\/www.rapidclouddevelopment.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.rapidclouddevelopment.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/www.rapidclouddevelopment.com\/wp-content\/uploads\/2025\/09\/logo500x500-black.png","contentUrl":"https:\/\/www.rapidclouddevelopment.com\/wp-content\/uploads\/2025\/09\/logo500x500-black.png","width":501,"height":500,"caption":"Rapid Cloud Development"},"image":{"@id":"https:\/\/www.rapidclouddevelopment.com\/fr\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.rapidclouddevelopment.com\/fr\/wp-json\/wp\/v2\/pages\/18545","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rapidclouddevelopment.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.rapidclouddevelopment.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.rapidclouddevelopment.com\/fr\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rapidclouddevelopment.com\/fr\/wp-json\/wp\/v2\/comments?post=18545"}],"version-history":[{"count":3,"href":"https:\/\/www.rapidclouddevelopment.com\/fr\/wp-json\/wp\/v2\/pages\/18545\/revisions"}],"predecessor-version":[{"id":18561,"href":"https:\/\/www.rapidclouddevelopment.com\/fr\/wp-json\/wp\/v2\/pages\/18545\/revisions\/18561"}],"up":[{"embeddable":true,"href":"https:\/\/www.rapidclouddevelopment.com\/fr\/wp-json\/wp\/v2\/pages\/15544"}],"wp:attachment":[{"href":"https:\/\/www.rapidclouddevelopment.com\/fr\/wp-json\/wp\/v2\/media?parent=18545"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}