{"id":31704,"date":"2026-09-21T10:03:38","date_gmt":"2026-09-21T08:03:38","guid":{"rendered":"https:\/\/botnation.ai\/rasa-chatbot\/"},"modified":"2026-09-21T11:14:41","modified_gmt":"2026-09-21T09:14:41","slug":"rasa-chatbot","status":"publish","type":"post","link":"https:\/\/botnation.ai\/fr\/rasa-chatbot\/","title":{"rendered":"Rasa chatbot : fonctionnement, prix et limites du framework open source (2026)"},"content":{"rendered":"<p><script>var s=document.createElement(\"style\");s.appendChild(document.createTextNode(`.bn-art{ --bn-cream:#faf8f2; --bn-card:#faf6ea; --bn-sand:#ebe3cb; --bn-sand-2:#f3ecd9; --bn-sand-zebra:#f6f0df; --bn-coral:#fe716b; --bn-coral-soft:#fdeeed; --bn-coral-line:#f6c9c6; --bn-coral-txt:#bd3a34; --bn-blue:#3358f0; --bn-blue-soft:#eef1fe; --bn-blue-line:#c9d4fb; --bn-green:#427632; --bn-green-soft:#eef6ea; --bn-ink:#3d351f; --bn-text:#414b56; --bn-muted:#6d6653; --bn-border:#e6dcc2; --bn-r:16px; --bn-r-sm:11px; --bn-sp:22px; --bn-sh:0 1px 2px rgba(61,53,31,.05),0 10px 26px rgba(61,53,31,.07); --bn-sh-sm:0 1px 2px rgba(61,53,31,.05),0 4px 12px rgba(61,53,31,.05); --bn-mono:'IBM Plex Mono','SFMono-Regular',ui-monospace,'Courier New',monospace; color:var(--bn-text); font-size:18px; line-height:1.75; max-width:820px; margin:0 auto; } .bn-art *{box-sizing:border-box} .bn-art p{margin:0 0 1.15em; color:var(--bn-text)} .bn-art h2{ color:var(--bn-ink); font-weight:700; line-height:1.25; font-size:1.72em; margin:2.2em 0 .7em; letter-spacing:-.01em; } .bn-art h3{color:var(--bn-ink); font-weight:700; font-size:1.22em; margin:1.8em 0 .5em} .bn-art a{color:#3f5cd6; text-decoration:underline; text-underline-offset:2px; text-decoration-thickness:1px} .bn-art a:hover{color:var(--bn-coral)} .bn-art strong{color:var(--bn-ink); font-weight:700} .bn-art ul,.bn-art ol{margin:0 0 1.3em; padding-left:1.25em} .bn-art li{margin:.4em 0} .bn-art ul li::marker{color:var(--bn-coral)} .bn-art ol li::marker{color:var(--bn-blue); font-weight:700} .bn-klabel{ display:inline-flex; align-items:center; gap:7px; font-family:var(--bn-mono); font-size:14px; font-weight:600; text-transform:uppercase; letter-spacing:.12em; color:var(--bn-coral); margin:0 0 .2em; } .bn-klabel svg{width:15px;height:15px;flex:none} .bn-tldr{ background:var(--bn-card); border:1px solid var(--bn-border); border-left:4px solid var(--bn-coral); border-radius:var(--bn-r); padding:20px 24px; margin:0 0 30px; box-shadow:var(--bn-sh-sm); } .bn-tldr p{margin:0; color:var(--bn-text)} .bn-tldr p+p{margin-top:.6em} .bn-toc{ background:var(--bn-sand-2); border:1px solid var(--bn-sand); border-radius:var(--bn-r); padding:18px 22px; margin:0 0 34px; } .bn-toc .bn-klabel{color:var(--bn-coral)} .bn-toc ol{margin:.4em 0 0; padding-left:1.2em; columns:2; column-gap:28px} .bn-toc li{margin:.25em 0; break-inside:avoid} .bn-toc a{color:var(--bn-ink); text-decoration:none; font-weight:600; font-size:.96em} .bn-toc a:hover{color:var(--bn-coral); text-decoration:underline} .bn-stats{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:28px 0} .bn-stat{ background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:20px 18px; text-align:center; box-shadow:var(--bn-sh-sm); } .bn-stat b{display:block; font-size:2em; line-height:1.1; color:var(--bn-coral); font-weight:800; letter-spacing:-.02em} .bn-stat span{display:block; margin-top:6px; font-size:.86em; color:var(--bn-muted); line-height:1.45} .bn-stat:nth-child(2) b{color:var(--bn-blue)} .bn-stat:nth-child(3) b{color:var(--bn-ink)} .bn-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:26px 0} .bn-card{ background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:22px; box-shadow:var(--bn-sh-sm); } .bn-card h4{margin:.1em 0 .35em; color:var(--bn-ink); font-size:1.06em; font-weight:700; display:flex; gap:9px; align-items:center} .bn-card h4 svg{width:20px;height:20px;flex:none;color:var(--bn-coral)} .bn-card p{margin:0; font-size:.96em} .bn-ex{ background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:20px 0; box-shadow:var(--bn-sh); position:relative; } .bn-ex-h{display:flex; align-items:center; gap:13px; margin-bottom:14px} .bn-ex-n{ flex:none; width:38px; height:38px; border-radius:11px; background:var(--bn-coral-soft); color:var(--bn-coral); display:flex; align-items:center; justify-content:center; font-weight:800; font-size:1.1em; font-family:var(--bn-mono); } .bn-ex-h h3{margin:0; font-size:1.18em} .bn-ex-tag{font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.1em; color:var(--bn-muted); display:block; margin-top:2px} .bn-ex p{margin:.2em 0 .9em} .bn-ex .bn-ba{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:14px} .bn-ba div{border-radius:var(--bn-r-sm); padding:13px 15px; font-size:.9em; line-height:1.5} .bn-ba .biz{background:var(--bn-blue-soft); border:1px solid var(--bn-blue-line)} .bn-ba .cli{background:var(--bn-green-soft); border:1px solid #cfe6c4} .bn-ba b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; margin-bottom:4px; color:var(--bn-muted)} .bn-tablewrap{overflow-x:auto; margin:26px 0; border-radius:var(--bn-r); border:1px solid var(--bn-border); box-shadow:var(--bn-sh-sm)} .bn-art table{width:100%; border-collapse:collapse; background:var(--bn-card); font-size:.94em; min-width:520px} .bn-art thead th{background:var(--bn-ink); color:#fbf7ec; text-align:left; font-weight:700; padding:13px 16px; font-size:16px} .bn-art tbody td{padding:12px 16px; border-top:1px solid var(--bn-border); color:var(--bn-text); vertical-align:top; font-size:16px} .bn-art tbody tr:nth-child(even){background:var(--bn-sand-zebra)} .bn-art tbody td:first-child{font-weight:700; color:var(--bn-ink)} .bn-cols{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:26px 0} .bn-col{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:22px; box-shadow:var(--bn-sh-sm)} .bn-col h4{margin:0 0 12px; font-size:1.05em; color:var(--bn-ink); display:flex; align-items:center; gap:9px} .bn-col h4 svg{width:20px;height:20px;flex:none} .bn-col.biz h4 svg{color:var(--bn-blue)} .bn-col.cli h4 svg{color:var(--bn-green)} .bn-col.warn h4 svg{color:var(--bn-coral)} .bn-col ul{margin:0; padding:0; list-style:none} .bn-col li{position:relative; padding-left:26px; margin:.55em 0; font-size:.96em} .bn-col li::before{content:\"\"; position:absolute; left:0; top:.5em; width:13px; height:13px; border-radius:50%; background:var(--bn-coral-soft); border:2px solid var(--bn-coral)} .bn-col.biz li::before{background:var(--bn-blue-soft); border-color:var(--bn-blue)} .bn-col.cli li::before{background:var(--bn-green-soft); border-color:var(--bn-green)} .bn-call{ display:flex; gap:14px; border-radius:var(--bn-r); padding:18px 20px; margin:24px 0; background:var(--bn-card); border:1px solid var(--bn-border); box-shadow:var(--bn-sh-sm); } .bn-call svg{width:22px; height:22px; flex:none; margin-top:1px} .bn-call b{color:var(--bn-ink)} .bn-call p{margin:0; font-size:.95em} .bn-call .bn-klabel{margin-bottom:3px} .bn-tip{border-left:4px solid var(--bn-green)} .bn-tip svg{color:var(--bn-green)} .bn-tip .bn-klabel{color:var(--bn-green)} .bn-warn{border-left:4px solid var(--bn-coral)} .bn-warn svg{color:var(--bn-coral)} .bn-warn .bn-klabel{color:var(--bn-coral)} .bn-info{border-left:4px solid var(--bn-blue)} .bn-info svg{color:var(--bn-blue)} .bn-info .bn-klabel{color:var(--bn-blue)} .bn-def{background:var(--bn-blue-soft); border:1px solid var(--bn-blue-line); border-radius:var(--bn-r); padding:20px 24px; margin:24px 0} .bn-def .bn-klabel{color:var(--bn-blue)} .bn-def p{margin:0} .bn-steps{counter-reset:s; list-style:none; padding:0; margin:24px 0} .bn-steps li{position:relative; padding:0 0 4px 56px; margin:0 0 18px; min-height:40px} .bn-steps li::before{ counter-increment:s; content:counter(s); position:absolute; left:0; top:0; width:40px; height:40px; border-radius:12px; background:var(--bn-coral); color:#fff; font-weight:800; font-family:var(--bn-mono); display:flex; align-items:center; justify-content:center; box-shadow:var(--bn-sh-sm); } .bn-steps li b{display:block; color:var(--bn-ink); margin-bottom:2px} .bn-check{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-check h3{margin:.1em 0 .3em} .bn-check>p{font-size:.95em; color:var(--bn-muted); margin-bottom:14px} .bn-check ul{list-style:none; padding:0; margin:0 0 18px} .bn-check li{margin:0; border-top:1px solid var(--bn-border)} .bn-check li:first-child{border-top:none} .bn-check label{display:flex; align-items:flex-start; gap:13px; padding:12px 2px; cursor:pointer; font-size:.97em; color:var(--bn-text)} .bn-check input{appearance:none; -webkit-appearance:none; flex:none; width:22px; height:22px; margin-top:1px; border:2px solid var(--bn-coral-line); border-radius:7px; background:#fff; cursor:pointer; position:relative; transition:.15s} .bn-check input:checked{background:var(--bn-coral); border-color:var(--bn-coral)} .bn-check input:checked::after{content:\"\"; position:absolute; left:6px; top:2px; width:6px; height:11px; border:solid #fff; border-width:0 2.5px 2.5px 0; transform:rotate(45deg)} .bn-result{border-radius:var(--bn-r-sm); padding:16px 18px; background:var(--bn-coral-soft); border:1px solid var(--bn-coral-line); font-size:.96em} .bn-result b{color:var(--bn-ink)} .bn-result .bn-score{font-family:var(--bn-mono); font-weight:700; color:var(--bn-coral)} .bn-result .bnc-res{display:none; margin-top:10px} .bn-result .bnc-res.on{display:block} .bn-result .bnc-res p{margin:0; color:var(--bn-text)} .bn-faq{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); margin:0 0 12px; box-shadow:var(--bn-sh-sm); overflow:hidden} .bn-faq summary{cursor:pointer; padding:17px 20px; font-weight:700; color:var(--bn-ink); list-style:none; display:flex; justify-content:space-between; align-items:center; gap:14px; font-size:1.03em} .bn-faq summary::-webkit-details-marker{display:none} .bn-faq summary::after{content:\"+\"; font-family:var(--bn-mono); font-size:1.5em; color:var(--bn-coral); flex:none; line-height:1; transition:transform .2s} .bn-faq[open] summary::after{transform:rotate(45deg)} .bn-faq .bn-faq-b{padding:0 20px 18px; color:var(--bn-text)} .bn-faq .bn-faq-b p{margin:0} .bn-fig{margin:30px 0; text-align:center} .bn-fig img{width:100%; height:auto; border-radius:var(--bn-r); box-shadow:var(--bn-sh); display:block} .bn-fig figcaption{margin-top:10px; font-size:.85em; color:var(--bn-muted); font-style:italic} .bn-cta{background:var(--bn-ink); border-radius:var(--bn-r); padding:34px 32px; margin:36px 0 12px; text-align:center} .bn-cta h3{color:#fff; margin:0 0 .4em; font-size:1.4em} .bn-cta p{color:#e9e2cf; margin:0 auto 20px; max-width:560px; font-size:1em} .bn-cta-btn{display:inline-block; background:var(--bn-coral); color:#332c19 !important; text-decoration:none !important; font-weight:800; padding:15px 34px; border-radius:999px; font-size:1.02em; box-shadow:0 8px 22px rgba(254,113,107,.35); transition:.15s} .bn-cta-btn:hover{background:#ff8782; color:#fff !important} .bn-quiz{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-quiz .bnq-q{padding:14px 0; border-top:1px solid var(--bn-border)} .bn-quiz .bnq-q:first-of-type{border-top:none; padding-top:4px} .bn-quiz .bnq-qt{font-weight:700; color:var(--bn-ink); margin:0 0 10px; font-size:1.02em} .bn-quiz .bnq-opt{display:flex; align-items:flex-start; gap:12px; padding:9px 12px; margin:6px 0; cursor:pointer; font-size:.96em; color:var(--bn-text); border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); background:#fff; transition:.15s} .bn-quiz .bnq-opt:hover{border-color:var(--bn-coral-line); background:var(--bn-coral-soft)} .bn-quiz .bnq-opt input{appearance:none; -webkit-appearance:none; flex:none; width:20px; height:20px; margin-top:1px; border:2px solid var(--bn-coral-line); border-radius:50%; background:#fff; cursor:pointer; position:relative; transition:.15s} .bn-quiz .bnq-opt input:checked{border-color:var(--bn-coral)} .bn-quiz .bnq-opt input:checked::after{content:\"\"; position:absolute; left:3px; top:3px; width:10px; height:10px; border-radius:50%; background:var(--bn-coral)} .bn-quiz .bnq-opt:has(input:checked){border-color:var(--bn-coral); background:var(--bn-coral-soft)} .bn-quiz .bnq-btn{margin-top:16px; display:inline-block; background:var(--bn-coral); color:#332c19; border:none; font-weight:800; font-size:1em; padding:13px 30px; border-radius:999px; cursor:pointer; box-shadow:0 6px 16px rgba(254,113,107,.28); transition:.15s; font-family:inherit} .bn-quiz .bnq-btn:hover{background:#ff8782} .bn-quiz .bnq-res{display:none; margin-top:18px; padding:18px 20px; border-radius:var(--bn-r-sm); background:var(--bn-blue-soft); border:1px solid var(--bn-blue-line)} .bn-quiz .bnq-res.on{display:block} .bn-quiz #bnq-agent{background:var(--bn-coral-soft); border-color:var(--bn-coral-line)} .bn-quiz #bnq-hybrid{background:var(--bn-green-soft); border-color:#cfe6c4} .bn-quiz .bnq-rt{font-weight:800; color:var(--bn-ink); margin:0 0 6px; font-size:1.08em} .bn-quiz .bnq-res p{margin:0} .bn-spectrum{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-spectrum h3{margin:.1em 0 .3em} .bn-spectrum>p{font-size:.95em; color:var(--bn-muted); margin:0 0 20px} .bn-spec-track{margin:26px 4px 4px} .bn-spec-range{-webkit-appearance:none; appearance:none; width:100%; height:8px; border-radius:999px; background:var(--bn-sand); outline:none; cursor:pointer; margin:0} .bn-spec-range::-webkit-slider-thumb{-webkit-appearance:none; appearance:none; width:26px; height:26px; border-radius:50%; background:var(--bn-coral); border:3px solid #fff; box-shadow:var(--bn-sh-sm); cursor:pointer} .bn-spec-range::-moz-range-thumb{width:26px; height:26px; border-radius:50%; background:var(--bn-coral); border:3px solid #fff; box-shadow:var(--bn-sh-sm); cursor:pointer} .bn-spec-stops{display:flex; justify-content:space-between; margin-top:13px; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.07em; color:var(--bn-muted); gap:8px} .bn-spec-stops span{flex:1; cursor:pointer; transition:.15s; text-align:center} .bn-spec-stops span:first-child{text-align:left} .bn-spec-stops span:last-child{text-align:right} .bn-spec-stops span.on{color:var(--bn-coral); font-weight:700} .bns-pane{display:none; margin-top:22px; border-radius:var(--bn-r-sm); padding:20px 22px; background:var(--bn-sand-2); border:1px solid var(--bn-sand)} .bns-pane.on{display:block} .bns-pane h4{margin:0 0 3px; color:var(--bn-ink); font-size:1.14em} .bns-tag{font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.1em; color:var(--bn-coral); display:block; margin-bottom:11px} .bns-pane>p{margin:0; font-size:.96em; color:var(--bn-text)} .bns-grid{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:15px} .bns-grid div{background:#fff; border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); padding:11px 14px; font-size:.9em; color:var(--bn-text)} .bns-grid b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.07em; color:var(--bn-muted); margin-bottom:3px} .bn-roi{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-roi h3{margin:.1em 0 .3em} .bn-roi>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-roi-fields{display:grid; grid-template-columns:1fr 1fr; gap:20px 28px; margin:18px 0 24px} .bn-roi-field:last-child{grid-column:1\/-1} .bn-roi-field label{display:block; font-size:.9em; color:var(--bn-text); font-weight:600; margin-bottom:11px} .bn-roi-field output{font-family:var(--bn-mono); font-weight:700; color:var(--bn-coral)} .bn-roi-out{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:4px} .bn-roi-stat{background:var(--bn-sand-2); border:1px solid var(--bn-sand); border-radius:var(--bn-r); padding:20px 16px; text-align:center} .bn-roi-stat b{display:block; font-size:1.85em; line-height:1.05; color:var(--bn-coral); font-weight:800; letter-spacing:-.02em; font-family:var(--bn-mono)} .bn-roi-stat:nth-child(2) b{color:var(--bn-blue)} .bn-roi-stat:nth-child(3) b{color:var(--bn-ink)} .bn-roi-stat span{display:block; margin-top:7px; font-size:.82em; color:var(--bn-muted); line-height:1.4} .bn-roi-note{font-size:16px; color:var(--bn-muted); margin:16px 0 0; font-style:italic} .bn-bot{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:22px 24px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-bot h3{margin:.1em 0 .3em} .bn-bot>p{font-size:.95em; color:var(--bn-muted); margin:0 0 16px} .bn-bot-win{border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); background:#fff; overflow:hidden} .bn-bot-bar{display:flex; align-items:center; gap:11px; padding:12px 16px; background:var(--bn-sand-2); border-bottom:1px solid var(--bn-border)} .bn-bot-ava{flex:none; width:32px; height:32px; border-radius:50%; background:var(--bn-coral-soft); display:flex; align-items:center; justify-content:center} .bn-bot-ava svg{width:19px; height:19px; color:var(--bn-coral)} .bn-bot-id b{display:block; color:var(--bn-ink); font-size:.95em; line-height:1.2} .bn-bot-id span{font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-green); display:inline-flex; align-items:center; gap:5px} .bn-bot-id span::before{content:\"\"; width:7px; height:7px; border-radius:50%; background:var(--bn-green)} .bn-bot-log{padding:16px; min-height:130px; max-height:320px; overflow-y:auto; display:flex; flex-direction:column; gap:10px} .bn-bot-msg{max-width:82%; padding:10px 14px; border-radius:15px; font-size:.95em; line-height:1.5} .bn-bot-msg.bot{align-self:flex-start; background:var(--bn-sand-2); color:var(--bn-text); border-bottom-left-radius:4px} .bn-bot-msg.user{align-self:flex-end; background:var(--bn-coral); color:#332c19; border-bottom-right-radius:4px} .bn-bot-quick{display:flex; flex-wrap:wrap; gap:8px; padding:2px 16px 14px} .bn-art .bn-bot-qbtn{font-family:inherit; font-size:16px; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:7px 14px; cursor:pointer; transition:.15s} .bn-art .bn-bot-qbtn:hover{background:var(--bn-coral-soft); border-color:var(--bn-coral)} .bn-bot-form{display:flex; gap:8px; padding:12px 16px; border-top:1px solid var(--bn-border); background:var(--bn-sand-2)} .bn-bot-input{flex:1; min-width:0; font-family:inherit; font-size:.95em; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-border); border-radius:999px; padding:10px 16px; outline:none} .bn-bot-input:focus{border-color:var(--bn-coral)} .bn-art .bn-bot-send{flex:none; font-family:inherit; font-weight:700; font-size:16px; color:#fff; background:var(--bn-coral); border:none; border-radius:999px; padding:10px 20px; cursor:pointer; transition:.15s} .bn-art .bn-bot-send:hover{background:#ff8782} .bn-art .bn-bot-note{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic} .bbot-kb,.bbot-fallback{display:none} .bn-shot{margin:16px 0 2px; border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); background:#fff; overflow:hidden} .bn-shot-bar{display:flex; align-items:center; gap:8px; padding:9px 13px; background:var(--bn-sand-2); border-bottom:1px solid var(--bn-border)} .bn-shot-dot{width:8px;height:8px;border-radius:50%;background:var(--bn-green);flex:none} .bn-shot-bar b{color:var(--bn-ink); font-size:.9em} .bn-shot-bar span{margin-left:auto; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.06em; color:var(--bn-muted)} .bn-shot-log{padding:13px 14px; display:flex; flex-direction:column; gap:8px} .bn-shot .bn-bot-msg{max-width:86%; font-size:.9em} .bn-shot-quick{display:flex; flex-wrap:wrap; gap:6px; margin-top:2px} .bn-shot-quick span{font-size:14px; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:4px 11px} .bn-exlink{margin:13px 0 0; font-weight:700; display:flex; align-items:center; gap:6px} .bn-exlink svg{width:16px;height:16px;flex:none;color:var(--bn-coral)} .bn-lb{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-lb h3{margin:.1em 0 .3em} .bn-lb>p{font-size:.95em; color:var(--bn-muted); margin:0 0 16px} .bn-lb-ctrl{display:flex; flex-wrap:wrap; gap:11px; align-items:center; margin:0 0 16px} .bn-lb-ctrl br{display:none} .bn-lb-search{flex:1; min-width:200px; font-family:inherit; font-size:16px; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-border); border-radius:999px; padding:11px 18px; outline:none} .bn-lb-search:focus{border-color:var(--bn-coral)} .bn-lb-filters{display:flex; flex-wrap:wrap; gap:8px} .bn-art .bn-lb-fbtn{font-family:inherit; font-size:16px; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:9px 16px; cursor:pointer; transition:.15s} .bn-art .bn-lb-fbtn:hover{background:var(--bn-coral-soft)} .bn-art .bn-lb-fbtn.on{background:var(--bn-coral); color:#fff; border-color:var(--bn-coral)} .bn-lb .bn-lb-th{cursor:pointer; user-select:none; white-space:nowrap} .bn-lb .bn-lb-th:hover{color:#fbf7ec; opacity:.85} .bn-lb-rank{font-family:var(--bn-mono); font-weight:700; color:var(--bn-coral); text-align:center} .bn-lb-score{font-family:var(--bn-mono); font-weight:700; color:var(--bn-ink); text-align:right; white-space:nowrap} .lb-empty{padding:16px; text-align:center; color:var(--bn-muted); font-size:.95em} .bn-lb-foot{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic} @media(max-width:680px){ .bn-art{font-size:17px} .bn-stats,.bn-grid,.bn-cols,.bn-ex .bn-ba,.bns-grid,.bn-roi-fields,.bn-roi-out{grid-template-columns:1fr} .bn-roi-field:last-child{grid-column:auto} .bn-toc ol{columns:1} .bn-art h2{font-size:1.5em} .bn-bot-msg{max-width:90%} } .bn-art sup,.bn-art sub{font-size:14px;line-height:0} .bn-klabel.hc{color:var(--bn-coral-txt)} .bn-cdc{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-cdc h3{margin:.1em 0 .3em} .bn-cdc>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-cdc br{display:none} .bn-cdc p:empty{display:none; margin:0} .cdc-q{padding:15px 0; border-top:1px solid var(--bn-border)} .cdc-q:first-of-type{border-top:none; padding-top:2px} .bn-art .cdc-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .cdc-chips{display:flex; flex-wrap:wrap; gap:8px} .cdc-chips p:not([class]){display:contents} .bn-art .cdc-chip{display:inline-flex; align-items:center; font-size:16px; line-height:1.35; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:9px 16px; cursor:pointer; transition:.15s} .bn-art .cdc-chip:hover{background:var(--bn-coral-soft)} .bn-art .cdc-chip:has(input:checked){background:var(--bn-coral); color:#332c19; border-color:var(--bn-coral); font-weight:700} .cdc-chip input{position:absolute; opacity:0; width:1px; height:1px; pointer-events:none} .cdc-out{margin:22px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .cdc-line{padding:14px 0; border-top:1px solid var(--bn-sand)} .cdc-line:first-of-type{border-top:none; padding-top:2px} .cdc-line p:not([class]){margin:0} .bn-art .cdc-line b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-coral-txt); margin-bottom:6px} .bn-art .cdc-line span{display:block; font-size:16px; line-height:1.62; color:var(--bn-text)} .bn-art .cdc-copy{margin-top:18px; display:inline-block; background:var(--bn-coral); color:#332c19; border:none; font-family:inherit; font-weight:800; font-size:16px; padding:13px 28px; border-radius:999px; cursor:pointer; box-shadow:0 6px 16px rgba(254,113,107,.28); transition:.15s} .bn-art .cdc-copy:hover{background:#ff8782} .bn-art .cdc-note{font-size:16px; color:var(--bn-muted); margin:12px 0 0; font-style:italic; min-height:1.5em} @media(max-width:680px){ .cdc-chips{flex-direction:column; align-items:stretch} .bn-art .cdc-chip{justify-content:flex-start} } .bn-niv{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-niv h3{margin:.1em 0 .3em} .bn-niv>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-niv br{display:none} .bn-niv p:empty{display:none; margin:0} .niv-q{padding:15px 0; border-top:1px solid var(--bn-border)} .niv-q:first-of-type{border-top:none; padding-top:2px} .bn-art .niv-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .niv-out{margin:24px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .bn-art .niv-score{display:flex; align-items:baseline; gap:10px; margin:0 0 13px} .bn-art .niv-score b{font-family:var(--bn-mono); font-size:2.1em; line-height:1; color:var(--bn-coral-txt); font-weight:800; letter-spacing:-.02em} .bn-art .niv-score span{font-size:16px; color:var(--bn-muted)} .niv-gauge{height:10px; border-radius:999px; background:var(--bn-sand); overflow:hidden; margin:0 0 18px} .niv-gauge p:not([class]){display:contents} .niv-gauge i{display:block; height:10px; background:var(--bn-coral); border-radius:999px; width:0} .nivv{display:none; border-radius:var(--bn-r-sm); padding:17px 19px; background:#fff; border:1px solid var(--bn-border)} .nivv.on{display:block} .bn-art .nivv b{display:block; font-size:1.08em; color:var(--bn-ink); margin-bottom:5px} .bn-art .nivv p{margin:0; font-size:16px; line-height:1.62} .bn-art .niv-weak{margin:15px 0 0; font-size:16px; color:var(--bn-text)} .bn-art .niv-weak b{font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-coral-txt); display:block; margin-bottom:4px} .bn-art blockquote{margin:26px 0; padding:18px 22px; background:var(--bn-card); border:1px solid var(--bn-border); border-left:4px solid var(--bn-blue); border-radius:var(--bn-r); box-shadow:var(--bn-sh-sm)} .bn-art blockquote p{margin:0; font-size:17px; line-height:1.65; color:var(--bn-text)} .bn-chk{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-chk h3{margin:.1em 0 .3em} .bn-chk>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-chk br{display:none} .bn-chk p:empty{display:none; margin:0} .chk-doc{border-radius:var(--bn-r-sm); background:#fff; border:1px solid var(--bn-border); padding:16px 18px; margin:0 0 6px} .bn-art .chk-doc b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-coral-txt); margin-bottom:6px} .bn-art .chk-doc span{display:block; font-size:16px; line-height:1.62; color:var(--bn-text)} .chk-q{padding:15px 0; border-top:1px solid var(--bn-border)} .bn-art .chk-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .chk-out{margin:22px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .chk-pieces{display:grid; gap:10px; margin:0 0 16px} .chk-piece{border-radius:var(--bn-r-sm); background:#fff; border:1px solid var(--bn-border); padding:12px 14px} .chk-piece.hit{border-color:var(--bn-green); background:var(--bn-green-soft)} .bn-art .chk-piece b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-muted); margin-bottom:5px} .bn-art .chk-piece.hit b{color:var(--bn-green)} .bn-art .chk-piece span{display:block; font-size:16px; line-height:1.6; color:var(--bn-text)} .bn-art .chk-verdict{border-radius:var(--bn-r-sm); padding:14px 16px; font-size:16px; line-height:1.55; background:var(--bn-green-soft); border:1px solid #cfe6c4; color:var(--bn-text); margin:0 0 12px} .bn-art .chk-verdict.ko{background:var(--bn-coral-soft); border-color:var(--bn-coral-line)} .bn-art .chk-stats{margin:0; font-size:16px; line-height:1.6; color:var(--bn-text)} .bn-art .chk-stats b{font-family:var(--bn-mono); color:var(--bn-coral-txt); font-weight:700} .bn-dev{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-dev h3{margin:.1em 0 .3em} .bn-dev>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-dev br{display:none} .bn-dev p:empty{display:none; margin:0} .dev-q{padding:15px 0; border-top:1px solid var(--bn-border)} .dev-q:first-of-type{border-top:none; padding-top:2px} .bn-art .dev-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .dev-out{margin:24px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .dev-tiles{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:0 0 16px} .dev-stat{background:#fff; border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); padding:16px 12px; text-align:center} .bn-art .dev-stat b{display:block; font-family:var(--bn-mono); font-size:1.5em; line-height:1.12; font-weight:800; letter-spacing:-.02em; color:var(--bn-coral-txt)} .bn-art .dev-stat:nth-child(2) b{color:var(--bn-blue)} .bn-art .dev-stat:nth-child(3) b{color:var(--bn-green)} .bn-art .dev-stat:nth-child(4) b{color:var(--bn-ink)} .bn-art .dev-stat span{display:block; margin-top:7px; font-size:14px; color:var(--bn-muted); line-height:1.4} .bn-art .dev-line{margin:0 0 14px; font-size:16px; line-height:1.6; color:var(--bn-text)} .bn-art .dev-line b{font-family:var(--bn-mono); color:var(--bn-coral-txt); font-weight:700} .dvv{display:none; border-radius:var(--bn-r-sm); padding:16px 18px; background:#fff; border:1px solid var(--bn-border)} .dvv.on{display:block} .bn-art .dvv b{display:block; font-size:1.06em; color:var(--bn-ink); margin-bottom:5px} .bn-art .dvv p{margin:0; font-size:16px; line-height:1.62} @media(max-width:680px){ .dev-tiles{grid-template-columns:1fr 1fr} } .bn-fig.chat img{max-width:400px; margin:0 auto} .bn-fig.doc img{max-width:520px; margin:0 auto} .bn-nlu{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-nlu h3{margin:.1em 0 .3em} .bn-nlu>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-nlu br{display:none} .bn-nlu p:empty{display:none; margin:0} .nlu-q{padding:15px 0; border-top:1px solid var(--bn-border)} .nlu-q:first-of-type{border-top:none; padding-top:2px} .bn-art .nlu-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .bn-art .nlu-in{width:100%; font-family:inherit; font-size:16px; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-border); border-radius:999px; padding:12px 18px; outline:none} .bn-art .nlu-in:focus{border-color:var(--bn-coral)} .nlu-ex{display:flex; flex-wrap:wrap; gap:8px; margin-top:12px} .nlu-ex p:not([class]){display:contents} .bn-art .nlu-exb{font-family:inherit; font-size:16px; line-height:1.35; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:9px 16px; cursor:pointer; transition:.15s; text-align:left} .bn-art .nlu-exb:hover{background:var(--bn-coral-soft)} .nlu-out{margin:24px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .bn-art .nlu-toks{margin:0 0 14px; font-size:16px; line-height:1.7; color:var(--bn-text)} .bn-art .nlu-toks b{font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-coral-txt); display:block; margin-bottom:8px} .bn-art .nlu-tk{display:inline-block; font-family:var(--bn-mono); font-size:14px; background:#fff; border:1px solid var(--bn-border); border-radius:999px; padding:3px 11px; margin:0 6px 6px 0; color:var(--bn-ink)} .nlu-row{display:grid; grid-template-columns:1fr 130px 54px; gap:12px; align-items:center; padding:10px 0; border-top:1px solid var(--bn-sand)} .nlu-row:first-child{border-top:none} .bn-art .nlu-lab{font-size:16px; line-height:1.4; color:var(--bn-ink); font-weight:700} .nlu-bar{height:10px; border-radius:999px; background:var(--bn-sand); overflow:hidden} .nlu-bar i{display:block; height:10px; background:var(--bn-coral); border-radius:999px; width:0} .nlu-row.win .nlu-bar i{background:var(--bn-green)} .bn-art .nlu-sc{font-family:var(--bn-mono); font-size:16px; font-weight:700; color:var(--bn-coral-txt); text-align:right} .nlu-verdict{margin:16px 0 0; border-radius:var(--bn-r-sm); padding:16px 18px; background:#fff; border:1px solid var(--bn-border); border-left:4px solid var(--bn-green)} .nlu-verdict.ko{border-left-color:var(--bn-coral)} .bn-art .nlu-verdict b{display:block; font-size:1.06em; color:var(--bn-ink); margin-bottom:5px} .bn-art .nlu-verdict p{margin:0; font-size:16px; line-height:1.62} .bn-art .nlu-note{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic} @media(max-width:680px){ .nlu-row{grid-template-columns:minmax(0,1fr) 64px 48px; gap:9px} .bn-art .nlu-lab{font-size:16px} } @media(max-width:560px){ .nlu-row{grid-template-columns:minmax(0,1fr) auto; gap:7px 10px; padding:12px 0} .bn-art .nlu-lab{grid-column:1; grid-row:1} .bn-art .nlu-sc{grid-column:2; grid-row:1; text-align:right} .nlu-bar{grid-column:1\/3; grid-row:2} } .bn-art code{font-family:var(--bn-mono); font-size:16px; line-height:1.5; background:var(--bn-sand-2); border:1px solid var(--bn-sand); border-radius:6px; padding:1px 7px; color:var(--bn-ink); word-break:break-word} .bn-art pre{background:var(--bn-sand-2); border:1px solid var(--bn-sand); border-radius:var(--bn-r-sm); padding:16px 18px; overflow-x:auto; margin:22px 0} .bn-art pre code{background:none; border:none; padding:0; font-size:16px} .bn-hd{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-hd h3{margin:.1em 0 .3em} .bn-hd>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-hd br{display:none} .bn-hd p:empty{display:none; margin:0} .hd-q{padding:15px 0; border-top:1px solid var(--bn-border)} .hd-q:first-of-type{border-top:none; padding-top:2px} .bn-art .hd-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .hd-out{margin:22px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .hd-head{display:grid; grid-template-columns:minmax(0,auto) minmax(0,1fr); gap:18px; align-items:center} .hd-n{font-family:var(--bn-mono); font-weight:800; line-height:1; color:var(--bn-ink); white-space:nowrap} .bn-art .hd-n span{font-size:34px} .bn-art .hd-n i{font-style:normal; font-size:16px; color:var(--bn-muted); font-weight:600} .hd-track{position:relative; height:14px; border-radius:999px; background:#fff; border:1px solid var(--bn-sand); overflow:hidden} .hd-fill{position:absolute; left:0; top:0; bottom:0; width:0; background:var(--bn-coral); transition:width .18s} .hd-parts{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:16px} .hd-part{background:#fff; border:1px solid var(--bn-sand); border-radius:var(--bn-r-sm); padding:11px 8px; text-align:center} .bn-art .hd-part span{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.05em; color:var(--bn-muted); line-height:1.3} .bn-art .hd-part b{display:block; font-family:var(--bn-mono); font-size:20px; font-weight:800; color:var(--bn-coral-txt); margin-top:4px} .hdv{display:none; margin-top:18px; border-radius:var(--bn-r-sm); background:#fff; border:1px solid var(--bn-sand); padding:17px 19px} .hdv-1{display:block; border-left:4px solid var(--bn-green)} .hdv-2{border-left:4px solid var(--bn-blue)} .hdv-3{border-left:4px solid var(--bn-coral)} .hdv-4{border-left:4px solid var(--bn-ink)} .bn-art .hdv b{display:block; font-size:18px; line-height:1.4; color:var(--bn-ink); margin-bottom:7px} .bn-art .hdv p{margin:0; font-size:16px; line-height:1.62; color:var(--bn-text)} .bn-art .hd-note{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic; line-height:1.55} @media(max-width:680px){ .bn-hd{padding:20px 17px} .hd-out{padding:17px 15px} .hd-head{grid-template-columns:minmax(0,1fr); gap:12px} .hd-parts{grid-template-columns:repeat(2,minmax(0,1fr))} } .bn-tri{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-tri h3{margin:.1em 0 .3em} .bn-tri>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-tri br{display:none} .bn-tri p:empty{display:none; margin:0} .tri-q{padding:15px 0; border-top:1px solid var(--bn-border)} .tri-q:first-of-type{border-top:none; padding-top:2px} .bn-art .tri-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .tri-out{margin:22px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .triv{display:none; border-radius:var(--bn-r-sm); background:#fff; border:1px solid var(--bn-sand); padding:17px 19px} .triv-1{border-left:4px solid var(--bn-ink)} .triv-2{border-left:4px solid var(--bn-coral)} .triv-3{border-left:4px solid var(--bn-blue)} .triv-4{border-left:4px solid var(--bn-muted)} .triv-5{display:block; border-left:4px solid var(--bn-green)} .bn-art .triv em{display:block; font-style:normal; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.06em; color:var(--bn-coral-txt); margin-bottom:7px; line-height:1.4} .bn-art .triv b{display:block; font-size:18px; line-height:1.4; color:var(--bn-ink); margin-bottom:8px} .bn-art .triv p{margin:0 0 .7em; font-size:16px; line-height:1.62; color:var(--bn-text)} .bn-art .triv p:last-child{margin-bottom:0} .tri-lines{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:16px} .tri-line{background:#fff; border:1px solid var(--bn-sand); border-radius:var(--bn-r-sm); padding:13px 15px} .bn-art .tri-line span{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.05em; color:var(--bn-muted); line-height:1.3; margin-bottom:6px} .bn-art .tri-line b{display:block; font-size:16px; line-height:1.55; color:var(--bn-ink); font-weight:600} .bn-art .tri-note{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic; line-height:1.55} .bn-tri .bn-tablewrap{margin-top:22px} .bn-art .tri-load{font-family:var(--bn-mono); font-size:16px; line-height:1.2; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:8px 15px; cursor:pointer; white-space:nowrap; transition:.15s} .bn-art .tri-load:hover{background:var(--bn-coral-soft)} @media(max-width:680px){ .bn-tri{padding:20px 17px} .tri-out{padding:17px 15px} .tri-lines{grid-template-columns:minmax(0,1fr)} } .bn-art .bn-steps ol{list-style:none;padding:0;margin:0} .bn-art .bn-tip,.bn-art .bn-warn,.bn-art .bn-info{background:var(--bn-card);border:1px solid var(--bn-border);border-radius:var(--bn-r);padding:18px 20px;margin:24px 0;box-shadow:var(--bn-sh-sm)} .bn-art .bn-tip{border-left:4px solid var(--bn-green)} .bn-art .bn-warn{border-left:4px solid var(--bn-coral)} .bn-art .bn-info{border-left:4px solid var(--bn-blue)} .bn-art .bn-tip .bn-klabel,.bn-art .bn-warn .bn-klabel,.bn-art .bn-info .bn-klabel{margin-bottom:6px} .bn-art .bn-tip p,.bn-art .bn-warn p,.bn-art .bn-info p{margin:0} .bn-art .bn-tri table{table-layout:fixed;min-width:640px} .bn-art .bn-tri th:nth-child(1),.bn-art .bn-tri td:nth-child(1){width:22%} .bn-art .bn-tri th:nth-child(2),.bn-art .bn-tri td:nth-child(2){width:14%} .bn-art .bn-tri th:nth-child(3),.bn-art .bn-tri td:nth-child(3){width:14%} .bn-art .bn-tri th:nth-child(4),.bn-art .bn-tri td:nth-child(4){width:13%} .bn-art .bn-tri th:nth-child(5),.bn-art .bn-tri td:nth-child(5){width:22%} .bn-art .bn-tri th:nth-child(6),.bn-art .bn-tri td:nth-child(6){width:15%} .bn-art .bn-tri thead th,.bn-art .bn-tri tbody td{padding:11px 8px} .bn-art .tri-load{padding:4px 10px} .bn-art .bn-cta-in{text-align:center;margin:26px 0} .bn-lng{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-lng h3{margin:.1em 0 .3em} .bn-lng>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-lng br{display:none} .bn-lng p:empty{display:none; margin:0} .lng-q{padding:15px 0; border-top:1px solid var(--bn-border)} .lng-q:first-of-type{border-top:none; padding-top:2px} .bn-art .lng-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .lng-out{margin:22px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .lng-lines{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px} .lng-line{background:#fff; border:1px solid var(--bn-sand); border-radius:var(--bn-r-sm); padding:13px 15px} .bn-art .lng-line b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.05em; color:var(--bn-muted); line-height:1.3; margin-bottom:6px} .bn-art .lng-line span{display:block; font-size:16px; line-height:1.55; color:var(--bn-ink); font-weight:600} .lngv{display:none; margin-top:16px; border-radius:var(--bn-r-sm); background:#fff; border:1px solid var(--bn-sand); padding:17px 19px} .lngv-1{display:block; border-left:4px solid var(--bn-blue)} .lngv-2{border-left:4px solid var(--bn-coral)} .lngv-3{border-left:4px solid var(--bn-green)} .lngv-4{border-left:4px solid var(--bn-ink)} .bn-art .lngv em{display:block; font-style:normal; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.06em; color:var(--bn-coral-txt); margin-bottom:7px; line-height:1.4} .bn-art .lngv b{display:block; font-size:18px; line-height:1.4; color:var(--bn-ink); margin-bottom:8px} .bn-art .lngv p{margin:0 0 .7em; font-size:16px; line-height:1.62; color:var(--bn-text)} .bn-art .lngv p:last-child{margin-bottom:0} .bn-art .lng-note{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic; line-height:1.55} .bn-lng .bn-tablewrap{margin-top:22px} .bn-art .bn-lng table{table-layout:fixed; min-width:620px} .bn-art .bn-lng th:nth-child(1),.bn-art .bn-lng td:nth-child(1){width:26%} .bn-art .bn-lng th:nth-child(2),.bn-art .bn-lng td:nth-child(2){width:28%} .bn-art .bn-lng th:nth-child(3),.bn-art .bn-lng td:nth-child(3){width:32%} .bn-art .bn-lng th:nth-child(4),.bn-art .bn-lng td:nth-child(4){width:14%} .bn-art .bn-lng thead th,.bn-art .bn-lng tbody td{padding:11px 10px} @media(max-width:680px){ .bn-lng{padding:20px 17px} .lng-out{padding:17px 15px} .lng-lines{grid-template-columns:minmax(0,1fr)} } .bn-gem{background:var(--bn-card);border:1px solid var(--bn-border);border-radius:var(--bn-r);padding:24px 26px;margin:28px 0;box-shadow:var(--bn-sh)} .bn-gem h3{margin:.1em 0 .3em} .bn-gem>p{font-size:16px;color:var(--bn-muted);margin:0 0 18px} .bn-gem br{display:none} .bn-gem p:empty{display:none;margin:0} .gem-q{padding:15px 0;border-top:1px solid var(--bn-border)} .gem-q:first-of-type{border-top:none;padding-top:2px} .bn-art .gem-qt{font-weight:700;color:var(--bn-ink);margin:0 0 11px;font-size:16px;line-height:1.45} .gem-out{margin:22px 0 0;border-radius:var(--bn-r-sm);background:var(--bn-sand-2);border:1px solid var(--bn-sand);padding:20px 22px} .giv{display:none;border-radius:var(--bn-r-sm);background:#fff;border:1px solid var(--bn-sand);padding:17px 19px;border-left:4px solid var(--bn-coral)} .giv.on{display:block} .giv0{border-left-color:var(--bn-green)} .giv4{border-left-color:var(--bn-blue)} .bn-art .giv em{display:block;font-style:normal;font-family:var(--bn-mono);font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--bn-coral-txt);margin-bottom:7px;line-height:1.4} .bn-art .giv b{display:block;font-size:18px;line-height:1.4;color:var(--bn-ink);margin-bottom:8px} .bn-art .giv p{margin:0;font-size:16px;line-height:1.62;color:var(--bn-text)} .bn-gem .bn-tablewrap{margin-top:22px} @media(max-width:680px){.bn-gem{padding:20px 17px}.gem-out{padding:17px 15px}} .bn-gene{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-gene h3{margin:.1em 0 .3em} .bn-gene>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-gene br{display:none} .bn-gene p:empty{display:none; margin:0} .gene-q{padding:15px 0; border-top:1px solid var(--bn-border)} .gene-q:first-of-type{border-top:none; padding-top:2px} .bn-art .gene-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .gene-out{margin:24px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .gene-tiles{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:0 0 16px} .gene-stat{background:#fff; border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); padding:16px 12px; text-align:center} .bn-art .gene-stat b{display:block; font-family:var(--bn-mono); font-size:1.5em; line-height:1.12; font-weight:800; letter-spacing:-.02em; color:var(--bn-coral-txt)} .bn-art .gene-stat:nth-child(2) b{color:var(--bn-blue)} .bn-art .gene-stat:nth-child(3) b{color:var(--bn-green)} .bn-art .gene-stat span{display:block; margin-top:7px; font-size:14px; color:var(--bn-muted); line-height:1.4} .bn-art .gene-line{margin:0 0 14px; font-size:16px; line-height:1.6; color:var(--bn-text)} .bn-art .gene-line b{font-family:var(--bn-mono); color:var(--bn-coral-txt); font-weight:700} .gene-v{display:none; border-radius:var(--bn-r-sm); padding:16px 18px; background:#fff; border:1px solid var(--bn-border)} .gene-v.on{display:block} .bn-art .gene-v b{display:block; font-size:1.06em; color:var(--bn-ink); margin-bottom:5px} .bn-art .gene-v p{margin:0; font-size:16px; line-height:1.62} .bn-art .gene-note{margin:14px 0 0; font-size:16px; line-height:1.55; color:var(--bn-muted)} .bn-gene table.gene-data{margin:0 0 4px} .bn-art table.gene-data tbody tr.gene-hit td{background:var(--bn-green-soft)} @media(max-width:680px){ .gene-tiles{grid-template-columns:minmax(0,1fr)} } .bn-bud{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-bud h3{margin:.1em 0 .3em} .bn-bud>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-bud br{display:none} .bn-bud p:empty{display:none; margin:0} .bud-out{margin:22px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .budv{display:none; margin-top:16px; border-radius:var(--bn-r-sm); background:#fff; border:1px solid var(--bn-sand); padding:17px 19px} .budv-1{display:block; border-left:4px solid var(--bn-green)} .budv-2{border-left:4px solid var(--bn-blue)} .budv-3{border-left:4px solid var(--bn-coral)} .budv-4{border-left:4px solid var(--bn-ink)} .bn-art .budv em{display:block; font-style:normal; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.06em; color:var(--bn-coral-txt); margin-bottom:7px; line-height:1.4} .bn-art .budv b{display:block; font-size:18px; line-height:1.4; color:var(--bn-ink); margin-bottom:8px} .bn-art .budv p{margin:0 0 .7em; font-size:16px; line-height:1.62; color:var(--bn-text)} .bn-art .budv p:last-child{margin-bottom:0} .bn-art .bud-note{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic; line-height:1.55} .bn-bud .bn-tablewrap{margin-top:22px} @media(max-width:680px){ .bn-bud{padding:20px 17px} .bud-out{padding:17px 15px} } .bn-art .bn-ras{background:var(--bn-card);border:1px solid var(--bn-border);border-radius:var(--bn-r);padding:26px;margin:30px 0;box-shadow:var(--bn-sh)}.bn-art .bn-ras h3{margin:0 0 18px}.bn-art .bn-ras .rasq{margin:0 0 20px}.bn-art .bn-ras .rasq-t{font-weight:700;color:var(--bn-ink);margin:0 0 10px;font-size:.95em}.bn-art .ras-chip{display:inline-block;position:relative;margin:0 8px 8px 0}.bn-art .ras-chip input{position:absolute;opacity:0;pointer-events:none}.bn-art .ras-chip span{display:inline-block;padding:9px 16px;border-radius:999px;border:1.5px solid var(--bn-border);background:#fff;color:var(--bn-text);font-weight:600;font-size:.92em;cursor:pointer;transition:all .15s}.bn-art .ras-chip span:hover{border-color:var(--bn-coral)}.bn-art .ras-chip input:checked+span{background:var(--bn-coral-soft);border-color:var(--bn-coral);color:var(--bn-coral-txt)}.bn-art .ras-go{display:inline-block;background:var(--bn-coral);color:#332c19;font-weight:800;padding:13px 30px;border-radius:12px;border:0;cursor:pointer;font-size:1em;font-family:inherit}.bn-art .ras-go:hover{background:#ff8782}.bn-art .rasv-panel{display:none}.bn-art .rasv-panel.on{display:block}.bn-art .rasv-wait{display:block}.bn-art .rasv-wait.off{display:none}.bn-art .rasv-res{background:#fff;border:1px solid var(--bn-border);border-radius:var(--bn-r-sm);padding:20px 22px;margin-top:8px}.bn-art .rasv-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:6px 18px;align-items:baseline;padding:9px 0;border-bottom:1px dashed var(--bn-border)}.bn-art .rasv-row:focus-within{border-bottom-color:var(--bn-coral)}.bn-art .rasv-k{font-family:var(--bn-mono);font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:var(--bn-muted)}.bn-art .rasv-v{color:var(--bn-ink);font-weight:600}.bn-art .rasv-v b{color:var(--bn-coral-txt);font-size:1.05em}.bn-art .rasv-note{font-size:.95em;color:var(--bn-muted);margin:12px 0 0}.bn-art .rasv-waitmsg{color:var(--bn-muted);font-style:italic;margin:14px 0 0}.bn-art .ras-tab{margin-top:20px}@media(max-width:640px){.bn-art .rasv-row{grid-template-columns:minmax(0,1fr)}}`));document.head.appendChild(s);<\/script><\/p>\n<div class=\"bn-art\">\n<div class=\"bn-tldr\">\n<p><strong>En bref :<\/strong> Rasa est un framework open source \u00e9crit en Python pour construire des chatbots et des assistants vocaux \u00e0 la main : moteur de compr\u00e9hension du langage, gestion du dialogue, actions personnalis\u00e9es, d\u00e9ploiement sur vos propres serveurs. La Developer Edition est gratuite mais plafonn\u00e9e (un bot par entreprise, 1 000 conversations externes par mois ou 100 conversations internes), et la mise en production passe par une licence Rasa Pro dont le tarif n\u2019est pas publi\u00e9 : des comparatifs tiers \u00e9voquent un d\u00e9marrage autour de 35 000 $ par an. Le logiciel ne co\u00fbte donc presque rien : c\u2019est la construction, l\u2019h\u00e9bergement et la maintenance qui se paient, en jours de d\u00e9veloppement.<\/p>\n<\/div>\n<p>Vous cherchez \u00e0 cr\u00e9er un chatbot et le nom Rasa revient dans tous les comparatifs \u00ab open source \u00bb. Bonne r\u00e9putation, communaut\u00e9 large, code disponible : le framework a tout du favori des \u00e9quipes techniques. Mais entre le d\u00e9p\u00f4t GitHub et un assistant en production pour vos clients, il y a un chemin dont peu d\u2019articles donnent le co\u00fbt r\u00e9el.<\/p>\n<p>Cet article fait le tour complet : comment fonctionne un chatbot Rasa, ce que le framework co\u00fbte vraiment en 2026 (\u00e9ditions, plafonds, licence de production), quel effort de construction pr\u00e9voir selon votre projet, quelles limites conna\u00eetre avant de vous lancer, et \u00e0 quel moment une plateforme no-code h\u00e9berg\u00e9e comme Botnation rend le m\u00eame service sans \u00e9crire une ligne de code.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_88 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Sommaire<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #3d351f;color:#3d351f\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #3d351f;color:#3d351f\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/botnation.ai\/fr\/rasa-chatbot\/#Rasa_cest_quoi_exactement\" >Rasa, c\u2019est quoi exactement ?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/botnation.ai\/fr\/rasa-chatbot\/#Comment_fonctionne_un_chatbot_Rasa\" >Comment fonctionne un chatbot Rasa<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/botnation.ai\/fr\/rasa-chatbot\/#Le_moteur_NLU_comprendre_ce_que_dit_lutilisateur\" >Le moteur NLU : comprendre ce que dit l\u2019utilisateur<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/botnation.ai\/fr\/rasa-chatbot\/#La_gestion_du_dialogue_decider_de_la_reponse\" >La gestion du dialogue : d\u00e9cider de la r\u00e9ponse<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/botnation.ai\/fr\/rasa-chatbot\/#Les_actions_les_canaux_et_le_deploiement\" >Les actions, les canaux et le d\u00e9ploiement<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/botnation.ai\/fr\/rasa-chatbot\/#Un_exemple_concret_un_bot_de_suivi_de_commande\" >Un exemple concret : un bot de suivi de commande<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/botnation.ai\/fr\/rasa-chatbot\/#Combien_coute_un_chatbot_Rasa\" >Combien co\u00fbte un chatbot Rasa ?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/botnation.ai\/fr\/rasa-chatbot\/#Estimez_la_charge_de_construction_de_votre_projet_Rasa\" >Estimez la charge de construction de votre projet Rasa<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/botnation.ai\/fr\/rasa-chatbot\/#Simulateur_votre_projet_Rasa_en_4_questions\" >Simulateur : votre projet Rasa en 4 questions<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/botnation.ai\/fr\/rasa-chatbot\/#Les_limites_de_Rasa_a_connaitre_avant_de_choisir\" >Les limites de Rasa \u00e0 conna\u00eetre avant de choisir<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/botnation.ai\/fr\/rasa-chatbot\/#Rasa_ou_plateforme_no-code_hebergee_comment_trancher\" >Rasa ou plateforme no-code h\u00e9berg\u00e9e : comment trancher<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/botnation.ai\/fr\/rasa-chatbot\/#Comment_Botnation_repond_au_meme_besoin\" >Comment Botnation r\u00e9pond au m\u00eame besoin<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/botnation.ai\/fr\/rasa-chatbot\/#Questions_frequentes_sur_Rasa\" >Questions fr\u00e9quentes sur Rasa<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/botnation.ai\/fr\/rasa-chatbot\/#Le_mot_de_la_fin\" >Le mot de la fin<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/botnation.ai\/fr\/rasa-chatbot\/#Creez_votre_chatbot_sans_ecrire_une_ligne_de_code\" >Cr\u00e9ez votre chatbot sans \u00e9crire une ligne de code<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Rasa_cest_quoi_exactement\"><\/span>Rasa, c\u2019est quoi exactement ?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Rasa est un <strong>framework de cr\u00e9ation de chatbots et d\u2019assistants vocaux, open source et \u00e9crit en Python<\/strong>. Ce n\u2019est pas un logiciel cl\u00e9 en main que vous installez et configurez en cliquant : c\u2019est une bo\u00eete \u00e0 outils de d\u00e9veloppement, au m\u00eame titre qu\u2019un framework web. Vous \u00e9crivez des fichiers de configuration, vous entra\u00eenez un mod\u00e8le de langage, vous programmez les actions du bot en Python, puis vous d\u00e9ployez le tout sur une infrastructure, la v\u00f4tre ou celle d\u2019un h\u00e9bergeur.<\/p>\n<p>L\u2019\u00e9tat du projet se v\u00e9rifie en quelques secondes sur le d\u00e9p\u00f4t public : au 21 septembre 2026, le d\u00e9p\u00f4t GitHub de Rasa affiche <strong>21 324 \u00e9toiles<\/strong> et une licence <strong>Apache 2.0<\/strong>, mais aussi une version stable rest\u00e9e en 3.6.x (3.6.21) et des derniers commits vieux de plusieurs mois. Le message est clair : le socle open source historique est en mode entretien, et <strong>le d\u00e9veloppement actif s\u2019est d\u00e9plac\u00e9 vers Rasa Pro<\/strong>, l\u2019\u00e9dition sous licence commerciale maintenue par l\u2019entreprise Rasa Technologies.<\/p>\n<div class=\"bn-stats\">\n<div class=\"bn-stat\"><b>21 324<\/b><span>\u00e9toiles sur le d\u00e9p\u00f4t GitHub public (relev\u00e9 du 21\/09\/2026)<\/span><\/div>\n<div class=\"bn-stat\"><b>Apache 2.0<\/b><span>licence du socle open source, r\u00e9utilisable en entreprise<\/span><\/div>\n<div class=\"bn-stat\"><b>Python<\/b><span>le langage \u00e0 ma\u00eetriser pour tout ce qui sort du cadre<\/span><\/div>\n<\/div>\n<p>Un point de vocabulaire indispensable avant d\u2019aller plus loin : il existe <strong>deux Rasa<\/strong>. Le socle historique open source (celui du d\u00e9p\u00f4t GitHub, sous licence Apache 2.0) couvre le moteur de compr\u00e9hension du langage et la gestion du dialogue par sc\u00e9narios. En parall\u00e8le, l\u2019\u00e9diteur propose <strong>Rasa Pro<\/strong>, une \u00e9dition sous licence commerciale qui embarque les briques r\u00e9centes, dont l\u2019approche <strong>CALM<\/strong> (Conversational AI with Language Models), qui s\u2019appuie sur les grands mod\u00e8les de langage pour piloter le dialogue. La Developer Edition gratuite donne acc\u00e8s \u00e0 Rasa Pro \u00e0 des fins d\u2019\u00e9valuation et de petits d\u00e9ploiements, dans la limite des plafonds d\u00e9taill\u00e9s plus bas.<\/p>\n<p>\u00c0 ne pas confondre non plus avec une plateforme de chatbot \u00ab tout inclus \u00bb : Rasa ne fournit ni h\u00e9bergement g\u00e9r\u00e9 par d\u00e9faut, ni interface de cr\u00e9ation visuelle dans son socle gratuit, ni connecteurs pr\u00eats \u00e0 l\u2019emploi configurables en quelques clics. Ce sont pr\u00e9cis\u00e9ment les briques que vous assemblez vous-m\u00eame. Si la distinction framework ou plateforme vous int\u00e9resse, nous l\u2019avons d\u00e9taill\u00e9e dans notre guide des <a href=\"https:\/\/botnation.ai\/fr\/plateforme-chatbot\/\">plateformes de chatbot<\/a>.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Comment_fonctionne_un_chatbot_Rasa\"><\/span>Comment fonctionne un chatbot Rasa<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Un bot Rasa repose sur trois briques qui se r\u00e9pondent : la compr\u00e9hension du langage, la gestion du dialogue et les actions personnalis\u00e9es. Reprenons-les dans l\u2019ordre d\u2019ex\u00e9cution d\u2019une conversation.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Le_moteur_NLU_comprendre_ce_que_dit_lutilisateur\"><\/span>Le moteur NLU : comprendre ce que dit l\u2019utilisateur<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>La brique NLU (Natural Language Understanding) re\u00e7oit chaque message et en extrait une <strong>intention<\/strong> (ce que veut l\u2019utilisateur : \u00ab suivre une commande \u00bb, \u00ab demander un remboursement \u00bb) et des <strong>entit\u00e9s<\/strong> (les d\u00e9tails : un num\u00e9ro de commande, une date, un montant). Pour cela, vous fournissez des phrases d\u2019exemple par intention : le mod\u00e8le s\u2019entra\u00eene dessus. La qualit\u00e9 du bot d\u00e9pend directement de ce travail d\u2019alimentation, phrase par phrase, langue par langue. Nous expliquons ce m\u00e9canisme en d\u00e9tail dans notre article sur le <a href=\"https:\/\/botnation.ai\/fr\/fonctionnement-chatbot\/\">fonctionnement d\u2019un chatbot<\/a>.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"La_gestion_du_dialogue_decider_de_la_reponse\"><\/span>La gestion du dialogue : d\u00e9cider de la r\u00e9ponse<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Une fois le message compris, il faut d\u00e9cider de la r\u00e9ponse : poser une question de pr\u00e9cision, appeler un syst\u00e8me, confirmer une action. Dans le socle open source, ce pilotage s\u2019\u00e9crit sous forme de <strong>sc\u00e9narios (stories) et de r\u00e8gles<\/strong> dans des fichiers YAML : le chemin de la conversation est d\u00e9crit \u00e0 la main, pas \u00e0 pas. Dans Rasa Pro, l\u2019approche CALM compl\u00e8te ce fonctionnement : les grands mod\u00e8les de langage interpr\u00e8tent l\u2019intention g\u00e9n\u00e9rale de l\u2019utilisateur et la relient \u00e0 des flux m\u00e9tier d\u00e9clar\u00e9s, ce qui rend le dialogue moins rigide, au prix d\u2019une architecture plus complexe \u00e0 ma\u00eetriser.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Les_actions_les_canaux_et_le_deploiement\"><\/span>Les actions, les canaux et le d\u00e9ploiement<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Troisi\u00e8me brique : les <strong>actions personnalis\u00e9es<\/strong>, \u00e9crites en Python avec le SDK fourni. C\u2019est l\u00e0 que votre bot devient utile : interroger votre CRM, cr\u00e9er un ticket, v\u00e9rifier une commande, \u00e9crire dans une base de donn\u00e9es. Viennent ensuite les connecteurs de canaux (site web, applications de messagerie, centre d\u2019appels) et le d\u00e9ploiement : Rasa se conteneurise et se d\u00e9ploie sur Kubernetes avec Helm, en auto-h\u00e9berg\u00e9 ou en cloud priv\u00e9.<\/p>\n<figure class=\"bn-fig\"><img src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/09\/botnation-rasa-corps2.jpg\" alt=\"Personne de dos devant deux \u00e9crans, travaillant sur le code d\u2019un chatbot\" decoding=\"async\"><figcaption>Derri\u00e8re chaque chatbot Rasa, il y a du code : sc\u00e9narios, actions Python et int\u00e9grations s\u2019\u00e9crivent et se maintiennent \u00e0 la main.<\/figcaption><\/figure>\n<ul>\n<li><strong>Donn\u00e9es d\u2019entra\u00eenement<\/strong> : phrases d\u2019exemple, entit\u00e9s, r\u00e9ponses, \u00e0 r\u00e9diger et maintenir \u00e0 la main.<\/li>\n<li><strong>Configuration<\/strong> : pipelines de traitement et politiques de dialogue en YAML.<\/li>\n<li><strong>Code Python<\/strong> : actions personnalis\u00e9es, validations, int\u00e9grations syst\u00e8me.<\/li>\n<li><strong>Infrastructure<\/strong> : conteneurs, Kubernetes, supervision, sauvegardes, mont\u00e9es de version.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Un_exemple_concret_un_bot_de_suivi_de_commande\"><\/span>Un exemple concret : un bot de suivi de commande<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Prenons un cas simple pour fixer les id\u00e9es : un bot qui r\u00e9pond \u00e0 \u00ab o\u00f9 est ma commande ? \u00bb. Dans Rasa, cela suppose de cr\u00e9er l\u2019intention \u00ab suivre_commande \u00bb avec quelques dizaines de phrases d\u2019exemple (\u00ab o\u00f9 est mon colis \u00bb, \u00ab ma commande n\u2019est pas arriv\u00e9e \u00bb\u2026), d\u2019extraire l\u2019entit\u00e9 \u00ab num\u00e9ro de commande \u00bb, puis d\u2019\u00e9crire une action Python qui interroge l\u2019API de votre logistique et formate la r\u00e9ponse. Chaque langue suppl\u00e9mentaire duplique le travail de phrases d\u2019exemple. Chaque cas d\u2019usage nouveau (retour, facture, \u00e9change) recommence le cycle : donn\u00e9es, action, tests. C\u2019est ce cycle, r\u00e9p\u00e9t\u00e9, qui compose le budget de construction, alors que sur une plateforme no-code le m\u00eame sc\u00e9nario s\u2019assemble visuellement \u00e0 partir de blocs pr\u00eats et d\u2019un connecteur configur\u00e9 \u00e0 la souris.<\/p>\n<p>Le r\u00e9sum\u00e9 tient en une phrase : rien n\u2019est impossible avec Rasa, mais <strong>rien n\u2019est d\u00e9j\u00e0 fait<\/strong>. Chaque brique ci-dessus est un chantier, et c\u2019est exactement l\u00e0 que se loge le co\u00fbt r\u00e9el du framework, comme le confirme la m\u00e9thode de <a href=\"https:\/\/botnation.ai\/fr\/conception-chatbot\/\">conception d\u2019un chatbot<\/a> appliqu\u00e9e projet par projet.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Combien_coute_un_chatbot_Rasa\"><\/span>Combien co\u00fbte un chatbot Rasa ?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>La question pi\u00e8ge : \u00ab Rasa est gratuit \u00bb est \u00e0 la fois vrai et tr\u00e8s trompeur. Reprenons la grille telle qu\u2019elle se pr\u00e9sente le 21 septembre 2026 sur la page tarifs de l\u2019\u00e9diteur.<\/p>\n<div class=\"bn-tablewrap\">\n<table>\n<thead>\n<tr>\n<th>\u00c9dition<\/th>\n<th>Tarif affich\u00e9<\/th>\n<th>Ce qu\u2019elle couvre<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Developer Edition<\/strong><\/td>\n<td>Gratuite<\/td>\n<td>Un bot par entreprise, jusqu\u2019\u00e0 1 000 conversations externes par mois (ou 100 conversations internes), support par la communaut\u00e9. Utilisable en local ou en production dans ces limites.<\/td>\n<\/tr>\n<tr>\n<td><strong>Rasa Pro<\/strong> (production)<\/td>\n<td>Non publi\u00e9 (sur devis)<\/td>\n<td>Le framework complet sous licence commerciale : CALM, NLU multilingue, actions personnalis\u00e9es, connecteurs REST et WebSocket, d\u00e9ploiement Kubernetes, tests de bout en bout, gestion des donn\u00e9es personnelles, multi-LLM, observabilit\u00e9. Support payant en option.<\/td>\n<\/tr>\n<tr>\n<td><strong>Plateforme (offres entreprise)<\/strong><\/td>\n<td>Non publi\u00e9 (sur devis)<\/td>\n<td>Rasa Pro plus les outils d\u2019\u00e9quipe : interface de construction de flux, panneau de tests, analytique de conversations, gestion des acc\u00e8s (SSO, r\u00f4les), support premium 24\/7 en option.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Trois remarques honn\u00eates sur ce tableau. D\u2019abord, <strong>l\u2019\u00e9diteur ne publie aucun prix de production<\/strong> : la grille officielle renvoie \u00e0 un contact commercial, et seul le plafond de la Developer Edition est chiffr\u00e9 noir sur blanc (1 000 conversations externes par mois). Ensuite, les comparatifs tiers donnent un ordre de grandeur : le comparatif publi\u00e9 par Voiceflow en juillet 2026 situe le d\u00e9marrage de Rasa en production \u00ab autour de 35 000 $ par an \u00bb, un montant \u00e0 prendre comme une fourchette indicative \u00e0 confirmer par devis, pas comme un tarif officiel. Enfin, le support communautaire de la Developer Edition reste \u00ab best effort \u00bb : d\u00e8s que le bot devient critique, le support payant entre dans le budget.<\/p>\n<figure class=\"bn-fig\"><img src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/09\/botnation-rasa-capture-rasa-pricing.jpg\" alt=\"Capture de la page tarifs de Rasa : Developer Edition gratuite et offre Entreprise sur devis\" decoding=\"async\"><figcaption>La page tarifs de l\u2019\u00e9diteur le 21 septembre 2026 : Developer Edition gratuite avec ses plafonds affich\u00e9s, offres de production sur devis uniquement.<\/figcaption><\/figure>\n<figure class=\"bn-fig\"><img src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/09\/botnation-rasa-corps1.jpg\" alt=\"Baie serveur dans un local d\u2019entreprise, illustration de l\u2019auto-h\u00e9bergement d\u2019un chatbot\" decoding=\"async\"><figcaption>L\u2019auto-h\u00e9bergement offre le contr\u00f4le total des donn\u00e9es : serveurs, supervision, s\u00e9curit\u00e9 et mises \u00e0 jour restent \u00e0 votre charge.<\/figcaption><\/figure>\n<p>Reste la part la plus importante, celle qu\u2019aucune grille ne montre : <strong>le co\u00fbt de construction et d\u2019exploitation<\/strong>. D\u00e9veloppement des sc\u00e9narios et des actions, alimentation des donn\u00e9es d\u2019entra\u00eenement, int\u00e9gration \u00e0 vos syst\u00e8mes, h\u00e9bergement (auto-h\u00e9berg\u00e9 signifie serveurs \u00e0 payer et \u00e0 surveiller), maintenance corrective et \u00e9volutive, mont\u00e9es de version du framework. C\u2019est le poste qui d\u00e9partage les projets, et c\u2019est celui que mesure le simulateur de la section suivante.<\/p>\n<p>Pour la source publique la plus utile : la <strong>Developer Edition gratuite<\/strong> permet de prototyper s\u00e9rieusement sans rien d\u00e9penser, tant que vous restez sous les 1 000 conversations externes mensuelles. C\u2019est un vrai avantage pour valider un cas d\u2019usage avant d\u2019engager un budget.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Estimez_la_charge_de_construction_de_votre_projet_Rasa\"><\/span>Estimez la charge de construction de votre projet Rasa<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Le simulateur ci-dessous estime, selon quatre caract\u00e9ristiques de votre projet, l\u2019effort de construction d\u2019un chatbot Rasa en jours-homme, la dur\u00e9e calendaire correspondante et un co\u00fbt indicatif. Il le compare au m\u00eame p\u00e9rim\u00e8tre construit sur une plateforme no-code h\u00e9berg\u00e9e. Les hypoth\u00e8ses sont volontairement affich\u00e9es sous l\u2019outil : c\u2019est un ordre de grandeur d\u2019aide \u00e0 la d\u00e9cision, pas un devis.<\/p>\n<div class=\"bn-ras\">\n<h3><span class=\"ez-toc-section\" id=\"Simulateur_votre_projet_Rasa_en_4_questions\"><\/span>Simulateur : votre projet Rasa en 4 questions<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"rasq\">\n<p class=\"rasq-t\">1. P\u00e9rim\u00e8tre fonctionnel du bot<\/p>\n<p><label class=\"ras-chip\"><input type=\"radio\" name=\"rasq1\" value=\"faq\" data-jh=\"15\" data-nc=\"2\" data-lbl=\"FAQ simple : socle 15 jours-homme\"><span>FAQ simple<\/span><\/label><br>\n<label class=\"ras-chip\"><input type=\"radio\" name=\"rasq1\" value=\"trx\" data-jh=\"30\" data-nc=\"5\" data-lbl=\"Assistant transactionnel : socle 30 jours-homme\"><span>Assistant transactionnel<\/span><\/label><br>\n<label class=\"ras-chip\"><input type=\"radio\" name=\"rasq1\" value=\"llm\" data-jh=\"45\" data-nc=\"8\" data-lbl=\"Agent IA avec LLM : socle 45 jours-homme\"><span>Agent IA avec LLM<\/span><\/label>\n<\/p><\/div>\n<div class=\"rasq\">\n<p class=\"rasq-t\">2. Langues du bot<\/p>\n<p><label class=\"ras-chip\"><input type=\"radio\" name=\"rasq2\" value=\"l1\" data-add=\"0\" data-ncl=\"0\" data-lbl=\"1 langue : +0 jour-homme\"><span>1 langue<\/span><\/label><br>\n<label class=\"ras-chip\"><input type=\"radio\" name=\"rasq2\" value=\"l2\" data-add=\"6\" data-ncl=\"1\" data-lbl=\"2 \u00e0 3 langues : +6 jours-homme\"><span>2 \u00e0 3 langues<\/span><\/label><br>\n<label class=\"ras-chip\"><input type=\"radio\" name=\"rasq2\" value=\"l4\" data-add=\"15\" data-ncl=\"2\" data-lbl=\"4 langues et plus : +15 jours-homme\"><span>4 langues et plus<\/span><\/label>\n<\/p><\/div>\n<div class=\"rasq\">\n<p class=\"rasq-t\">3. Int\u00e9grations \u00e0 vos syst\u00e8mes<\/p>\n<p><label class=\"ras-chip\"><input type=\"radio\" name=\"rasq3\" value=\"i0\" data-add=\"2\" data-nci=\"0\" data-lbl=\"Aucune int\u00e9gration : +2 jours-homme\"><span>Aucune (site et FAQ)<\/span><\/label><br>\n<label class=\"ras-chip\"><input type=\"radio\" name=\"rasq3\" value=\"i1\" data-add=\"8\" data-nci=\"2\" data-lbl=\"1 \u00e0 2 int\u00e9grations : +8 jours-homme\"><span>1 \u00e0 2 (CRM, base de donn\u00e9es)<\/span><\/label><br>\n<label class=\"ras-chip\"><input type=\"radio\" name=\"rasq3\" value=\"im\" data-add=\"20\" data-nci=\"5\" data-lbl=\"Plusieurs syst\u00e8mes : +20 jours-homme\"><span>Plusieurs syst\u00e8mes<\/span><\/label>\n<\/p><\/div>\n<div class=\"rasq\">\n<p class=\"rasq-t\">4. Mode d\u2019h\u00e9bergement<\/p>\n<p><label class=\"ras-chip\"><input type=\"radio\" name=\"rasq4\" value=\"managed\" data-add=\"1\" data-lbl=\"H\u00e9bergement g\u00e9r\u00e9 : +1 jour-homme\"><span>G\u00e9r\u00e9 par l\u2019\u00e9diteur<\/span><\/label><br>\n<label class=\"ras-chip\"><input type=\"radio\" name=\"rasq4\" value=\"self\" data-add=\"6\" data-lbl=\"Auto-h\u00e9berg\u00e9 : +6 jours-homme\"><span>Auto-h\u00e9berg\u00e9 ou cloud priv\u00e9<\/span><\/label>\n<\/p><\/div>\n<p><button type=\"button\" class=\"ras-go\" id=\"ras-go\">Estimer mon projet<\/button><\/p>\n<div class=\"rasv-panel rasv-res\" id=\"rasv-res\" data-sep=\"\u202f\" data-tests=\"Recette et tests : +20 % du sous-total\">\n<div class=\"rasv-row\"><span class=\"rasv-k\">Effort de construction Rasa<\/span><span class=\"rasv-v\"><b id=\"raso-total\">0<\/b> jours-homme<\/span><\/div>\n<div class=\"rasv-row\"><span class=\"rasv-k\">D\u00e9tail des hypoth\u00e8ses<\/span><span class=\"rasv-v\" id=\"raso-detail\">\u2026<\/span><\/div>\n<div class=\"rasv-row\"><span class=\"rasv-k\">Dur\u00e9e indicative<\/span><span class=\"rasv-v\">de <b id=\"raso-m1\">0<\/b> \u00e0 <b id=\"raso-m2\">0<\/b> mois avec une petite \u00e9quipe (1 \u00e0 2 d\u00e9veloppeurs)<\/span><\/div>\n<div class=\"rasv-row\"><span class=\"rasv-k\">Co\u00fbt de construction indicatif<\/span><span class=\"rasv-v\"><b id=\"raso-cout\">0<\/b> \u20ac HT (ordre de grandeur)<\/span><\/div>\n<div class=\"rasv-row\"><span class=\"rasv-k\">M\u00eame p\u00e9rim\u00e8tre en plateforme no-code h\u00e9berg\u00e9e<\/span><span class=\"rasv-v\"><b id=\"raso-nc\">0<\/b> jours-homme, soit environ <b id=\"raso-ratio\">0<\/b> fois moins d\u2019effort<\/span><\/div>\n<p class=\"rasv-note\">Rappel : le framework est gratuit, la construction, l\u2019h\u00e9bergement et la maintenance ne le sont pas. Et au-del\u00e0 de 1 000 conversations externes par mois, la licence de production Rasa Pro devient n\u00e9cessaire.<\/p>\n<\/div>\n<div class=\"rasv-panel rasv-wait\" id=\"rasv-wait\">\n<p class=\"rasv-waitmsg\">Choisissez une r\u00e9ponse dans chacune des 4 questions, puis cliquez sur \u00ab Estimer mon projet \u00bb.<\/p>\n<\/div>\n<div class=\"bn-tablewrap\">\n<table class=\"ras-tab\">\n<thead>\n<tr>\n<th>Brique du projet<\/th>\n<th>Hypoth\u00e8se du simulateur (ordre de grandeur)<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Socle NLU et dialogue<\/td>\n<td>15 jours-homme (FAQ simple) \u00e0 45 jours-homme (agent IA avec LLM)<\/td>\n<\/tr>\n<tr>\n<td>Langues suppl\u00e9mentaires<\/td>\n<td>+6 jours-homme (2 \u00e0 3 langues), +15 jours-homme (4 langues et plus)<\/td>\n<\/tr>\n<tr>\n<td>Int\u00e9grations SI<\/td>\n<td>+2 jours-homme (aucune), +8 (1 \u00e0 2), +20 (plusieurs syst\u00e8mes)<\/td>\n<\/tr>\n<tr>\n<td>H\u00e9bergement<\/td>\n<td>+1 jour-homme (g\u00e9r\u00e9), +6 jours-homme (auto-h\u00e9berg\u00e9 ou cloud priv\u00e9)<\/td>\n<\/tr>\n<tr>\n<td>Recette et tests<\/td>\n<td>+20 % du sous-total<\/td>\n<\/tr>\n<tr>\n<td>R\u00e9f\u00e9rence no-code h\u00e9berg\u00e9<\/td>\n<td>2 \u00e0 8 jours-homme selon le p\u00e9rim\u00e8tre, h\u00e9bergement inclus<\/td>\n<\/tr>\n<tr>\n<td>Co\u00fbt journalier<\/td>\n<td>550 \u20ac HT par jour-homme (d\u00e9veloppeur Python confirm\u00e9, hypoth\u00e8se \u00e9ditoriale de march\u00e9)<\/td>\n<\/tr>\n<tr>\n<td>Productivit\u00e9 d\u2019\u00e9quipe<\/td>\n<td>environ 18 jours-homme productifs par mois et par d\u00e9veloppeur<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><script>(function(){var B=document.getElementById(\"ras-go\");if(!B){return;}B.addEventListener(\"click\",function(){var show=function(w,r){if(r){r.classList.remove(\"on\");}if(w){w.classList.remove(\"off\");}};var g=function(n){var l=document.querySelector(\"input[name='\"+n+\"']:checked\");if(l){return l;}return null;};var q1=g(\"rasq1\");var q2=g(\"rasq2\");var q3=g(\"rasq3\");var q4=g(\"rasq4\");var W=document.getElementById(\"rasv-wait\");var R=document.getElementById(\"rasv-res\");if(!q1){show(W,R);return;}if(!q2){show(W,R);return;}if(!q3){show(W,R);return;}if(!q4){show(W,R);return;}if(W){W.classList.add(\"off\");}var base=parseInt(q1.getAttribute(\"data-jh\"),10);var lang=parseInt(q2.getAttribute(\"data-add\"),10);var integ=parseInt(q3.getAttribute(\"data-add\"),10);var host=parseInt(q4.getAttribute(\"data-add\"),10);var sous=base+lang+integ+host;var tests=Math.ceil(sous*0.2);var total=sous+tests;var m1=Math.ceil(total\/36);var m2=Math.ceil(total\/18);var cout=total*550;var ncb=parseInt(q1.getAttribute(\"data-nc\"),10);var nci=parseInt(q3.getAttribute(\"data-nci\"),10);var ncl=parseInt(q2.getAttribute(\"data-ncl\"),10);var nct=ncb+nci+ncl;var ratio=Math.round(total\/nct);if(!(ratio>0)){ratio=1;}var sp=R.getAttribute(\"data-sep\");var f=function(n){var s=\"\"+n;var r=\"\";var c=0;var i=s.length-1;while(i>=0){r=s.charAt(i)+r;c=c+1;if(c%3===0){if(i>0){r=sp+r;}}i=i-1;}return r;};document.getElementById(\"raso-total\").textContent=f(total);document.getElementById(\"raso-m1\").textContent=f(m1);document.getElementById(\"raso-m2\").textContent=f(m2);document.getElementById(\"raso-cout\").textContent=f(cout);document.getElementById(\"raso-nc\").textContent=f(nct);document.getElementById(\"raso-ratio\").textContent=\"\"+ratio;var d=q1.getAttribute(\"data-lbl\")+\" ; \"+q2.getAttribute(\"data-lbl\")+\" ; \"+q3.getAttribute(\"data-lbl\")+\" ; \"+q4.getAttribute(\"data-lbl\")+\" ; \"+R.getAttribute(\"data-tests\");document.getElementById(\"raso-detail\").textContent=d;R.classList.add(\"on\");});})();<\/script><\/p>\n<p>M\u00e9thode : les ordres de grandeur du tableau sont des hypoth\u00e8ses \u00e9ditoriales construites \u00e0 partir des p\u00e9rim\u00e8tres types de projets de chatbot ; ils se veulent pessimistes c\u00f4t\u00e9 Rasa sur la recette (20 % du sous-total) et prudents sur les int\u00e9grations multiples. Le co\u00fbt de licence de production n\u2019est pas inclus, faute de grille publique. Utilisez le r\u00e9sultat comme point de d\u00e9part d\u2019une discussion interne, pas comme un chiffre contractuel.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Les_limites_de_Rasa_a_connaitre_avant_de_choisir\"><\/span>Les limites de Rasa \u00e0 conna\u00eetre avant de choisir<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Le framework est excellent dans ce pour quoi il a \u00e9t\u00e9 con\u00e7u. Mais quatre limites reviennent syst\u00e9matiquement dans les projets.<\/p>\n<ul>\n<li><strong>Python obligatoire<\/strong> : d\u00e8s que votre bot sort du question-r\u00e9ponse (actions, int\u00e9grations, tests), un profil d\u00e9veloppeur Python est indispensable, en construction comme en maintenance.<\/li>\n<li><strong>Pas d\u2019interface visuelle dans le socle open source<\/strong> : sc\u00e9narios et configuration s\u2019\u00e9crivent en fichiers ; l\u2019interface de construction de flux et l\u2019analytique sont r\u00e9serv\u00e9es aux offres payantes de la plateforme.<\/li>\n<li><strong>Time-to-market<\/strong> : entre la prise en main du framework et un bot en production, comptez des semaines de d\u00e9veloppement au minimum, contre quelques jours sur une plateforme no-code pour un p\u00e9rim\u00e8tre simple.<\/li>\n<li><strong>Charge d\u2019exploitation<\/strong> : en auto-h\u00e9bergement, la disponibilit\u00e9, la s\u00e9curit\u00e9, les sauvegardes et les mont\u00e9es de version du framework sont \u00e0 votre charge, pour toujours.<\/li>\n<\/ul>\n<p>Avant de vous d\u00e9cider, trois questions tranchent la plupart des d\u00e9bats. Qui maintiendra le bot dans douze mois : l\u2019\u00e9quipe qui l\u2019a construit, ou une \u00e9quipe m\u00e9tier qui doit pouvoir modifier une r\u00e9ponse sans ticket de d\u00e9veloppement ? Quel est le d\u00e9lai r\u00e9el avant la premi\u00e8re version utile : des semaines de chantier sont-elles acceptables, ou le besoin est-il d\u00e9j\u00e0 m\u00fbr ? Et quel est le co\u00fbt total sur trois ans, licence comprise : un framework \u00ab gratuit \u00bb avec deux d\u00e9veloppements \u00e0 temps partiel co\u00fbte tr\u00e8s cher, un abonnement de 59 \u20ac par mois se lit d\u2019un coup d\u2019\u0153il. Ces questions n\u2019ont pas de bonne r\u00e9ponse universelle, mais elles ont une bonne r\u00e9ponse pour votre organisation.<\/p>\n<p>Aucune de ces limites n\u2019est r\u00e9dhibitoire pour une \u00e9quipe technique qui a le temps et le besoin de contr\u00f4le total. Elles sont en revanche d\u00e9cisives pour une \u00e9quipe m\u00e9tier qui veut un bot op\u00e9rationnel vite, sans recruter ni externaliser du d\u00e9veloppement.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Rasa_ou_plateforme_no-code_hebergee_comment_trancher\"><\/span>Rasa ou plateforme no-code h\u00e9berg\u00e9e : comment trancher<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Les deux approches ne servent pas exactement le m\u00eame besoin, et le bon choix d\u00e9pend de trois questions : qui va maintenir le bot, dans quels d\u00e9lais, et avec quel budget.<\/p>\n<div class=\"bn-tablewrap\">\n<table>\n<thead>\n<tr>\n<th>Crit\u00e8re<\/th>\n<th>Rasa (framework open source)<\/th>\n<th>Plateforme no-code h\u00e9berg\u00e9e (type Botnation)<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Comp\u00e9tences requises<\/td>\n<td>D\u00e9veloppeurs Python<\/td>\n<td>\u00c9quipe m\u00e9tier autonome apr\u00e8s formation l\u00e9g\u00e8re<\/td>\n<\/tr>\n<tr>\n<td>D\u00e9lai de mise en ligne<\/td>\n<td>Semaines \u00e0 mois selon le p\u00e9rim\u00e8tre<\/td>\n<td>Jours, gabarits pr\u00eats \u00e0 l\u2019emploi<\/td>\n<\/tr>\n<tr>\n<td>Co\u00fbt de d\u00e9part<\/td>\n<td>Gratuit en Developer Edition, puis licence sur devis et jours de d\u00e9veloppement<\/td>\n<td>Gratuit (0 \u20ac) puis forfaits \u00e0 partir de 39 \u20ac par mois<\/td>\n<\/tr>\n<tr>\n<td>H\u00e9bergement<\/td>\n<td>\u00c0 votre charge (auto-h\u00e9berg\u00e9 ou cloud priv\u00e9)<\/td>\n<td>Inclus et g\u00e9r\u00e9 par l\u2019\u00e9diteur<\/td>\n<\/tr>\n<tr>\n<td>Personnalisation totale<\/td>\n<td>Totale : code, mod\u00e8les, flux, tout se modifie<\/td>\n<td>Large mais cadr\u00e9e par l\u2019outil<\/td>\n<\/tr>\n<tr>\n<td>Donn\u00e9es chez vous<\/td>\n<td>Oui, en auto-h\u00e9bergement<\/td>\n<td>H\u00e9bergement de l\u2019\u00e9diteur (offre entreprise pour des besoins d\u00e9di\u00e9s)<\/td>\n<\/tr>\n<tr>\n<td>Maintenance<\/td>\n<td>\u00c0 votre charge en continu<\/td>\n<td>Incluse dans l\u2019abonnement<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Un mot sur les comparatifs que vous lirez ailleurs : beaucoup de tableaux opposent \u00ab open source gratuit \u00bb \u00e0 \u00ab SaaS payant \u00bb sans compter les m\u00eames postes. Le framework gratuit se compare au tarif de l\u2019abonnement seulement si l\u2019on retire du panneau les salaires des d\u00e9veloppeurs, l\u2019h\u00e9bergement et la maintenance ; l\u2019inverse serait tout aussi trompeur. Les deux mod\u00e8les ne disent pas la m\u00eame chose quand on les ram\u00e8ne \u00e0 la question qui compte : combien co\u00fbte la prochaine modification de votre bot, et qui peut la faire.<\/p>\n<p>En synth\u00e8se : <strong>Rasa gagne<\/strong> quand vous avez une \u00e9quipe technique disponible, un besoin de contr\u00f4le total (donn\u00e9es, mod\u00e8le, int\u00e9grations profondes, d\u00e9ploiement sur votre infrastructure) et un horizon de plusieurs mois. <strong>La plateforme no-code gagne<\/strong> quand l\u2019objectif est un bot op\u00e9rationnel rapidement, tenu par l\u2019\u00e9diteur, administrable par l\u2019\u00e9quipe m\u00e9tier, avec un co\u00fbt ma\u00eetris\u00e9 \u00e0 l\u2019abonnement. Si vous comparez les acteurs du march\u00e9 un par un, notre fiche sur <a href=\"https:\/\/botnation.ai\/fr\/genesys-chatbot\/\">Genesys chatbot<\/a> suit la m\u00eame d\u00e9marche de v\u00e9rification des prix et des limites.<\/p>\n<figure class=\"bn-fig\"><img src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/09\/botnation-rasa-capture-github.jpg\" alt=\"Capture du d\u00e9p\u00f4t GitHub de Rasa : licence Apache 2.0 et version 3.6.x\" decoding=\"async\"><figcaption>Le d\u00e9p\u00f4t public de Rasa le 21 septembre 2026 : licence Apache 2.0, socle 3.6.x, d\u00e9veloppement principal d\u00e9plac\u00e9 vers l\u2019\u00e9dition sous licence.<\/figcaption><\/figure>\n<p>La capture ci-dessus montre le d\u00e9p\u00f4t public de Rasa tel que consult\u00e9 le 21 septembre 2026 : licence Apache 2.0 affich\u00e9e, socle stable en 3.6.x et derniers commits vieillissants, trois signaux \u00e0 lire avant d\u2019adopter un framework open source (et le signe que l\u2019innovation se joue d\u00e9sormais c\u00f4t\u00e9 Rasa Pro).<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Comment_Botnation_repond_au_meme_besoin\"><\/span>Comment Botnation r\u00e9pond au m\u00eame besoin<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Botnation aborde le probl\u00e8me par l\u2019autre bout : au lieu de vous donner un framework \u00e0 assembler, la plateforme fournit l\u2019\u00e9diteur visuel, les canaux (site, WhatsApp, Messenger, Instagram), l\u2019h\u00e9bergement et les mises \u00e0 jour, avec une gamme publique : <strong>Gratuit \u00e0 0 \u20ac, Basic \u00e0 39 \u20ac par mois, Pro \u00e0 59 \u20ac par mois, Entreprise sur mesure<\/strong> (grille relev\u00e9e le 21 septembre 2026 sur la page tarifs). Un projet simple se met en route sans d\u00e9veloppeur, et l\u2019offre Entreprise couvre les besoins avanc\u00e9s : Botnation \u00e9dite une plateforme no-code <strong>et<\/strong> r\u00e9alise des chatbots sur mesure pour ses clients, avec des experts en cr\u00e9ation de chatbot qui construisent l\u2019assistant pour vous, sur devis.<\/p>\n<p>L\u2019int\u00e9r\u00eat du rapprochement avec Rasa : l\u2019\u00e9quipe qui construit sur mesure est celle qui \u00e9dite la plateforme, donc le client r\u00e9cup\u00e8re un assistant qu\u2019il peut ensuite faire \u00e9voluer lui-m\u00eame dans l\u2019\u00e9diteur, sans reprendre du code. C\u2019est la diff\u00e9rence de nature avec un framework : le sur-mesure n\u2019implique pas de repartir sur un chantier technique permanent.<\/p>\n<figure class=\"bn-fig\"><img src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/09\/botnation-rasa-capture-tarifs-fr.jpg\" alt=\"Capture de la page tarifs de Botnation : Gratuit 0 euro, Basic 39 euros, Pro 59 euros, Entreprise sur mesure\" decoding=\"async\"><figcaption>La grille Botnation le 21 septembre 2026 : Gratuit \u00e0 0 \u20ac, Basic \u00e0 39 \u20ac, Pro \u00e0 59 \u20ac par mois, Entreprise sur mesure, chatbots illimit\u00e9s.<\/figcaption><\/figure>\n<p>C\u00f4t\u00e9 \u00e9quipe, la page entreprise de Botnation pr\u00e9sente publiquement ses \u00ab experts en cr\u00e9ation de chatbot \u00bb : pour un projet qui d\u00e9passe le gabarit, ces botmakers construisent l\u2019assistant sur devis, avec un responsable de compte d\u00e9di\u00e9 et un onboarding personnalis\u00e9 dans l\u2019offre Entreprise. Le client peut ensuite faire \u00e9voluer les sc\u00e9narios dans l\u2019\u00e9diteur, ou confier les \u00e9volutions \u00e0 la m\u00eame \u00e9quipe ; dans les deux cas, il n\u2019y a ni code \u00e0 reprendre ni infrastructure \u00e0 administrer.<\/p>\n<p>Pour un support client ou une FAQ automatis\u00e9e, le plus rapide reste de partir d\u2019un cas d\u2019usage pr\u00eat : notre <a href=\"https:\/\/botnation.ai\/fr\/produits\/support-client\/\">chatbot support client<\/a> montre le p\u00e9rim\u00e8tre type livrable en jours.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Questions_frequentes_sur_Rasa\"><\/span>Questions fr\u00e9quentes sur Rasa<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<details class=\"bn-faq\">\n<summary>Rasa est-il vraiment gratuit ?<\/summary>\n<div class=\"bn-faq-b\">\n<p>La Developer Edition l\u2019est, avec des plafonds pr\u00e9cis : un bot par entreprise, 1 000 conversations externes par mois ou 100 conversations internes, et un support communautaire. La production au-del\u00e0 de ces limites passe par une licence Rasa Pro dont le prix n\u2019est pas publi\u00e9 ; des comparatifs tiers \u00e9voquent un d\u00e9marrage autour de 35 000 $ par an (Voiceflow, juillet 2026), \u00e0 confirmer par devis. Le socle historique du d\u00e9p\u00f4t GitHub reste sous licence Apache 2.0.<\/p>\n<\/div>\n<\/details>\n<details class=\"bn-faq\">\n<summary>Faut-il savoir coder pour cr\u00e9er un chatbot Rasa ?<\/summary>\n<div class=\"bn-faq-b\">\n<p>Oui, pour tout ce qui sort du strict question-r\u00e9ponse. Le socle open source se pilote en fichiers de configuration et en Python (actions personnalis\u00e9es, int\u00e9grations, d\u00e9ploiement). L\u2019interface visuelle de construction de flux est r\u00e9serv\u00e9e aux offres payantes de la plateforme. Sans d\u00e9veloppeur dans l\u2019\u00e9quipe, une plateforme no-code est le chemin le plus court.<\/p>\n<\/div>\n<\/details>\n<details class=\"bn-faq\">\n<summary>Rasa fonctionne-t-il en fran\u00e7ais ?<\/summary>\n<div class=\"bn-faq-b\">\n<p>Oui. Rasa Pro met en avant une NLU ind\u00e9pendante de la langue, et le socle open source s\u2019entra\u00eene sur vos propres phrases d\u2019exemple, en fran\u00e7ais comme dans une autre langue. Attention : chaque langue ajout\u00e9e repr\u00e9sente un vrai chantier de donn\u00e9es d\u2019entra\u00eenement et de tests, ce que le simulateur ci-dessus chiffre.<\/p>\n<\/div>\n<\/details>\n<details class=\"bn-faq\">\n<summary>Peut-on h\u00e9berger un chatbot Rasa sur ses propres serveurs ?<\/summary>\n<div class=\"bn-faq-b\">\n<p>Oui, c\u2019est l\u2019un des grands arguments du framework : le d\u00e9ploiement auto-h\u00e9berg\u00e9 (sur site ou cloud priv\u00e9) est possible, avec Kubernetes et Helm. Cela signifie aussi que la disponibilit\u00e9, la s\u00e9curit\u00e9, les sauvegardes et les mises \u00e0 jour sont \u00e0 votre charge permanente.<\/p>\n<\/div>\n<\/details>\n<details class=\"bn-faq\">\n<summary>Quel budget pr\u00e9voir pour un chatbot Rasa en production ?<\/summary>\n<div class=\"bn-faq-b\">\n<p>Trois postes : la licence de production (sur devis, l\u2019ordre de grandeur tiers cit\u00e9 est d\u2019environ 35 000 $ par an au d\u00e9marrage), la construction (les projets types se comptent en dizaines de jours-homme, essayez le simulateur), et l\u2019exploitation (h\u00e9bergement, maintenance, \u00e9volutions). Un bot simple \u00e0 fort trafic peut co\u00fbter plus cher en licence qu\u2019un projet complexe rest\u00e9 sous les plafonds de la Developer Edition.<\/p>\n<\/div>\n<\/details>\n<details class=\"bn-faq\">\n<summary>Quand pr\u00e9f\u00e9rer une plateforme no-code \u00e0 Rasa ?<\/summary>\n<div class=\"bn-faq-b\">\n<p>Quand le besoin est un bot op\u00e9rationnel rapidement (FAQ, support client, prise de rendez-vous, qualification de leads), quand l\u2019\u00e9quipe qui tiendra le bot est une \u00e9quipe m\u00e9tier, et quand le budget se pilote \u00e0 l\u2019abonnement plut\u00f4t qu\u2019en jours de d\u00e9veloppement. Rasa reste le bon outil quand le contr\u00f4le total de la technique est un objectif en soi.<\/p>\n<\/div>\n<\/details>\n<h2><span class=\"ez-toc-section\" id=\"Le_mot_de_la_fin\"><\/span>Le mot de la fin<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Rasa est un excellent framework, et son plafond gratuit de 1 000 conversations par mois permet de prototyper sans engager d\u2019argent. Mais la vraie question d\u2019un projet n\u2019est jamais \u00ab le logiciel est-il gratuit \u00bb : c\u2019est \u00ab qui construit, qui maintient, et \u00e0 quel co\u00fbt total \u00bb. Si votre \u00e9quipe n\u2019a pas de d\u00e9veloppeurs Python \u00e0 y consacrer pendant des semaines, une plateforme no-code h\u00e9berg\u00e9e livrera le m\u00eame r\u00e9sultat bien plus vite, et notre \u00e9quipe peut construire le sur-mesure pour vous quand le besoin le justifie.<\/p>\n<div class=\"bn-cta\">\n<h3><span class=\"ez-toc-section\" id=\"Creez_votre_chatbot_sans_ecrire_une_ligne_de_code\"><\/span>Cr\u00e9ez votre chatbot sans \u00e9crire une ligne de code<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Testez la plateforme gratuitement, ou confiez la construction de votre assistant \u00e0 nos experts en cr\u00e9ation de chatbot.<\/p>\n<p class=\"bn-cta-in\"><a class=\"bn-cta-btn\" href=\"https:\/\/botnation.ai\/fr\/tarifs\/\">Voir les tarifs<\/a><\/p>\n<p class=\"bn-cta-in\"><a href=\"https:\/\/botnation.ai\/fr\/chatbot-devis\/\">Demander un devis sur mesure<\/a> ou <a href=\"https:\/\/botnation.ai\/fr\/contact\/\">parler \u00e0 un expert<\/a><\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>En bref : Rasa est un framework open source \u00e9crit en Python pour construire des chatbots et des assistants vocaux \u00e0 la main : moteur de compr\u00e9hension du langage, gestion du dialogue, actions personnalis\u00e9es, d\u00e9ploiement sur vos propres serveurs. La Developer Edition est gratuite mais plafonn\u00e9e (un bot par entreprise, 1 000 conversations externes par [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":31698,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[346],"tags":[],"class_list":["post-31704","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-chatbot"],"acf":[],"_links":{"self":[{"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/posts\/31704","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/comments?post=31704"}],"version-history":[{"count":1,"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/posts\/31704\/revisions"}],"predecessor-version":[{"id":31705,"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/posts\/31704\/revisions\/31705"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/media\/31698"}],"wp:attachment":[{"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/media?parent=31704"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/categories?post=31704"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/tags?post=31704"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}