{"id":4544,"date":"2026-09-29T00:07:58","date_gmt":"2026-09-29T00:07:58","guid":{"rendered":"https:\/\/jiris.ca\/?page_id=4544"},"modified":"2026-09-30T22:52:34","modified_gmt":"2026-09-30T22:52:34","slug":"outil4-soutenir-ce-qui-est-en-cours","status":"publish","type":"page","link":"https:\/\/jiris.ca\/en\/outil4-soutenir-ce-qui-est-en-cours\/","title":{"rendered":"Outil4- Soutenir ce qui est en cours"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"4544\" class=\"elementor elementor-4544\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-275f3974 e-flex e-con-boxed e-con e-parent\" data-id=\"275f3974\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-4e7047c3 e-con-full e-flex e-con e-child\" data-id=\"4e7047c3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-30349d6a elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"30349d6a\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;_animation_delay&quot;:200}\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Soutenir ce qui est en cours<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-35b37e3e e-flex e-con-boxed e-con e-parent\" data-id=\"35b37e3e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-57e98c04 elementor-widget elementor-widget-html\" data-id=\"57e98c04\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- D\u00e9but de l'outil JIRIS - Outil 4 -->\n<div class=\"jiris-app-wrapper\">\n  <style>\n    \/* =========================================================\n       JIRIS \u2014 OUTIL 4 : SOUTENIR CE QUI EST EN COURS\n       Styles isol\u00e9s au composant\n       ========================================================= *\/\n\n    .jiris-app-wrapper {\n      --cream: #FAF6F0;\n      --cream-dark: #F0EAE0;\n      --terracotta: #C86B4A;\n      --terracotta-soft: #E8A88C;\n      --terracotta-light: #F5D5C4;\n      --sage: #8FA98B;\n      --sage-dark: #6F8E6B;\n      --sage-light: #D5E3D2;\n      --ink: #2B2522;\n      --ink-soft: #5C5450;\n      --ink-muted: #8A817A;\n      --white: #FFFFFF;\n\n      --shadow-sm: 0 2px 8px rgba(43, 37, 34, 0.04);\n      --shadow-md: 0 8px 24px rgba(43, 37, 34, 0.08);\n      --shadow-lg: 0 16px 40px rgba(43, 37, 34, 0.12);\n\n      font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;\n      background-color: var(--cream);\n      color: var(--ink);\n      line-height: 1.6;\n      padding: 2rem 1rem;\n      border-radius: 16px;\n      margin: 2rem 0;\n    }\n\n    .jiris-app-wrapper * {\n      box-sizing: border-box;\n    }\n\n    .jiris-app-wrapper h1,\n    .jiris-app-wrapper h2,\n    .jiris-app-wrapper h3,\n    .jiris-app-wrapper p {\n      margin: 0;\n      padding: 0;\n    }\n\n    .jiris-app-wrapper :focus-visible {\n      outline: 3px solid var(--terracotta);\n      outline-offset: 3px;\n    }\n\n    .jiris-app-wrapper button,\n    .jiris-app-wrapper textarea,\n    .jiris-app-wrapper input {\n      font: inherit;\n    }\n\n    .jiris-app-wrapper .jiris-container {\n      max-width: 780px;\n      margin: 0 auto;\n    }\n\n    \/* =========================================================\n       HEADER\n       ========================================================= *\/\n\n    .jiris-app-wrapper .jiris-header {\n      text-align: center;\n      margin-bottom: 2rem;\n      padding: 0 1rem;\n    }\n\n    .jiris-app-wrapper .breadcrumb {\n      display: inline-flex;\n      align-items: center;\n      gap: 0.5rem;\n      font-size: 0.875rem;\n      color: var(--ink-muted);\n      margin-bottom: 1.5rem;\n      text-transform: uppercase;\n      letter-spacing: 0.08em;\n    }\n\n    .jiris-app-wrapper .breadcrumb .dot {\n      width: 4px;\n      height: 4px;\n      background: var(--terracotta);\n      border-radius: 50%;\n    }\n\n    .jiris-app-wrapper .jiris-header h1 {\n      font-family: 'Fraunces', Georgia, serif;\n      font-size: clamp(2rem, 5vw, 3rem);\n      font-weight: 500;\n      line-height: 1.15;\n      color: var(--ink);\n      margin-bottom: 1rem;\n      letter-spacing: -0.02em;\n    }\n\n    .jiris-app-wrapper .jiris-header .subtitle {\n      font-size: 1.125rem;\n      color: var(--ink-soft);\n      max-width: 650px;\n      margin: 0 auto 1.5rem;\n      font-weight: 400;\n    }\n\n    .jiris-app-wrapper .jiris-header .intro {\n      font-size: 1rem;\n      color: var(--ink-soft);\n      background: var(--white);\n      padding: 1.5rem 2rem;\n      border-radius: 20px;\n      border-left: 3px solid var(--terracotta);\n      text-align: left;\n      box-shadow: var(--shadow-sm);\n    }\n\n    \/* =========================================================\n       CONFIDENTIALIT\u00c9 \u2014 MENTION INFORMATIVE EN AMONT\n       ========================================================= *\/\n\n    .jiris-app-wrapper .storage-status {\n      display: flex;\n      align-items: flex-start;\n      gap: 0.85rem;\n      background: rgba(255, 255, 255, 0.72);\n      border: 1px solid var(--cream-dark);\n      border-radius: 14px;\n      padding: 0.9rem 1.1rem;\n      margin: 0 auto 2rem;\n      max-width: 720px;\n      color: var(--ink-soft);\n      font-size: 0.85rem;\n      text-align: left;\n    }\n\n    .jiris-app-wrapper .storage-status-icon {\n      flex-shrink: 0;\n      font-size: 1rem;\n      line-height: 1.5;\n    }\n\n    .jiris-app-wrapper .storage-status strong {\n      color: var(--ink);\n      font-weight: 600;\n    }\n\n    .jiris-app-wrapper .storage-status p {\n      margin: 0;\n    }\n\n    \/* =========================================================\n       ORIENTATION\n       ========================================================= *\/\n\n    .jiris-app-wrapper .orientation {\n      background: var(--terracotta-light);\n      border-radius: 20px;\n      padding: 1.5rem 2rem;\n      margin-bottom: 2rem;\n      color: var(--ink);\n    }\n\n    .jiris-app-wrapper .orientation h2 {\n      font-family: 'Fraunces', Georgia, serif;\n      font-size: 1.125rem;\n      font-weight: 500;\n      margin-bottom: 0.5rem;\n      display: flex;\n      align-items: center;\n      gap: 0.5rem;\n    }\n\n    .jiris-app-wrapper .orientation p {\n      font-size: 0.95rem;\n      color: var(--ink-soft);\n    }\n\n    .jiris-app-wrapper .orientation strong {\n      color: var(--ink);\n    }\n\n    \/* =========================================================\n       STEPS\n       ========================================================= *\/\n\n    .jiris-app-wrapper .steps {\n      display: flex;\n      flex-direction: column;\n      gap: 1.5rem;\n      margin-bottom: 2.5rem;\n    }\n\n    .jiris-app-wrapper .step {\n      background: var(--white);\n      border-radius: 24px;\n      padding: 2rem;\n      box-shadow: var(--shadow-sm);\n      transition:\n        box-shadow 0.3s ease,\n        transform 0.3s ease;\n      position: relative;\n      overflow: hidden;\n    }\n\n    .jiris-app-wrapper .step:hover {\n      box-shadow: var(--shadow-md);\n      transform: translateY(-2px);\n    }\n\n    .jiris-app-wrapper .step::before {\n      content: '';\n      position: absolute;\n      top: 0;\n      left: 0;\n      width: 4px;\n      height: 100%;\n      background: linear-gradient(\n        to bottom,\n        var(--terracotta),\n        var(--terracotta-soft)\n      );\n    }\n\n    .jiris-app-wrapper .step-header {\n      display: flex;\n      align-items: flex-start;\n      gap: 1rem;\n      margin-bottom: 1rem;\n    }\n\n    .jiris-app-wrapper .step-number {\n      flex-shrink: 0;\n      width: 44px;\n      height: 44px;\n      background: var(--terracotta-light);\n      color: var(--terracotta);\n      border-radius: 12px;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      font-family: 'Fraunces', Georgia, serif;\n      font-weight: 600;\n      font-size: 1.25rem;\n    }\n\n    .jiris-app-wrapper .step-title-block {\n      flex: 1;\n    }\n\n    .jiris-app-wrapper .step-title {\n      font-family: 'Fraunces', Georgia, serif;\n      font-size: 1.375rem;\n      font-weight: 500;\n      color: var(--ink);\n      margin-bottom: 0.25rem;\n      letter-spacing: -0.01em;\n    }\n\n    .jiris-app-wrapper .step-objective {\n      font-size: 0.875rem;\n      color: var(--ink-muted);\n      font-style: italic;\n    }\n\n    .jiris-app-wrapper .step-description {\n      color: var(--ink-soft);\n      margin-bottom: 1.25rem;\n      font-size: 0.975rem;\n    }\n\n    \/* =========================================================\n       EXEMPLES & CHAMPS\n       ========================================================= *\/\n\n    .jiris-app-wrapper .example {\n      background: var(--cream);\n      border-radius: 12px;\n      padding: 1rem 1.25rem;\n      margin-bottom: 1.25rem;\n      font-size: 0.9rem;\n      color: var(--ink-soft);\n      border-left: 2px solid var(--terracotta-soft);\n    }\n\n    .jiris-app-wrapper .example strong {\n      display: block;\n      font-size: 0.75rem;\n      text-transform: uppercase;\n      letter-spacing: 0.08em;\n      color: var(--terracotta);\n      font-weight: 600;\n      margin-bottom: 0.4rem;\n    }\n\n    .jiris-app-wrapper .input-wrapper {\n      position: relative;\n    }\n\n    .jiris-app-wrapper .input-wrapper + .input-wrapper {\n      margin-top: 1rem;\n    }\n\n    .jiris-app-wrapper .input-wrapper label {\n      display: block;\n      font-size: 0.875rem;\n      color: var(--ink);\n      font-weight: 500;\n      margin-bottom: 0.5rem;\n    }\n\n    .jiris-app-wrapper .input-hint {\n      font-size: 0.8rem;\n      color: var(--ink-muted);\n      margin: -0.15rem 0 0.6rem;\n      line-height: 1.5;\n    }\n\n    .jiris-app-wrapper .input-wrapper textarea,\n    .jiris-app-wrapper .input-wrapper input[type=\"text\"] {\n      display: block;\n      width: 100%;\n      padding: 1rem 1.25rem;\n      border: 1.5px solid var(--cream-dark);\n      border-radius: 14px;\n      background: var(--cream);\n      font-family: inherit;\n      font-size: 1rem;\n      color: var(--ink);\n      transition:\n        border-color 0.2s ease,\n        background 0.2s ease,\n        box-shadow 0.2s ease;\n      line-height: 1.5;\n    }\n\n    .jiris-app-wrapper .input-wrapper textarea {\n      min-height: 80px;\n      resize: vertical;\n      overflow-y: hidden;\n    }\n\n    .jiris-app-wrapper .input-wrapper input[type=\"text\"] {\n      min-height: 52px;\n    }\n\n    .jiris-app-wrapper .input-wrapper textarea:focus,\n    .jiris-app-wrapper .input-wrapper input[type=\"text\"]:focus {\n      outline: none;\n      border-color: var(--terracotta);\n      background: var(--white);\n      box-shadow: 0 0 0 4px rgba(200, 107, 74, 0.1);\n    }\n\n    .jiris-app-wrapper .input-wrapper textarea::placeholder,\n    .jiris-app-wrapper .input-wrapper input[type=\"text\"]::placeholder {\n      color: var(--ink-muted);\n      font-style: italic;\n    }\n\n    \/* =========================================================\n       VALUE PILLS \u2014 align\u00e9es sur Outils 2 et 3\n       ========================================================= *\/\n\n    .jiris-app-wrapper .values-hint {\n      display: flex;\n      flex-wrap: wrap;\n      gap: 0.5rem;\n      margin-bottom: 1.25rem;\n    }\n\n    .jiris-app-wrapper .value-pill {\n      appearance: none;\n      border: 1px solid var(--cream-dark);\n      padding: 0.5rem 0.95rem;\n      background: var(--cream);\n      border-radius: 100px;\n      font-family: inherit;\n      font-size: 0.85rem;\n      color: var(--ink-soft);\n      cursor: pointer;\n      transition: all 0.2s ease;\n    }\n\n    .jiris-app-wrapper .value-pill:hover {\n      background: var(--terracotta-light);\n      border-color: var(--terracotta-soft);\n      color: var(--terracotta);\n    }\n\n    .jiris-app-wrapper .value-pill.active {\n      background: var(--terracotta);\n      border-color: var(--terracotta);\n      color: var(--white);\n    }\n\n    .jiris-app-wrapper .value-pill:active {\n      transform: scale(0.97);\n    }\n\n    \/* =========================================================\n       CARDS GRID\n       ========================================================= *\/\n\n    .jiris-app-wrapper .cards-grid {\n      display: grid;\n      grid-template-columns: repeat(2, 1fr);\n      gap: 1rem;\n      margin-top: 0.75rem;\n    }\n\n    .jiris-app-wrapper .card-item {\n      background: var(--cream);\n      border-radius: 18px;\n      padding: 1.25rem;\n      border: 1.5px solid var(--cream-dark);\n      transition:\n        border-color 0.2s ease,\n        background 0.2s ease;\n    }\n\n    .jiris-app-wrapper .card-item:hover {\n      border-color: var(--terracotta-soft);\n      background: var(--white);\n    }\n\n    .jiris-app-wrapper .card-item-title {\n      font-family: 'Fraunces', Georgia, serif;\n      font-size: 1rem;\n      font-weight: 500;\n      color: var(--ink);\n      margin-bottom: 0.35rem;\n      display: flex;\n      align-items: center;\n      gap: 0.4rem;\n    }\n\n    .jiris-app-wrapper .card-item p {\n      font-size: 0.85rem;\n      color: var(--ink-soft);\n      margin-bottom: 0.75rem;\n    }\n\n    \/* =========================================================\n       ACTION STEP\n       ========================================================= *\/\n\n    .jiris-app-wrapper .action-step {\n      background: linear-gradient(\n        135deg,\n        var(--terracotta-light) 0%,\n        var(--white) 100%\n      );\n    }\n\n    .jiris-app-wrapper .action-step .step-number {\n      background: var(--terracotta);\n      color: var(--white);\n    }\n\n    .jiris-app-wrapper .action-step .input-wrapper textarea,\n    .jiris-app-wrapper .action-step .input-wrapper input[type=\"text\"] {\n      background: rgba(255, 255, 255, 0.9);\n    }\n\n    \/* =========================================================\n       TIP\n       ========================================================= *\/\n\n    .jiris-app-wrapper .jiris-tip {\n      background: linear-gradient(\n        135deg,\n        var(--terracotta-light) 0%,\n        var(--cream) 100%\n      );\n      border-radius: 24px;\n      padding: 2rem;\n      margin-bottom: 1.5rem;\n      position: relative;\n      overflow: hidden;\n    }\n\n    .jiris-app-wrapper .jiris-tip::after {\n      content: '\u2726';\n      position: absolute;\n      top: -10px;\n      right: -10px;\n      font-size: 8rem;\n      color: var(--terracotta-soft);\n      opacity: 0.15;\n      pointer-events: none;\n    }\n\n    .jiris-app-wrapper .tip-header {\n      display: flex;\n      align-items: center;\n      gap: 0.75rem;\n      margin-bottom: 0.75rem;\n      position: relative;\n      z-index: 1;\n    }\n\n    .jiris-app-wrapper .tip-icon {\n      font-size: 1.5rem;\n    }\n\n    .jiris-app-wrapper .tip-title {\n      font-family: 'Fraunces', Georgia, serif;\n      font-size: 1.125rem;\n      font-weight: 500;\n      color: var(--ink);\n    }\n\n    .jiris-app-wrapper .tip-content {\n      color: var(--ink-soft);\n      font-size: 0.975rem;\n      position: relative;\n      z-index: 1;\n    }\n\n    \/* =========================================================\n       PRIVACY BOX \u2014 align\u00e9e sur Outils 2 et 3\n       ========================================================= *\/\n\n    .jiris-app-wrapper .privacy-box {\n      background: var(--white);\n      border: 1px solid var(--cream-dark);\n      border-radius: 16px;\n      padding: 1rem 1.25rem;\n      margin-bottom: 1.5rem;\n      text-align: left;\n    }\n\n    .jiris-app-wrapper .privacy-label {\n      display: flex;\n      align-items: flex-start;\n      gap: 0.75rem;\n      cursor: pointer;\n      color: var(--ink-soft);\n      font-size: 0.875rem;\n      line-height: 1.5;\n    }\n\n    .jiris-app-wrapper .privacy-label input[type=\"checkbox\"] {\n      flex-shrink: 0;\n      width: 18px;\n      height: 18px;\n      margin-top: 0.15rem;\n      accent-color: var(--terracotta);\n      cursor: pointer;\n    }\n\n    .jiris-app-wrapper .privacy-label input[type=\"checkbox\"]:disabled {\n      cursor: default;\n    }\n\n    .jiris-app-wrapper .privacy-label strong {\n      color: var(--ink);\n      font-weight: 600;\n    }\n\n    .jiris-app-wrapper .privacy-note {\n      margin: 0.65rem 0 0 2rem;\n      font-size: 0.78rem;\n      color: var(--ink-muted);\n    }\n\n    \/* =========================================================\n       ACTIONS\n       ========================================================= *\/\n\n    .jiris-app-wrapper .actions {\n      display: flex;\n      gap: 1rem;\n      flex-wrap: wrap;\n      justify-content: center;\n      margin-top: 2rem;\n    }\n\n    .jiris-app-wrapper .btn {\n      padding: 1rem 2rem;\n      border-radius: 14px;\n      font-family: inherit;\n      font-size: 1rem;\n      font-weight: 500;\n      cursor: pointer;\n      transition: all 0.2s ease;\n      border: 1.5px solid transparent;\n      display: inline-flex;\n      align-items: center;\n      justify-content: center;\n      gap: 0.5rem;\n    }\n\n    .jiris-app-wrapper .btn:disabled {\n      opacity: 0.65;\n      cursor: not-allowed;\n      pointer-events: none;\n    }\n\n    .jiris-app-wrapper .btn-primary {\n      background: var(--ink);\n      color: var(--cream);\n    }\n\n    .jiris-app-wrapper .btn-primary:hover {\n      background: var(--terracotta);\n      transform: translateY(-2px);\n      box-shadow: var(--shadow-md);\n    }\n\n    .jiris-app-wrapper .btn-secondary {\n      background: var(--white);\n      color: var(--ink);\n      border-color: var(--cream-dark);\n    }\n\n    .jiris-app-wrapper .btn-secondary:hover {\n      border-color: var(--terracotta);\n      color: var(--terracotta);\n    }\n\n    \/* =========================================================\n       TOAST\n       ========================================================= *\/\n\n    .jiris-app-wrapper .toast {\n      position: fixed;\n      bottom: 2rem;\n      left: 50%;\n      transform: translateX(-50%) translateY(100px);\n      background: var(--ink);\n      color: var(--cream);\n      padding: 1rem 1.5rem;\n      border-radius: 12px;\n      box-shadow: var(--shadow-lg);\n      opacity: 0;\n      pointer-events: none;\n      transition:\n        opacity 0.3s ease,\n        transform 0.3s ease;\n      z-index: 1000;\n      font-size: 0.95rem;\n      max-width: calc(100vw - 2rem);\n      text-align: center;\n    }\n\n    .jiris-app-wrapper .toast.show {\n      opacity: 1;\n      transform: translateX(-50%) translateY(0);\n    }\n\n    .jiris-app-wrapper .print-date {\n      display: none;\n    }\n\n    \/* =========================================================\n       RESPONSIVE\n       ========================================================= *\/\n\n    @media (max-width: 720px) {\n      .jiris-app-wrapper {\n        padding: 1.5rem 0.75rem;\n      }\n\n      .jiris-app-wrapper .jiris-header {\n        padding: 0 0.25rem;\n      }\n\n      .jiris-app-wrapper .step,\n      .jiris-app-wrapper .orientation,\n      .jiris-app-wrapper .jiris-tip {\n        padding: 1.5rem;\n      }\n\n      .jiris-app-wrapper .storage-status {\n        margin-bottom: 1.5rem;\n      }\n\n      .jiris-app-wrapper .cards-grid {\n        grid-template-columns: 1fr;\n      }\n\n      .jiris-app-wrapper .actions {\n        flex-direction: column;\n      }\n\n      .jiris-app-wrapper .btn {\n        width: 100%;\n      }\n    }\n\n    \/* =========================================================\n       IMPRESSION \u2014 align\u00e9e sur Outils 2 et 3\n       ========================================================= *\/\n\n    @media print {\n      @page {\n        margin: 1.2cm;\n        size: A4 portrait;\n      }\n\n      .jiris-app-wrapper * {\n        -webkit-print-color-adjust: exact !important;\n        print-color-adjust: exact !important;\n        box-shadow: none !important;\n        transform: none !important;\n        transition: none !important;\n      }\n\n      .jiris-app-wrapper {\n        background-color: var(--cream) !important;\n        padding: 0 !important;\n        margin: 0 !important;\n      }\n\n      .jiris-app-wrapper .steps {\n        display: block !important;\n      }\n\n      .jiris-app-wrapper .jiris-header,\n      .jiris-app-wrapper .orientation,\n      .jiris-app-wrapper .storage-status,\n      .jiris-app-wrapper .step,\n      .jiris-app-wrapper .jiris-tip {\n        page-break-inside: avoid !important;\n        break-inside: avoid !important;\n        display: block !important;\n        margin-bottom: 1.5rem !important;\n      }\n\n      \/*\n       * Les cartes de l'\u00e9tape 3 restent en deux colonnes\n       * \u00e0 l'impression, pour pr\u00e9server la comparaison visuelle.\n       * On utilise flex plut\u00f4t que grid, plus fiable selon\n       * les moteurs d'impression.\n       *\/\n      .jiris-app-wrapper .cards-grid {\n        display: flex !important;\n        flex-wrap: wrap !important;\n        gap: 1rem !important;\n      }\n\n      .jiris-app-wrapper .card-item {\n        flex: 1 1 45% !important;\n        break-inside: avoid !important;\n      }\n\n      .jiris-app-wrapper .jiris-tip::after {\n        display: none !important;\n      }\n\n      .jiris-app-wrapper .actions,\n      .jiris-app-wrapper .toast,\n      .jiris-app-wrapper .privacy-box,\n      .jiris-app-wrapper .storage-status,\n      .jiris-app-wrapper .values-hint {\n        display: none !important;\n      }\n\n      .jiris-app-wrapper .print-date {\n        display: block !important;\n        font-size: 0.8rem;\n        color: var(--ink-muted);\n        margin-bottom: 1rem;\n        text-align: center;\n      }\n\n      .jiris-app-wrapper .input-wrapper textarea,\n      .jiris-app-wrapper .input-wrapper input[type=\"text\"] {\n        background: #fff !important;\n        border: 1px solid #999 !important;\n        min-height: 60px !important;\n      }\n    }\n  <\/style>\n\n  <div class=\"jiris-container\">\n\n    <!-- =======================================================\n         HEADER\n         ======================================================= -->\n\n    <header class=\"jiris-header\">\n\n      <div class=\"breadcrumb\">\n        <span>JIRIS<\/span>\n        <span class=\"dot\"><\/span>\n        <span>Passer \u00e0 l'action<\/span>\n        <span class=\"dot\"><\/span>\n        <span>Outil 4<\/span>\n      <\/div>\n\n      <h1>Soutenir ce qui est en cours<\/h1>\n\n      <p class=\"subtitle\">\n        Pr\u00e9server ce qui vous aide, ajuster votre rythme et trouver\n        une mani\u00e8re de continuer qui reste possible.\n      <\/p>\n\n      <div class=\"intro\">\n        Commencer une d\u00e9marche est parfois une \u00e9tape importante.\n        La suite peut toutefois demander autre chose : trouver un rythme\n        qui tient compte de la r\u00e9alit\u00e9, des ressources disponibles\n        et des changements qui surviennent.\n        <br><br>\n        Continuer ne signifie pas n\u00e9cessairement faire davantage,\n        ni maintenir exactement le m\u00eame rythme.\n        Cet outil vous invite \u00e0 regarder ce qui fonctionne d\u00e9j\u00e0,\n        ce qui vous mobilise ou vous ralentit, les appuis disponibles\n        et les ajustements qui pourraient rendre la suite plus accessible.\n      <\/div>\n\n    <\/header>\n\n    <div class=\"print-date\" id=\"jiris_printDate\" aria-hidden=\"true\"><\/div>\n\n    <!-- =======================================================\n         MENTION INFORMATIVE \u2014 EN AMONT\n         ======================================================= -->\n\n    <div class=\"storage-status\">\n      <div class=\"storage-status-icon\" aria-hidden=\"true\">\ud83d\udd12<\/div>\n\n      <div>\n        <p>\n          <strong>Vos r\u00e9ponses restent sur votre appareil.<\/strong>\n          Elles ne quittent jamais votre navigateur.\n        <\/p>\n      <\/div>\n    <\/div>\n\n    <!-- =======================================================\n         ORIENTATION\n         ======================================================= -->\n\n    <section class=\"orientation\" aria-labelledby=\"orientation-title\">\n\n      <h2 id=\"orientation-title\">\n        \ud83c\udf43 Un rep\u00e8re avant de continuer\n      <\/h2>\n\n      <p>\n        <strong>La continuit\u00e9 n'exige pas un rythme constant.<\/strong>\n        Un rythme peut changer. Une pause peut \u00eatre n\u00e9cessaire.\n        Une mani\u00e8re de faire peut \u00eatre modifi\u00e9e.\n        L'objectif n'est pas de maintenir le mouvement \u00e0 tout prix,\n        mais de trouver ce qui reste possible et pertinent pour vous.\n      <\/p>\n\n    <\/section>\n\n    <!-- =======================================================\n         STEPS\n         ======================================================= -->\n\n    <div class=\"steps\">\n\n      <!-- =====================================================\n           \u00c9TAPE 1\n           ===================================================== -->\n\n      <section class=\"step\">\n\n        <div class=\"step-header\">\n\n          <div class=\"step-number\">1<\/div>\n\n          <div class=\"step-title-block\">\n\n            <h2 class=\"step-title\">\n              Regarder ce qui est d\u00e9j\u00e0 possible\n            <\/h2>\n\n            <p class=\"step-objective\">\n              Rep\u00e9rer un geste, une avanc\u00e9e ou un apprentissage r\u00e9cent\n            <\/p>\n\n          <\/div>\n        <\/div>\n\n        <p class=\"step-description\">\n          Il est facile de regarder ce qui reste \u00e0 faire et d'oublier\n          ce qui a d\u00e9j\u00e0 \u00e9t\u00e9 possible.\n          Prenez un instant pour identifier un geste pos\u00e9, une \u00e9tape franchie,\n          une difficult\u00e9 travers\u00e9e ou quelque chose que vous avez appris.\n        <\/p>\n\n        <div class=\"example\">\n\n          <strong>Exemple<\/strong>\n\n          \u00ab J'ai envoy\u00e9 le courriel que je repoussais. J'ai aussi d\u00e9couvert\n          que pr\u00e9parer quelques phrases \u00e0 l'avance m'aide \u00e0 commencer. \u00bb\n\n        <\/div>\n\n        <div class=\"input-wrapper\">\n\n          <label for=\"jiris_step1\">\n            Ce que je peux reconna\u00eetre aujourd'hui :\n          <\/label>\n\n          <textarea\n            id=\"jiris_step1\"\n            data-label=\"Ce que je peux reconna\u00eetre aujourd'hui\"\n            placeholder=\"Ex. : j'ai commenc\u00e9, j'ai demand\u00e9 de l'aide, j'ai trouv\u00e9 une information, j'ai essay\u00e9 une autre fa\u00e7on de faire\u2026\"\n          ><\/textarea>\n\n        <\/div>\n\n      <\/section>\n\n\n      <!-- =====================================================\n           \u00c9TAPE 2\n           ===================================================== -->\n\n      <section class=\"step\">\n\n        <div class=\"step-header\">\n\n          <div class=\"step-number\">2<\/div>\n\n          <div class=\"step-title-block\">\n\n            <h2 class=\"step-title\">\n              Rep\u00e9rer ce qui me mobilise ou me ralentit\n            <\/h2>\n\n            <p class=\"step-objective\">\n              Comprendre ce qui influence mon \u00e9nergie et ma disponibilit\u00e9\n            <\/p>\n\n          <\/div>\n        <\/div>\n\n        <p class=\"step-description\">\n          Plusieurs \u00e9l\u00e9ments peuvent rendre une d\u00e9marche plus facile\n          ou plus difficile \u00e0 poursuivre.\n          Il peut s'agir de la fatigue, des attentes que l'on se donne,\n          du contexte, d'un manque d'information, de la solitude\n          ou simplement d'un changement dans les circonstances.\n        <\/p>\n\n        <p style=\"font-size:0.875rem; color:var(--ink-muted); margin-bottom:0.6rem;\">\n          Parmi ces \u00e9l\u00e9ments, lesquels sont pr\u00e9sents en ce moment ?\n        <\/p>\n\n        <fieldset\n          style=\"border:0; padding:0; margin:0;\"\n        >\n\n          <legend\n            style=\"\n              position:absolute;\n              width:1px;\n              height:1px;\n              padding:0;\n              margin:-1px;\n              overflow:hidden;\n              clip:rect(0,0,0,0);\n              white-space:nowrap;\n              border:0;\n            \"\n          >\n            \u00c9l\u00e9ments pouvant influencer la continuit\u00e9\n          <\/legend>\n\n          <div class=\"values-hint\">\n\n            <button type=\"button\" class=\"value-pill\" aria-pressed=\"false\">\n              fatigue accumul\u00e9e\n            <\/button>\n\n            <button type=\"button\" class=\"value-pill\" aria-pressed=\"false\">\n              attentes \u00e9lev\u00e9es\n            <\/button>\n\n            <button type=\"button\" class=\"value-pill\" aria-pressed=\"false\">\n              manque de clart\u00e9\n            <\/button>\n\n            <button type=\"button\" class=\"value-pill\" aria-pressed=\"false\">\n              manque d'information\n            <\/button>\n\n            <button type=\"button\" class=\"value-pill\" aria-pressed=\"false\">\n              peu de soutien\n            <\/button>\n\n            <button type=\"button\" class=\"value-pill\" aria-pressed=\"false\">\n              interruptions\n            <\/button>\n\n            <button type=\"button\" class=\"value-pill\" aria-pressed=\"false\">\n              changement de situation\n            <\/button>\n\n            <button type=\"button\" class=\"value-pill\" aria-pressed=\"false\">\n              doutes\n            <\/button>\n\n            <button type=\"button\" class=\"value-pill\" aria-pressed=\"false\">\n              autre chose\n            <\/button>\n\n          <\/div>\n\n        <\/fieldset>\n\n        <div class=\"input-wrapper\">\n\n          <label for=\"jiris_step2\">\n            Ce qui influence ma capacit\u00e9 \u00e0 continuer :\n          <\/label>\n\n          <textarea\n            id=\"jiris_step2\"\n            data-label=\"Ce qui influence ma capacit\u00e9 \u00e0 continuer\"\n            placeholder=\"Ex. : je manque de temps en ce moment, je ne sais plus quelle est la prochaine \u00e9tape, j'aurais besoin de ne pas faire cela seul\u00b7e\u2026\"\n          ><\/textarea>\n\n        <\/div>\n\n      <\/section>\n\n\n      <!-- =====================================================\n           \u00c9TAPE 3\n           ===================================================== -->\n\n      <section class=\"step\">\n\n        <div class=\"step-header\">\n\n          <div class=\"step-number\">3<\/div>\n\n          <div class=\"step-title-block\">\n\n            <h2 class=\"step-title\">\n              Trouver un rythme qui reste possible\n            <\/h2>\n\n            <p class=\"step-objective\">\n              Pr\u00e9voir une fa\u00e7on de continuer lorsque les ressources changent\n            <\/p>\n\n          <\/div>\n        <\/div>\n\n        <p class=\"step-description\">\n          Un m\u00eame objectif peut parfois \u00eatre poursuivi de plusieurs fa\u00e7ons.\n          Plut\u00f4t que de penser en termes de tout ou rien, imaginez deux\n          fa\u00e7ons de poursuivre votre d\u00e9marche selon les ressources\n          dont vous disposez.\n        <\/p>\n\n        <div class=\"cards-grid\">\n\n          <div class=\"card-item\">\n\n            <h3 class=\"card-item-title\">\n              \ud83c\udf24\ufe0f Quand j'ai plus de ressources\n            <\/h3>\n\n            <p>\n              Ce que je pourrais faire lorsque le temps, l'\u00e9nergie\n              ou les conditions sont favorables.\n            <\/p>\n\n            <div class=\"input-wrapper\">\n              <input\n                type=\"text\"\n                id=\"jiris_modeAvailable\"\n                aria-label=\"Quand j'ai plus de ressources \u2014 pr\u00e9ciser ce que je pourrais faire\"\n                data-label=\"Quand j'ai plus de ressources\"\n                placeholder=\"Ex. : travailler 20 minutes sur le dossier\"\n              >\n            <\/div>\n\n          <\/div>\n\n\n          <div class=\"card-item\">\n\n            <h3 class=\"card-item-title\">\n              \ud83c\udf31 Quand mes ressources sont limit\u00e9es\n            <\/h3>\n\n            <p>\n              Une version plus petite, diff\u00e9rente ou plus simple\n              qui reste possible.\n            <\/p>\n\n            <div class=\"input-wrapper\">\n              <input\n                type=\"text\"\n                id=\"jiris_modeLimited\"\n                aria-label=\"Quand mes ressources sont limit\u00e9es \u2014 pr\u00e9ciser la version plus simple\"\n                data-label=\"Quand mes ressources sont limit\u00e9es\"\n                placeholder=\"Ex. : ouvrir le dossier et noter la prochaine \u00e9tape\"\n              >\n            <\/div>\n\n          <\/div>\n\n        <\/div>\n\n      <\/section>\n\n\n      <!-- =====================================================\n           \u00c9TAPE 4\n           ===================================================== -->\n\n      <section class=\"step\">\n\n        <div class=\"step-header\">\n\n          <div class=\"step-number\">4<\/div>\n\n          <div class=\"step-title-block\">\n\n            <h2 class=\"step-title\">\n              Identifier mes appuis\n            <\/h2>\n\n            <p class=\"step-objective\">\n              Rep\u00e9rer ce qui peut soutenir la suite sans faire tout \u00e0 ma place\n            <\/p>\n\n          <\/div>\n        <\/div>\n\n        <p class=\"step-description\">\n          Certaines d\u00e9marches deviennent plus accessibles lorsqu'on dispose\n          d'un point d'appui.\n          Cela peut \u00eatre une personne, une information, un rappel, un lieu,\n          un outil ou une fa\u00e7on de s'organiser.\n        <\/p>\n\n        <div class=\"example\">\n\n          <strong>Exemple<\/strong>\n\n          \u00ab Je peux demander \u00e0 une personne de confiance de savoir que je vais\n          faire cette d\u00e9marche, sans lui demander de la faire \u00e0 ma place. \u00bb\n\n        <\/div>\n\n        <div class=\"input-wrapper\">\n\n          <label for=\"jiris_step4\">\n            Ce qui pourrait soutenir la suite :\n          <\/label>\n\n          <textarea\n            id=\"jiris_step4\"\n            data-label=\"Ce qui pourrait soutenir la suite\"\n            placeholder=\"Ex. : demander une information, pr\u00e9voir un rappel, parler \u00e0 quelqu'un, utiliser un outil, pr\u00e9parer la prochaine \u00e9tape\u2026\"\n          ><\/textarea>\n\n        <\/div>\n\n      <\/section>\n\n\n      <!-- =====================================================\n           \u00c9TAPE 5\n           ===================================================== -->\n\n      <section class=\"step action-step\">\n\n        <div class=\"step-header\">\n\n          <div class=\"step-number\">5<\/div>\n\n          <div class=\"step-title-block\">\n\n            <h2 class=\"step-title\">\n              Choisir mon prochain ajustement\n            <\/h2>\n\n            <p class=\"step-objective\">\n              Transformer cette r\u00e9flexion en une d\u00e9cision simple et r\u00e9aliste\n            <\/p>\n\n          <\/div>\n        <\/div>\n\n        <p class=\"step-description\">\n          Vous n'avez pas besoin de planifier toute la suite.\n          Choisissez simplement ce que vous souhaitez ajuster maintenant :\n          votre rythme, votre fa\u00e7on de faire, votre soutien\n          ou la prochaine \u00e9tape.\n        <\/p>\n\n        <div class=\"input-wrapper\">\n\n          <label for=\"jiris_nextAdjustment\">\n            Ce que je choisis d'ajuster :\n          <\/label>\n\n          <p class=\"input-hint\">\n            Un ajustement modeste peut suffire. Il n'a pas besoin de tout r\u00e9soudre.\n          <\/p>\n\n          <textarea\n            id=\"jiris_nextAdjustment\"\n            data-label=\"Ce que je choisis d'ajuster\"\n            placeholder=\"Ex. : je vais r\u00e9duire l'objectif pour cette semaine et commencer par une seule \u00e9tape.\"\n          ><\/textarea>\n\n        <\/div>\n\n        <div class=\"input-wrapper\">\n\n          <label for=\"jiris_nextWhen\">\n            Quand vais-je mettre cet ajustement en pratique ?\n          <\/label>\n\n          <input\n            type=\"text\"\n            id=\"jiris_nextWhen\"\n            data-label=\"Quand vais-je mettre cet ajustement en pratique\"\n            placeholder=\"Ex. : demain matin \/ cette semaine \/ apr\u00e8s avoir obtenu l'information n\u00e9cessaire\u2026\"\n          >\n\n        <\/div>\n\n        <div class=\"input-wrapper\">\n\n          <label for=\"jiris_ifChanged\">\n            Si ma situation change, je pourrai :\n          <\/label>\n\n          <textarea\n            id=\"jiris_ifChanged\"\n            data-label=\"Si ma situation change, je pourrai\"\n            placeholder=\"Ex. : ralentir, modifier le plan, demander du soutien, reprendre plus tard ou choisir une autre fa\u00e7on de faire.\"\n          ><\/textarea>\n\n        <\/div>\n\n      <\/section>\n\n    <\/div>\n\n\n    <!-- =======================================================\n         RAPPEL\n         ======================================================= -->\n\n    <section class=\"jiris-tip\">\n\n      <div class=\"tip-header\">\n\n        <span class=\"tip-icon\" aria-hidden=\"true\">\ud83c\udf3f<\/span>\n\n        <h2 class=\"tip-title\">\n          Continuer peut aussi vouloir dire ajuster\n        <\/h2>\n\n      <\/div>\n\n      <div class=\"tip-content\">\n        Une d\u00e9marche n'a pas besoin de suivre une ligne parfaitement r\u00e9guli\u00e8re\n        pour avoir du sens.\n        Une pause, un changement de rythme ou une autre fa\u00e7on de faire\n        peuvent parfois apporter des informations utiles sur ce qui est\n        possible dans votre situation.\n        <br><br>\n        <strong>\n          L'important n'est pas de maintenir le m\u00eame rythme \u00e0 tout prix,\n          mais de pouvoir regarder la suite et choisir ce qui reste\n          possible pour vous.\n        <\/strong>\n      <\/div>\n\n    <\/section>\n\n\n    <!-- =======================================================\n         CONFIDENTIALIT\u00c9 \u2014 CHOIX DE CONSERVATION\n         ======================================================= -->\n\n    <div class=\"privacy-box\">\n\n      <label\n        class=\"privacy-label\"\n        for=\"jiris_soutenir_rememberResponses\"\n      >\n\n        <input\n          type=\"checkbox\"\n          id=\"jiris_soutenir_rememberResponses\"\n          aria-describedby=\"jiris_soutenir_privacyExplanation\"\n        >\n\n        <span>\n          <strong>\n            Conserver mes r\u00e9ponses sur cet appareil\n          <\/strong>\n          <br>\n          Par d\u00e9faut, vos r\u00e9ponses ne sont pas m\u00e9moris\u00e9es :\n          elles disparaissent si vous rechargez la page.\n          En cochant cette case, elles seront conserv\u00e9es dans le stockage\n          local de votre navigateur et vous pourrez les retrouver \u00e0 votre\n          prochaine visite.\n        <\/span>\n\n      <\/label>\n\n      <p\n        class=\"privacy-note\"\n        id=\"jiris_soutenir_privacyExplanation\"\n      >\n        \u26a0\ufe0f Sur un appareil partag\u00e9, \u00e9vitez d'activer cette option\n        ou effacez vos r\u00e9ponses avant de partir.\n      <\/p>\n\n    <\/div>\n\n\n    <!-- =======================================================\n         ACTIONS\n         ======================================================= -->\n\n    <div class=\"actions\">\n\n      <button\n        type=\"button\"\n        class=\"btn btn-primary\"\n        id=\"jiris_copy\"\n      >\n        \ud83d\udccb Copier ma r\u00e9flexion\n      <\/button>\n\n      <button\n        type=\"button\"\n        class=\"btn btn-secondary\"\n        id=\"jiris_print\"\n      >\n        \ud83d\udda8\ufe0f Imprimer ma r\u00e9flexion\n      <\/button>\n\n      <button\n        type=\"button\"\n        class=\"btn btn-secondary\"\n        id=\"jiris_clear\"\n      >\n        \u2728 Effacer mes r\u00e9ponses\n      <\/button>\n\n    <\/div>\n\n  <\/div>\n\n\n  <!-- TOAST -->\n\n  <div\n    class=\"toast\"\n    id=\"jiris_toast\"\n    role=\"status\"\n    aria-live=\"polite\"\n  ><\/div>\n\n\n  <!-- =========================================================\n       JAVASCRIPT\n       ========================================================= -->\n\n  <script>\n  (function () {\n    'use strict';\n\n    var wrapper = document.querySelector('.jiris-app-wrapper');\n    if (!wrapper) return;\n\n    \/* =======================================================\n       \u00c9L\u00c9MENTS\n       ======================================================= *\/\n\n    var inputs = wrapper.querySelectorAll(\n      'textarea, input[type=\"text\"]'\n    );\n\n    var valuePills = wrapper.querySelectorAll(\n      '.value-pill'\n    );\n\n    var toast = wrapper.querySelector('#jiris_toast');\n\n    var copyButton = wrapper.querySelector('#jiris_copy');\n\n    var printButton = wrapper.querySelector('#jiris_print');\n\n    var clearButton = wrapper.querySelector('#jiris_clear');\n\n    var printDate = wrapper.querySelector('#jiris_printDate');\n\n    var rememberResponses =\n      wrapper.querySelector('#jiris_soutenir_rememberResponses');\n\n    var privacyExplanation =\n      wrapper.querySelector('#jiris_soutenir_privacyExplanation');\n\n    var originalCopyText = copyButton.innerHTML;\n\n\n    \/*\n     * Deux cl\u00e9s distinctes, comme dans les Outils 2 et 3 :\n     *\n     *  - PREF_KEY : m\u00e9morise uniquement le choix explicite\n     *    de l'utilisateur. La cl\u00e9 est supprim\u00e9e lorsque\n     *    la case est d\u00e9coch\u00e9e, pour que le d\u00e9faut\n     *    \u00ab rien n'est m\u00e9moris\u00e9 \u00bb reste litt\u00e9ralement vrai.\n     *\n     *  - KEY : pr\u00e9fixe des r\u00e9ponses elles-m\u00eames.\n     *    Aucune cl\u00e9 sous ce pr\u00e9fixe n'existe tant que\n     *    l'utilisateur n'a pas activ\u00e9 la conservation.\n     *\/\n\n    var PREF_KEY = 'jiris_soutenir_v4_preference';\n\n    var KEY = 'jiris_soutenir_v4_';\n\n\n    \/* =======================================================\n       STOCKAGE \u2014 DISPONIBILIT\u00c9 (test r\u00e9el)\n       ======================================================= *\/\n\n    function storageAvailable() {\n      try {\n        var testKey = '__jiris_storage_test__';\n\n        localStorage.setItem(testKey, '1');\n        var verified = localStorage.getItem(testKey) === '1';\n        localStorage.removeItem(testKey);\n\n        return verified;\n\n      } catch (e) {\n        return false;\n      }\n    }\n\n    var canUseStorage = storageAvailable();\n\n\n    \/* =======================================================\n       STOCKAGE \u2014 R\u00c9PONSES (pr\u00e9fixe KEY)\n       ======================================================= *\/\n\n    function store(action, id, value) {\n\n      if (!canUseStorage) {\n        return action === 'get' ? null : false;\n      }\n\n      try {\n\n        if (action === 'get') {\n          return localStorage.getItem(KEY + id);\n        }\n\n        if (action === 'set') {\n          localStorage.setItem(KEY + id, value);\n          return localStorage.getItem(KEY + id) === String(value);\n        }\n\n        if (action === 'remove') {\n          localStorage.removeItem(KEY + id);\n          return localStorage.getItem(KEY + id) === null;\n        }\n\n      } catch (e) {\n        return false;\n      }\n\n      return false;\n    }\n\n\n    \/* =======================================================\n       STOCKAGE \u2014 PR\u00c9F\u00c9RENCE (cl\u00e9 PREF_KEY s\u00e9par\u00e9e)\n       ======================================================= *\/\n\n    function getPreference() {\n\n      if (!canUseStorage) return null;\n\n      try {\n        return localStorage.getItem(PREF_KEY);\n      } catch (e) {\n        return null;\n      }\n    }\n\n\n    function setPreference(value) {\n\n      if (!canUseStorage) return false;\n\n      try {\n\n        if (value === null) {\n\n          localStorage.removeItem(PREF_KEY);\n\n          return localStorage.getItem(PREF_KEY) === null;\n        }\n\n        localStorage.setItem(PREF_KEY, String(value));\n\n        return localStorage.getItem(PREF_KEY) === String(value);\n\n      } catch (e) {\n        return false;\n      }\n    }\n\n\n    function isRemembering() {\n      return rememberResponses &&\n        rememberResponses.checked === true;\n    }\n\n\n    \/* =======================================================\n       TOAST\n       ======================================================= *\/\n\n    var toastTimer = null;\n\n    function showToast(message) {\n\n      toast.textContent = message;\n\n      toast.classList.add('show');\n\n      clearTimeout(toastTimer);\n\n      toastTimer = setTimeout(function () {\n        toast.classList.remove('show');\n      }, 2500);\n    }\n\n\n    \/* =======================================================\n       REDIMENSIONNEMENT AUTOMATIQUE (peut r\u00e9tr\u00e9cir)\n       ======================================================= *\/\n\n    function autoResize(field) {\n\n      if (\n        field &&\n        field.tagName &&\n        field.tagName.toLowerCase() === 'textarea'\n      ) {\n\n        field.style.height = 'auto';\n\n        field.style.height =\n          Math.max(field.scrollHeight, 80) + 'px';\n      }\n    }\n\n\n    \/* =======================================================\n       \u00c9TAT DE DISPONIBILIT\u00c9 DU STOCKAGE\n       ======================================================= *\/\n\n    function updateStorageAvailabilityUI() {\n\n      if (canUseStorage) return;\n\n      rememberResponses.disabled = true;\n      rememberResponses.checked = false;\n\n      if (privacyExplanation) {\n        privacyExplanation.textContent =\n          'La m\u00e9morisation locale n\u2019est pas disponible sur cet appareil. ' +\n          'Vos r\u00e9ponses ne pourront pas \u00eatre conserv\u00e9es apr\u00e8s votre visite.';\n      }\n    }\n\n\n    \/* =======================================================\n       SAUVEGARDE DES R\u00c9PONSES\n       ======================================================= *\/\n\n    function saveCurrentResponses() {\n\n      if (!isRemembering()) {\n        return;\n      }\n\n      inputs.forEach(function (field) {\n\n        store(\n          'set',\n          field.id,\n          field.value\n        );\n\n      });\n\n\n      valuePills.forEach(function (pill) {\n\n        var pillKey =\n          'pill_' + pill.textContent.trim();\n\n        store(\n          'set',\n          pillKey,\n          pill.classList.contains('active')\n            ? 'true'\n            : 'false'\n        );\n\n      });\n\n    }\n\n\n    \/* =======================================================\n       CHARGEMENT INITIAL\n       ======================================================= *\/\n\n    function loadSavedResponses() {\n\n      var savedPreference = getPreference();\n\n      if (savedPreference === 'true') {\n        rememberResponses.checked = true;\n      } else {\n        rememberResponses.checked = false;\n      }\n\n\n      if (!isRemembering()) {\n        updateStorageAvailabilityUI();\n        return;\n      }\n\n\n      inputs.forEach(function (field) {\n\n        var savedValue =\n          store('get', field.id);\n\n        if (savedValue !== null) {\n          field.value = savedValue;\n        }\n\n        autoResize(field);\n\n      });\n\n\n      valuePills.forEach(function (pill) {\n\n        var pillKey =\n          'pill_' + pill.textContent.trim();\n\n        var isSaved =\n          store('get', pillKey);\n\n        if (isSaved === 'true') {\n\n          pill.classList.add('active');\n\n          pill.setAttribute(\n            'aria-pressed',\n            'true'\n          );\n\n        }\n\n      });\n\n      updateStorageAvailabilityUI();\n    }\n\n\n    \/* =======================================================\n       GESTION DU CHOIX DE CONSERVATION\n       ======================================================= *\/\n\n    rememberResponses.addEventListener(\n      'change',\n      function () {\n\n        if (!canUseStorage) {\n          rememberResponses.checked = false;\n          updateStorageAvailabilityUI();\n          showToast(\n            'La m\u00e9morisation locale n\u2019est pas disponible dans ce navigateur.'\n          );\n          return;\n        }\n\n        if (rememberResponses.checked) {\n\n          var preferenceSaved =\n            setPreference('true');\n\n          if (!preferenceSaved) {\n\n            rememberResponses.checked = false;\n            canUseStorage = false;\n            updateStorageAvailabilityUI();\n            showToast(\n              'La m\u00e9morisation locale n\u2019a pas pu \u00eatre activ\u00e9e sur cet appareil.'\n            );\n            return;\n          }\n\n          saveCurrentResponses();\n\n          showToast(\n            '\u2713 La m\u00e9morisation locale est activ\u00e9e.'\n          );\n\n        } else {\n\n          \/*\n           * On supprime la cl\u00e9 de pr\u00e9f\u00e9rence au lieu\n           * d'\u00e9crire 'false'. Le d\u00e9faut \u00ab rien n'est m\u00e9moris\u00e9 \u00bb\n           * redevient litt\u00e9ralement vrai dans le localStorage.\n           *\/\n\n          setPreference(null);\n\n          clearStoredAnswersOnly();\n\n          showToast(\n            '\u2713 Vos r\u00e9ponses ne seront plus m\u00e9moris\u00e9es.'\n          );\n        }\n      }\n    );\n\n\n    \/* =======================================================\n       CHARGEMENT INITIAL (suite)\n       ======================================================= *\/\n\n    loadSavedResponses();\n\n\n    \/* =======================================================\n       CHAMPS TEXTES\n       ======================================================= *\/\n\n    inputs.forEach(function (field) {\n\n      autoResize(field);\n\n      field.addEventListener(\n        'input',\n        function () {\n\n          autoResize(field);\n\n          if (isRemembering()) {\n\n            store(\n              'set',\n              field.id,\n              field.value\n            );\n          }\n\n        }\n      );\n\n    });\n\n\n    \/* =======================================================\n       VALEURS \u2014 PILULES IND\u00c9PENDANTES\n       ======================================================= *\/\n\n    valuePills.forEach(function (pill) {\n\n      pill.addEventListener(\n        'click',\n        function () {\n\n          var isActive =\n            pill.classList.toggle('active');\n\n          pill.setAttribute(\n            'aria-pressed',\n            isActive\n              ? 'true'\n              : 'false'\n          );\n\n\n          if (isRemembering()) {\n\n            store(\n              'set',\n              'pill_' + pill.textContent.trim(),\n              isActive\n                ? 'true'\n                : 'false'\n            );\n          }\n\n        }\n      );\n\n    });\n\n\n    \/* =======================================================\n       DATE D'IMPRESSION\n       ======================================================= *\/\n\n    function updatePrintDate() {\n\n      var now = new Date();\n\n      var formattedDate =\n        now.toLocaleDateString(\n          'fr-CA',\n          {\n            year: 'numeric',\n            month: 'long',\n            day: 'numeric'\n          }\n        );\n\n      printDate.textContent =\n        'R\u00e9flexion pr\u00e9par\u00e9e le ' +\n        formattedDate;\n    }\n\n\n    window.addEventListener(\n      'beforeprint',\n      updatePrintDate\n    );\n\n\n    \/* =======================================================\n       EFFACER LES DONN\u00c9ES STOCK\u00c9ES (r\u00e9ponses uniquement)\n       ======================================================= *\/\n\n    function clearStoredAnswersOnly() {\n\n      inputs.forEach(function (field) {\n\n        store(\n          'remove',\n          field.id\n        );\n\n      });\n\n\n      valuePills.forEach(function (pill) {\n\n        store(\n          'remove',\n          'pill_' +\n          pill.textContent.trim()\n        );\n\n      });\n\n    }\n\n\n    \/* =======================================================\n       V\u00c9RIFIER SI AU MOINS UNE R\u00c9PONSE EXISTE\n       ======================================================= *\/\n\n    function hasAnyResponse() {\n\n      var hasField = false;\n\n      inputs.forEach(function (field) {\n        if (field.value.trim() !== '') {\n          hasField = true;\n        }\n      });\n\n      if (hasField) return true;\n\n      return wrapper.querySelector('.value-pill.active') !== null;\n    }\n\n\n    \/* =======================================================\n       CONSTRUIRE LE TEXTE \u00c0 COPIER\n       ======================================================= *\/\n\n    function getValue(id) {\n      var element = wrapper.querySelector('#' + id);\n      return element ? element.value.trim() : '';\n    }\n\n\n    function hasValue(value) {\n      return typeof value === 'string' && value.trim() !== '';\n    }\n\n\n    function buildPlanText() {\n\n      var lines = [];\n\n      lines.push('JIRIS \u2014 PASSER \u00c0 L\\'ACTION');\n      lines.push('Soutenir ce qui est en cours');\n      lines.push('');\n\n      \/* SECTION 1 *\/\n\n      var step1 = getValue('jiris_step1');\n\n      if (hasValue(step1)) {\n        lines.push('1. REGARDER CE QUI EST D\u00c9J\u00c0 POSSIBLE');\n        lines.push('');\n        lines.push('Ce que je peux reconna\u00eetre aujourd\\'hui :');\n        lines.push(step1);\n        lines.push('');\n      }\n\n      \/* SECTION 2 *\/\n\n      var step2 = getValue('jiris_step2');\n\n      var selectedPills = Array.from(\n        wrapper.querySelectorAll('.value-pill.active')\n      ).map(function (pill) {\n        return pill.textContent.trim();\n      });\n\n      if (selectedPills.length || hasValue(step2)) {\n\n        lines.push('2. REP\u00c9RER CE QUI ME MOBILISE OU ME RALENTIT');\n        lines.push('');\n\n        if (selectedPills.length) {\n\n          lines.push('\u00c9l\u00e9ments pr\u00e9sents en ce moment :');\n\n          selectedPills.forEach(function (item) {\n            lines.push('\u2022 ' + item);\n          });\n\n          lines.push('');\n        }\n\n        if (hasValue(step2)) {\n          lines.push('Ce qui influence ma capacit\u00e9 \u00e0 continuer :');\n          lines.push(step2);\n          lines.push('');\n        }\n      }\n\n      \/* SECTION 3 *\/\n\n      var modeAvailable = getValue('jiris_modeAvailable');\n      var modeLimited = getValue('jiris_modeLimited');\n\n      if (hasValue(modeAvailable) || hasValue(modeLimited)) {\n\n        lines.push('3. TROUVER UN RYTHME QUI RESTE POSSIBLE');\n        lines.push('');\n\n        if (hasValue(modeAvailable)) {\n          lines.push('Quand j\\'ai plus de ressources :');\n          lines.push(modeAvailable);\n          lines.push('');\n        }\n\n        if (hasValue(modeLimited)) {\n          lines.push('Quand mes ressources sont limit\u00e9es :');\n          lines.push(modeLimited);\n          lines.push('');\n        }\n      }\n\n      \/* SECTION 4 *\/\n\n      var step4 = getValue('jiris_step4');\n\n      if (hasValue(step4)) {\n        lines.push('4. IDENTIFIER MES APPUIS');\n        lines.push('');\n        lines.push('Ce qui pourrait soutenir la suite :');\n        lines.push(step4);\n        lines.push('');\n      }\n\n      \/* SECTION 5 *\/\n\n      var nextAdjustment = getValue('jiris_nextAdjustment');\n      var nextWhen = getValue('jiris_nextWhen');\n      var ifChanged = getValue('jiris_ifChanged');\n\n      if (\n        hasValue(nextAdjustment) ||\n        hasValue(nextWhen) ||\n        hasValue(ifChanged)\n      ) {\n\n        lines.push('5. CHOISIR MON PROCHAIN AJUSTEMENT');\n        lines.push('');\n\n        if (hasValue(nextAdjustment)) {\n          lines.push('Ce que je choisis d\\'ajuster :');\n          lines.push(nextAdjustment);\n          lines.push('');\n        }\n\n        if (hasValue(nextWhen)) {\n          lines.push('Quand vais-je mettre cet ajustement en pratique ?');\n          lines.push(nextWhen);\n          lines.push('');\n        }\n\n        if (hasValue(ifChanged)) {\n          lines.push('Si ma situation change, je pourrai :');\n          lines.push(ifChanged);\n          lines.push('');\n        }\n      }\n\n      lines.push('\u00c0 GARDER EN T\u00caTE');\n      lines.push('');\n      lines.push('Continuer peut aussi vouloir dire ajuster.');\n      lines.push('');\n      lines.push(\n        'Une d\u00e9marche n\\'a pas besoin de suivre une ligne ' +\n        'parfaitement r\u00e9guli\u00e8re pour avoir du sens.'\n      );\n      lines.push('');\n      lines.push('JIRIS \u2014 \u00c9couter \u2022 Comprendre \u2022 Inclure.');\n\n      return lines.join('\\n');\n    }\n\n\n    \/* =======================================================\n       COPIE DE SECOURS\n       ======================================================= *\/\n\n    function fallbackCopy(text) {\n\n      var temporary =\n        document.createElement('textarea');\n\n      temporary.value = text;\n\n      temporary.setAttribute(\n        'readonly',\n        ''\n      );\n\n      temporary.style.position =\n        'fixed';\n\n      temporary.style.opacity =\n        '0';\n\n      document.body.appendChild(\n        temporary\n      );\n\n      temporary.select();\n\n      try {\n\n        document.execCommand('copy');\n\n        return true;\n\n      } catch (e) {\n\n        return false;\n\n      } finally {\n\n        document.body.removeChild(\n          temporary\n        );\n\n      }\n    }\n\n\n    \/* =======================================================\n       FEEDBACK COPIE\n       ======================================================= *\/\n\n    function showCopySuccess() {\n\n      copyButton.textContent = '\u2713 Copi\u00e9 !';\n      copyButton.disabled = true;\n\n      showToast('\u2713 R\u00e9flexion copi\u00e9e');\n\n      setTimeout(\n        function () {\n          copyButton.innerHTML = originalCopyText;\n          copyButton.disabled = false;\n        },\n        2000\n      );\n    }\n\n\n    \/* =======================================================\n       COPIER\n       ======================================================= *\/\n\n    copyButton.addEventListener(\n      'click',\n      function () {\n\n        if (!hasAnyResponse()) {\n\n          showToast(\n            'Remplissez au moins un champ avant de copier votre r\u00e9flexion.'\n          );\n\n          return;\n        }\n\n\n        var text = buildPlanText();\n\n\n        function success() {\n          showCopySuccess();\n        }\n\n\n        function failure() {\n\n          if (fallbackCopy(text)) {\n\n            success();\n\n          } else {\n\n            showToast(\n              'La copie a \u00e9chou\u00e9. Vous pouvez utiliser \u00ab Imprimer \u00bb.'\n            );\n\n          }\n\n        }\n\n\n        if (\n          navigator.clipboard &&\n          navigator.clipboard.writeText\n        ) {\n\n          navigator.clipboard\n            .writeText(text)\n            .then(success)\n            .catch(failure);\n\n        } else {\n\n          failure();\n\n        }\n\n      }\n    );\n\n\n    \/* =======================================================\n       IMPRESSION\n       ======================================================= *\/\n\n    printButton.addEventListener(\n      'click',\n      function () {\n\n        updatePrintDate();\n\n        window.print();\n\n      }\n    );\n\n\n    \/* =======================================================\n       EFFACER\n       ======================================================= *\/\n\n    clearButton.addEventListener(\n      'click',\n      function () {\n\n        if (\n          !window.confirm(\n            'Effacer toutes vos r\u00e9ponses de cet appareil ?'\n          )\n        ) {\n\n          return;\n\n        }\n\n\n        inputs.forEach(\n          function (field) {\n\n            field.value = '';\n\n            autoResize(field);\n\n          }\n        );\n\n\n        valuePills.forEach(\n          function (pill) {\n\n            pill.classList.remove(\n              'active'\n            );\n\n            pill.setAttribute(\n              'aria-pressed',\n              'false'\n            );\n\n          }\n        );\n\n\n        clearStoredAnswersOnly();\n\n\n        showToast(\n          '\u2713 Vos r\u00e9ponses ont \u00e9t\u00e9 effac\u00e9es.'\n        );\n\n      }\n    );\n\n  })();\n  <\/script>\n\n<\/div>\n<!-- Fin de l'outil JIRIS - Outil 4 -->\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Soutenir ce qui est en cours JIRIS Passer \u00e0 l&rsquo;action Outil 4 Soutenir ce qui est en cours Pr\u00e9server ce qui vous aide, ajuster votre rythme et trouver une mani\u00e8re de continuer qui reste possible. Commencer une d\u00e9marche est parfois une \u00e9tape importante. La suite peut toutefois demander autre chose : trouver un rythme qui [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"iawp_total_views":0,"footnotes":""},"class_list":["post-4544","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/jiris.ca\/en\/wp-json\/wp\/v2\/pages\/4544","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jiris.ca\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/jiris.ca\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/jiris.ca\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jiris.ca\/en\/wp-json\/wp\/v2\/comments?post=4544"}],"version-history":[{"count":21,"href":"https:\/\/jiris.ca\/en\/wp-json\/wp\/v2\/pages\/4544\/revisions"}],"predecessor-version":[{"id":4689,"href":"https:\/\/jiris.ca\/en\/wp-json\/wp\/v2\/pages\/4544\/revisions\/4689"}],"wp:attachment":[{"href":"https:\/\/jiris.ca\/en\/wp-json\/wp\/v2\/media?parent=4544"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}