A place to cache linked articles (think custom and personal wayback machine)
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

index.html 12KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. <!doctype html><!-- This is a valid HTML5 document. -->
  2. <!-- Screen readers, SEO, extensions and so on. -->
  3. <html lang="fr">
  4. <!-- Has to be within the first 1024 bytes, hence before the <title>
  5. See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset -->
  6. <meta charset="utf-8">
  7. <!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 -->
  8. <!-- The viewport meta is quite crowded and we are responsible for that.
  9. See: https://codepen.io/tigt/post/meta-viewport-for-2015 -->
  10. <meta name="viewport" content="width=device-width,initial-scale=1">
  11. <!-- Required to make a valid HTML5 document. -->
  12. <title>Zam - beta.gouv.fr (archive) — David Larlet</title>
  13. <meta name="description" content="Publication mise en cache pour en conserver une trace.">
  14. <!-- That good ol' feed, subscribe :). -->
  15. <link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/">
  16. <!-- Generated from https://realfavicongenerator.net/ such a mess. -->
  17. <link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png">
  18. <link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png">
  19. <link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png">
  20. <link rel="manifest" href="/static/david/icons2/site.webmanifest">
  21. <link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c">
  22. <link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
  23. <meta name="msapplication-TileColor" content="#f0f0ea">
  24. <meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml">
  25. <meta name="theme-color" content="#f0f0ea">
  26. <!-- Documented, feel free to shoot an email. -->
  27. <link rel="stylesheet" href="/static/david/css/style_2020-06-19.css">
  28. <!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
  29. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  30. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  31. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  32. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  33. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  34. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  35. <script type="text/javascript">
  36. function toggleTheme(themeName) {
  37. document.documentElement.classList.toggle(
  38. 'forced-dark',
  39. themeName === 'dark'
  40. )
  41. document.documentElement.classList.toggle(
  42. 'forced-light',
  43. themeName === 'light'
  44. )
  45. }
  46. const selectedTheme = localStorage.getItem('theme')
  47. if (selectedTheme !== 'undefined') {
  48. toggleTheme(selectedTheme)
  49. }
  50. </script>
  51. <meta name="robots" content="noindex, nofollow">
  52. <meta content="origin-when-cross-origin" name="referrer">
  53. <!-- Canonical URL for SEO purposes -->
  54. <link rel="canonical" href="https://beta.gouv.fr/startups/zam.html">
  55. <body class="remarkdown h1-underline h2-underline h3-underline hr-center ul-star pre-tick">
  56. <article>
  57. <header>
  58. <h1>Zam - beta.gouv.fr</h1>
  59. </header>
  60. <nav>
  61. <p class="center">
  62. <a href="/david/" title="Aller à l’accueil">🏠</a> •
  63. <a href="https://beta.gouv.fr/startups/zam.html" title="Lien vers le contenu original">Source originale</a>
  64. </p>
  65. </nav>
  66. <hr>
  67. <main>
  68. <h2 id="le-contexte">Le contexte</h2>
  69. <p>Pour tout projet ou proposition de loi, l’examen parlementaire est une phase cruciale. Le texte est discuté, retravaillé et voté afin d’aboutir à une version conforme aux attentes des représentants des citoyens.</p>
  70. <p>Pour le Gouvernement, cette phase est celle qui est la plus dense. Les agents doivent répondre aux amendements, parfois très nombreux, déposés par les parlementaires, dans le délai, parfois très court, qui leur est imparti. Le fruit de ce travail est matérialisé par le dossier qui sera fourni au(x) ministre(s) et conseillers ministériels pour défendre la position du Gouvernement “au banc”, c’est-à-dire lors du débat dans l’hémicycle. C’est la raison pour laquelle cette phase de gestion des amendements est à fort enjeu : en dépend la constitution d’un dossier solide et propre pour le ministre.</p>
  71. <p>Concrètement, le travail des services du Gouvernement consiste à :</p>
  72. <ul>
  73. <li>récupérer les amendements déposés par les parlementaires, et ce le plus tôt possible après l’expiration du délai de dépôt ;</li>
  74. <li>rester en veille permanente sur les sites Internet du Parlement pour repérer toute nouveauté (nouvel (sous-)amendement ou rectification d’amendement) pouvant intervenir jusqu’à la dernière minute ;</li>
  75. <li>analyser le contenu de chaque amendement et le mettre entre les mains de l’agent compétent pour y répondre (le nombre d’agents potentiellement concernés peut parfois monter jusqu’à plusieurs centaines) ;</li>
  76. <li>rédiger une réponse qui doit ensuite être revue par l’ensemble des valideurs compétents au sein du ministère concerné ;</li>
  77. <li>identifier et soumettre à l’arbitrage interministériel les éventuels points de difficulté ;</li>
  78. <li>constituer un dossier de banc contenant l’ensemble des amendements et réponses, en s’assurant que le dossier est standardisé dans son format, qu’il est à jour et qu’il est dans le bon ordre (en fonction de l’ordre de discussion établi pour la séance et qui change jusqu’à la dernière minute) ;</li>
  79. <li>être réactifs pendant les débats afin de répondre aux urgences.</li>
  80. </ul>
  81. <p>Pour chaque projet de loi, le processus se répète au minimum 4 fois : lors de la première lecture à l’Assemblée, pour la première lecture au Sénat, puis aux nouvelles lectures à l’Assemblée et au Sénat. Le volume des amendements à traiter peut considérablement jouer sur la complexité et le stress que ce travail implique : s’agissant par exemple du projet de loi de financement de la sécurité sociale pour 2018 (PLFSS), il a fallu traiter 1300 amendements en 3 jours, entre le vendredi soir et le mardi suivant, début de la séance à l’Assemblée nationale.</p>
  82. <h2 id="la-solution-numérique">La solution numérique</h2>
  83. <p>L’outil développé depuis l’été 2018 permet :</p>
  84. <ul>
  85. <li>de récupérer et mettre à jour automatiquement les données transmises par le Parlement à savoir les amendements et sous-amendements, ainsi que l’ordre de discussion ;</li>
  86. <li>de placer les amendements entre les mains des agents compétents qui pourront ensuite les transmettre pour validation ou contribution ;</li>
  87. <li>de centraliser l’ensemble des réponses apportées ;</li>
  88. <li>de générer automatiquement un dossier de banc en ligne (limitant les impressions papier) et un dossier PDF dont le format standardisé est garanti ;</li>
  89. <li>de réaliser certaines opérations de vérification (pour les coordinateurs du travail notamment) à travers un index qui permet de localiser les amendements à tout moment et à travers des fonctionnalités d’export des données sous différents formats.</li>
  90. </ul>
  91. <p>L’outil peut ainsi être utilisé pour tous les projets ou propositions de loi examinés par le Parlement et facilite la vie de l’ensemble des agents qui l’ont testé (rédacteurs, valideurs internes et instances interministérielles, coordinateurs, cabinets ministériels).</p>
  92. <p>La réussite de Zam pourra être mesurée par :</p>
  93. <ul>
  94. <li>la satisfaction et la fidélité des utilisateurs ;</li>
  95. <li>le temps gagné par les agents ;</li>
  96. <li>la réduction de leur stress perçu ;</li>
  97. <li>l’amélioration de la qualité au fond des réponses aux amendements.</li>
  98. </ul>
  99. <h2 id="la-stratégie-de-mise-sur-le-marché">La stratégie de mise sur le marché</h2>
  100. <p>La solution numérique est expérimentée depuis le dernier trimestre 2018 sur différents projets ou propositions de loi. Ces utilisations ont permis de tester le prototype sur des projets de loi annuels, et/ou au nombre de contributeurs élevé et/ou dont la volumétrie d’amendements est importante. Le bilan est positif : les utilisateurs ont gagné en confort de travail et les utilisateurs PLFSS et projet de loi de finances souhaitent renouveler l’utilisation de Zam fin 2019.</p>
  101. <p>Sur l’année 2019, les expérimentations se poursuivent de même que les développements, guidés par les retours des testeurs ainsi que par les expertises métier des membres du groupe d’utilisateurs (passés, futurs et potentiels) qui a été formé.</p>
  102. <p>L’enjeu est désormais d’organiser la transition, souhaitée pour le début de l’année 2020, vers un fonctionnement en routine dans lequel Zam est l’outil gouvernemental de gestion des amendements, disponible pour toutes les administrations.</p>
  103. </main>
  104. </article>
  105. <hr>
  106. <footer>
  107. <p>
  108. <a href="/david/" title="Aller à l’accueil">🏠</a> •
  109. <a href="/david/log/" title="Accès au flux RSS">🤖</a> •
  110. <a href="http://larlet.com" title="Go to my English profile" data-instant>🇨🇦</a> •
  111. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel">📮</a> •
  112. <abbr title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340">🧚</abbr>
  113. </p>
  114. <template id="theme-selector">
  115. <form>
  116. <fieldset>
  117. <legend>Thème</legend>
  118. <label>
  119. <input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
  120. </label>
  121. <label>
  122. <input type="radio" value="dark" name="chosen-color-scheme"> Foncé
  123. </label>
  124. <label>
  125. <input type="radio" value="light" name="chosen-color-scheme"> Clair
  126. </label>
  127. </fieldset>
  128. </form>
  129. </template>
  130. </footer>
  131. <script type="text/javascript">
  132. function loadThemeForm(templateName) {
  133. const themeSelectorTemplate = document.querySelector(templateName)
  134. const form = themeSelectorTemplate.content.firstElementChild
  135. themeSelectorTemplate.replaceWith(form)
  136. form.addEventListener('change', (e) => {
  137. const chosenColorScheme = e.target.value
  138. localStorage.setItem('theme', chosenColorScheme)
  139. toggleTheme(chosenColorScheme)
  140. })
  141. const selectedTheme = localStorage.getItem('theme')
  142. if (selectedTheme && selectedTheme !== 'undefined') {
  143. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  144. }
  145. }
  146. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  147. window.addEventListener('load', () => {
  148. let hasDarkRules = false
  149. for (const styleSheet of Array.from(document.styleSheets)) {
  150. let mediaRules = []
  151. for (const cssRule of styleSheet.cssRules) {
  152. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  153. continue
  154. }
  155. // WARNING: Safari does not have/supports `conditionText`.
  156. if (cssRule.conditionText) {
  157. if (cssRule.conditionText !== prefersColorSchemeDark) {
  158. continue
  159. }
  160. } else {
  161. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  162. continue
  163. }
  164. }
  165. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  166. }
  167. // WARNING: do not try to insert a Rule to a styleSheet you are
  168. // currently iterating on, otherwise the browser will be stuck
  169. // in a infinite loop…
  170. for (const mediaRule of mediaRules) {
  171. styleSheet.insertRule(mediaRule.cssText)
  172. hasDarkRules = true
  173. }
  174. }
  175. if (hasDarkRules) {
  176. loadThemeForm('#theme-selector')
  177. }
  178. })
  179. </script>
  180. </body>
  181. </html>