{"id":31819,"date":"2026-10-05T09:10:00","date_gmt":"2026-10-05T07:10:00","guid":{"rendered":"https:\/\/botnation.ai\/chatbot-bus\/"},"modified":"2026-10-05T16:47:43","modified_gmt":"2026-10-05T14:47:43","slug":"chatbot-bus","status":"publish","type":"post","link":"https:\/\/botnation.ai\/fr\/chatbot-bus\/","title":{"rendered":"Chatbot bus : usages r\u00e9els, open data et m\u00e9thode de d\u00e9ploiement (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-bil{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-bil h3{margin:.1em 0 .3em} .bn-bil>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-bil br{display:none} .bn-bil p:empty{display:none; margin:0} .bn-bil .tri-out{margin-top:22px} .bn-bil .bn-tablewrap{margin-top:22px} @media(max-width:680px){ .bn-bil{padding:20px 17px} .bn-bil .tri-out{padding:17px 15px} } .bn-b2b{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-b2b h3{margin:.1em 0 .3em} .bn-b2b>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-b2b br{display:none} .bn-b2b p:empty{display:none; margin:0} .bn-b2b .tri-out{margin-top:22px} .bn-b2b .bn-tablewrap{margin-top:22px} @media(max-width:680px){ .bn-b2b{padding:20px 17px} .bn-b2b .tri-out{padding:17px 15px} } data-d*\/data-c* du wrapper, tableau de reference VISIBLE descendant du wrapper avec boutons .tri-load. Defaut visuel sans JS : panneau triv-2 (verdict du combo par defaut). *\/ .bn-bus{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-bus h3{margin:.1em 0 .3em} .bn-bus>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-bus br{display:none} .bn-bus p:empty{display:none; margin:0} .bn-bus .tri-out{margin-top:22px} .bn-bus .tri-lines{grid-template-columns:1fr} .bn-bus .bn-tablewrap{margin-top:22px} .bn-bus .triv-5{display:none} .bn-bus .triv-2{display:block} @media(max-width:680px){ .bn-bus{padding:20px 17px} .bn-bus .tri-out{padding:17px 15px} }`));document.head.appendChild(s);<\/script><\/p>\n<div class=\"bn-art\">\n<div class=\"bn-tldr\">\n<span class=\"bn-klabel\">En bref<\/span>\n<ul>\n<li>Un <strong>chatbot bus<\/strong> est un assistant conversationnel d\u00e9ploy\u00e9 par un r\u00e9seau de bus ou de cars (urbain, scolaire, interurbain) pour r\u00e9pondre aux questions des voyageurs : prochains passages, perturbations, itin\u00e9raires, titres et abonnements, fonctionnement du r\u00e9seau. Il vit l\u00e0 o\u00f9 le voyageur pose la question : le site du r\u00e9seau, puis WhatsApp le jour du d\u00e9placement.<\/li>\n<li>Le bus n\u2019est pas un transport comme les autres c\u00f4t\u00e9 donn\u00e9es : depuis la loi d\u2019orientation des mobilit\u00e9s, les autorit\u00e9s organisatrices doivent rendre leurs donn\u00e9es <strong>statiques et dynamiques accessibles et r\u00e9utilisables<\/strong> (article L. 1115-1 du code des transports). Au 5 octobre 2026, le Point d\u2019Acc\u00e8s National recense <strong>221 jeux de donn\u00e9es temps r\u00e9el<\/strong> pour les transports en commun, dont 200 qui diffusent les prochains passages.<\/li>\n<li>Les r\u00e9seaux fran\u00e7ais le font d\u00e9j\u00e0, dates \u00e0 l\u2019appui : un chatbot Messenger c\u00f4t\u00e9 RATP d\u00e8s <strong>septembre 2017<\/strong>, le connecteur <strong>Bonjour RATP sur ChatGPT<\/strong> (relev\u00e9 le 5 octobre 2026), le NomadCarBot de Nomad Normandie le <strong>3 novembre 2025<\/strong>, le chatbot WhatsApp d\u2019AuxR\u2019M le bus \u00e0 Auxerre le <strong>28 mai 2026<\/strong>.<\/li>\n<li>Quatre <strong>architectures<\/strong> se suffisent pour couvrir tous les cas : FAQ \u00e9ditoriale, branchement du flux temps r\u00e9el, itin\u00e9raires porte \u00e0 porte, titres et r\u00e9servation. Le <strong>routeur<\/strong> au milieu de l\u2019article tranche 72 situations r\u00e9elles (r\u00e9seau \u00d7 besoin \u00d7 volum\u00e9trie \u00d7 canal).<\/li>\n<li>Le co\u00fbt tient en trois lignes : la licence (d\u00e8s 39 \u20ac par mois hors taxes sur la grille Botnation relev\u00e9e le 5 octobre 2026), les cr\u00e9dits IA (25 \u20ac les 1 000), et la construction, gratuite en autonomie ou <strong>sur devis<\/strong> via l\u2019offre Entreprise de Botnation.<\/li>\n<\/ul>\n<\/div>\n<p>Le chatbot bus fait surtout l\u2019objet d\u2019annonces : un r\u00e9seau en lance un, un \u00e9diteur vante le sien, et l\u2019histoire s\u2019arr\u00eate l\u00e0. Rien sur la fa\u00e7on de construire le service, sur ce que la loi met d\u00e9j\u00e0 \u00e0 disposition d\u2019un r\u00e9seau, ni sur ce que \u00e7a co\u00fbte sur une grille publique. C\u2019est exactement l\u2019objet de cet article.<\/p>\n<p>Car le bus concentre des difficult\u00e9s que le train ne conna\u00eet pas : des centaines de r\u00e9seaux d\u2019autorit\u00e9s organisatrices diff\u00e9rentes, des horaires qui changent aux vacances et \u00e0 la rentr\u00e9e, des voyageurs qui n\u2019installent pas une application par r\u00e9seau, et un pic de questions le matin m\u00eame du d\u00e9placement. Un chatbot bus bien construit r\u00e9pond \u00e0 ces quatre contraintes \u00e0 la fois, et les exemples dat\u00e9s plus bas montrent que ce n\u2019est plus de la th\u00e9orie.<\/p>\n<p>Le plan suit l\u2019ordre qui compte : ce que le voyageur demande, les preuves fran\u00e7aises dat\u00e9es, ce que l\u2019open data r\u00e9glementaire fournit d\u00e9j\u00e0, les quatre architectures possibles avec un routeur pour choisir, la m\u00e9thode, les canaux, le droit, et les prix publics du jour. Botnation y intervient des deux c\u00f4t\u00e9s qui comptent : \u00e9diteur de la plateforme no-code, et prestataire de cr\u00e9ation sur mesure via son offre Entreprise.<\/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\/chatbot-bus\/#Ce_que_le_voyageur_demande_a_un_chatbot_bus_mission_par_mission\" >Ce que le voyageur demande \u00e0 un chatbot bus, mission par mission<\/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\/chatbot-bus\/#Trois_reseaux_francais_lont_fait_les_preuves_datees\" >Trois r\u00e9seaux fran\u00e7ais l\u2019ont fait : les preuves, dat\u00e9es<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/botnation.ai\/fr\/chatbot-bus\/#Lopen_data_change_lequation_ce_que_la_loi_met_deja_a_disposition\" >L\u2019open data change l\u2019\u00e9quation : ce que la loi met d\u00e9j\u00e0 \u00e0 disposition<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/botnation.ai\/fr\/chatbot-bus\/#Quatre_architectures_de_chatbot_bus_et_un_routeur_pour_choisir\" >Quatre architectures de chatbot bus, et un routeur pour choisir<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/botnation.ai\/fr\/chatbot-bus\/#Quelle_architecture_pour_votre_chatbot_bus\" >Quelle architecture pour votre chatbot bus ?<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/botnation.ai\/fr\/chatbot-bus\/#La_methode_en_six_etapes_du_flux_au_premier_passage_annonce\" >La m\u00e9thode en six \u00e9tapes, du flux au premier passage annonc\u00e9<\/a><\/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\/chatbot-bus\/#Web_WhatsApp_le_canal_suit_le_voyageur_pas_linverse\" >Web, WhatsApp : le canal suit le voyageur, pas l\u2019inverse<\/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\/chatbot-bus\/#IA_et_donnees_personnelles_le_minimum_sans_texte_fantome\" >IA et donn\u00e9es personnelles : le minimum, sans texte fant\u00f4me<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/botnation.ai\/fr\/chatbot-bus\/#Combien_coute_un_chatbot_bus_trois_lignes_pas_trente\" >Combien co\u00fbte un chatbot bus : trois lignes, pas trente<\/a><\/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\/chatbot-bus\/#Questions_frequentes\" >Questions fr\u00e9quentes<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/botnation.ai\/fr\/chatbot-bus\/#Votre_reseau_a_deja_ses_questions_commencez_par_les_vingt_premieres\" >Votre r\u00e9seau a d\u00e9j\u00e0 ses questions : commencez par les vingt premi\u00e8res<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2 id=\"missions\"><span class=\"ez-toc-section\" id=\"Ce_que_le_voyageur_demande_a_un_chatbot_bus_mission_par_mission\"><\/span>Ce que le voyageur demande \u00e0 un chatbot bus, mission par mission<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Un voyageur ne demande jamais \u00ab un chatbot \u00bb. Il demande si son bus passe, s\u2019il est en retard, combien co\u00fbte le trajet, et comment rejoindre la gare. Voici les six missions qui reviennent sur tous les r\u00e9seaux, avec pour chacune la condition concr\u00e8te qui la rend automatisable. C\u2019est la condition, pas la technologie, qui s\u00e9pare une d\u00e9monstration d\u2019un service.<\/p>\n<div class=\"bn-tablewrap\">\n<table>\n<thead>\n<tr>\n<th>Mission<\/th>\n<th>Exemple de question<\/th>\n<th>Ce qui la rend automatisable<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Prochains passages<\/td>\n<td>\u00ab Quand passe le prochain bus pour la gare ? \u00bb<\/td>\n<td>Un flux temps r\u00e9el par arr\u00eat (GTFS-RT ou SIRI), sinon le bot annonce les horaires th\u00e9oriques et le dit<\/td>\n<\/tr>\n<tr>\n<td>Perturbations et travaux<\/td>\n<td>\u00ab Ma ligne est-elle d\u00e9vi\u00e9e ce soir ? \u00bb<\/td>\n<td>Une alimentation de l\u2019\u00e9tat du r\u00e9seau, et une r\u00e8gle \u00e9crite : que dit le bot quand il ne sait pas<\/td>\n<\/tr>\n<tr>\n<td>Itin\u00e9raires porte \u00e0 porte<\/td>\n<td>\u00ab Comment aller de chez moi \u00e0 la zone commerciale ? \u00bb<\/td>\n<td>Un moteur d\u2019itin\u00e9raire interrog\u00e9 par le bot, souvent celui que le r\u00e9seau expose d\u00e9j\u00e0<\/td>\n<\/tr>\n<tr>\n<td>Titres, tarifs, abonnements<\/td>\n<td>\u00ab Quel abonnement pour un \u00e9tudiant ? \u00bb<\/td>\n<td>Des r\u00e9ponses valid\u00e9es par le service commercial, puis la billettique pour vendre ou renvoyer<\/td>\n<\/tr>\n<tr>\n<td>Comprendre le r\u00e9seau<\/td>\n<td>\u00ab O\u00f9 acheter un ticket, la ligne dessert-elle l\u2019\u00e9cole ? \u00bb<\/td>\n<td>Une FAQ \u00e9ditoriale tenue \u00e0 jour : points de vente, accessibilit\u00e9, r\u00e8glement, rentr\u00e9e scolaire<\/td>\n<\/tr>\n<tr>\n<td>R\u00e9clamations et objets trouv\u00e9s<\/td>\n<td>\u00ab J\u2019ai oubli\u00e9 mon sac dans le bus de 17 h \u00bb<\/td>\n<td>Un circuit d\u00e9fini : d\u00e9claration, collecte des informations, transmission au bon service<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Sur presque tous les r\u00e9seaux, les deux premi\u00e8res lignes du tableau (passages et perturbations) p\u00e8sent plus de la moiti\u00e9 des questions : c\u2019est par elles qu\u2019un chatbot bus commence, et c\u2019est l\u00e0 que l\u2019open data, un peu plus bas dans cet article, change tout. Les quatre derni\u00e8res demandent du contenu \u00e9ditorial valid\u00e9, pas de la plomberie technique : c\u2019est un travail de r\u00e9daction avec les services du r\u00e9seau, pas un projet d\u2019int\u00e9gration.<\/p>\n<div class=\"bn-tip\">\n<span class=\"bn-klabel\">Point de d\u00e9part<\/span>\n<p>Reprenez les questions r\u00e9ellement pos\u00e9es au r\u00e9seau sur les trois derniers mois : bo\u00eete mail, appels, r\u00e9seaux sociaux, file du guichet. C\u2019est la mati\u00e8re premi\u00e8re. Un chatbot bus qui r\u00e9pond aux questions qui arrivent vaut mieux qu\u2019un chatbot qui devine.<\/p>\n<\/div>\n<h2 id=\"preuves\"><span class=\"ez-toc-section\" id=\"Trois_reseaux_francais_lont_fait_les_preuves_datees\"><\/span>Trois r\u00e9seaux fran\u00e7ais l\u2019ont fait : les preuves, dat\u00e9es<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>L\u2019histoire commence mal, et c\u2019est utile de le savoir. D\u00e8s <strong>septembre 2017<\/strong>, la RATP lance un chatbot sur Facebook Messenger, d\u00e9velopp\u00e9 avec la start-up Minsday : itin\u00e9raires personnalis\u00e9s, horaires de passage en stations favorites, alertes perturbations. Le cabinet de conseil mc2i l\u2019a test\u00e9 fonctionnalit\u00e9 par fonctionnalit\u00e9 en <strong>mai 2020<\/strong>, pendant le confinement : sur cinq fonctions \u00e9valu\u00e9es, aucune ne d\u00e9passe 2 sur 3, la recherche d\u2019itin\u00e9raire tombe \u00e0 1 sur 3, et le constat revient comme un leitmotiv : le parcours utilisateur se disloque, le bot renvoie vers le site pour ce qu\u2019il devrait afficher lui-m\u00eame. La le\u00e7on tient en une phrase : un chatbot qui redirige n\u2019est pas un chatbot.<\/p>\n<p>Six ans plus tard, la m\u00eame ambition est servie par d\u2019autres canaux et de vraies donn\u00e9es, et cette fois sur des r\u00e9seaux de bus et de cars :<\/p>\n<ul>\n<li><strong>Bonjour RATP sur ChatGPT<\/strong> (page relev\u00e9e le 5 octobre 2026) : le service francilien propose un connecteur \u00e0 activer dans ChatGPT, puis \u00e0 appeler avec @BonjourRATP. La page du service le pr\u00e9sente comme donnant acc\u00e8s aux \u00ab itin\u00e9raires, trafic en temps r\u00e9el et titres de transport en \u00cele-de-France, directement dans vos \u00e9changes \u00bb, m\u00e9tro, RER, Transilien, <strong>bus et tramway<\/strong> compris. Le voyageur obtient un itin\u00e9raire, l\u2019\u00e9tat d\u2019une ligne ou un conseil tarifaire sans quitter sa conversation.<\/li>\n<li><strong>NomadCarBot, r\u00e9seau Nomad (Normandie)<\/strong> : dans son annonce du <strong>3 novembre 2025<\/strong>, pour le cinqui\u00e8me anniversaire du r\u00e9seau de cars NOMAD Car, la r\u00e9gion pr\u00e9sente un assistant disponible sur son site 24 heures sur 24, 7 jours sur 7, et un module \u00ab Prochains passages \u00bb qui affiche les horaires th\u00e9oriques des cars \u00e0 un arr\u00eat donn\u00e9, pour les lignes commerciales, \u00e0 n\u2019importe quelle date. L\u2019annonce pr\u00e9cise exp\u00e9rimenter la diffusion des horaires en temps r\u00e9el, travaux et d\u00e9viations compris, d\u2019abord sur un premier lot de lignes.<\/li>\n<li><strong>AuxR\u2019M le bus (Agglom\u00e9ration de l\u2019Auxerrois)<\/strong> : le <strong>28 mai 2026<\/strong>, le r\u00e9seau annonce un chatbot int\u00e9gr\u00e9 \u00e0 WhatsApp. Le texte de l\u2019annonce m\u00e9rite citation, car il liste le p\u00e9rim\u00e8tre r\u00e9el : \u00ab accompagnement pour comprendre le r\u00e9seau, recherche d\u2019un horaire, recherche d\u2019un tarif, prendre rendez-vous en agence virtuelle ou encore vous rediriger vers les r\u00e9servations Flexibus \u00bb. Soit trois des six missions du tableau ci-dessus, plus la prise de rendez-vous et le transport \u00e0 la demande, sur le canal que le voyageur a d\u00e9j\u00e0 dans sa poche.<\/li>\n<\/ul>\n<p>Le triptyque est parlant : un op\u00e9rateur national multi-r\u00e9seaux passe par ChatGPT, un r\u00e9seau r\u00e9gional de cars met l\u2019assistant sur son site, un r\u00e9seau urbain moyen choisit WhatsApp. Trois canaux, un m\u00eame mouvement. Et pour le rail, notre <a href=\"https:\/\/botnation.ai\/fr\/chatbot-transport\/\">panorama du chatbot transport<\/a> documente un d\u00e9ploiement r\u00e9gional \u00e0 plus grande \u00e9chelle, avec ses 23 millions de messages \u00e9chang\u00e9s ; le pr\u00e9sent article reste volontairement sur le bus et le car.<\/p>\n<figure class=\"bn-fig\"><img fetchpriority=\"high\" fetchpriority=\"high\" src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/10\/botnation-ai-chatbot-bus-in1.jpg\" alt=\"Des mains en pull cr\u00e8me consultent sur une table en bois clair une carte de r\u00e9seau vierge aux lignes corail, bleu et vert sauge, un t\u00e9l\u00e9phone affichant des bulles de conversation vides et deux tickets de bus vierges\" decoding=\"async\" width=\"1536\" height=\"1024\"><figcaption>Prochains passages, tarif, itin\u00e9raire : trois questions qui arrivent le matin du d\u00e9placement, et que le voyageur pose depuis son t\u00e9l\u00e9phone.<\/figcaption><\/figure>\n<h2 id=\"opendata\"><span class=\"ez-toc-section\" id=\"Lopen_data_change_lequation_ce_que_la_loi_met_deja_a_disposition\"><\/span>L\u2019open data change l\u2019\u00e9quation : ce que la loi met d\u00e9j\u00e0 \u00e0 disposition<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Voici le point que les pages commerciales ne disent pas : depuis la loi d\u2019orientation des mobilit\u00e9s du 24 d\u00e9cembre 2019, le branchement d\u2019un chatbot sur les donn\u00e9es d\u2019un r\u00e9seau n\u2019est plus une n\u00e9gociation commerciale avec l\u2019exploitant, c\u2019est un droit pos\u00e9 par le code des transports. L\u2019article L. 1115-1 (cr\u00e9\u00e9 par l\u2019article 25 de la loi, version en vigueur relev\u00e9e le 5 octobre 2026 sur le texte consolid\u00e9) impose aux autorit\u00e9s organisatrices et \u00e0 leurs \u00e9cosyst\u00e8mes de <a href=\"https:\/\/www.legifrance.gouv.fr\/codes\/article_lc\/LEGIARTI000051561120\" rel=\"nofollow noopener\" target=\"_blank\">rendre leurs donn\u00e9es accessibles<\/a>. Le texte est explicite : les d\u00e9tenteurs de donn\u00e9es \u00ab mettent \u00e0 jour et rendent accessibles et r\u00e9utilisables \u00bb les donn\u00e9es \u00ab statiques et historiques observ\u00e9es ainsi que les donn\u00e9es dynamiques concernant les d\u00e9placements et la circulation \u00bb. Et pour lever toute ambigu\u00eft\u00e9 sur qui fournit quoi, le texte dit : \u00ab Pour les services de transport qu\u2019elles organisent, les autorit\u00e9s mentionn\u00e9es au 1\u00b0 du pr\u00e9sent article sont responsables de la fourniture des donn\u00e9es \u00bb, la charge pouvant \u00eatre confi\u00e9e aux op\u00e9rateurs de transport ou aux op\u00e9rateurs des syst\u00e8mes d\u2019aide \u00e0 l\u2019exploitation et \u00e0 l\u2019information des voyageurs.<\/p>\n<p>Concr\u00e8tement, ces donn\u00e9es atterrissent sur le <a href=\"https:\/\/transport.data.gouv.fr\/\" rel=\"nofollow noopener\" target=\"_blank\">Point d\u2019Acc\u00e8s National<\/a>, transport.data.gouv.fr, dont la page d\u2019accueil le rappelle aux producteurs en ces termes : \u00ab vous \u00eates tenus de publier vos donn\u00e9es relatives \u00e0 l\u2019information voyageur sur le Point d\u2019Acc\u00e8s National \u00bb. Son tableau de bord, relev\u00e9 le 5 octobre 2026, donne l\u2019\u00e9tat r\u00e9el du r\u00e9servoir :<\/p>\n<div class=\"bn-stats\">\n<div class=\"bn-stat\"><b>221<\/b><span>jeux de donn\u00e9es temps r\u00e9el (GTFS-RT) pour les transports en commun<\/span><\/div>\n<div class=\"bn-stat\"><b>200<\/b><span>d\u2019entre eux diffusent les prochains passages, 77 l\u2019info trafic<\/span><\/div>\n<div class=\"bn-stat\"><b>76,7 %<\/b><span>de la population couverte par les horaires th\u00e9oriques ouverts<\/span><\/div>\n<\/div>\n<figure class=\"bn-fig\"><img src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/10\/botnation-ai-chatbot-bus-cap1-pan-gtfsrt.png\" alt=\"Capture du tableau de bord du Point d\u2019Acc\u00e8s National : 490 jeux GTFS, 168 NeTEx, 221 GTFS-RT dont 200 prochains passages et 77 info trafic, 43 SIRI\" decoding=\"async\" width=\"1500\" height=\"1050\"><figcaption>Le tableau de bord du Point d\u2019Acc\u00e8s National le 5 octobre 2026 : les flux temps r\u00e9el y sont compt\u00e9s ligne par ligne (capture de transport.data.gouv.fr, page statistiques).<\/figcaption><\/figure>\n<p>Les formats ne sont pas exotiques : les horaires th\u00e9oriques arrivent en GTFS ou NeTEx, le temps r\u00e9el en GTFS-RT ou SIRI. Ces flux sont exactement ce qu\u2019un chatbot interroge pour r\u00e9pondre \u00e0 \u00ab quand passe le prochain bus \u00bb sans inventer : position des v\u00e9hicules, prochains passages \u00e0 l\u2019arr\u00eat, messages d\u2019info trafic. Si le r\u00e9seau du lecteur figure parmi les 362 autorit\u00e9s organisatrices dont les horaires th\u00e9oriques sont publi\u00e9s, la question technique n\u2019est pas d\u2019obtenir la donn\u00e9e, mais de la consommer proprement : fr\u00e9quence d\u2019interrogation, r\u00e9ponse aux arr\u00eats sans flux, repli sur l\u2019horaire th\u00e9orique assum\u00e9 comme tel.<\/p>\n<div class=\"bn-info\">\n<span class=\"bn-klabel\">\u00c0 v\u00e9rifier avant de promettre<\/span>\n<p>Le compteur du Point d\u2019Acc\u00e8s National compte des jeux de donn\u00e9es, pas des engagements de fra\u00eecheur. Avant d\u2019\u00e9crire \u00ab temps r\u00e9el \u00bb sur la page du r\u00e9seau, v\u00e9rifiez sur le tableau de bord que votre r\u00e9seau diffuse bien les prochains passages en GTFS-RT ou SIRI, et testez le flux un jour de travaux : c\u2019est le jour o\u00f9 la r\u00e9ponse compte.<\/p>\n<\/div>\n<h2 id=\"architecture\"><span class=\"ez-toc-section\" id=\"Quatre_architectures_de_chatbot_bus_et_un_routeur_pour_choisir\"><\/span>Quatre architectures de chatbot bus, et un routeur pour choisir<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Tous les projets r\u00e9ussis s\u2019empilent sur la m\u00eame \u00e9chelle : on commence par ce qui ne bouge pas (la FAQ du r\u00e9seau), on branche ce qui bouge (le flux temps r\u00e9el), on ajoute le calcul d\u2019itin\u00e9raire, et seulement ensuite la vente et la r\u00e9servation. Chaque marche se justifie seule, et c\u2019est le r\u00f4le du routeur ci-dessous de dire laquelle commence votre projet.<\/p>\n<div class=\"bn-bus\" id=\"bn-bus\" data-r0=\"Bus urbain : lignes denses, arr\u00eats nombreux, questions r\u00e9parties sur toute la journ\u00e9e et concentr\u00e9es aux heures de pointe.\" data-r1=\"Scolaire et p\u00e9riurbain : la rentr\u00e9e cr\u00e9e le pic de l\u2019ann\u00e9e, les parents demandent, les \u00e9l\u00e8ves suivent, et l\u2019affectation change d\u2019une ann\u00e9e sur l\u2019autre.\" data-r2=\"Cars interurbains : lignes longues, dessertes fines, horaires th\u00e9oriques stables, et de plus en plus de transport \u00e0 la demande \u00e0 r\u00e9server.\" data-d0=\"Le flux des prochains passages et de l\u2019info trafic (GTFS-RT ou SIRI), plus le GTFS th\u00e9orique pour le repli.\" data-d1=\"Les m\u00eames flux, interrog\u00e9s par un moteur d\u2019itin\u00e9raire : souvent celui que le r\u00e9seau ou l\u2019autorit\u00e9 organisatrice expose d\u00e9j\u00e0.\" data-d2=\"La billettique du r\u00e9seau via l\u2019API du syst\u00e8me de vente : m-tickets, abonnements, contr\u00f4les de solvabilit\u00e9 des r\u00e9ponses par le service commercial.\" data-d3=\"Tout ce qui pr\u00e9c\u00e8de, derri\u00e8re un compte voyageur unique qui porte titres, r\u00e9servations et historique.\" data-c0=\"Le site du r\u00e9seau : widget sur la page d\u2019accueil et sur la page horaires, l\u00e0 o\u00f9 na\u00eet la question.\" data-c1=\"Le site pour l\u2019amont, WhatsApp pour le jour du d\u00e9placement : le canal que le voyageur a d\u00e9j\u00e0, sans application \u00e0 installer.\">\n<h3><span class=\"ez-toc-section\" id=\"Quelle_architecture_pour_votre_chatbot_bus\"><\/span>Quelle architecture pour votre chatbot bus ?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Quatre r\u00e9ponses, un verdict, la r\u00e8gle qui l\u2019emporte. Ou chargez un cas r\u00e9el depuis le tableau plac\u00e9 en dessous.<\/p>\n<div class=\"tri-q\">\n<p class=\"tri-qt\">1. Votre r\u00e9seau, c\u2019est plut\u00f4t<\/p>\n<div class=\"cdc-chips\">\n<label class=\"cdc-chip\" for=\"bsf-r0\"><input type=\"radio\" name=\"busR\" id=\"bsf-r0\" data-p=\"0\" checked>Bus urbain<\/label><br>\n<label class=\"cdc-chip\" for=\"bsf-r1\"><input type=\"radio\" name=\"busR\" id=\"bsf-r1\" data-p=\"1\">Scolaire, p\u00e9riurbain<\/label><br>\n<label class=\"cdc-chip\" for=\"bsf-r2\"><input type=\"radio\" name=\"busR\" id=\"bsf-r2\" data-p=\"2\">Cars interurbains<\/label>\n<\/div>\n<\/div>\n<div class=\"tri-q\">\n<p class=\"tri-qt\">2. Le besoin dominant des voyageurs<\/p>\n<div class=\"cdc-chips\">\n<label class=\"cdc-chip\" for=\"bsf-n0\"><input type=\"radio\" name=\"busN\" id=\"bsf-n0\" data-p=\"0\" checked>Horaires et perturbations<\/label><br>\n<label class=\"cdc-chip\" for=\"bsf-n1\"><input type=\"radio\" name=\"busN\" id=\"bsf-n1\" data-p=\"1\">Itin\u00e9raires porte \u00e0 porte<\/label><br>\n<label class=\"cdc-chip\" for=\"bsf-n2\"><input type=\"radio\" name=\"busN\" id=\"bsf-n2\" data-p=\"2\">Titres et abonnements<\/label><br>\n<label class=\"cdc-chip\" for=\"bsf-n3\"><input type=\"radio\" name=\"busN\" id=\"bsf-n3\" data-p=\"3\">Tout, y compris la vente<\/label>\n<\/div>\n<\/div>\n<div class=\"tri-q\">\n<p class=\"tri-qt\">3. Volum\u00e9trie de questions par mois<\/p>\n<div class=\"cdc-chips\">\n<label class=\"cdc-chip\" for=\"bsf-v0\"><input type=\"radio\" name=\"busV\" id=\"bsf-v0\" data-p=\"0\" checked>1 000 \u00e0 10 000<\/label><br>\n<label class=\"cdc-chip\" for=\"bsf-v1\"><input type=\"radio\" name=\"busV\" id=\"bsf-v1\" data-p=\"1\">Moins de 1 000<\/label><br>\n<label class=\"cdc-chip\" for=\"bsf-v2\"><input type=\"radio\" name=\"busV\" id=\"bsf-v2\" data-p=\"2\">Plus de 10 000<\/label>\n<\/div>\n<\/div>\n<div class=\"tri-q\">\n<p class=\"tri-qt\">4. Canaux vis\u00e9s<\/p>\n<div class=\"cdc-chips\">\n<label class=\"cdc-chip\" for=\"bsf-c0\"><input type=\"radio\" name=\"busC\" id=\"bsf-c0\" data-p=\"0\" checked>Site web du r\u00e9seau<\/label><br>\n<label class=\"cdc-chip\" for=\"bsf-c1\"><input type=\"radio\" name=\"busC\" id=\"bsf-c1\" data-p=\"1\">Site + WhatsApp<\/label>\n<\/div>\n<\/div>\n<div class=\"tri-out\">\n<div class=\"tri-lines\">\n<div class=\"tri-line\"><span>R\u00e9seau<\/span><b id=\"bus-reseau\">Bus urbain : lignes denses, arr\u00eats nombreux, questions r\u00e9parties sur toute la journ\u00e9e et concentr\u00e9es aux heures de pointe.<\/b><\/div>\n<div class=\"tri-line\"><span>Donn\u00e9e \u00e0 brancher<\/span><b id=\"bus-donnee\">Le flux des prochains passages et de l\u2019info trafic (GTFS-RT ou SIRI), plus le GTFS th\u00e9orique pour le repli.<\/b><\/div>\n<div class=\"tri-line\"><span>Canal recommand\u00e9<\/span><b id=\"bus-canal\">Le site du r\u00e9seau : widget sur la page d\u2019accueil et sur la page horaires, l\u00e0 o\u00f9 na\u00eet la question.<\/b><\/div>\n<\/div>\n<div class=\"triv triv-2\" id=\"busv-2\">\n<em>R\u00e8gle : horaires et perturbations se vivent en temps r\u00e9el<\/em><br>\n<b>Niveau 2 : brancher le flux temps r\u00e9el<\/b>\n<p>Le c\u0153ur d\u2019un chatbot bus : le prochains passages \u00e0 l\u2019arr\u00eat demand\u00e9, et l\u2019\u00e9tat de la ligne en cas de travaux. Si le r\u00e9seau publie sur le Point d\u2019Acc\u00e8s National, ce niveau est surtout un travail d\u2019int\u00e9gration propre : fr\u00e9quence d\u2019interrogation du flux, repli assum\u00e9 sur l\u2019horaire th\u00e9orique, et formule fixe quand le flux ne r\u00e9pond pas. C\u2019est le niveau d\u2019AuxR\u2019M le bus depuis le 28 mai 2026.<\/p>\n<\/div>\n<div class=\"triv triv-1\" id=\"busv-1\">\n<em>R\u00e8gle : petite volum\u00e9trie, questions stables<\/em><br>\n<b>Niveau 1 : la FAQ \u00e9ditoriale, tenue \u00e0 la main<\/b>\n<p>Tarifs, points de vente, accessibilit\u00e9, r\u00e8glement, fonctionne du r\u00e9seau : tout ce qui change deux fois par an, aux vacances et \u00e0 la rentr\u00e9e. Pour un petit r\u00e9seau \u00e0 moins de mille questions par mois, ce niveau rend d\u00e9j\u00e0 un service mesurable, sans aucun branchement de donn\u00e9es. La condition : une personne du r\u00e9seau relit les r\u00e9ponses \u00e0 chaque changement de p\u00e9riode.<\/p>\n<\/div>\n<div class=\"triv triv-3\" id=\"busv-3\">\n<em>R\u00e8gle : l\u2019itin\u00e9raire exige un calculateur<\/em><br>\n<b>Niveau 3 : l\u2019itin\u00e9raire porte \u00e0 porte<\/b>\n<p>\u00ab Comment aller de chez moi \u00e0 la gare \u00bb ne se r\u00e9pond pas avec une FAQ : il faut un moteur qui croise horaires, correspondances et marche \u00e0 pied. La bonne nouvelle : la plupart des autorit\u00e9s organisatrices en exposent d\u00e9j\u00e0 un. Le chatbot devient alors un front conversationnel sur ce calculateur, et c\u2019est exactement ce que fait le connecteur francilien relev\u00e9 le 5 octobre 2026. Le pi\u00e8ge du niveau pr\u00e9c\u00e9dent, constat\u00e9 d\u00e8s 2020 : un itin\u00e9raire non ajust\u00e9 aux perturbations en cours d\u00e9cr\u00e9dibilise tout le reste.<\/p>\n<\/div>\n<div class=\"triv triv-4\" id=\"busv-4\">\n<em>R\u00e8gle : vendre ou r\u00e9server touche au compte voyageur<\/em><br>\n<b>Niveau 4 : titres, abonnements, r\u00e9servation<\/b>\n<p>Vendre un titre, g\u00e9rer un abonnement, r\u00e9server un transport \u00e0 la demande : le bot entre dans la commande et dans les donn\u00e9es personnelles. Ce niveau suppose la billettique du r\u00e9seau en API, un compte voyageur, et les r\u00e8gles de droit qui encadrent la vente : notre article consacr\u00e9 au <a href=\"https:\/\/botnation.ai\/fr\/chatbot-billetterie\/\">chatbot de billetterie<\/a> d\u00e9taille ces r\u00e8gles, qui valent pour un ticket de bus comme pour une place de spectacle.<\/p>\n<\/div>\n<div class=\"triv triv-5\" id=\"busv-5\">\n<em>R\u00e8gle : le scolaire vit au rythme de la rentr\u00e9e<\/em><br>\n<b>R\u00e9seau scolaire : le calendrier avant la technologie<\/b>\n<p>Sur un r\u00e9seau scolaire ou p\u00e9riurbain \u00e0 vraie volum\u00e9trie, tout se joue sur quelques semaines : inscriptions de rentr\u00e9e, affectations, desserte de l\u2019\u00e9tablissement, premiers jours de septembre. L\u2019architecture gagnante croise la FAQ de rentr\u00e9e, les alertes de ligne (travaux, neige, gr\u00e8ve) et WhatsApp, o\u00f9 se trouvent les parents. C\u2019est le choix du r\u00e9seau d\u2019Auxerre annonc\u00e9 le 28 mai 2026, qui renvoie aussi vers la r\u00e9servation du transport \u00e0 la demande.<\/p>\n<\/div>\n<p class=\"tri-note\">La cascade s\u2019applique dans l\u2019ordre : vendre ou r\u00e9server d\u2019abord (niveau 4), puis l\u2019itin\u00e9raire (niveau 3), puis le temps r\u00e9el (niveau 2), la FAQ tenant le bas de l\u2019\u00e9chelle. Le cas scolaire d\u00e9rogue : quand la rentr\u00e9e fait la volum\u00e9trie, le calendrier choisit l\u2019architecture. Un r\u00e9seau, une marche : recopiez cette table dans votre cahier des charges.<\/p>\n<\/div>\n<div class=\"bn-tablewrap\">\n<table>\n<thead>\n<tr>\n<th>Question r\u00e9elle<\/th>\n<th>R\u00e9seau<\/th>\n<th>Volum\u00e9trie<\/th>\n<th>Verdict<\/th>\n<th>Charger<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr data-r=\"0\" data-n=\"0\" data-v=\"0\" data-c=\"1\">\n<td>\u00ab Quand passe le prochain bus pour la gare ? \u00bb<\/td>\n<td>Urbain<\/td>\n<td>1 000 \u00e0 10 000<\/td>\n<td>Niveau 2<\/td>\n<td><button type=\"button\" class=\"tri-load\">Charger<\/button><\/td>\n<\/tr>\n<tr data-r=\"0\" data-n=\"0\" data-v=\"2\" data-c=\"0\">\n<td>\u00ab Ma ligne est-elle d\u00e9vi\u00e9e \u00e0 cause des travaux ? \u00bb<\/td>\n<td>Urbain<\/td>\n<td>Plus de 10 000<\/td>\n<td>Niveau 2<\/td>\n<td><button type=\"button\" class=\"tri-load\">Charger<\/button><\/td>\n<\/tr>\n<tr data-r=\"0\" data-n=\"2\" data-v=\"0\" data-c=\"0\">\n<td>\u00ab Quel abonnement pour un \u00e9tudiant ? \u00bb<\/td>\n<td>Urbain<\/td>\n<td>1 000 \u00e0 10 000<\/td>\n<td>Niveau 4<\/td>\n<td><button type=\"button\" class=\"tri-load\">Charger<\/button><\/td>\n<\/tr>\n<tr data-r=\"2\" data-n=\"3\" data-v=\"1\" data-c=\"1\">\n<td>\u00ab Je n\u2019arrive pas \u00e0 r\u00e9server mon transport \u00e0 la demande \u00bb<\/td>\n<td>Interurbain<\/td>\n<td>Moins de 1 000<\/td>\n<td>Niveau 4<\/td>\n<td><button type=\"button\" class=\"tri-load\">Charger<\/button><\/td>\n<\/tr>\n<tr data-r=\"2\" data-n=\"2\" data-v=\"0\" data-c=\"0\">\n<td>\u00ab O\u00f9 acheter un aller-retour pour la ligne 40 ? \u00bb<\/td>\n<td>Interurbain<\/td>\n<td>1 000 \u00e0 10 000<\/td>\n<td>Niveau 4<\/td>\n<td><button type=\"button\" class=\"tri-load\">Charger<\/button><\/td>\n<\/tr>\n<tr data-r=\"1\" data-n=\"0\" data-v=\"0\" data-c=\"1\">\n<td>\u00ab La ligne dessert-elle le lyc\u00e9e depuis la rentr\u00e9e ? \u00bb<\/td>\n<td>Scolaire<\/td>\n<td>1 000 \u00e0 10 000<\/td>\n<td>R\u00e9seau scolaire<\/td>\n<td><button type=\"button\" class=\"tri-load\">Charger<\/button><\/td>\n<\/tr>\n<tr data-r=\"1\" data-n=\"0\" data-v=\"2\" data-c=\"0\">\n<td>\u00ab Inscription transport scolaire : quels documents ? \u00bb<\/td>\n<td>Scolaire<\/td>\n<td>Plus de 10 000<\/td>\n<td>R\u00e9seau scolaire<\/td>\n<td><button type=\"button\" class=\"tri-load\">Charger<\/button><\/td>\n<\/tr>\n<tr data-r=\"0\" data-n=\"1\" data-v=\"1\" data-c=\"0\">\n<td>\u00ab Comment aller de chez moi \u00e0 la zone commerciale ? \u00bb<\/td>\n<td>Urbain<\/td>\n<td>Moins de 1 000<\/td>\n<td>Niveau 3<\/td>\n<td><button type=\"button\" class=\"tri-load\">Charger<\/button><\/td>\n<\/tr>\n<tr data-r=\"0\" data-n=\"0\" data-v=\"1\" data-c=\"0\">\n<td>\u00ab Le r\u00e9seau est-il accessible en fauteuil roulant ? \u00bb<\/td>\n<td>Urbain<\/td>\n<td>Moins de 1 000<\/td>\n<td>Niveau 1<\/td>\n<td><button type=\"button\" class=\"tri-load\">Charger<\/button><\/td>\n<\/tr>\n<tr data-r=\"2\" data-n=\"0\" data-v=\"1\" data-c=\"1\">\n<td>\u00ab Horaires de la ligne 40 le dimanche ? \u00bb<\/td>\n<td>Interurbain<\/td>\n<td>Moins de 1 000<\/td>\n<td>Niveau 1<\/td>\n<td><button type=\"button\" class=\"tri-load\">Charger<\/button><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Pour m\u00e9moire, la m\u00eame \u00e9chelle en une table, avec ce qui coince le plus souvent \u00e0 chaque marche :<\/p>\n<div class=\"bn-tablewrap\">\n<table>\n<thead>\n<tr>\n<th>Niveau<\/th>\n<th>Ce que le voyageur obtient<\/th>\n<th>Ce qu\u2019il faut brancher<\/th>\n<th>Ce qui coince souvent<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>1. FAQ \u00e9ditoriale<\/td>\n<td>Tarifs, points de vente, r\u00e8glement, accessibilit\u00e9<\/td>\n<td>Rien : du contenu r\u00e9dig\u00e9 et valid\u00e9 par le r\u00e9seau<\/td>\n<td>Le contenu vieillit aux vacances : pr\u00e9voir la relecture<\/td>\n<\/tr>\n<tr>\n<td>2. Temps r\u00e9el<\/td>\n<td>Prochains passages \u00e0 l\u2019arr\u00eat, \u00e9tat de la ligne<\/td>\n<td>Flux GTFS-RT ou SIRI du r\u00e9seau ou de l\u2019autorit\u00e9 organisatrice<\/td>\n<td>Le repli sur l\u2019horaire th\u00e9orique doit \u00eatre dit, jamais cach\u00e9<\/td>\n<\/tr>\n<tr>\n<td>3. Itin\u00e9raires<\/td>\n<td>Parcours porte \u00e0 porte avec correspondances<\/td>\n<td>Le calculateur existant du r\u00e9seau, interrog\u00e9 par le bot<\/td>\n<td>Un itin\u00e9raire ignorant les perturbations en cours dessert mal le voyageur<\/td>\n<\/tr>\n<tr>\n<td>4. Vente et r\u00e9servation<\/td>\n<td>Acheter un titre, g\u00e9rer un abonnement, r\u00e9server un transport \u00e0 la demande<\/td>\n<td>Billettique en API, compte voyageur<\/td>\n<td>Le droit de la vente et les donn\u00e9es personnelles, \u00e0 cadrer d\u00e8s le cahier des charges<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<figure class=\"bn-fig\"><img src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/10\/botnation-ai-chatbot-bus-in2.jpg\" alt=\"Maquette clay 3D d\u2019un bus jouet cr\u00e8me alimentant un tapis de cartes vierges vers trois pistes corail, bleu et vert sauge termin\u00e9es par une bulle de conversation, une horloge et une pile de tickets\" decoding=\"async\" width=\"1536\" height=\"1024\"><figcaption>Une seule conversation, quatre \u00e9tages : la r\u00e9ponse statique, le temps r\u00e9el, le calcul d\u2019itin\u00e9raire, la vente. Chaque marche se justifie seule.<\/figcaption><\/figure>\n<h2 id=\"methode\"><span class=\"ez-toc-section\" id=\"La_methode_en_six_etapes_du_flux_au_premier_passage_annonce\"><\/span>La m\u00e9thode en six \u00e9tapes, du flux au premier passage annonc\u00e9<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ol class=\"bn-steps\">\n<li><b>Relever les questions r\u00e9elles.<\/b> Trois mois de sollicitations du r\u00e9seau : mail, t\u00e9l\u00e9phone, r\u00e9seaux sociaux, guichet. On les conserve avec leurs mots exacts, y compris les fautes de frappe sur les noms d\u2019arr\u00eats : elles serviront de tests de reconnaissance plus tard.<\/li>\n<li><b>V\u00e9rifier l\u2019existant c\u00f4t\u00e9 donn\u00e9es.<\/b> Sur le Point d\u2019Acc\u00e8s National, chercher le r\u00e9seau : horaires th\u00e9oriques en GTFS ou NeTEx, flux temps r\u00e9el en GTFS-RT ou SIRI. Cette v\u00e9rification de dix minutes d\u00e9cide si le projet d\u00e9marre au niveau 1 ou au niveau 2 de l\u2019\u00e9chelle.<\/li>\n<li><b>Choisir la marche de d\u00e9part avec le routeur.<\/b> R\u00e9seau, besoin dominant, volum\u00e9trie, canaux : le verdict ci-dessus donne l\u2019architecture de d\u00e9part et son p\u00e9rim\u00e8tre r\u00e9el. On n\u2019annonce jamais plus que la marche ne tient, surtout pas \u00ab temps r\u00e9el \u00bb sans flux.<\/li>\n<li><b>R\u00e9diger les r\u00e9ponses avec les services du r\u00e9seau.<\/b> Tarifs par le service commercial, r\u00e8glement par le service juridique, accessibilit\u00e9 par le service concern\u00e9. Le bot est l\u2019assemblage de ces validations, pas leur substitut.<\/li>\n<li><b>Brancher, tester un jour de travaux.<\/b> Le flux temps r\u00e9el se juge quand il est utile : interrogation \u00e0 des heures diff\u00e9rentes, arr\u00eats sans flux, ligne d\u00e9vi\u00e9e. Le comportement de repli fait partie des exigences, au m\u00eame titre que la r\u00e9ponse nominale.<\/li>\n<li><b>Mesurer et faire grandir l\u2019\u00e9chelle.<\/b> Questions trait\u00e9es sans reprise humaine, temps de r\u00e9ponse, top des questions non comprises : ces trois chiffres d\u00e9cident du passage \u00e0 la marche suivante. La <a href=\"https:\/\/botnation.ai\/fr\/produits\/support-client\/\">reprise humaine<\/a> se r\u00e8gle avant la mise en ligne, pas apr\u00e8s.<\/li>\n<\/ol>\n<p>Ces six \u00e9tapes sont la d\u00e9clinaison bus d\u2019une m\u00e9thode g\u00e9n\u00e9rale d\u00e9crite dans notre article sur le <a href=\"https:\/\/botnation.ai\/fr\/chatbot-transport\/\">chatbot transport<\/a>, qui traite du sujet sans se limiter au bus : c\u2019est l\u00e0 que se trouvent le panorama des missions, l\u2019arbitrage entre construction en interne et prestation, et le d\u00e9tail des <a href=\"https:\/\/botnation.ai\/fr\/secteurs\/transport\/\">cas d\u2019usage transport<\/a> par type de r\u00e9seau.<\/p>\n<h2 id=\"canaux\"><span class=\"ez-toc-section\" id=\"Web_WhatsApp_le_canal_suit_le_voyageur_pas_linverse\"><\/span>Web, WhatsApp : le canal suit le voyageur, pas l\u2019inverse<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Le choix du canal n\u2019est pas esth\u00e9tique, il est calendrique. Avant le d\u00e9placement, la question na\u00eet sur le site du r\u00e9seau, en consultant les horaires : le widget vit sur la page d\u2019accueil et sur la page horaires. Le jour du d\u00e9placement, le voyageur est dehors, sur son t\u00e9l\u00e9phone, et n\u2019installera pas une application pour un r\u00e9seau qu\u2019il prend deux fois par semaine : c\u2019est l\u00e0 que WhatsApp gagne, et c\u2019est le choix explicite du r\u00e9seau d\u2019Auxerre le 28 mai 2026. Un m\u00eame sc\u00e9nario vit sur les deux canaux, l\u2019historique suivant la conversation.<\/p>\n<p>L\u2019argument n\u2019est pas nouveau, mais il a chang\u00e9 d\u2019\u00e9chelle : d\u00e8s 2017, le chatbot Messenger francilien avait montr\u00e9 qu\u2019on peut toucher le voyageur sans application d\u00e9di\u00e9e, avec les limites d\u2019alors ; en 2026, le m\u00eame raisonnement se d\u00e9ploie sur WhatsApp pour un r\u00e9seau urbain moyen, sur le site pour un r\u00e9seau r\u00e9gional de cars, et jusque dans ChatGPT pour le multi-r\u00e9seaux francilien. Nos pages consacr\u00e9es aux <a href=\"https:\/\/botnation.ai\/fr\/canaux\/\">canaux de d\u00e9ploiement<\/a> d\u00e9taillent ces int\u00e9grations, et le t\u00e9moignage <a href=\"https:\/\/botnation.ai\/fr\/mobilite-partagee-et-chatbot\/\">Hello Scoot<\/a> montre une autre mobilit\u00e9, partag\u00e9e celle-l\u00e0, qui a automatis\u00e9 ses questions r\u00e9currentes sur les r\u00e9seaux sociaux avec la m\u00eame plateforme.<\/p>\n<h2 id=\"droit\"><span class=\"ez-toc-section\" id=\"IA_et_donnees_personnelles_le_minimum_sans_texte_fantome\"><\/span>IA et donn\u00e9es personnelles : le minimum, sans texte fant\u00f4me<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Trois obligations encadrent un chatbot bus, et aucune n\u2019est d\u00e9corative. La premi\u00e8re vient du r\u00e8glement europ\u00e9en sur l\u2019intelligence artificielle, en application depuis le 2 ao\u00fbt 2026 : son article 50, paragraphe 1, impose que les syst\u00e8mes d\u2019IA destin\u00e9s \u00e0 interagir directement avec le public soient con\u00e7us pour que \u00ab les personnes physiques concern\u00e9es soient inform\u00e9es qu\u2019elles interagissent avec un syst\u00e8me d\u2019IA \u00bb, sauf si cela ressort clairement du contexte (texte du <a href=\"https:\/\/eur-lex.europa.eu\/legal-content\/FR\/TXT\/?uri=CELEX:32024R1689\" rel=\"nofollow noopener\" target=\"_blank\">r\u00e8glement (UE) 2024\/1689 sur EUR-Lex<\/a>). Pour un chatbot bus, l\u2019application est simple : le premier message annonce l\u2019agent automatique, puis le bot fait son travail.<\/p>\n<p>La deuxi\u00e8me est le RGPD, d\u00e8s que le bot touche \u00e0 des donn\u00e9es personnelles : une r\u00e9clamation d\u2019objet perdu, un dossier scolaire, un compte voyageur au niveau 4 de l\u2019\u00e9chelle. Finalit\u00e9 affich\u00e9e, dur\u00e9e de conservation, base l\u00e9gale : rien de sp\u00e9cifique au bus, mais cela s\u2019\u00e9crit dans le cahier des charges. La troisi\u00e8me tient dans un renvoi : vendre des titres dans une conversation ajoute les r\u00e8gles propres \u00e0 la billetterie (r\u00e9tractation, revente, preuve d\u2019achat), que notre article sur le <a href=\"https:\/\/botnation.ai\/fr\/chatbot-billetterie\/\">chatbot de billetterie<\/a> documente r\u00e8gle par r\u00e8gle avec les textes consolid\u00e9s. Enfin, l\u2019obligation d\u2019open data vue plus haut n\u2019est pas une contrainte pour le chatbot, c\u2019est son aliment : c\u2019est elle qui met les flux \u00e0 port\u00e9e de main.<\/p>\n<h2 id=\"prix\"><span class=\"ez-toc-section\" id=\"Combien_coute_un_chatbot_bus_trois_lignes_pas_trente\"><\/span>Combien co\u00fbte un chatbot bus : trois lignes, pas trente<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Le d\u00e9compte se fait toujours sur les trois m\u00eames lignes : la licence de la plateforme, les cr\u00e9dits consomm\u00e9s par l\u2019IA, et la construction. La grille publique de Botnation, relev\u00e9e le 5 octobre 2026, fixe les deux premi\u00e8res :<\/p>\n<div class=\"bn-tablewrap\">\n<table>\n<thead>\n<tr>\n<th>Ligne de co\u00fbt<\/th>\n<th>Relev\u00e9 du 5 octobre 2026<\/th>\n<th>Ce qui la fait varier<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Licence plateforme<\/td>\n<td>Gratuit 0 \u20ac, Basic 39 \u20ac par mois, Pro 59 \u20ac par mois, Entreprise sur mesure (hors taxes)<\/td>\n<td>Le nombre d\u2019utilisateurs \u00e0 servir et les fonctions avanc\u00e9es ; l\u2019offre Entreprise inclut litt\u00e9ralement des \u00ab Services cr\u00e9ation de chatbot \u00bb<\/td>\n<\/tr>\n<tr>\n<td>Cr\u00e9dits IA<\/td>\n<td>Packs de 1 000 cr\u00e9dits \u00e0 25 \u20ac, 5 000 \u00e0 100 \u20ac, 15 000 \u00e0 250 \u20ac, 60 000 \u00e0 900 \u20ac ; utilisateur hors forfait 0,05 \u20ac par mois<\/td>\n<td>Le volume de requ\u00eates IA (les r\u00e9ponses sur donn\u00e9es branch\u00e9es du r\u00e9seau, type horaires th\u00e9oriques, ne consomment pas d\u2019IA g\u00e9n\u00e9rative)<\/td>\n<\/tr>\n<tr>\n<td>Construction<\/td>\n<td>En autonomie sur la plateforme : le temps de l\u2019\u00e9quipe ; confi\u00e9e \u00e0 l\u2019\u00e9quipe Botnation : sur devis<\/td>\n<td>Le p\u00e9rim\u00e8tre : nombre de contenus \u00e0 valider, branchements de flux, canaux, reprise humaine \u00e0 organiser<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<figure class=\"bn-fig\"><img src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/10\/botnation-ai-chatbot-bus-cap2-tarifs.png\" alt=\"Capture de la grille tarifaire botnation.ai : Gratuit 0 euro, Basic 39 euros par mois, Pro 59 euros par mois, Entreprise sur mesure avec services cr\u00e9ation de chatbot\" decoding=\"async\" width=\"1250\" height=\"663\"><figcaption>La grille publique de botnation.ai relev\u00e9e le 5 octobre 2026 : la ligne Entreprise porte les \u00ab Services cr\u00e9ation de chatbot \u00bb, sur devis.<\/figcaption><\/figure>\n<p>Pour la construction d\u00e9l\u00e9gu\u00e9e, la FAQ publique de la grille donne elle-m\u00eame l\u2019ordre de grandeur de march\u00e9 : hors solution d\u2019abonnement, il en co\u00fbte \u00ab en g\u00e9n\u00e9ral entre 5000\u20ac et 30000\u20ac, voir bien plus \u00bb selon les fonctionnalit\u00e9s n\u00e9cessaires. Cette fourchette est celle des prestataires du march\u00e9, pas un tarif Botnation : le devis se construit sur le p\u00e9rim\u00e8tre r\u00e9el, et rien d\u2019autre. C\u2019est aussi l\u00e0 que le positionnement double de Botnation prend son sens : l\u2019\u00e9quipe qui construit est celle qui \u00e9dite la plateforme, donc sans interm\u00e9diaire \u00e0 reprendre, et le r\u00e9seau garde la main sur son compte, ses sc\u00e9narios et sa base dans l\u2019\u00e9diteur no-code apr\u00e8s la livraison. Une agence tierce reste l\u00e9gitime quand un int\u00e9grateur conna\u00eet d\u00e9j\u00e0 le syst\u00e8me d\u2019information du r\u00e9seau : ce qui compte est que le choix se fasse en connaissance de cause.<\/p>\n<h2 id=\"faq\"><span class=\"ez-toc-section\" id=\"Questions_frequentes\"><\/span>Questions fr\u00e9quentes<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<details class=\"bn-faq\">\n<summary>Qu\u2019est-ce qu\u2019un chatbot bus, exactement ?<\/summary>\n<div class=\"bn-faq-b\">\n<p>Un assistant conversationnel d\u00e9ploy\u00e9 par un r\u00e9seau de bus ou de cars, joignable sur le site du r\u00e9seau, sur WhatsApp ou les messageries, qui r\u00e9pond aux questions des voyageurs : prochains passages, perturbations, itin\u00e9raires, titres et abonnements, fonctionnement du r\u00e9seau. Sa sp\u00e9cificit\u00e9, par rapport \u00e0 un bot \u00e0 sc\u00e9nario fig\u00e9, est de pouvoir se brancher sur les donn\u00e9es du r\u00e9seau, th\u00e9oriques comme temps r\u00e9el.<\/p>\n<\/div>\n<\/details>\n<details class=\"bn-faq\">\n<summary>Un petit r\u00e9seau a-t-il les moyens de se lancer ?<\/summary>\n<div class=\"bn-faq-b\">\n<p>Oui, et c\u2019est m\u00eame l\u00e0 que le retour est le plus visible : quelques centaines de questions par mois suffisent \u00e0 mesurer le service rendu. Le niveau 1 de l\u2019\u00e9chelle (la FAQ \u00e9ditoriale) ne demande aucun branchement de donn\u00e9es, et la licence gratuite de la plateforme permet de construire avant de payer. La vraie d\u00e9pense de d\u00e9part est le temps de r\u00e9daction des r\u00e9ponses avec les services du r\u00e9seau.<\/p>\n<\/div>\n<\/details>\n<details class=\"bn-faq\">\n<summary>Faut-il obligatoirement le temps r\u00e9el pour \u00eatre utile ?<\/summary>\n<div class=\"bn-faq-b\">\n<p>Non, mais il ne faut pas le pr\u00e9tendre sans l\u2019avoir. Un r\u00e9seau sans flux temps r\u00e9el rend d\u00e9j\u00e0 service avec les horaires th\u00e9oriques, \u00e0 condition de le dire : \u00ab horaires th\u00e9oriques, relev\u00e9s du planning en vigueur \u00bb. Le pire est l\u2019ambigu\u00eft\u00e9 : une r\u00e9ponse pr\u00e9sent\u00e9e comme temps r\u00e9el qui vient d\u2019un fichier th\u00e9orique d\u00e9cr\u00e9dibilise le service entier. Avant de promettre, v\u00e9rifiez ce que votre r\u00e9seau publie sur le Point d\u2019Acc\u00e8s National.<\/p>\n<\/div>\n<\/details>\n<details class=\"bn-faq\">\n<summary>Combien de temps faut-il pour d\u00e9ployer un chatbot bus ?<\/summary>\n<div class=\"bn-faq-b\">\n<p>Le premier parcours utile, FAQ horaires et transfert vers un humain, se monte en une demi-journ\u00e9e sur une plateforme no-code. La version qui tient la route, avec flux temps r\u00e9el, contenus valid\u00e9s par les services du r\u00e9seau et reprise humaine organis\u00e9e, se compte en semaines. Le calendrier d\u00e9pend presque enti\u00e8rement de la disponibilit\u00e9 des donn\u00e9es et de la validation des r\u00e9ponses, pas de la technique.<\/p>\n<\/div>\n<\/details>\n<details class=\"bn-faq\">\n<summary>Le chatbot remplace-t-il l\u2019application du r\u00e9seau ?<\/summary>\n<div class=\"bn-faq-b\">\n<p>Il ne la remplace pas, il la pr\u00e9c\u00e8de. Beaucoup de voyageurs ne t\u00e9l\u00e9chargent pas une application pour un usage occasionnel : le chatbot les sert l\u00e0 o\u00f9 ils sont d\u00e9j\u00e0, sur le web et dans WhatsApp. Pour les usages lourds (billettique nominative, notifications pouss\u00e9es), l\u2019application garde ses avantages ; pour la question du moment, la conversation gagne. Les deux se rejoignent au niveau 4 de l\u2019\u00e9chelle, derri\u00e8re un compte voyageur unique.<\/p>\n<\/div>\n<\/details>\n<details class=\"bn-faq\">\n<summary>Qui r\u00e9pond quand le chatbot ne sait pas ?<\/summary>\n<div class=\"bn-faq-b\">\n<p>La reprise humaine se d\u00e9cide avant la mise en ligne : transfert vers un agent avec l\u2019historique complet, ou ouverture d\u2019un dossier transmis au service concern\u00e9. Trois choses se d\u00e9finissent par \u00e9crit : les horaires de couverture, le d\u00e9lai de r\u00e9ponse annonc\u00e9 au voyageur, et qui v\u00e9rifie que le dossier est complet. Un chatbot bus qui \u00e9choue silencieusement est pire qu\u2019absent : il d\u00e9courage la seconde question.<\/p>\n<\/div>\n<\/details>\n<div class=\"bn-cta\">\n<h3><span class=\"ez-toc-section\" id=\"Votre_reseau_a_deja_ses_questions_commencez_par_les_vingt_premieres\"><\/span>Votre r\u00e9seau a d\u00e9j\u00e0 ses questions : commencez par les vingt premi\u00e8res<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Reprenez les demandes des trois derniers mois, classez-les sur l\u2019\u00e9chelle des quatre architectures, et construisez le premier sc\u00e9nario en autonomie sur la plateforme ; ou confiez la cr\u00e9ation \u00e0 l\u2019\u00e9quipe qui l\u2019\u00e9dite, dans le cadre de l\u2019offre Entreprise, sur devis.<\/p>\n<p><a class=\"bn-cta-btn\" href=\"https:\/\/botnation.ai\/fr\/tarifs\/\">Voir la grille tarifaire<\/a><\/p>\n<p><a href=\"https:\/\/botnation.ai\/fr\/chatbot-devis\/\" style=\"color:#f6c9c6\">Demander un devis pour la cr\u00e9ation de votre chatbot<\/a> ou <a href=\"https:\/\/botnation.ai\/fr\/contact\/\" style=\"color:#f6c9c6\">\u00e9changer avec nos experts en cr\u00e9ation de chatbot<\/a>.<\/p>\n<\/div>\n<p class=\"bn-src\"><strong>Sources.<\/strong> Code des transports, article <em>L1115-1<\/em> (cr\u00e9\u00e9 par l\u2019article 25 de la loi n\u00b0 2019-1428 du 24 d\u00e9cembre 2019 d\u2019orientation des mobilit\u00e9s, modifi\u00e9 par la loi n\u00b0 2025-391 du 30 avril 2025), version en vigueur relev\u00e9e le 5 octobre 2026 sur le texte consolid\u00e9 ; transport.data.gouv.fr, page d\u2019accueil et \u00e9tat de l\u2019ouverture des donn\u00e9es, relev\u00e9s du 5 octobre 2026 ; r\u00e8glement (UE) 2024\/1689 du 13 juin 2024, article 50 paragraphe 1, texte fran\u00e7ais du Journal officiel de l\u2019Union europ\u00e9enne sur EUR-Lex, en application depuis le 2 ao\u00fbt 2026 ; RATP et Minsday, chatbot Messenger lanc\u00e9 en septembre 2017, test\u00e9 par le cabinet mc2i en mai 2020 (page relev\u00e9e le 5 octobre 2026) ; Bonjour RATP, page du connecteur ChatGPT relev\u00e9e le 5 octobre 2026 ; Nomad (r\u00e9seau NOMAD Car, Normandie), annonce du chatbot NomadCarBot et du module \u00ab Prochains passages \u00bb, 3 novembre 2025 ; AuxR\u2019M le bus (Communaut\u00e9 d\u2019Agglom\u00e9ration de l\u2019Auxerrois), annonce du chatbot WhatsApp, 28 mai 2026 ; grille tarifaire et FAQ de botnation.ai, relev\u00e9es le 5 octobre 2026.<\/p>\n<\/div>\n<p><script>(function(){var r=document.getElementById(\"bn-bus\");if(!r){return;}var G=[\"busR\",\"busN\",\"busV\",\"busC\"];function val(n){var e=r.querySelector(\"input[name='\"+n+\"']:checked\");return e?parseInt(e.getAttribute(\"data-p\"),10):0;}function setg(n,v){var els=r.querySelectorAll(\"input[name='\"+n+\"']\"),i;for(i=0;els.length>i;i++){els[i].checked=(els[i].getAttribute(\"data-p\")===v);}}function up(){var rr=val(G[0]),n=val(G[1]),vv=val(G[2]);var v=2;if(n===2||n===3){v=4;}else if(n===1){v=3;}else{if(rr===1){if(vv!==1){v=5;}}else if(vv===1){v=1;}}var k;for(k=1;6>k;k++){var pn=document.getElementById(\"busv-\"+k);if(pn){pn.style.display=(k===v?\"block\":\"none\");}}var re=document.getElementById(\"bus-reseau\");if(re){re.textContent=r.getAttribute(\"data-r\"+rr);}var de=document.getElementById(\"bus-donnee\");if(de){de.textContent=r.getAttribute(\"data-d\"+n);}var ce=document.getElementById(\"bus-canal\");if(ce){ce.textContent=r.getAttribute(\"data-c\"+val(G[3]));}}r.addEventListener(\"change\",up);r.addEventListener(\"click\",function(e){var t=e.target;if(!t){return;}if(!t.className){return;}if(String(t.className).indexOf(\"tri-load\")===-1){return;}var tr=t.closest(\"tr\");if(!tr){return;}setg(G[0],tr.getAttribute(\"data-r\"));setg(G[1],tr.getAttribute(\"data-n\"));setg(G[2],tr.getAttribute(\"data-v\"));setg(G[3],tr.getAttribute(\"data-c\"));up();});up();})();<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Un chatbot bus r\u00e9pond aux voyageurs l\u00e0 o\u00f9 ils posent la question : prochains passages, perturbations, itin\u00e9raires, titres. Preuves fran\u00e7aises dat\u00e9es, open data r\u00e9glementaire, quatre architectures, un routeur et les prix publics du jour.<\/p>\n","protected":false},"author":8,"featured_media":31814,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[346],"tags":[],"class_list":["post-31819","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\/31819","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=31819"}],"version-history":[{"count":2,"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/posts\/31819\/revisions"}],"predecessor-version":[{"id":31890,"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/posts\/31819\/revisions\/31890"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/media\/31814"}],"wp:attachment":[{"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/media?parent=31819"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/categories?post=31819"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/tags?post=31819"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}