1<!DOCTYPE html><!-- Last Published: Fri Oct 02 2026 16:53:30 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="agilotext-test.webflow.io" data-wf-page="6815bee5a9c0b57da183550b" data-wf-site="6815bee5a9c0b57da18354fb" lang="en"><head><meta charset="utf-8"/><link href="https://cdn.prod.website-files.com" rel="preconnect" crossorigin="anonymous"/><title>Contactez Agilotext | Solution de Transcription Intelligente et Rapide</title><meta content="Vous avez une question ou souhaitez en savoir plus sur Agilotext ? Contactez-nous dès aujourdâhui et découvrez comment notre solution de transcription IA peut transformer vos réunions, webinaires et interviews en comptes rendus précis et stratégiques." name="description"/><meta content="Contactez Agilotext | Solution de Transcription Intelligente et Rapide" property="og:title"/><meta content="Vous avez une question ou souhaitez en savoir plus sur Agilotext ? Contactez-nous dès aujourdâhui et découvrez comment notre solution de transcription IA peut transformer vos réunions, webinaires et interviews en comptes rendus précis et stratégiques." property="og:description"/><meta content="Contactez Agilotext | Solution de Transcription Intelligente et Rapide" name="twitter:title"/><meta content="Vous avez une question ou souhaitez en savoir plus sur Agilotext ? Contactez-nous dès aujourdâhui et découvrez comment notre solution de transcription IA peut transformer vos réunions, webinaires et interviews en comptes rendus précis et stratégiques." name="twitter:description"/><meta property="og:type" content="website"/><meta content="summary_large_image" name="twitter:card"/><meta content="width=device-width, initial-scale=1" name="viewport"/><link href="https://cdn.prod.website-files.com/6815bee5a9c0b57da18354fb/css/agilotext-test.webflow.shared.eae61680f.min.css" rel="stylesheet" type="text/css" integrity="sha384-6uYWgPaaSw501nnPV3jR76kWqUUZSd3aJlOAS7tTorwIa4RAKEzVrFiY5qBB2zhE" crossorigin="anonymous"/><link href="https://fonts.googleapis.com" rel="preconnect"/><link href="https://fonts.gstatic.com" rel="preconnect" crossorigin="anonymous"/>
1<script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js" type="text/javascript"></script>
1<script type="text/javascript">WebFont.load({ google: { families: ["Montserrat:100,100italic,200,200italic,300,300italic,400,400italic,500,500italic,600,600italic,700,700italic,800,800italic,900,900italic","Poppins:300,400,500,600,700"] }});</script>
1<script type="text/javascript">!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script>
1<link href="https://cdn.prod.website-files.com/6815bee5a9c0b57da18354fb/6815bee5a9c0b57da18355a3_Favicon.png" rel="shortcut icon" type="image/x-icon"/><link href="https://cdn.prod.website-files.com/6815bee5a9c0b57da18354fb/6815bee5a9c0b57da18355a1_Webclip.png" rel="apple-touch-icon"/><link href="https://www.agilotext.com/contact" rel="canonical"/>
1<script>(function(w,i,g){w[g]=w[g]||[];if(typeof w[g].push=='function')w[g].push.apply(w[g],Array.isArray(i)?i:[i]);})(window,['G-N6BB66Y5HN'],'google_tags_first_party');</script>
1<script async="" src="/nvhc9u4gxsagNjgxNWJlZTVhOWMwYjU3ZGExODM1NGZi/lBttA6D59y4NPdHf_aLjcaWthr8"></script>
1<script type="text/javascript">window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('set', 'developer_id.dZGVlNj', true);gtag('set', 'developer_id.dYWYxNW', true);gtag('js', new Date());gtag('config', 'G-N6BB66Y5HN');</script>
vendor: 86 bytes, line 1
1<script src="https://www.google.com/recaptcha/api.js" type="text/javascript"></script>
1<!-- Please keep this css code to improve the font quality--> 2<style> 3 * { 4 -webkit-font-smoothing: antialiased; 5 -moz-osx-font-smoothing: grayscale; 6} 7</style> 8 9<!-- Memberstack webflow package -->
10<script 11 data-memberstack-domain="https://memberstack-client.agilotext.com" 12 data-memberstack-app="app_clrann41p00gr0trm1hb86xth" 13 src="https://static.memberstack.com/scripts/v1/memberstack.js" 14 type="text/javascript"> 15</script>
15 16 17 18<!-- Hotjar Tracking Code for https://www.agilotext.com/ -->
19<script>
vendor: 125 bytes, lines 19-22
19 20 (function(h,o,t,j,a,r){ 21 h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)}; 22 h._hjSettings={hjid:
223896034
vendor: 258 bytes, lines 22-27
22,hjsv:6}; 23 a=o.getElementsByTagName('head')[0]; 24 r=o.createElement('script');r.async=1; 25 r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv; 26 a.appendChild(r); 27 })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');
28</script>
28 29 30 31<style>::-webkit-scrollbar{ width:0px; height:0px; }</style> 32 33
34<script async src="https://opentech-ux.org/lom-captor/dist/opentech-ux-lib.js" data-endpoint="https://featureeveninground.ux-key.com/endpoint"></script>
34 35 36<!-- Finsweet Cookie Consent -->
37<script async src="https://cdn.jsdelivr.net/npm/@finsweet/cookie-consent@1/fs-cc.js" fs-cc-mode="opt-out"></script>
37 38 39
40<script> 41 // Forcer la langue de la racine 42 document.documentElement.setAttribute('lang', 'fr'); 43 44 document.addEventListener('DOMContentLoaded', () => { 45 // Corriger tous les éléments existants 46 document.querySelectorAll('[lang]').forEach(el => el.setAttribute('lang', 'fr')); 47 48 // Surveiller et corriger le contenu ajouté dynamiquement 49 const observer = new MutationObserver(muts => { 50 muts.forEach(m => { 51 m.addedNodes.forEach(node => { 52 if (node.nodeType === 1) node.setAttribute('lang', 'fr'); 53 }); 54 }); 55 }); 56 observer.observe(document.body, { childList: true, subtree: true }); 57 }); 58</script>
58 59 60 61 62<link rel="preconnect" href="https://cdn.jsdelivr.net" crossorigin> 63<link rel="dns-prefetch" href="//cdn.jsdelivr.net"> 64
65<script> 66document.addEventListener('DOMContentLoaded', () => { 67 document.querySelectorAll('svg[width="auto"], svg[height="auto"]').forEach(svg => { 68 if (svg.getAttribute('width') === 'auto') svg.removeAttribute('width'); 69 if (svg.getAttribute('height') === 'auto') svg.removeAttribute('height'); 70 }); 71}); 72</script>
72 73 74
75<script> 76 !function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.async=!0,p.src=s.api_host.replace(".i.posthog.com","-assets.i.posthog.com")+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="init capture register register_once register_for_session unregister opt_out_capturing has_opted_out_capturing opt_in_capturing reset isFeatureEnabled getFeatureFlag getFeatureFlagPayload reloadFeatureFlags group identify setPersonProperties setPersonPropertiesForFlags resetPersonPropertiesForFlags setGroupPropertiesForFlags resetGroupPropertiesForFlags resetGroups onFeatureFlags addFeatureFlagsHandler onSessionId getSurveys getActiveMatchingSurveys renderSurvey canRenderSurvey getNextSurveyStep".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]); 77 posthog.init('phc_vCyUcnLuC3KFVmePqgHJ5fNYk2Ub7Pq97GAKF5Aki6U2', { 78 api_host: 'https://eu.i.posthog.com', 79 defaults: '2026-01-30' 80 }) 81</script>
81<script src="https://cdn.prod.website-files.com/6815bee5a9c0b57da18354fb%2F689e5ba67671442434f3ca35%2F6a298c503debeaf5584fb4bb%2Fgoogleadsconversioncb2026-1.0.0.js" type="text/javascript"></script>
81<script src="https://cdn.prod.website-files.com/6815bee5a9c0b57da18354fb%2F6920e91076f71b3b0ca97a18%2F6a27c3db9d7274f628a9972e%2Fgoogle_tag-0.0.3.js" type="text/javascript" data-gtag-id="AW-18222866487"></script>
81</head><body><div class="page-wrapper"><div class="global-styles w-embed w-script"><style> 82 83/* ============================================ 84 SOLUTION COMPLÃTE : TABLEAUX + BLOCS DE CODE RESPONSIVES 85 à ajouter dans Webflow > Project Settings > Custom Code > Head Code 86 ============================================ */ 87 88/* ============================================ 89 PARTIE 1 : TABLEAUX RESPONSIVES 90 ============================================ */ 91 92/* Cibler TOUS les .w-embed dans .article-content ou .w-richtext */ 93.article-content .w-embed, 94.w-richtext .w-embed { 95 width: 100% !important; 96 max-width: 100% !important; 97 overflow-x: auto !important; 98 -webkit-overflow-scrolling: touch !important; 99 margin: 1.5rem 0 !important; 100 display: block !important; 101} 102 103/* Styles pour TOUS les tableaux dans ces conteneurs */ 104.article-content .w-embed table, 105.w-richtext .w-embed table { 106 width: 100% !important; 107 min-width: 600px !important; /* Force le scroll horizontal si nécessaire */ 108 border-collapse: separate !important; 109 border-spacing: 1rem !important; 110 font-size: 0.9rem !important; 111 table-layout: auto !important; 112 display: table !important; 113} 114 115/* Styles pour les cellules */ 116.article-content .w-embed table th, 117.article-content .w-embed table td, 118.w-richtext .w-embed table th, 119.w-richtext .w-embed table td { 120 padding: 0.75rem !important; 121 border-radius: 0.5rem !important; 122 text-align: left !important; 123 vertical-align: top !important; 124 white-space: normal !important; 125 word-wrap: break-word !important; 126 overflow-wrap: break-word !important; 127} 128 129/* Styles pour les en-têtes */ 130.article-content .w-embed table th, 131.w-richtext .w-embed table th { 132 background-color: #001427 !important; 133 color: #ffffff !important; 134 border-radius: 0.5rem !important; 135 font-weight: bold !important; 136 white-space: nowrap !important; /* Les en-têtes ne se coupent pas */ 137} 138 139/* Styles pour les lignes */ 140.article-content .w-embed table tr:nth-child(even), 141.w-richtext .w-embed table tr:nth-child(even) { 142 border-radius: 0.5rem !important; 143 background-color: #f4f4f4 !important; 144} 145 146.article-content .w-embed table tr:hover, 147.w-richtext .w-embed table tr:hover { 148 border-radius: 0.5rem !important; 149 background-color: #e7e0da !important; 150} 151 152/* ============================================ 153 PARTIE 2 : BLOCS DE CODE RESPONSIVES 154 ============================================ */ 155 156/* S'assurer que les blocs de code sont responsives */ 157.article-content .w-code-block, 158.w-richtext .w-code-block, 159.article-content pre.w-code-block, 160.w-richtext pre.w-code-block, 161.article-content pre[class*="w-code"], 162.w-richtext pre[class*="w-code"] { 163 width: 100% !important; 164 max-width: 100% !important; 165 overflow-x: auto !important; 166 -webkit-overflow-scrolling: touch !important; 167 display: block !important; 168 margin: 1.5rem 0 !important; 169 box-sizing: border-box !important; 170 position: relative !important; 171} 172 173/* Le code à l'intérieur du pre */ 174.article-content .w-code-block code, 175.w-richtext .w-code-block code, 176.article-content pre.w-code-block code, 177.w-richtext pre.w-code-block code, 178.article-content pre[class*="w-code"] code, 179.w-richtext pre[class*="w-code"] code { 180 display: block !important; 181 width: 100% !important; 182 min-width: fit-content !important; 183 white-space: pre !important; 184 word-wrap: normal !important; 185 overflow-wrap: normal !important; 186 font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace !important; 187} 188 189/* S'assurer que le conteneur parent ne bloque pas le scroll */ 190.article-content, 191.w-richtext { 192 overflow-x: visible !important; 193 width: 100% !important; 194 max-width: 100% !important; 195} 196 197/* ============================================ 198 MEDIA QUERIES 199 ============================================ */ 200 201@media (max-width: 768px) { 202 /* Tableaux */ 203 .article-content .w-embed, 204 .w-richtext .w-embed { 205 margin: 1rem 0 !important; 206 } 207 208 .article-content .w-embed table, 209 .w-richtext .w-embed table { 210 font-size: 0.88rem !important; 211 min-width: 500px !important; 212 border-spacing: 0.75rem !important; 213 } 214 215 .article-content .w-embed table th, 216 .article-content .w-embed table td, 217 .w-richtext .w-embed table th, 218 .w-richtext .w-embed table td { 219 padding: 0.5rem !important; 220 } 221 222 /* Blocs de code */
223 .article-content .w-code-block, 224 .w-richtext .w-code-block, 225 .article-content pre.w-code-block, 226 .w-richtext pre.w-code-block { 227 font-size: 0.85rem !important; 228 padding: 0.75rem !important; 229 margin: 1rem 0 !important; 230 } 231} 232 233@media (max-width: 480px) { 234 /* Tableaux */ 235 .article-content .w-embed table, 236 .w-richtext .w-embed table { 237 font-size: 0.85rem !important; 238 min-width: 400px !important; 239 border-spacing: 0.5rem !important; 240 } 241 242 .article-content .w-embed table th, 243 .article-content .w-embed table td, 244 .w-richtext .w-embed table th, 245 .w-richtext .w-embed table td { 246 padding: 0.4rem !important; 247 } 248 249 /* Blocs de code */ 250 .article-content .w-code-block, 251 .w-richtext .w-code-block, 252 .article-content pre.w-code-block, 253 .w-richtext pre.w-code-block { 254 font-size: 0.8rem !important; 255 padding: 0.5rem !important; 256 margin: 0.75rem 0 !important; 257 } 258 259 .article-content .w-code-block code, 260 .w-richtext .w-code-block code, 261 .article-content pre.w-code-block code, 262 .w-richtext pre.w-code-block code { 263 font-size: 0.8rem !important; 264 } 265} 266 267/* ============================================ 268 SCROLLBARS PERSONNALISÃES (optionnel) 269 ============================================ */ 270 271/* Scrollbar pour les tableaux */ 272.article-content .w-embed::-webkit-scrollbar, 273.w-richtext .w-embed::-webkit-scrollbar {
274 height: 8px; 275} 276 277.article-content .w-embed::-webkit-scrollbar-track, 278.w-richtext .w-embed::-webkit-scrollbar-track { 279 background: #f1f1f1; 280 border-radius: 4px; 281} 282 283.article-content .w-embed::-webkit-scrollbar-thumb, 284.w-richtext .w-embed::-webkit-scrollbar-thumb { 285 background: #888; 286 border-radius: 4px; 287} 288 289.article-content .w-embed::-webkit-scrollbar-thumb:hover, 290.w-richtext .w-embed::-webkit-scrollbar-thumb:hover { 291 background: #555; 292} 293 294/* Scrollbar pour les blocs de code */ 295.article-content .w-code-block::-webkit-scrollbar, 296.w-richtext .w-code-block::-webkit-scrollbar { 297 height: 8px; 298} 299 300.article-content .w-code-block::-webkit-scrollbar-track, 301.w-richtext .w-code-block::-webkit-scrollbar-track { 302 background: #1e1e1e; 303 border-radius: 4px; 304} 305 306.article-content .w-code-block::-webkit-scrollbar-thumb, 307.w-richtext .w-code-block::-webkit-scrollbar-thumb { 308 background: #555; 309 border-radius: 4px; 310} 311 312.article-content .w-code-block::-webkit-scrollbar-thumb:hover, 313.w-richtext .w-code-block::-webkit-scrollbar-thumb:hover { 314 background: #777; 315} 316 317 318 319 320 321 322 323/* Cible les éléments H1, H2, H3, etc. à l'intérieur de la div summarytext */ 324.summarytext h1 { 325 font-size: 2rem; /* Taille de police pour les titres H1 */ 326 color: var(--color--gris_foncé); /* Couleur personnalisée */ 327 margin: 1rem 0; /* Espacement personnalisé */ 328 font-weight: 700; /* Poids de la police pour les titres */ 329} 330 331.summarytext h2 { 332 font-size: 1.75rem; /* Taille de police pour les titres H2 */ 333 color: var(--color--gris_foncé); /* Couleur personnalisée */ 334 margin: 1rem 0; /* Espacement personnalisé */ 335 font-weight: 600; /* Poids de la police pour les titres */ 336} 337 338.summarytext h3 { 339 font-size: 1.5rem; /* Taille de police pour les titres H3 */ 340 color: var(--color--gris_foncé); /* Couleur personnalisée */ 341 margin: 0.75rem 0; /* Espacement personnalisé */ 342 font-weight: 500; /* Poids de la police pour les titres */ 343} 344 345.summarytext p { 346 color: var(--color--gris_foncé); /* Couleur personnalisée */ 347 margin: 0.5rem 0; /* Espacement personnalisé */ 348} 349 350.summarytext ul, .summarytext ol { 351 margin: 0.5rem 0 1rem 1.5rem;
351 /* Espacement personnalisé pour les listes */ 352 padding-left: 1rem; /* Espacement à gauche pour les listes */ 353} 354 355.summarytext li { 356 font-size: 1rem; /* Taille de police pour les éléments de liste */ 357 color: var(--color--gris_foncé); /* Couleur personnalisée */ 358 margin: 0.25rem 0; /* Espacement personnalisé pour les éléments de liste */ 359} 360 361.summarytext table { 362 width: 100%; 363 margin: auto; 364 border-collapse: collapse; /* Collapse les bordures pour une table plus propre */ 365} 366 367.summarytext td { 368 padding: 1rem; /* Ajoute un padding pour les cellules de table */ 369} 370 371/* Ajout d'un peu plus d'aération */ 372.summarytext h1, .summarytext h2, .summarytext h3, .summarytext p, .summarytext ul, .summarytext ol { 373 margin-bottom: 1rem; 374} 375 376/* Style des listes numérotées */ 377.summarytext ol { 378 list-style-position: inside; 379} 380 381.summarytext ul { 382 list-style-position: inside; 383 list-style-type: disc; 384} 385 386.summarytext ol li { 387 list-style-type: decimal; 388} 389 390.summarytext ul li::marker { 391 color: var(--color--gris_foncé); /* Couleur des puces */ 392} 393 394.summarytext ol li::marker { 395 color: var(--color--gris_foncé); /* Couleur des numéros */ 396} 397 398 399 400 401/* Assure que le conteneur principal de FilePond prend toute la largeur */ 402.filepond--root { 403 width: 100%; 404 margin: 0 auto; /* Centre le conteneur si nécessaire */ 405 padding: 1REM; /* Ajoute un peu d'espace autour de FilePond */ 406} 407 408/* Style pour le message d'erreur pour s'assurer qu'il s'adapte à l'intérieur du conteneur */ 409.filepond--item .filepond--file-status { 410 white-space: normal; /* Permet au texte de passer à la ligne */ 411 word-wrap: break-word; /* Casse les mots trop longs pour éviter le débordement */ 412 padding: 5px; /* Ajoute un peu d'espace autour du texte */ 413 font-size: 0.9em; /* Ajuste la taille de la police si nécessaire */ 414} 415 416/* Assure que les éléments de FilePond prennent toute la largeur disponible */ 417.filepond--list, .filepond--item, .filepond--panel-root { 418 width: 100%; 419} 420/* Permet au texte de passer à la ligne au besoin pour éviter les troncatures */ 421.filepond--file-info, .filepond--file-status { 422 white-space: normal; 423} 424 425/* Assure que les boutons et indicateurs sont bien alignés et visibles */ 426.filepond--file-action-button, .filepond--processing-complete-indicator, .filepond--progress-indicator { 427 transform: translate3d(0, 0, 0) scale3d(1, 1, 1); 428 opacity: 1; 429 visibility: visible; 430} 431 432 433 434/* Make text look crisper and more legible in all browsers */ 435body { 436 -webkit-font-smoothing: antialiased; 437 -moz-osx-font-smoothing: grayscale; 438 font-smoothing: antialiased; 439 text-rendering: optimizeLegibility; 440} 441 442/* Focus state style for keyboard navigation for the focusable elements */ 443*[tabindex]:focus-visible, 444 input[type="file"]:focus-visible { 445 outline: 0.125rem solid #4d65ff; 446 outline-offset: 0.125rem; 447} 448 449/* Get rid of top margin on first element in any rich text element */ 450.w-richtext > :not(div):first-child, .w-richtext > div:first-child > :first-child { 451 margin-top: 0 !important; 452} 453 454/* Get rid of bottom margin on last element in any rich text element */ 455.w-richtext>:last-child, .w-richtext ol li:last-child, .w-richtext ul li:last-child { 456 margin-bottom: 0 !important; 457} 458 459/* Prevent all click and hover interaction with an element */ 460.pointer-events-off { 461 pointer-events: none; 462} 463 464/* Enables all click and hover interaction with an element */ 465.pointer-events-on { 466 pointer-events: auto; 467} 468 469/* Create a class of .div-square which maintains a 1:1 dimension of a div */ 470.div-square::after { 471 content: ""; 472 display: block; 473 padding-bottom: 100%; 474} 475 476/* Make sure containers never lose their center alignment */ 477.container-medium,.container-small, .container-large { 478 margin-right: auto !important; 479 margin-left: auto !important; 480} 481 482/* 483Make the following elements inherit typography styles from the parent and not have hardcoded values. 484Important: You will not be able to style for example "All Links" in Designer with this CSS applied. 485Uncomment this CSS to use it in the project. Leave this message for future hand-off. 486*/ 487/* 488a, 489.w-input, 490.w-select, 491.w-tab-link, 492.w-nav-link, 493.w-dropdown-btn, 494.w-dropdown-toggle, 495.w-dropdown-link { 496 color: inherit; 497 text-decoration: inherit; 498 font-size: inherit; 499} 500*/ 501 502/* Apply "..." after 3 lines of text */ 503.text-style-3lines {
504 display: -webkit-box; 505 overflow: hidden; 506 -webkit-line-clamp: 3; 507 -webkit-box-orient: vertical; 508} 509 510/* Apply "..." after 2 lines of text */ 511.text-style-2lines { 512 display: -webkit-box; 513 overflow: hidden; 514 -webkit-line-clamp: 2; 515 -webkit-box-orient: vertical; 516} 517 518/* Adds inline flex display */ 519.display-inlineflex { 520 display: inline-flex; 521} 522 523/* These classes are never overwritten */ 524.hide { 525 display: none !important; 526} 527 528@media screen and (max-width: 991px), 529 @media screen and (max-width: 767px), 530 @media screen and (max-width: 479px){ 531 .hide, .hide-tablet{ 532 display: none !important; 533 } 534 } 535 @media screen and (max-width: 767px) 536 .hide-mobile-landscape{ 537 display: none !important; 538 } 539 } 540 @media screen and (max-width: 479px) 541 .hide-mobile{ 542 display: none !important; 543 } 544 } 545 546.margin-0 { 547 margin: 0rem !important; 548} 549 550.padding-0 { 551 padding: 0rem !important; 552} 553 554.spacing-clean { 555padding: 0rem !important; 556margin: 0rem !important; 557} 558 559.margin-top { 560 margin-right: 0rem !important; 561 margin-bottom: 0rem !important; 562 margin-left: 0rem !important; 563} 564 565.padding-top { 566 padding-right: 0rem !important; 567 padding-bottom: 0rem !important; 568 padding-left: 0rem !important; 569} 570 571.margin-right { 572 margin-top: 0rem !important; 573 margin-bottom: 0rem !important; 574 margin-left: 0rem !important; 575} 576 577.padding-right { 578 padding-top: 0rem !important; 579 padding-bottom: 0rem !important; 580 padding-left: 0rem !important; 581} 582 583.margin-bottom { 584 margin-top: 0rem !important; 585 margin-right: 0rem !important; 586 margin-left: 0rem !important; 587} 588 589.padding-bottom { 590 padding-top: 0rem !important; 591 padding-right: 0rem !important; 592 padding-left: 0rem !important; 593} 594 595.margin-left { 596 margin-top: 0rem !important; 597 margin-right: 0rem !important; 598 margin-bottom: 0rem !important; 599} 600 601.padding-left { 602 padding-top: 0rem !important; 603 padding-right: 0rem !important; 604 padding-bottom: 0rem !important; 605} 606 607.margin-horizontal { 608 margin-top: 0rem !important; 609 margin-bottom: 0rem !important; 610} 611 612.padding-horizontal { 613 padding-top: 0rem !important; 614 padding-bottom: 0rem !important; 615} 616 617.margin-vertical { 618 margin-right: 0rem !important; 619 margin-left: 0rem !important; 620} 621 622.padding-vertical { 623 padding-right: 0rem !important; 624 padding-left: 0rem !important; 625} 626 627</style> 628 629<style> 630 [data-agilo-reveal] { 631 opacity: 0; 632 transform: translateY(12px); 633 transition: opacity 0.5s ease, transform 0.5s ease; 634 } 635 [data-agilo-reveal].is-in { 636 opacity: 1; 637 transform: none; 638 } 639 @media (prefers-reduced-motion: reduce) { 640 [data-agilo-reveal] { 641 opacity: 1; 642 transform: none; 643 transition: none; 644 } 645 } 646</style>
647<script> 648 (function () { 649 if (window.matchMedia("(prefers-reduced-motion: reduce)").matches) return; 650 var els = document.querySelectorAll("[data-agilo-reveal]"); 651 if (!els.length || !("IntersectionObserver" in window)) return; 652 var io = new IntersectionObserver( 653 function (entries) { 654 entries.forEach(function (e) { 655 if (e.isIntersecting) { 656 e.target.classList.add("is-in"); 657 io.unobserve(e.target); 658 } 659 }); 660 }, 661 { threshold: 0.12, rootMargin: "0px 0px -40px 0px" } 662 ); 663 els.forEach(function (el) { 664 io.observe(el); 665 }); 666 })(); 667</script>
667</div><div data-animation="default" class="nav_component w-nav" data-easing2="ease" data-easing="ease" data-collapse="medium" data-w-id="5433c634-db3a-b2c1-4540-cc7ee81b1f48" role="banner" data-duration="400" data-doc-height="1"><div class="nav_container"><a href="/" class="nav_logo-link w-nav-brand"><img src="https://cdn.prod.website-files.com/6815bee5a9c0b57da18354fb/6815bee5a9c0b57da18355b2_Logo_svg%20(1).svg" loading="lazy" alt="" class="nav_logo"/></a><nav role="navigation" class="nav_menu w-nav-menu"><a href="/tarifs" class="nav_link text-align-center w-nav-link">Fonctionnalités</a><div data-hover="false" data-delay="0" class="nav_link w-dropdown"><div class="w-dropdown-toggle"><div class="w-icon-dropdown-toggle"></div><div>Nos offres</div></div><nav class="nav_dropdown-list w-dropdown-list"><a href="/offres/cse" class="nav_dropdown-item w-dropdown-link"><img src="https://cdn.prod.website-files.com/6815bee5a9c0b57da18354fb/6aa6bc172b0e8f891193e4a8_cse-users-3.svg" loading="lazy" alt="" class="nav_offres-ico"/>CSE</a><div class="nav_link-soon"><img src="https://cdn.prod.website-files.com/6815bee5a9c0b57da18354fb/6aa6bc178ed73124d1295a79_avocats-scale.svg" loading="lazy" alt="" class="nav_offres-ico"/>Avocats · à venir</div><div class="nav_link-soon"><img src="https://cdn.prod.website-files.com/6815bee5a9c0b57da18354fb/6aa6bc172b0e8f891193e51b_notaires-stamp.svg" loading="lazy" alt="" class="nav_offres-ico"/>Notaires · à venir</div><div class="nav_link-soon"><img src="https://cdn.prod.website-files.com/6815bee5a9c0b57da18354fb/6aa6bc17b37c42c3d3ff16f5_pharmaciens-mortar-pestle.svg" loading="lazy" alt="" class="nav_offres-ico"/>Pharmaciens · à venir</div></nav></div><a href="/blog/all" class="nav_link text-align-center w-nav-link">Blog</a><a href="/contact" aria-current="page" class="nav_link text-align-center w-nav-link w--current">Nous contacter</a><button class="custom_button align-center"><a href="/auth/login" class="button-secondary w-inline-block"><div>Se connecter</div><div class="button-icon w-embed"><svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 668<path d="M22 12C22 14.6522 20.9464 17.1957 19.0711 19.0711C17.1957 20.9464 14.6522 22 12 22C10.6868 22 9.38642 21.7413 8.17317 21.2388C6.95991 20.7362 5.85752 19.9997 4.92893 19.0711C3.05357 17.1957 2 14.6522 2 12C2 9.34784 3.05357 6.8043 4.92893 4.92893C6.8043 3.05357 9.34784 2 12 2C13.3132 2 14.6136 2.25866 15.8268 2.7612C17.0401 3.26375 18.1425 4.00035 19.0711 4.92893C19.9997 5.85752 20.7362 6.95991 21.2388 8.17317C21.7413 9.38642 22 10.6868 22 12ZM6 13H14L10.5 16.5L11.92 17.92L17.84 12L11.92 6.08L10.5 7.5L14 11H6V13Z" fill="currentColor"/> 669</svg></div></a></button><div class="nav_button-wrapper"><a href="/auth/sign-up" class="button is-nav w-button">S'inscrire</a></div></nav><div class="nav_menu-button w-nav-button"><div class="hamburger-menu-top"></div><div class="hamburger-menu-bottom"></div></div></div></div><main class="main-wrapper"><section class="section_contact relative padding-section-large"><div class="gradient-circle-blurred is-large is-contact-1"></div><div class="padding-global"><div class="container-large"><div class="padding-bottom padding-xlarge"></div><div class="align-center max-width-large"><h1 class="text-align-center"><strong>Prenez contact avec nous</strong></h1><div class="padding-bottom padding-xlarge"></div></div><div class="contact_component"><div id="w-node-cbd0ff87-8302-505e-8cda-a2cb927137e2-a183550b" class="contact_content"><h2><strong>Laissez-nous un message</strong></h2><div class="padding-bottom padding-xsmall"></div><p class="text-size-medium">Nous vous répondrons dans les plus brefs délais.</p></div><div class="contact_form-wrapper w-form"><form id="wf-form-Contact-Form" name="wf-form-Contact-Form" data-name="Contact Form" method="get" class="contact_form" data-wf-page-id="6815bee5a9c0b57da183550b" data-wf-element-id="e97b2174-4966-801a-36dc-790400313f4c" data-turnstile-sitekey="0x4AAAAAAAQTptj2So4dx43e"><input class="form_input is-contact w-input" maxlength="256" name="Nom-complet" data-name="Nom complet" placeholder="Nom complet" type="text" id="Nom-complet"/><input class="form_input is-contact w-input" maxlength="256" name="Nom-de-l-entreprise" data-name="Nom de lâentreprise" placeholder="Nom de lâentreprise" type="text" id="Nom-de-l-entreprise"/><input class="form_input is-contact w-node-e7cded78-942a-d54f-0fa7-4bd6e2acf48e-a183550b w-input" maxlength="256" name="Adresse-e-mail-professionnelle" data-name="Adresse e-mail professionnelle" placeholder="Adresse e-mail professionnelle" type="email" id="Adresse-e-mail-professionnelle" required=""/><input class="form_input is-contact w-node-_87dcb1f8-8361-8b13-4a65-103470900010-a183550b w-input" maxlength="256" name="Objet" data-name="Objet" placeholder="Objet" type="text" id="Objet"/><textarea placeholder="Message" maxlength="5000" id="Message-2" name="Message" data-name="Message" class="form_input is-text-area w-node-_199695a7-22e6-458e-956a-c2493f95dd45-a183550b w-input"></textarea><input type="submit" data-wait="Attendez svp..." id="w-node-e97b2174-4966-801a-36dc-790400313f53-a183550b" class="button max-width-full w-button" value="Envoyer"/><div data-sitekey="6Lcr7i8sAAAAAFPu3GghD2trb651BwGr5JPmWAQW" class="w-form-formrecaptcha g-recaptcha g-recaptcha-error g-recaptcha-disabled"></div></form><div class="form_message-success w-form-done"><div>Thank you! Your submission has been received!</div></div><div class="form_message-error w-form-fail"><div>Oops! Something went wrong while submitting the form.</div></div></div><address id="w-node-_68d10a21-357b-5272-1fc9-0e911ce6891a-a183550b" class="contact_details_list"><div class="contact_details_item is-last"><div class="contact_details_icon-wrapper"><div class="contact_details_icon w-embed">
669<svg width="100%" viewBox="0 0 24 20" fill="none" xmlns="http://www.w3.org/2000/svg"> 670<path d="M24 2.9375C24 1.59687 22.92 0.5 21.6 0.5H2.4C1.08 0.5 0 1.59687 0 2.9375V17.5625C0 18.9031 1.08 20 2.4 20H21.6C22.92 20 24 18.9031 24 17.5625V2.9375ZM21.6 2.9375L12 9.03125L2.4 2.9375H21.6ZM21.6 17.5625H2.4V5.375L12 11.4688L21.6 5.375V17.5625Z" fill="CurrentColor"/> 671</svg></div></div><div class="contact_details_content"><a href="mailto:[email protected]?subject=Demande%20de%20contact" class="text-style-link text-size-xlarge">[email protected]</a><div>Demande de renseignements commerciaux</div></div></div></address></div></div></div></section><section class="section_cta"><div class="padding-global"><div class="container-small"><div class="padding-section-large"><div class="text-align-center"><div class="wrapper-title"><h2>Rejoignez les milliers d'utilisateurs satisfaits d'Agilotext !</h2></div><div class="padding-bottom padding-small"></div><p>Inscrivez-vous dès maintenant pour transformer votre audio en texte précis, rapidement et en toute sécurité.<br/><br/></p><div class="padding-bottom padding-xlarge"></div><a href="/tarifs" class="button w-button">S'inscrire</a></div></div></div></div></section></main><footer class="footer"><div class="padding-global"><div class="container-large"><div class="footer_wrapper"><div class="footer_top"><div class="footer_text"><div class="padding-small"><a href="/" class="nav_logo-link w-nav-brand"><img src="https://cdn.prod.website-files.com/6815bee5a9c0b57da18354fb/6815bee5a9c0b57da18355b2_Logo_svg%20(1).svg" loading="lazy" alt="" class="nav_logo"/></a></div><div class="padding-small"><p class="max-width-small"><strong>Rapide. Précis. Sécurisé.</strong><br/>Transformez vos enregistrements audio en textes exploitables avec la technologie avancée d'Agilotext.</p></div></div><div class="footer_links_list-2"><h4 class="footer-title">Outils</h4><div class="footer_link"><a href="/tools/concatener-audio">Fusionner des fichiers audio</a></div><div class="footer_link"><a href="/anonymisation">Anonymiser mes documents</a></div><div class="footer_link"><a href="/extension-chrome/agilotext">Dictée vocale - Extension Chrome</a></div></div><div class="footer_links_list-2"><h4 class="footer-title">Ressources</h4><div class="footer_link"><a href="/blog/all">Blog</a></div><div class="footer_link"><a href="/contact" aria-current="page" class="w--current">Support</a></div><div class="footer_link"><a href="/a-propos">à propos</a></div><div class="footer_link"><a href="/mentions-legales">Mentions légales</a></div><div class="footer_link"><a href="/politique-de-confidentialite">Politique de confidentialité</a></div><div class="footer_link"><a href="/conditions-generales-dutilisation-ventes-cgu-cgv">Conditions générales d'utilisation et de ventes</a></div></div><div class="footer_links_list-2"><h4 class="footer-title">Application</h4><div class="w-embed"><!-- 672 âââ OBLIGATOIRE DANS WEBFLOW (2 min) âââ 673 1. Clique le lien « App Store » â panneau de droite â onglet avec lâélément (â) 674 â section « Custom attributes » â Add : 675 Name : data-agilo-store 676 Value : appstore 677 678 2. Clique le lien « Google Play » â même chose : 679 Name : data-agilo-store 680 Value : play 681 682 3. (Recommandé) Fais glisser le « Code Embed » SOUS les deux liens, ou mets ce 683 <style> dans Project settings â Custom code â Head (évite que lâembed soit 684 âentreâ le titre et les boutons â ce qui cassait nth-child). 685 686 Liens href des boutons : 687 - App Store : https://apps.apple.com/fr/app/agilotext-audio-en-texte/id6760418600 688 - Play : https://play.google.com/store/apps/details?id=com.agilotext.mobile 689 690 Technique : plus de nth-child â le bon QR suit data-agilo-store sur chaque <a>. 691--> 692<style> 693 .footer_links_list-2 a.footer_link[data-agilo-store] { 694 position: relative; 695 z-index: 1; 696 } 697 698 .footer_links_list-2 a.footer_link[data-agilo-store]::after { 699 content: ""; 700 position: absolute; 701 left: 0; 702 bottom: calc(100% + 10px); 703 width: 132px; 704 height: 132px; 705 padding: 10px; 706 box-sizing: border-box; 707 background-color: #ffffff; 708 background-repeat: no-repeat; 709 background-position: center; 710 background-size: 120px 120px; 711 border-radius: 12px; 712 box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.06); 713 opacity: 0; 714 visibility: hidden; 715 pointer-events: none; 716 transform: translateY(6px); 717 transition: 718 opacity 0.2s ease, 719 visibility 0.2s ease, 720 transform 0.2s ease; 721 z-index: 100; 722 } 723 724 .footer_links_list-2 a.footer_link[data-agilo-store="appstore"]::after { 725 background-image: url("https://cdn.prod.website-files.com/6815bee5a9c0b57da18354fb/69c419a364b65db12f96409d_AGILO_ANDROID%20%281%29.png"); 726 } 727 728 .footer_links_list-2 a.footer_link[data-agilo-store="play"]::after { 729 background-image: url("https://cdn.prod.website-files.com/6815bee5a9c0b57da18354fb/69c403bdd0677339751bff12_AGILO_ANDROID.svg"); 730 } 731 732 .footer_links_list-2 a.footer_link[data-agilo-store]:hover::after, 733 .footer_links_list-2 a.footer_link[data-agilo-store]:focus-visible::after { 734 opacity: 1; 735 visibility: visible; 736 transform: translateY(0); 737 } 738 739 @media (max-width: 991px) { 740 .footer_links_list-2 a.footer_link[data-agilo-store]::after { 741 content: none !important; 742 display: none !important; 743 } 744 } 745</style></div><a data-agilo-store="appstore" href="https://apps.apple.com/fr/app/agilotext-audio-en-texte/id6760418600" target="_blank" class="footer_link download footer-app-qr w-inline-block"><svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 1024 1024" app="ikonik" class="icon-1x1-medium-small">
745<path fill="currentColor" d="M747.4 535.7c-.4-68.2 30.5-119.6 92.9-157.5-34.9-50-87.7-77.5-157.3-82.8-65.9-5.2-138 38.4-164.4 38.4-27.9 0-91.7-36.6-141.9-36.6C273.1 298.8 163 379.8 163 544.6c0 48.7 8.9 99 26.7 150.8 23.8 68.2 109.6 235.3 199.1 232.6 46.8-1.1 79.9-33.2 140.8-33.2 59.1 0 89.7 33.2 141.9 33.2 90.3-1.3 167.9-153.2 190.5-221.6-121.1-57.1-114.6-167.2-114.6-170.7zm-105.1-305c50.7-60.2 46.1-115 44.6-134.7-44.8 2.6-96.6 30.5-126.1 64.8-32.5 36.8-51.6 82.3-47.5 133.6 48.4 3.7 92.6-21.2 129-63.7z" app="ikonik" class="path-f4fw7"></path></svg><div href="#price">App Store</div></a><a data-agilo-store="play" href="https://play.google.com/store/apps/details?id=com.agilotext.mobile" target="_blank" class="footer_link download footer-app-qr w-inline-block"><svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 1024 1024" app="ikonik" class="icon-1x1-medium-small"><path fill="currentColor" d="M270.1 741.7c0 23.4 19.1 42.5 42.6 42.5h48.7v120.4c0 30.5 24.5 55.4 54.6 55.4 30.2 0 54.6-24.8 54.6-55.4V784.1h85v120.4c0 30.5 24.5 55.4 54.6 55.4 30.2 0 54.6-24.8 54.6-55.4V784.1h48.7c23.5 0 42.6-19.1 42.6-42.5V346.4h-486v395.3zm357.1-600.1l44.9-65c2.6-3.8 2-8.9-1.5-11.4-3.5-2.4-8.5-1.2-11.1 2.6l-46.6 67.6c-30.7-12.1-64.9-18.8-100.8-18.8-35.9 0-70.1 6.7-100.8 18.8l-46.6-67.5c-2.6-3.8-7.6-5.1-11.1-2.6-3.5 2.4-4.1 7.4-1.5 11.4l44.9 65c-71.4 33.2-121.4 96.1-127.8 169.6h486c-6.6-73.6-56.7-136.5-128-169.7zM409.5 244.1a26.9 26.9 0 1 1 26.9-26.9 26.97 26.97 0 0 1-26.9 26.9zm208.4 0a26.9 26.9 0 1 1 26.9-26.9 26.97 26.97 0 0 1-26.9 26.9zm223.4 100.7c-30.2 0-54.6 24.8-54.6 55.4v216.4c0 30.5 24.5 55.4 54.6 55.4 30.2 0 54.6-24.8 54.6-55.4V400.1c.1-30.6-24.3-55.3-54.6-55.3zm-658.6 0c-30.2 0-54.6 24.8-54.6 55.4v216.4c0 30.5 24.5 55.4 54.6 55.4 30.2 0 54.6-24.8 54.6-55.4V400.1c0-30.6-24.5-55.3-54.6-55.3z" app="ikonik" class="path-tgj9i"></path></svg><div href="#price">Google Play </div></a></div></div><div class="footer_bottom padding-medium"><div class="footer_divider margin-bottom"></div><div class="footer_info"><div class="fs-styleguide_row padding-small"><a href="#" class="social_link w-inline-block"><div class="icon-1x1-small-2 w-embed"><svg aria-hidden="true" role="img" fill='currentColor' viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>LinkedIn icon</title><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg></div></a></div>
745<a href="https://www.bauerwebpro.com/" class="illustration_designed_by w-inline-block"><div><span class="current_year">2023</span> © Agilotext. All rights reserved. Designed and Developed by</div><img src="https://cdn.prod.website-files.com/6815bee5a9c0b57da18354fb/6815bee5a9c0b57da18355be_Logo%20FINAL%20(2)%201.svg" loading="lazy" alt="" class="logo_bauer_web_pro margin-xsmall"/></a><a href="https://www.kawansoft.com/" class="illustration_designed_by w-inline-block"><div>Backend developments by</div><img src="https://cdn.prod.website-files.com/6815bee5a9c0b57da18354fb/6815bee5a9c0b57da18355db_logo-kawansoft-blanc-2-q4veeocjlss86pqhqldgyu2bi50obm91xm1gx66dk4.avif" loading="lazy" alt="" class="logo_bauer_web_pro margin-xsmall"/></a></div></div></div></div></div></footer><div class="set-all-components-to-display-none-and-use-this-div-to-create-a-symbol div_cookie"><div fs-cc="banner" class="fs-cc-banner2_component"><div class="fs-cc-banner2_container"><div class="text-size-small">En cliquant sur « Accepter », vous acceptez le stockage de cookies sur votre appareil afin dâaméliorer la navigation sur le site, dâanalyser son utilisation et de nous aider dans nos efforts marketing. Consultez notre <a href="#" class="orange">Politique de confidentialité</a> pour plus dâinformations.</div><div class="fs-cc-banner2_buttons-wrapper"><a fs-cc="deny" href="#" class="fs-cc-banner2_button fs-cc-button-alt button w-button">Refuser</a><a fs-cc="allow" href="#" class="fs-cc-banner2_button button w-button">Accepter</a></div></div></div><div fs-cc="manager" class="fs-cc-manager2_component"><div fs-cc="open-preferences" role="button" tabindex="0" title="Cookie Preferences" aria-label="Cookie Preferences" class="fs-cc-manager2_button w-embed"><svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 746<path d="M9 8L9 8.01" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 747<path d="M16 15L16 15.01" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 748<path d="M10 17L10 17.01" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 749<path d="M11 13L11 13.01" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 750<path d="M6 12L6 12.01" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 751<path d="M12 21C16.9706 21 21 16.9706 21 12C21 11.4402 20.9489 10.8924 20.8511 10.361C20.3413 10.7613 19.6985 11 19 11C18.4536 11 17.9413 10.8539 17.5 10.5987C17.0587 10.8539 16.5464 11 16 11C14.3431 11 13 9.65685 13 8C13 7.60975 13.0745 7.23691 13.2101 6.89492C11.9365 6.54821 11 5.38347 11 4C11 3.66387 11.0553 3.34065 11.1572 3.03894C6.58185 3.46383 3 7.31362 3 12C3 16.9706 7.02944 21 12 21Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 752</svg></div></div><div fs-cc-scroll="disable" fs-cc="preferences" class="fs-cc-prefs2_component"><div class="fs-cc-prefs2_form-wrapper w-form"><form id="cookie-preferences" name="wf-form-Cookie-Preferences" data-name="Cookie Preferences" method="get" class="fs-cc-prefs2_form" data-wf-page-id="6815bee5a9c0b57da183550b" data-wf-element-id="955ceca8-d1c6-7209-1ec6-3f5d69d578a7" data-turnstile-sitekey="0x4AAAAAAAQTptj2So4dx43e"><div fs-cc="close" class="fs-cc-prefs2_close"><div class="fs-cc-preferences2_close-icon w-embed"><svg fill="currentColor" aria-hidden="true" focusable="false" viewBox="0 0 16 16"> 753 <path d="M9.414 8l4.293-4.293-1.414-1.414L8 6.586 3.707 2.293 2.293 3.707 6.586 8l-4.293 4.293 1.414 1.414L8 9.414l4.293 4.293 1.414-1.414L9.414 8z"></path> 754</svg></div></div><div class="fs-cc-prefs2_content"><div class="fs-cc-prefs2_space-small"><div class="fs-cc-prefs2_title">Préférences de confidentialité</div></div><div class="fs-cc-prefs2_option"><div class="fs-cc-prefs2_toggle-wrapper"><div class="fs-cc-prefs2_label">Cookies essentiels</div><div class="text-1-blanc">Requis</div></div></div><div class="fs-cc-prefs2_option"><div class="fs-cc-prefs2_toggle-wrapper"><div class="fs-cc-prefs2_label">Cookies marketing</div><label class="w-checkbox fs-cc-prefs2_checkbox-field"><div class="w-checkbox-input w-checkbox-input--inputType-custom fs-cc-prefs2_checkbox"></div><input type="checkbox" name="marketing-2" id="marketing-2" data-name="Marketing 2" fs-cc-checkbox="marketing" style="opacity:0;position:absolute;z-index:-1"/>
754<span for="marketing-2" class="fs-cc-prefs2_checkbox-label w-form-label">Essential</span></label></div></div><div class="fs-cc-prefs2_option"><div class="fs-cc-prefs2_toggle-wrapper"><div class="fs-cc-prefs2_label">Cookies de personnalisation</div><label class="w-checkbox fs-cc-prefs2_checkbox-field"><div class="w-checkbox-input w-checkbox-input--inputType-custom fs-cc-prefs2_checkbox"></div><input type="checkbox" name="personalization-2" id="personalization-2" data-name="Personalization 2" fs-cc-checkbox="personalization" style="opacity:0;position:absolute;z-index:-1"/><span for="personalization-2" class="fs-cc-prefs2_checkbox-label w-form-label">Essential</span></label></div></div><div class="fs-cc-prefs2_option"><div class="fs-cc-prefs2_toggle-wrapper"><div class="fs-cc-prefs2_label">Cookies analytiques</div><label class="w-checkbox fs-cc-prefs2_checkbox-field"><div class="w-checkbox-input w-checkbox-input--inputType-custom fs-cc-prefs2_checkbox"></div><input type="checkbox" name="analytics-2" id="analytics-2" data-name="Analytics 2" fs-cc-checkbox="analytics" style="opacity:0;position:absolute;z-index:-1"/><span for="analytics-2" class="fs-cc-prefs2_checkbox-label w-form-label">Essential</span></label></div></div><div class="fs-cc-prefs2_buttons-wrapper"><a fs-cc="deny" href="#" class="fs-cc-prefs2_button fs-cc-button-alt button w-button">Rejeter tous les cookies</a><a fs-cc="allow" href="#" class="fs-cc-prefs2_button button w-button">Accepter tous les cookies</a><a fs-cc="submit" href="#" class="fs-cc-prefs2_submit button w-button">Enregistrer les préférences</a></div></div></form><div class="w-form-done"></div><div class="w-form-fail"></div><div fs-cc="close" class="fs-cc-prefs2_overlay"></div></div></div></div></div>
754<script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=6815bee5a9c0b57da18354fb" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
754<script src="https://cdn.prod.website-files.com/6815bee5a9c0b57da18354fb/js/webflow.schunk.f029965fe588bec7.js" type="text/javascript" integrity="sha384-nqWohkJQr3ls6U0XbL6ZmgtVK4DwoYwF2Rj7d9eLmU409Iz2pltj3FYen3qYsg3W" crossorigin="anonymous"></script>
754<script src="https://cdn.prod.website-files.com/6815bee5a9c0b57da18354fb/js/webflow.schunk.3756733a74bf4292.js" type="text/javascript" integrity="sha384-iJfJjsLkknxvLrIamP+3dQFZlWCvKulXOlV26WDyF3FsLVwc4bmoCCYBKJXrBSKC" crossorigin="anonymous"></script>
754<script src="https://cdn.prod.website-files.com/6815bee5a9c0b57da18354fb/js/webflow.b042b01f.ec2732a3dc939c2d.js" type="text/javascript" integrity="sha384-QsOaRbo3flDD00iapmfONnYaJuYNmDZFiWTEgrX+/QXcPoejKMOU9Bm0JuYTkkan" crossorigin="anonymous"></script>
754<script src="https://cdn.prod.website-files.com/gsap/3.15.0/gsap.min.js" type="text/javascript"></script>
754<script src="https://cdn.prod.website-files.com/gsap/3.15.0/ScrollTrigger.min.js" type="text/javascript"></script>
754<script type="text/javascript">gsap.registerPlugin(ScrollTrigger);</script>
754<script> 755document.querySelector(".current_year").textContent = new Date().getFullYear() 756 757</script>
757 758 759<style> 760/* Sidebar dashboard â réduction / réouverture (Webflow .dashboard-left) */ 761 762.dashboard-left { 763 transition: width 0.25s ease, min-width 0.25s ease; 764} 765 766/* 767 * Webflow empile .wrapper-menu AU-DESSUS du bouton (position:absolute). 768 * Le JS est OK, mais les clics n'atteignaient jamais le bouton en mode ouvert. 769 */ 770.dashboard-menu.menu-app { 771 position: relative !important; 772} 773 774.dashboard-menu.menu-app > .button-sidebar, 775.dashboard-menu.menu-app > [data-sidebar-toggle] { 776 position: relative !important; 777 inset: auto !important; 778 z-index: 30 !important; 779 width: auto !important; 780 min-width: 2.75rem !important; 781 height: 2.75rem !important; 782 margin: 0 0 0.5rem auto !important; 783 padding: 0.25rem !important; 784 display: flex !important; 785 align-items: center !important; 786 justify-content: center !important; 787 flex-shrink: 0 !important; 788 pointer-events: auto !important; 789 /* Zone de hit-test opaque (sinon elementFromPoint traverse le fond transparent) */ 790 background: rgba(255, 255, 255, 0.01) !important; 791 cursor: pointer !important; 792} 793 794.dashboard-menu.menu-app > .wrapper-menu { 795 position: relative !important; 796 z-index: 1 !important; 797} 798 799/* 800 * Webflow CSS responsive (â¤991px) pose display:none sur .wrapper-menu. 801 * Le dashboard-app n'est pas un navbar marketing â forcer visible sur toutes tailles. 802 */ 803.dashboard-left .wrapper-menu { 804 display: flex !important; 805} 806 807/* 808 * Ancien contournement (pointer-events:none sur le logo) â SUPPRIMà v1.9.1 809 * Le toggle est désormais position:relative + width:auto (plus de bandeau 100% en absolute 810 * Webflow). Le logo .nav_logo-link redevient cliquable. 811 * Si le toggle redevient difficile à cliquer : ne pas recouper le logo â ajuster 812 * .button-sidebar { width: 2.75rem; margin-left: auto; } uniquement. 813 */ 814.dashboard-menu.menu-app .nav_logo-link { 815 position: relative; 816 z-index: 1; 817 pointer-events: auto !important; 818 cursor: pointer !important; 819} 820 821.dashboard-menu.menu-app .nav_logo-link .nav_logo, 822.dashboard-menu.menu-app img.nav_logo { 823 pointer-events: none; /* clics sur le <a>, pas l'img */ 824} 825 826.dashboard-left.is-collapsed { 827 width: 4.75rem !important; 828 min-width: 4.75rem !important; 829 overflow-x: hidden !important; 830} 831 832/* 833 * BUG ICÃNES INVISIBLES : 834 * Webflow CSS desktop pose min-width:15rem sur .dashboard-menu.menu-app. 835 * Sans override, le container fait 15rem même quand la sidebar est à 4.75rem. 836 * Les .dashboard-link (3rem) centrés via margin:auto se retrouvent à ~6rem du bord 837 * gauche â clippés par overflow-x:hidden. On annule min-width et max-width ici. 838 */ 839.dashboard-left.is-collapsed .dashboard-menu, 840.dashboard-left.is-collapsed .wrapper-menu, 841.dashboard-left.is-collapsed .full-width { 842 width: 100% !important; 843 min-width: 0 !important; 844 max-width: 100% !important; 845 display: flex !important; 846 flex-direction: column !important; 847 align-items: center !important; 848} 849 850/* Bouton toggle : toujours cliquable en mode réduit (override Webflow mobile display:none) */ 851.dashboard-left.is-collapsed .button-sidebar, 852.dashboard-left.is-collapsed [data-sidebar-toggle] { 853 position: relative !important; 854 inset: auto !important; 855 width: 2.75rem !important; 856 height: 2.75rem !important; 857 padding: 0 !important; 858 margin: 0.5rem auto 0.75rem !important; 859 display: grid !important; 860 place-items: center !important; 861 justify-content: center !important; 862 align-items: center !important; 863 border-radius: 0.625rem !important; 864 opacity: 1 !important; 865 visibility: visible !important; 866 pointer-events: auto !important; 867 z-index: 30 !important; 868 background: rgba(255, 255, 255, 0.01) !important; 869 cursor: pointer !important; 870} 871 872.dashboard-left.is-collapsed .button-sidebar:hover, 873.dashboard-left.is-collapsed [data-sidebar-toggle]:hover { 874 background: rgba(0, 0, 0, 0.06) !important; 875} 876 877.dashboard-left.is-collapsed .button-sidebar svg, 878.dashboard-left.is-collapsed [data-sidebar-toggle] svg { 879 width: 1.125rem !important; 880 height: 1.125rem !important; 881} 882 883.button-sidebar svg.hide, 884[data-sidebar-toggle] svg.hide { 885 display: none !important; 886} 887 888.dashboard-left.is-collapsed .nav_logo-link, 889.dashboard-left.is-collapsed .dashboard-member, 890.dashboard-left.is-collapsed .modal_small, 891.dashboard-left.is-collapsed .custom_button, 892.dashboard-left.is-collapsed .text-cr, 893.dashboard-left.is-collapsed .anonymiser-text, 894.dashboard-left.is-collapsed .wrapper-new-button { 895 display: none !important; 896} 897 898.dashboard-left.is-collapsed .dashboard-link { 899 display: flex !important; 900 width: 3rem !important; 901 min-height: 2.5rem !important; 902 margin: 0 0 0.375rem !important; 903 padding: 0.5rem !important; 904 justify-content: center !important; 905 align-items: center !important; 906 gap: 0 !important; 907} 908 909/* Forcer la visibilité des icônes (défense contre tout inline-style posé par Webflow IX/JS) */ 910.dashboard-left.is-collapsed .icon-small, 911.dashboard-left.is-collapsed .icon-1x1-small { 912 display: flex !important; 913 visibility: visible !important; 914 opacity: 1 !important; 915 flex-shrink: 0 !important; 916} 917 918/* Règle générique : exclure Dossiers (summary + wrapper .folder Webflow) */ 919.dashboard-left.is-collapsed .dashboard-link:not(.agilo-nav-folders__summary):not(.folder) .wrapper-link, 920.dashboard-left.is-collapsed .dashboard-link:not(.agilo-nav-folders__summary):not(.folder) > :not(.icon-small):not(svg):not(.icon-1x1-small):not(.icon-1x1-semi-medium) { 921 display: none !important; 922} 923 924/* 925 * Wrapper Webflow : div.dashboard-link.folder > .embed-code-dossier > #agilo-nav-folders-root 926 * Sans ça, la règle générique masque .embed-code-dossier (enfant direct, pas une icône). 927 */ 928.dashboard-left.is-collapsed .dashboard-link.folder { 929 padding: 0 !important; 930 background: transparent !important; 931 box-shadow: none !important; 932} 933 934.dashboard-left.is-collapsed .dashboard-link.folder > .embed-code-dossier, 935.dashboard-left.is-collapsed .dashboard-link.folder > .w-embed { 936 display: block !important; 937 width: 100% !important; 938 min-width: 0 !important; 939 max-width: 100% !important; 940 visibility: visible !important; 941 opacity: 1 !important; 942} 943 944/* ââ Dossiers : l'icône est dans .summary-main, pas enfant direct de .dashboard-link ââ */ 945.dashboard-left.is-collapsed #agilo-nav-folders-root, 946.dashboard-left.is-collapsed .agilo-nav-folders-details { 947 width: 100% !important; 948 max-width: 100% !important; 949} 950
951.dashboard-left.is-collapsed summary.agilo-nav-folders__summary { 952 display: flex !important; 953 width: 3rem !important; 954 min-height: 2.5rem !important; 955 margin: 0 !important; 956 padding: 0.5rem !important; 957 justify-content: center !important; 958 align-items: center !important; 959 gap: 0 !important; 960 cursor: pointer !important; 961 background: transparent !important; 962 box-shadow: none !important; 963} 964 965.dashboard-left.is-collapsed .agilo-nav-folders__summary-main { 966 display: flex !important; 967 justify-content: center !important; 968 align-items: center !important; 969 min-width: 0 !important; 970 flex: 0 0 auto !important; 971 padding: 0 !important; 972 overflow: visible !important; 973} 974 975.dashboard-left.is-collapsed .agilo-nav-folders__summary-icon-root, 976.dashboard-left.is-collapsed .agilo-nav-folders__summary-main .icon-small { 977 display: flex !important; 978 visibility: visible !important; 979 opacity: 1 !important; 980 width: 1.5rem !important; 981 height: 1.5rem !important; 982 flex-shrink: 0 !important; 983} 984 985.dashboard-left.is-collapsed .agilo-nav-folders__summary-icon-root svg { 986 width: 1.125rem !important; 987 height: 1.125rem !important; 988 display: block !important; 989 color: var(--agilo-text, #020202) !important; 990 fill: currentColor !important; 991} 992 993/* Masquer texte, chevron, bouton +, liste dossiers */ 994.dashboard-left.is-collapsed .agilo-nav-folders__summary-text, 995.dashboard-left.is-collapsed .agilo-nav-folders__chev, 996.dashboard-left.is-collapsed .agilo-nav-folders__summary-actions, 997.dashboard-left.is-collapsed .agilo-nav-folders-details > :not(summary) { 998 display: none !important; 999} 1000 1001/* ââ Badge « N » Mes fichiers : sorti de .wrapper-link masqué, positionné sur l'icône ââ */ 1002.dashboard-left.is-collapsed a.dashboard-link[data-tour="nav-transcripts"] { 1003 position: relative !important; 1004} 1005 1006.dashboard-left.is-collapsed a.dashboard-link[data-tour="nav-transcripts"] #readyCount, 1007.dashboard-left.is-collapsed a.dashboard-link[data-tour="nav-transcripts"] .readycount { 1008 display: flex !important; 1009 visibility: visible !important; 1010 position: absolute !important; 1011 top: 0.1rem !important; 1012 right: 0.1rem !important; 1013 min-width: 1rem !important; 1014 height: 1rem !important; 1015 padding: 0 0.2rem !important; 1016 font-size: 0.55rem !important; 1017 font-weight: 600 !important; 1018 line-height: 1rem !important; 1019 border-radius: 999px !important; 1020 justify-content: center !important; 1021 align-items: center !important; 1022 pointer-events: none !important; 1023 z-index: 2 !important; 1024 background: var(--color--blue, #174a96) !important; 1025 color: #fff !important; 1026} 1027 1028/* ââ v1.9 UX : hover, actif, focus (collapsed only) ââ */ 1029.dashboard-left.is-collapsed a.dashboard-link:not(.folder):hover, 1030.dashboard-left.is-collapsed .dashboard-link.folder:hover, 1031.dashboard-left.is-collapsed summary.agilo-nav-folders__summary:hover { 1032 background: rgba(0, 0, 0, 0.06) !important; 1033 border-radius: 0.625rem !important; 1034} 1035 1036.dashboard-left.is-collapsed a.dashboard-link.w--current, 1037.dashboard-left.is-collapsed a.dashboard-link[aria-current="page"] { 1038 background: rgba(255, 255, 255, 0.96) !important; 1039 box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.06) !important; 1040 border-radius: 0.625rem !important; 1041} 1042 1043.dashboard-left.is-collapsed .dashboard-link.folder:has(.agilo-nav-folders__row.is-active) summary, 1044.dashboard-left.is-collapsed .dashboard-link.folder:has(.agilo-nav-folders__row.is-active), 1045.dashboard-left.is-collapsed .dashboard-link.folder.is-nav-active summary, 1046.dashboard-left.is-collapsed .dashboard-link.folder.is-nav-active { 1047 background: rgba(255, 255, 255, 0.96) !important; 1048 box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.06) !important; 1049 border-radius: 0.625rem !important; 1050} 1051 1052.dashboard-left.is-collapsed a.dashboard-link:focus-visible, 1053.dashboard-left.is-collapsed summary.agilo-nav-folders__summary:focus-visible { 1054 outline: 2px solid var(--color--blue, #174a96) !important; 1055 outline-offset: 2px !important; 1056} 1057 1058/* ââ v1.9 Flyout labels (injecté par JS, position fixed) ââ */ 1059#agilo-sidebar-flyout { 1060 position: fixed; 1061 z-index: 10050; 1062 pointer-events: none; 1063 padding: 0.35rem 0.55rem; 1064 font-size: 0.8125rem; 1065 line-height: 1.25; 1066 color: #fff; 1067 background: rgba(2, 2, 2, 0.92); 1068 border-radius: 0.375rem; 1069 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); 1070 opacity: 0; 1071 visibility: hidden; 1072 transition: opacity 0.12s ease; 1073 max-width: min(16rem, calc(100vw - 1rem)); 1074} 1075 1076#agilo-sidebar-flyout.is-visible { 1077 opacity: 1; 1078 visibility: visible; 1079} 1080 1081#agilo-sidebar-flyout[hidden] { 1082 display: block !important; 1083} 1084 1085.agilo-sidebar-flyout__hint { 1086 display: block; 1087 font-size: 0.6875rem; 1088 opacity: 0.75; 1089 margin-top: 0.1rem; 1090} 1091
1092#agilo-sidebar-flyout::before { 1093 content: ""; 1094 position: absolute; 1095 left: -4px; 1096 top: 50%; 1097 margin-top: -4px; 1098 border: 4px solid transparent; 1099 border-right-color: rgba(2, 2, 2, 0.92); 1100} 1101 1102#agilo-sidebar-flyout.is-flip-left::before { 1103 left: auto; 1104 right: -4px; 1105 border-right-color: transparent; 1106 border-left-color: rgba(2, 2, 2, 0.92); 1107} 1108 1109@media (prefers-reduced-motion: reduce) { 1110 #agilo-sidebar-flyout { 1111 transition: none !important; 1112 } 1113 1114 .dashboard-left { 1115 transition: none !important; 1116 } 1117} 1118 1119 1120</style> 1121
1122<script> 1123/** 1124 * Agilotext â toggle barre latérale dashboard (.dashboard-left) 1125 * Webflow : coller le CSS (Code-sidebar-toggle.css) + ce script 1126 * dans Project Settings â Custom Code â Before </body> 1127 * 1128 * Le bouton Webflow porte data-sidebar-toggle + class button-sidebar. 1129 * v1.9 â flyouts collapsed, hover/actif, libellés propres. 1130 * v1.8 â fix wrapper .dashboard-link.folder > .embed-code-dossier. 1131 * v1.9.1 â logo nav_logo-link re-cliquable (retrait pointer-events:none global). 1132 */ 1133(function () { 1134 'use strict'; 1135 1136 if (!/\/app\//i.test(location.pathname)) return; 1137 if (window.__agiloSidebarToggleBound) return; 1138 window.__agiloSidebarToggleBound = true; 1139 1140 var STORAGE_KEY = 'agilo_sidebar_collapsed_v1'; 1141 var HIDE_CLASS = 'hide'; 1142 var TOGGLE_SEL = '.button-sidebar, [data-sidebar-toggle]'; 1143 var FLYOUT_ID = 'agilo-sidebar-flyout'; 1144 var FLYOUT_SHOW_MS = 80; 1145 var FLYOUT_HIDE_MS = 120; 1146 var FLYOUT_TARGET_SEL = 1147 'a.dashboard-link:not(.folder), .dashboard-link.folder, summary.agilo-nav-folders__summary, .button-sidebar, [data-sidebar-toggle]'; 1148 1149 var TOUR_LABELS = { 1150 'nav-dashboard': 'Accueil', 1151 'nav-transcripts': 'Mes fichiers', 1152 'nav-account': 'Mon compte', 1153 'nav-billing': 'Factures', 1154 'nav-anonymize': 'Anonymiser (RGPD)', 1155 'nav-support': 'Support' 1156 }; 1157 1158 var flyoutState = { 1159 el: null, 1160 showTimer: null, 1161 hideTimer: null, 1162 currentTarget: null 1163 }; 1164 1165 function readCollapsedPref() { 1166 try { 1167 return localStorage.getItem(STORAGE_KEY) === '1'; 1168 } catch (_e) { 1169 return false; 1170 } 1171 } 1172 1173 function writeCollapsedPref(collapsed) { 1174 try { 1175 localStorage.setItem(STORAGE_KEY, collapsed ? '1' : '0'); 1176 } catch (_e) { 1177 /* Brave / mode privé strict : ignorer */ 1178 } 1179 } 1180 1181 function getPair(fromToggle) { 1182 var sidebar = document.querySelector('.dashboard-left'); 1183 var toggle = fromToggle || document.querySelector(TOGGLE_SEL); 1184 if (!sidebar || !toggle) return null; 1185 return { sidebar: sidebar, toggle: toggle }; 1186 } 1187 1188 function cleanLabel(text) { 1189 return String(text || '') 1190 .replace(/([a-zà âäéèêëïîôùûü])([A-ZÃÃÃÃÃÃÃÃÃÃÃÃÃ])/g, '$1 $2') 1191 .replace(/\s+/g, ' ') 1192 .trim(); 1193 } 1194 1195 function isFolderTarget(el) { 1196 if (!el || !el.matches) return false; 1197 return el.matches('.dashboard-link.folder, .agilo-nav-folders__summary') || 1198 !!(el.closest && el.closest('.dashboard-link.folder')); 1199 } 1200 1201 function isToggleTarget(el) { 1202 return !!(el && el.matches && el.matches(TOGGLE_SEL)); 1203 } 1204 1205 function resolveNavLabel(el) { 1206 if (!el) return 'Navigation'; 1207 1208 if (isToggleTarget(el)) { 1209 var pair = getPair(); 1210 return pair && pair.sidebar.classList.contains('is-collapsed') 1211 ? 'Ouvrir le menu' 1212 : 'Réduire le menu'; 1213 } 1214 1215 if (isFolderTarget(el)) return 'Dossiers'; 1216 1217 var stored = el.getAttribute('data-sidebar-label'); 1218 if (stored) return stored; 1219 1220 var wrapperText = el.querySelector('.wrapper-link > div:first-child'); 1221 if (wrapperText) { 1222 var wt = cleanLabel(wrapperText.textContent); 1223 if (wt) return wt; 1224 } 1225 1226 var tour = el.getAttribute('data-tour'); 1227 if (tour && TOUR_LABELS[tour]) return TOUR_LABELS[tour]; 1228 1229 var storedTitle = el.getAttribute('data-sidebar-title-stored') || el.getAttribute('title'); 1230 if (storedTitle) return cleanLabel(storedTitle); 1231 1232 var directDivs = el.querySelectorAll(':scope > div'); 1233 for (var i = 0; i < directDivs.length; i++) { 1234 var node = directDivs[i]; 1235 if (node.classList.contains('wrapper-link')) continue; 1236 if (node.classList.contains('icon-small') || node.classList.contains('w-embed')) continue; 1237 if (node.classList.contains('wrapper-new-button')) continue; 1238 var dt = cleanLabel(node.textContent); 1239 if (dt && dt.length < 48) return dt; 1240 } 1241 1242 return 'Navigation'; 1243 } 1244 1245 function resolveNavHint(el) { 1246 if (!el || isToggleTarget(el)) return ''; 1247 1248 if (isFolderTarget(el)) return 'Cliquer pour ouvrir le menu'; 1249 1250 var tour = el.getAttribute('data-tour'); 1251 if (tour === 'nav-transcripts') { 1252 var rc = document.getElementById('readyCount'); 1253 var n = rc ? parseInt(String(rc.textContent).trim(), 10) : 0; 1254 if (n > 0) { 1255 return n + ' fichier' + (n > 1 ? 's' : '') + ' prêt' + (n > 1 ? 's' : ''); 1256 } 1257 } 1258 1259 if (tour === 'nav-billing' && el.getAttribute('target') === '_blank') { 1260 return 'Nouvel onglet'; 1261 } 1262 1263 return ''; 1264 } 1265 1266 function getFlyoutTarget(fromEl) { 1267 if (!fromEl || !fromEl.closest) return null; 1268 if (fromEl.matches && fromEl.matches(FLYOUT_TARGET_SEL)) return fromEl; 1269 return fromEl.closest(FLYOUT_TARGET_SEL); 1270 } 1271 1272 function ensureFlyout() { 1273 if (flyoutState.el) return flyoutState.el; 1274 var el = document.createElement('div'); 1275 el.id = FLYOUT_ID; 1276 el.setAttribute('role', 'tooltip'); 1277 el.hidden = true; 1278 el.innerHTML = 1279 '<span class="agilo-sidebar-flyout__label"></span>' + 1280 '<span class="agilo-sidebar-flyout__hint"></span>'; 1281 document.body.appendChild(el); 1282 flyoutState.el = el; 1283 return el; 1284 } 1285 1286 function hideFlyout(immediate) { 1287 clearTimeout(flyoutState.showTimer); 1288 clearTimeout(flyoutState.hideTimer); 1289 1290 function doHide() { 1291 if (flyoutState.currentTarget) { 1292 flyoutState.currentTarget.removeAttribute('aria-describedby'); 1293 flyoutState.currentTarget = null; 1294 } 1295 if (!flyoutState.el) return; 1296 flyoutState.el.classList.remove('is-visible', 'is-flip-left'); 1297 flyoutState.el.hidden = true; 1298 } 1299 1300 if (immediate) doHide(); 1301 else flyoutState.hideTimer = setTimeout(doHide, FLYOUT_HIDE_MS); 1302 } 1303 1304 function positionFlyout(flyout, target) { 1305 var rect = target.getBoundingClientRect(); 1306 flyout.classList.remove('is-flip-left'); 1307 flyout.hidden = false;
1308 flyout.classList.add('is-visible'); 1309 1310 var fh = flyout.offsetHeight || 0; 1311 var fw = flyout.offsetWidth || 0; 1312 var top = rect.top + rect.height / 2 - fh / 2; 1313 var left = rect.right + 10; 1314 1315 if (left + fw > window.innerWidth - 8) { 1316 left = rect.left - fw - 10; 1317 flyout.classList.add('is-flip-left'); 1318 } 1319 1320 if (top < 8) top = 8; 1321 if (top + fh > window.innerHeight - 8) top = Math.max(8, window.innerHeight - fh - 8); 1322 1323 flyout.style.left = Math.round(left) + 'px'; 1324 flyout.style.top = Math.round(top) + 'px'; 1325 flyout.style.marginTop = '0'; 1326 } 1327 1328 function showFlyout(target) { 1329 var pair = getPair(); 1330 if (!pair || !target) return; 1331 1332 var collapsed = pair.sidebar.classList.contains('is-collapsed'); 1333 if (!isToggleTarget(target) && !collapsed) return; 1334 1335 clearTimeout(flyoutState.hideTimer); 1336 clearTimeout(flyoutState.showTimer); 1337 1338 flyoutState.showTimer = setTimeout(function () { 1339 if (!document.body.contains(target)) return; 1340 1341 var flyout = ensureFlyout(); 1342 if (flyoutState.currentTarget && flyoutState.currentTarget !== target) { 1343 flyoutState.currentTarget.removeAttribute('aria-describedby'); 1344 } 1345 1346 flyoutState.currentTarget = target; 1347 var labelEl = flyout.querySelector('.agilo-sidebar-flyout__label'); 1348 var hintEl = flyout.querySelector('.agilo-sidebar-flyout__hint'); 1349 var label = resolveNavLabel(target); 1350 var hint = resolveNavHint(target); 1351 1352 labelEl.textContent = label; 1353 if (hint) { 1354 hintEl.textContent = hint; 1355 hintEl.style.display = 'block'; 1356 } else { 1357 hintEl.textContent = ''; 1358 hintEl.style.display = 'none'; 1359 } 1360 1361 positionFlyout(flyout, target); 1362 target.setAttribute('aria-describedby', FLYOUT_ID); 1363 }, FLYOUT_SHOW_MS); 1364 } 1365 1366 function shouldShowFlyout(target, sidebar) { 1367 if (!target || !sidebar.contains(target)) return false; 1368 if (isToggleTarget(target)) return true; 1369 return sidebar.classList.contains('is-collapsed'); 1370 } 1371 1372 function onFlyoutMouseOver(event) { 1373 var pair = getPair(); 1374 if (!pair) return; 1375 var target = getFlyoutTarget(event.target); 1376 if (!shouldShowFlyout(target, pair.sidebar)) return; 1377 showFlyout(target); 1378 } 1379 1380 function onFlyoutMouseOut(event) { 1381 var target = getFlyoutTarget(event.target); 1382 if (!target) return; 1383 var related = event.relatedTarget; 1384 if (related && target.contains(related)) return; 1385 hideFlyout(false); 1386 } 1387 1388 function onFlyoutFocusIn(event) { 1389 onFlyoutMouseOver(event); 1390 } 1391 1392 function onFlyoutFocusOut(event) { 1393 var target = getFlyoutTarget(event.target); 1394 if (!target) return; 1395 var related = event.relatedTarget; 1396 if (related && target.contains(related)) return; 1397 hideFlyout(false); 1398 } 1399 1400 function initNavLabels(sidebar) { 1401 sidebar.querySelectorAll('a.dashboard-link').forEach(function (link) { 1402 if (link.getAttribute('title') && !link.getAttribute('data-sidebar-title-stored')) { 1403 link.setAttribute('data-sidebar-title-stored', link.getAttribute('title')); 1404 } 1405 var label = resolveNavLabel(link); 1406 if (label && label !== 'Navigation') { 1407 link.setAttribute('data-sidebar-label', label); 1408 } 1409 }); 1410 1411 var folderWrap = sidebar.querySelector('.dashboard-link.folder'); 1412 if (folderWrap) { 1413 folderWrap.setAttribute('data-sidebar-label', 'Dossiers'); 1414 } 1415 1416 sidebar.querySelectorAll('.agilo-nav-folders__summary').forEach(function (sum) { 1417 sum.setAttribute('data-sidebar-label', 'Dossiers'); 1418 }); 1419 } 1420 1421 function syncTitleAttributes(sidebar, collapsed) { 1422 sidebar.querySelectorAll('a.dashboard-link, .dashboard-link.folder, .agilo-nav-folders__summary').forEach(function (el) { 1423 var label = el.getAttribute('data-sidebar-label') || resolveNavLabel(el); 1424 if (collapsed) { 1425 el.removeAttribute('title'); 1426 if (label) el.setAttribute('aria-label', label); 1427 } else if (label) { 1428 el.setAttribute('title', label); 1429 } 1430 }); 1431 } 1432 1433 function updateFolderActiveState(sidebar) { 1434 var folder = sidebar.querySelector('.dashboard-link.folder'); 1435 if (!folder) return; 1436 var active = folder.querySelector('.agilo-nav-folders__row.is-active'); 1437 folder.classList.toggle('is-nav-active', !!active); 1438 } 1439 1440 function bindFlyout(sidebar) { 1441 if (sidebar.__agiloFlyoutBound) return; 1442 sidebar.__agiloFlyoutBound = true; 1443 1444 sidebar.addEventListener('mouseover', onFlyoutMouseOver, true); 1445 sidebar.addEventListener('mouseout', onFlyoutMouseOut, true); 1446 sidebar.addEventListener('focusin', onFlyoutFocusIn, true); 1447 sidebar.addEventListener('focusout', onFlyoutFocusOut, true); 1448 1449 window.addEventListener('scroll', function () { hideFlyout(true); }, true); 1450 window.addEventListener('resize', function () { hideFlyout(true); }); 1451 1452 var root = document.getElementById('agilo-nav-folders-root'); 1453 if (root) { 1454 new MutationObserver(function () { 1455 updateFolderActiveState(sidebar); 1456 }).observe(root, { 1457 subtree: true, 1458 attributes: true, 1459 attributeFilter: ['class'] 1460 }); 1461 } 1462 } 1463 1464 function setIconVisibility(toggle, collapsed) { 1465 var iconCollapse = 1466 toggle.querySelector('[data-icon="collapse"]') || toggle.querySelectorAll('svg')[0]; 1467 var iconExpand = 1468 toggle.querySelector('[data-icon="expand"]') || toggle.querySelectorAll('svg')[1]; 1469 if (iconCollapse) iconCollapse.classList.toggle(HIDE_CLASS, collapsed); 1470 if (iconExpand) iconExpand.classList.toggle(HIDE_CLASS, !collapsed); 1471 } 1472 1473 function purgeInlineStyles(sidebar) { 1474 var PROPS = ['display', 'visibility', 'opacity']; 1475 1476 ['.wrapper-menu', '.full-width', '.dashboard-menu'].forEach(function (sel) { 1477 var el = sidebar.querySelector(sel); 1478 if (!el) return;
1479 PROPS.forEach(function (p) { el.style.removeProperty(p); }); 1480 }); 1481 1482 sidebar.querySelectorAll('.dashboard-link .icon-small, .dashboard-link .icon-1x1-small').forEach(function (el) { 1483 PROPS.forEach(function (p) { el.style.removeProperty(p); }); 1484 }); 1485 1486 sidebar.querySelectorAll( 1487 '.dashboard-link.folder > .embed-code-dossier, ' + 1488 '#agilo-nav-folders-root, ' + 1489 '.agilo-nav-folders__summary-main, .agilo-nav-folders__summary-icon-root' 1490 ).forEach(function (el) { 1491 PROPS.forEach(function (p) { el.style.removeProperty(p); }); 1492 }); 1493 } 1494 1495 function setCollapsed(sidebar, toggle, collapsed, persist) { 1496 sidebar.classList.toggle('is-collapsed', collapsed); 1497 purgeInlineStyles(sidebar); 1498 void sidebar.offsetHeight; 1499 1500 toggle.setAttribute('aria-expanded', String(!collapsed)); 1501 var label = collapsed ? 'Ouvrir la barre latérale' : 'Réduire la barre latérale'; 1502 toggle.setAttribute('aria-label', label); 1503 if (collapsed) { 1504 toggle.removeAttribute('title'); 1505 } else { 1506 toggle.setAttribute('title', label); 1507 } 1508 1509 setIconVisibility(toggle, collapsed); 1510 syncTitleAttributes(sidebar, collapsed); 1511 updateFolderActiveState(sidebar); 1512 hideFlyout(true); 1513 1514 if (persist) writeCollapsedPref(collapsed); 1515 } 1516 1517 function initSidebar(sidebar, toggle) { 1518 if (!sidebar.id) sidebar.id = 'agiloSidebar'; 1519 toggle.type = 'button'; 1520 toggle.setAttribute('aria-controls', sidebar.id); 1521 toggle.removeAttribute('data-sidebar-init'); 1522 1523 initNavLabels(sidebar); 1524 bindFlyout(sidebar); 1525 updateFolderActiveState(sidebar); 1526 1527 setCollapsed(sidebar, toggle, readCollapsedPref(), false); 1528 1529 try { 1530 toggle.scrollIntoView({ block: 'nearest', inline: 'nearest' }); 1531 } catch (_e) {} 1532 } 1533 1534 function boot() { 1535 var pair = getPair(); 1536 if (!pair) return; 1537 initSidebar(pair.sidebar, pair.toggle); 1538 } 1539 1540 function isClickInsideToggle(event, toggle) { 1541 if (!toggle) return false; 1542 1543 var target = event.target; 1544 if (target && (toggle === target || toggle.contains(target))) return true; 1545 if (target && target.closest && target.closest(TOGGLE_SEL)) return true; 1546 if (event.clientX == null || event.clientY == null) return false; 1547 1548 var rect = toggle.getBoundingClientRect(); 1549 if (!rect.width || !rect.height) return false; 1550 1551 return ( 1552 event.clientX >= rect.left && 1553 event.clientX <= rect.right && 1554 event.clientY >= rect.top && 1555 event.clientY <= rect.bottom 1556 ); 1557 } 1558 1559 function onToggleClick(event) { 1560 var pair = getPair(); 1561 if (!pair) return; 1562 1563 if (pair.sidebar.classList.contains('is-collapsed')) { 1564 var target = event.target; 1565 var foldersHit = target && target.closest 1566 ? target.closest('.agilo-nav-folders__summary, .dashboard-link.folder') 1567 : null; 1568 if (foldersHit && pair.sidebar.contains(foldersHit)) { 1569 event.preventDefault(); 1570 event.stopPropagation(); 1571 setCollapsed(pair.sidebar, pair.toggle, false, true); 1572 return; 1573 } 1574 } 1575 1576 if (!isClickInsideToggle(event, pair.toggle)) return; 1577 1578 event.preventDefault(); 1579 event.stopPropagation(); 1580 setCollapsed( 1581 pair.sidebar, 1582 pair.toggle, 1583 !pair.sidebar.classList.contains('is-collapsed'), 1584 true 1585 ); 1586 } 1587 1588 document.addEventListener('click', onToggleClick, true); 1589 1590 if (document.readyState === 'loading') { 1591 document.addEventListener('DOMContentLoaded', boot); 1592 } else { 1593 boot(); 1594 } 1595})(); 1596 1597 1598 1599</script>
1599 1600 1601
1602<script defer src="https://cdn.jsdelivr.net/gh/Agilotext/Agilotext-Scripts-Public@main/scripts/shared/agilo-mobile-app-banner.js"></script>
1602 1603 1604 1605<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/Agilotext/[email protected]/scripts/pages/dashboard/a11y/agilotext-a11y-lite.css" crossorigin="anonymous">
1606<script defer src="https://cdn.jsdelivr.net/gh/Agilotext/[email protected]/scripts/pages/dashboard/a11y/agilotext-a11y-lite.js" crossorigin="anonymous"></script>
1606 1607 1608
1609<script> 1610/* ================================================================ 1611 AGILOTEXT - GLOBAL INVITE HANDLER 1612 à coller dans Webflow : Project Settings â Custom Code 1613 â Before </body> (s'applique à TOUTES les pages du site) 1614 1615 Rôle : si un membre vient de se connecter via Google OAuth depuis 1616 la page join-team, il peut atterrir n'importe où (loginRedirect). 1617 Ce script détecte pendingInviteCode + membre connecté â redirige 1618 vers join-team pour appliquer l'invitation, quelle que soit la page. 1619================================================================ */ 1620(function () { 1621 'use strict'; 1622 1623 // Ne rien faire si déjà sur join-team ou post-login : ces pages gèrent elles-mêmes. 1624 var path = window.location.pathname || ''; 1625 if (path.indexOf('/auth/join-team') !== -1) return; 1626 if (path.indexOf('/auth/post-login') !== -1) return; 1627 if (path.indexOf('/auth/setup') !== -1) return; 1628 if (path.indexOf('/auth/login') !== -1) return; 1629 if (path.indexOf('/auth/sign-up') !== -1) return; 1630 1631 // Vérification rapide : si rien en attente, ne pas charger. 1632 var pendingCode = localStorage.getItem('pendingInviteCode'); 1633 if (!pendingCode) return; 1634 1635 var sleep = function (ms) { return new Promise(function (r) { setTimeout(r, ms); }); }; 1636 1637 async function waitForMemberstack(maxWait) { 1638 var start = Date.now(); 1639 while (Date.now() - start < maxWait) { 1640 if (window.$memberstackDom && typeof window.$memberstackDom.getCurrentMember === 'function') { 1641 return window.$memberstackDom; 1642 } 1643 await sleep(200); 1644 } 1645 return null; 1646 } 1647 1648 function memberIsInTeam(member) { 1649 if (!member) return false; 1650 var teams = member.teams || {}; 1651 var joined = Array.isArray(teams.joinedTeams) ? teams.joinedTeams : []; 1652 return joined.length > 0; 1653 } 1654 1655 async function run() { 1656 var ms = await waitForMemberstack(8000); 1657 if (!ms) return; 1658 1659 var result; 1660 try { result = await ms.getCurrentMember({ useCache: false }); } 1661 catch (_) { return; } 1662 1663 var member = result && result.data; 1664 if (!member) return; // Pas connecté â rien à faire 1665 1666 // Re-vérifier : un autre onglet a peut-être déjà nettoyé le code 1667 var code = localStorage.getItem('pendingInviteCode'); 1668 if (!code) return; 1669 1670 if (memberIsInTeam(member)) { 1671 // L'invitation est déjà appliquée : nettoyage + routage correct 1672 localStorage.removeItem('pendingInviteCode'); 1673 console.log('[agilo-invite] Invitation déjà appliquée, routageâ¦'); 1674 window.location.replace('/auth/post-login'); 1675 return; 1676 } 1677 1678 // Invitation pas encore appliquée â join-team avec le membre connecté 1679 localStorage.removeItem('pendingInviteCode'); 1680 console.log('[agilo-invite] Invitation en attente, applicationâ¦', code); 1681 window.location.replace('/auth/join-team?inviteToken=' + encodeURIComponent(code) + '&_from=pl'); 1682 } 1683 1684 if (document.readyState === 'loading') { 1685 document.addEventListener('DOMContentLoaded', run); 1686 } else { 1687 run(); 1688 } 1689})(); 1690 1691 1692</script>
1692<script src="https://cdn.prod.website-files.com/6815bee5a9c0b57da18354fb%2F689e5ba67671442434f3ca35%2F69f0e4e7181e77ff6194b8e3%2Fcomparatiffaqschemaotter-1.0.0.js" type="text/javascript"></script>
1692</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.