diff --git a/user/config/system.yaml b/user/config/system.yaml index 76228a4..83b7124 100644 --- a/user/config/system.yaml +++ b/user/config/system.yaml @@ -1,12 +1,11 @@ absolute_urls: false -timezone: '' -default_locale: null +timezone: null param_sep: ':' wrapped_site: false reverse_proxy_setup: false force_ssl: false force_lowercase_urls: true -custom_base_url: '' +custom_base_url: null username_regex: '^[a-z0-9_-]{3,16}$' pwd_regex: '(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}' intl_enabled: true @@ -16,7 +15,7 @@ http_x_forwarded: port: true ip: true languages: - supported: { } + supported: null default_lang: null include_default_lang: true include_default_lang_file_extension: true @@ -25,7 +24,6 @@ languages: session_store_active: false http_accept_language: false override_locale: false - content_fallback: { } pages_fallback_only: false debug: false home: @@ -76,13 +74,13 @@ pages: - json - rss - atom - append_url_extension: '' + append_url_extension: null expires: 604800 cache_control: null last_modified: false etag: true vary_accept_encoding: false - redirect_default_code: 302 + redirect_default_code: '302' redirect_trailing_slash: 1 redirect_default_route: 0 ignore_files: @@ -113,9 +111,17 @@ cache: gzip: false allow_webserver_gzip: false redis: - socket: false + socket: '0' password: null database: null + server: null + port: null + memcache: + server: null + port: null + memcached: + server: null + port: null twig: cache: true debug: true @@ -145,7 +151,7 @@ assets: collections: jquery: 'system://assets/jquery/jquery-3.x.min.js' errors: - display: true + display: 1 log: true log: handler: file @@ -153,7 +159,7 @@ log: facility: local6 tag: grav debugger: - enabled: true + enabled: false provider: debugbar censored: false shutdown: @@ -169,7 +175,7 @@ images: cls: auto_sizes: false aspect_ratio: false - retina_scale: 1 + retina_scale: '1' defaults: loading: auto watermark: @@ -180,10 +186,10 @@ images: watermark_all: false media: enable_media_timestamp: false - unsupported_inline_types: { } - allowed_fallback_types: { } + unsupported_inline_types: null + allowed_fallback_types: null auto_metadata_exif: false - upload_limit: 8388608 + upload_limit: 4294967296 session: enabled: true initialize: true diff --git a/user/config/versions.yaml b/user/config/versions.yaml index aa709ad..6de16d2 100644 --- a/user/config/versions.yaml +++ b/user/config/versions.yaml @@ -1,6 +1,6 @@ core: grav: - version: 1.7.42.3 + version: 1.7.44 schema: 1.7.0_2020-11-20_1 history: - { version: 1.7.41.1, date: '2023-05-25 20:58:44' } @@ -15,3 +15,6 @@ core: - { version: 1.7.42.1, date: '2023-07-06 22:48:42' } - { version: 1.7.42.1, date: '2023-07-06 23:08:22' } - { version: 1.7.42.3, date: '2023-07-18 20:38:16' } + - { version: 1.7.43, date: '2023-11-24 05:34:31' } + - { version: 1.7.43, date: '2024-01-02 05:32:30' } + - { version: 1.7.44, date: '2024-02-05 19:45:49' } diff --git a/user/data/feed/3a6d0284e743dc4a9b86f97d6dd1a3bf.yaml b/user/data/feed/3a6d0284e743dc4a9b86f97d6dd1a3bf.yaml index e308fd4..0d6e3ed 100644 --- a/user/data/feed/3a6d0284e743dc4a9b86f97d6dd1a3bf.yaml +++ b/user/data/feed/3a6d0284e743dc4a9b86f97d6dd1a3bf.yaml @@ -1,40 +1,40 @@ -last_checked: 1690504495 +last_checked: 1707227268 data: - - title: 'macOS 13.0 Ventura Apache Setup: Upgrading Homebrew' + title: 'macOS 14.0 Sonoma Apache Setup: Upgrading Homebrew' url: 'https://getgrav.org/blog/macos-ventura-apache-upgrade-homebrew' - date: 1671969600 - nicetime: '7 months ago' + date: 1697803200 + nicetime: '4 months ago' - - title: 'macOS 13.0 Ventura Apache Setup: LetsEncrypt SSL' - url: 'https://getgrav.org/blog/macos-ventura-apache-ssl' - date: 1671966180 - nicetime: '7 months ago' + title: 'macOS 14.0 Sonoma Apache Setup: LetsEncrypt SSL' + url: 'https://getgrav.org/blog/macos-sonoma-apache-ssl' + date: 1697799780 + nicetime: '4 months ago' - - title: 'macOS 13.0 Ventura Apache Setup: MySQL, Xdebug & More...' - url: 'https://getgrav.org/blog/macos-ventura-apache-mysql-vhost-apc' - date: 1671966000 - nicetime: '7 months ago' + title: 'macOS 14.0 Sonoma Apache Setup: MySQL, Xdebug & More...' + url: 'https://getgrav.org/blog/macos-sonoma-apache-mysql-vhost-apc' + date: 1697799600 + nicetime: '4 months ago' - - title: 'macOS 13.0 Ventura Apache Setup: Multiple PHP Versions' - url: 'https://getgrav.org/blog/macos-ventura-apache-multiple-php-versions' - date: 1671962400 - nicetime: '7 months ago' + title: 'macOS 14.0 Sonoma Apache Setup: Multiple PHP Versions' + url: 'https://getgrav.org/blog/macos-sonoma-apache-multiple-php-versions' + date: 1697796000 + nicetime: '4 months ago' - title: 'Big changes for Email plugin' url: 'https://getgrav.org/blog/new-email-plugin' date: 1665048600 - nicetime: '10 months ago' + nicetime: '1 years ago' - title: 'Skeleton Build Automation' url: 'https://getgrav.org/blog/skeletons-build-automation' date: 1614347940 - nicetime: '2 years ago' + nicetime: '3 years ago' - title: 'Using Grav''s new built-in Web Server' url: 'https://getgrav.org/blog/using-builtin-webserver' date: 1612186320 - nicetime: '2 years ago' + nicetime: '3 years ago' - title: 'Grav 1.7 CLI Self-Upgrade Bug' url: 'https://getgrav.org/blog/grav-170-cli-self-upgrade-bug' diff --git a/user/data/flex/indexes/pages.json b/user/data/flex/indexes/pages.json index 50ed439..8b2c1a8 100644 --- a/user/data/flex/indexes/pages.json +++ b/user/data/flex/indexes/pages.json @@ -1 +1 @@ -{"version":"1.5","timestamp":1690505028,"count":93,"index":{"":{"key":"","storage_key":"","template":null,"storage_timestamp":1690481551,"children":{"01.home":1690472627,"02.introduction":1690472626,"03.la-naissance-du-projet-pilote-ou-atterrir":1690472626,"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise":1690472627,"06.lexperimentation-ou-atterrir-sur-le-mode-de-la-recherche-et-de-linnovation":1690472627,"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage":1690472405,"08.Annexe":1690472627,"accompagnement-a-lenquete":1690472627},"checksum":"2830ed47070b94f8b662e3ceb3d75a3e"},"01.home":{"key":"home","storage_key":"01.home","template":"default","storage_timestamp":1690472627,"markdown":{"":{"default":1690472405}},"children":{"01.historique-du-bourgeon-ou-atterrir-par-le-collectif-rivage":1690472627},"checksum":"8054b70640e9e8c79e5a70b745056aef"},"01.home\/01.historique-du-bourgeon-ou-atterrir-par-le-collectif-rivage":{"key":"home\/historique-du-bourgeon-ou-atterrir-par-le-collectif-rivage","storage_key":"01.home\/01.historique-du-bourgeon-ou-atterrir-par-le-collectif-rivage","template":"default","storage_timestamp":1690484514,"markdown":{"":{"default":1690484514}},"children":{"01.collectif-rivage":1690472627,"02.historique-du-bourgeon-ou-atterrir-par-le-collectif-rivage":1690472627},"checksum":"2d72d2be5cb0b9a96b2d76bdef1d6a9b"},"01.home\/01.historique-du-bourgeon-ou-atterrir-par-le-collectif-rivage\/01.collectif-rivage":{"key":"home\/historique-du-bourgeon-ou-atterrir-par-le-collectif-rivage\/collectif-rivage","storage_key":"01.home\/01.historique-du-bourgeon-ou-atterrir-par-le-collectif-rivage\/01.collectif-rivage","template":"default","storage_timestamp":1690472627,"markdown":{"":{"default":1690472405}},"checksum":"d7e9664fbae7d84ef7b9a69f311e52f5"},"01.home\/01.historique-du-bourgeon-ou-atterrir-par-le-collectif-rivage\/02.historique-du-bourgeon-ou-atterrir-par-le-collectif-rivage":{"key":"home\/historique-du-bourgeon-ou-atterrir-par-le-collectif-rivage\/historique-du-bourgeon-ou-atterrir-par-le-collectif-rivage","storage_key":"01.home\/01.historique-du-bourgeon-ou-atterrir-par-le-collectif-rivage\/02.historique-du-bourgeon-ou-atterrir-par-le-collectif-rivage","template":"default","storage_timestamp":1690472627,"markdown":{"":{"default":1690472405}},"checksum":"dcefbf4bd4058a596cbfb745ce020cc8"},"02.introduction":{"key":"introduction","storage_key":"02.introduction","template":"default","storage_timestamp":1690485502,"markdown":{"":{"default":1690485502}},"children":{"02.vademecum":1690480998,"03.entretiens-avec-bruno-latour":1690481568,"04.principes-repris-sous-forme-dogmatique":1690481097,"05.reponses-aux-objections":1690481461,"06.principe-des-ateliers-vademecum-pour-ceux-qui-souhaitent-reproduire-lexperience":1690483031},"checksum":"4b2274682372c3e301fbf20e19daa6e5"},"02.introduction\/02.vademecum":{"key":"introduction\/vademecum","storage_key":"02.introduction\/02.vademecum","template":"default","storage_timestamp":1690480998,"markdown":{"":{"default":1690472405}},"children":{"01.lequipe-du-projet-pilote":1690472626,"01.texte-vademecum":1690472626,"02.premiere-approche-de-la-boussole":1690472626},"checksum":"af7b4d453b2a2f8d646ac14aee2ef03b"},"02.introduction\/02.vademecum\/01.lequipe-du-projet-pilote":{"key":"introduction\/vademecum\/lequipe-du-projet-pilote","storage_key":"02.introduction\/02.vademecum\/01.lequipe-du-projet-pilote","template":"default","storage_timestamp":1690472626,"markdown":{"":{"default":1690472405}},"children":{"lequipe-du-projet-pilote-le-consortium-ou-atterrir":1690472626},"checksum":"bde1a7f8e7435ce5813108ea200734e9"},"02.introduction\/02.vademecum\/01.lequipe-du-projet-pilote\/lequipe-du-projet-pilote-le-consortium-ou-atterrir":{"key":"introduction\/vademecum\/lequipe-du-projet-pilote\/lequipe-du-projet-pilote-le-consortium-ou-atterrir","storage_key":"02.introduction\/02.vademecum\/01.lequipe-du-projet-pilote\/lequipe-du-projet-pilote-le-consortium-ou-atterrir","template":"default","storage_timestamp":1690472626,"markdown":{"":{"default":1690472405}},"checksum":"4d5c712b1760c28d5b1edb64e89c5796"},"02.introduction\/02.vademecum\/01.texte-vademecum":{"key":"introduction\/vademecum\/texte-vademecum","storage_key":"02.introduction\/02.vademecum\/01.texte-vademecum","template":"default","storage_timestamp":1690472626,"markdown":{"":{"default":1690472405}},"checksum":"d13c6f44777f963afbcdc340045b380b"},"02.introduction\/02.vademecum\/02.premiere-approche-de-la-boussole":{"key":"introduction\/vademecum\/premiere-approche-de-la-boussole","storage_key":"02.introduction\/02.vademecum\/02.premiere-approche-de-la-boussole","template":"default","storage_timestamp":1690472626,"markdown":{"":{"default":1690472405}},"checksum":"e0b973a39b75b03b2316932a94fef5fb"},"02.introduction\/03.entretiens-avec-bruno-latour":{"key":"introduction\/entretiens-avec-bruno-latour","storage_key":"02.introduction\/03.entretiens-avec-bruno-latour","template":"default","storage_timestamp":1690481568,"markdown":{"":{"default":1690472405}},"children":{"01.entretiens-avec-bruno-latour-extrait-du-rapport-dactivite-du-projet-pilote":1690472626},"checksum":"ef39958147c8fbff84afabc0543ee274"},"02.introduction\/03.entretiens-avec-bruno-latour\/01.entretiens-avec-bruno-latour-extrait-du-rapport-dactivite-du-projet-pilote":{"key":"introduction\/entretiens-avec-bruno-latour\/entretiens-avec-bruno-latour-extrait-du-rapport-dactivite-du-projet-pilote","storage_key":"02.introduction\/03.entretiens-avec-bruno-latour\/01.entretiens-avec-bruno-latour-extrait-du-rapport-dactivite-du-projet-pilote","template":"default","storage_timestamp":1690472626,"markdown":{"":{"default":1690472405}},"checksum":"2bfa22179eccee2077790db244485b42"},"02.introduction\/04.principes-repris-sous-forme-dogmatique":{"key":"introduction\/principes-repris-sous-forme-dogmatique","storage_key":"02.introduction\/04.principes-repris-sous-forme-dogmatique","template":"default","storage_timestamp":1690481097,"markdown":{"":{"default":1690472405}},"children":{"01.principes-repris-sous-forme-dogmatique-extrait-du-rapport-dactivite-du-projet-pilote":1690472626},"checksum":"4fe5cf70f34af1c80b78b3cb807b07b4"},"02.introduction\/04.principes-repris-sous-forme-dogmatique\/01.principes-repris-sous-forme-dogmatique-extrait-du-rapport-dactivite-du-projet-pilote":{"key":"introduction\/principes-repris-sous-forme-dogmatique\/principes-repris-sous-forme-dogmatique-extrait-du-rapport-dactivite-du-projet-pilote","storage_key":"02.introduction\/04.principes-repris-sous-forme-dogmatique\/01.principes-repris-sous-forme-dogmatique-extrait-du-rapport-dactivite-du-projet-pilote","template":"default","storage_timestamp":1690472626,"markdown":{"":{"default":1690472405}},"checksum":"d57ced50b3ccca80b7f0424ce25ba37d"},"02.introduction\/05.reponses-aux-objections":{"key":"introduction\/reponses-aux-objections","storage_key":"02.introduction\/05.reponses-aux-objections","template":"default","storage_timestamp":1690481461,"markdown":{"":{"default":1690472405}},"children":{"01.reponses-aux-objections-extraits-du-rapport-dactivite-du-projet-pilote":1690472626},"checksum":"89fdff7da4740cc4c4ba22e38dd72e33"},"02.introduction\/05.reponses-aux-objections\/01.reponses-aux-objections-extraits-du-rapport-dactivite-du-projet-pilote":{"key":"introduction\/reponses-aux-objections\/reponses-aux-objections-extraits-du-rapport-dactivite-du-projet-pilote","storage_key":"02.introduction\/05.reponses-aux-objections\/01.reponses-aux-objections-extraits-du-rapport-dactivite-du-projet-pilote","template":"default","storage_timestamp":1690472626,"markdown":{"":{"default":1690472405}},"checksum":"555840ceb4f601b062882b68cd062f56"},"02.introduction\/06.principe-des-ateliers-vademecum-pour-ceux-qui-souhaitent-reproduire-lexperience":{"key":"introduction\/principe-des-ateliers-vademecum-pour-ceux-qui-souhaitent-reproduire-lexperience","storage_key":"02.introduction\/06.principe-des-ateliers-vademecum-pour-ceux-qui-souhaitent-reproduire-lexperience","template":"default","storage_timestamp":1690483031,"markdown":{"":{"default":1690472405}},"children":{"01.principe-des-ateliers-vademecum-pour-ceux-qui-souhaitent-reproduire-lexperience":1690472626},"checksum":"8774e8859741fbd942cf199e55f5a7c2"},"02.introduction\/06.principe-des-ateliers-vademecum-pour-ceux-qui-souhaitent-reproduire-lexperience\/01.principe-des-ateliers-vademecum-pour-ceux-qui-souhaitent-reproduire-lexperience":{"key":"introduction\/principe-des-ateliers-vademecum-pour-ceux-qui-souhaitent-reproduire-lexperience\/principe-des-ateliers-vademecum-pour-ceux-qui-souhaitent-reproduire-lexperience","storage_key":"02.introduction\/06.principe-des-ateliers-vademecum-pour-ceux-qui-souhaitent-reproduire-lexperience\/01.principe-des-ateliers-vademecum-pour-ceux-qui-souhaitent-reproduire-lexperience","template":"default","storage_timestamp":1690472626,"markdown":{"":{"default":1690472405}},"checksum":"51c2037603a268d2f146f6643e115898"},"03.la-naissance-du-projet-pilote-ou-atterrir":{"key":"la-naissance-du-projet-pilote-ou-atterrir","storage_key":"03.la-naissance-du-projet-pilote-ou-atterrir","template":"default","storage_timestamp":1690485519,"markdown":{"":{"default":1690485519}},"children":{"01.lequipe-du-bourgeon":1690481207,"02.lassemblage-des-participants":1690481223,"03.les-ateliers-conferences-de-lexperimentation-ou-atterrir-avec-bruno-latour-soheil-hajmirbaba-et-vivian-depoues":1690484685,"04.les-hypotheses-du-projet-pilote-repises-avec-bruno-latour":1690481935},"checksum":"dc9be44c66644ebe78b56d27126435df"},"03.la-naissance-du-projet-pilote-ou-atterrir\/01.lequipe-du-bourgeon":{"key":"la-naissance-du-projet-pilote-ou-atterrir\/lequipe-du-bourgeon","storage_key":"03.la-naissance-du-projet-pilote-ou-atterrir\/01.lequipe-du-bourgeon","template":"default","storage_timestamp":1690481207,"markdown":{"":{"default":1690472405}},"children":{"lequipe-du-bourgeon":1690472626},"checksum":"35d0a8b2b340dc3370e06f3c0ed17a3c"},"03.la-naissance-du-projet-pilote-ou-atterrir\/01.lequipe-du-bourgeon\/lequipe-du-bourgeon":{"key":"la-naissance-du-projet-pilote-ou-atterrir\/lequipe-du-bourgeon\/lequipe-du-bourgeon","storage_key":"03.la-naissance-du-projet-pilote-ou-atterrir\/01.lequipe-du-bourgeon\/lequipe-du-bourgeon","template":"default","storage_timestamp":1690472626,"markdown":{"":{"default":1690472405}},"checksum":"a4904f6afabe96f700273d53cfe755c9"},"03.la-naissance-du-projet-pilote-ou-atterrir\/02.lassemblage-des-participants":{"key":"la-naissance-du-projet-pilote-ou-atterrir\/lassemblage-des-participants","storage_key":"03.la-naissance-du-projet-pilote-ou-atterrir\/02.lassemblage-des-participants","template":"default","storage_timestamp":1690481223,"markdown":{"":{"default":1690472405}},"children":{"01.lassemblage-des-participants":1690472626},"checksum":"93c6bf175c586a3896a0a5ebf1d8c124"},"03.la-naissance-du-projet-pilote-ou-atterrir\/02.lassemblage-des-participants\/01.lassemblage-des-participants":{"key":"la-naissance-du-projet-pilote-ou-atterrir\/lassemblage-des-participants\/lassemblage-des-participants","storage_key":"03.la-naissance-du-projet-pilote-ou-atterrir\/02.lassemblage-des-participants\/01.lassemblage-des-participants","template":"default","storage_timestamp":1690472626,"markdown":{"":{"default":1690472405}},"checksum":"c730a2121c37bc2112bb737f6f283550"},"03.la-naissance-du-projet-pilote-ou-atterrir\/03.les-ateliers-conferences-de-lexperimentation-ou-atterrir-avec-bruno-latour-soheil-hajmirbaba-et-vivian-depoues":{"key":"la-naissance-du-projet-pilote-ou-atterrir\/les-ateliers-conferences-de-lexperimentation-ou-atterrir-avec-bruno-latour-soheil-hajmirbaba-et-vivian-depoues","storage_key":"03.la-naissance-du-projet-pilote-ou-atterrir\/03.les-ateliers-conferences-de-lexperimentation-ou-atterrir-avec-bruno-latour-soheil-hajmirbaba-et-vivian-depoues","template":"default","storage_timestamp":1690484685,"markdown":{"":{"default":1690484685}},"children":{"01.latelier-conference-anime-par-bruno-latour-et-soheil-hajmirbaba":1690472625,"02.presentation-de-la-boussole-par-soheil-hajmirbaba":1690472625},"checksum":"996942a887501383c6bf8e8f236a0c65"},"03.la-naissance-du-projet-pilote-ou-atterrir\/03.les-ateliers-conferences-de-lexperimentation-ou-atterrir-avec-bruno-latour-soheil-hajmirbaba-et-vivian-depoues\/01.latelier-conference-anime-par-bruno-latour-et-soheil-hajmirbaba":{"key":"la-naissance-du-projet-pilote-ou-atterrir\/les-ateliers-conferences-de-lexperimentation-ou-atterrir-avec-bruno-latour-soheil-hajmirbaba-et-vivian-depoues\/latelier-conference-anime-par-bruno-latour-et-soheil-hajmirbaba","storage_key":"03.la-naissance-du-projet-pilote-ou-atterrir\/03.les-ateliers-conferences-de-lexperimentation-ou-atterrir-avec-bruno-latour-soheil-hajmirbaba-et-vivian-depoues\/01.latelier-conference-anime-par-bruno-latour-et-soheil-hajmirbaba","template":"default","storage_timestamp":1690472625,"markdown":{"":{"default":1690472405}},"checksum":"bcb56773539f07c25c1f7d4a90a55472"},"03.la-naissance-du-projet-pilote-ou-atterrir\/03.les-ateliers-conferences-de-lexperimentation-ou-atterrir-avec-bruno-latour-soheil-hajmirbaba-et-vivian-depoues\/02.presentation-de-la-boussole-par-soheil-hajmirbaba":{"key":"la-naissance-du-projet-pilote-ou-atterrir\/les-ateliers-conferences-de-lexperimentation-ou-atterrir-avec-bruno-latour-soheil-hajmirbaba-et-vivian-depoues\/presentation-de-la-boussole-par-soheil-hajmirbaba","storage_key":"03.la-naissance-du-projet-pilote-ou-atterrir\/03.les-ateliers-conferences-de-lexperimentation-ou-atterrir-avec-bruno-latour-soheil-hajmirbaba-et-vivian-depoues\/02.presentation-de-la-boussole-par-soheil-hajmirbaba","template":"default","storage_timestamp":1690472625,"markdown":{"":{"default":1690472405}},"checksum":"ad052f62b52effa4bec81259396f3562"},"03.la-naissance-du-projet-pilote-ou-atterrir\/04.les-hypotheses-du-projet-pilote-repises-avec-bruno-latour":{"key":"la-naissance-du-projet-pilote-ou-atterrir\/les-hypotheses-du-projet-pilote-repises-avec-bruno-latour","storage_key":"03.la-naissance-du-projet-pilote-ou-atterrir\/04.les-hypotheses-du-projet-pilote-repises-avec-bruno-latour","template":"default","storage_timestamp":1690481935,"markdown":{"":{"default":1690472405}},"children":{"01.un-premier-bourgeon-porte-par-dautres-membres-que-lequipe-pilote":1690472625},"checksum":"83a40b17767641a674fd9648df1d63f4"},"03.la-naissance-du-projet-pilote-ou-atterrir\/04.les-hypotheses-du-projet-pilote-repises-avec-bruno-latour\/01.un-premier-bourgeon-porte-par-dautres-membres-que-lequipe-pilote":{"key":"la-naissance-du-projet-pilote-ou-atterrir\/les-hypotheses-du-projet-pilote-repises-avec-bruno-latour\/un-premier-bourgeon-porte-par-dautres-membres-que-lequipe-pilote","storage_key":"03.la-naissance-du-projet-pilote-ou-atterrir\/04.les-hypotheses-du-projet-pilote-repises-avec-bruno-latour\/01.un-premier-bourgeon-porte-par-dautres-membres-que-lequipe-pilote","template":"default","storage_timestamp":1690472625,"markdown":{"":{"default":1690472405}},"checksum":"7b0eb8d5ced80f0b55b7dfb76e712eee"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise","template":"default","storage_timestamp":1690472627,"markdown":{"":{"default":1690472405}},"children":{"01.1-mener-lenquete-sur-le-terrain-de-vie":1690472627,"02.atelier-2-la-zone-critique-des-vivants-qui-fabriquent-leur-propres-conditions-dexistences":1690472626,"03.atelier-3-renouveler-la-gamme-des-affects-politique-ajustes-au-nouveau-regime-climatique":1690472626,"04.atelier-4-le-cercle-politique-lart-de-parler-courbe-et-de-doleancer-avec-bruno-latour-chloe-latour-et-vinciane-despret":1690472626,"05.atelier-5-relation-de-proximite-et-de-superposition-entre-les-territoires":1690472626,"06.atelier-6-boussole-des-puissances-dagir":1690472627,"07.atelier-7-ateliers-ouverts-et-partage-des-enqu\u00eates":1690472626,"08.atelier-8":1690472626,"09.atelier-9":1690472626,"10.atelier-10":1690472626,"11.atelier-11":1690472626,"12.les-kiosques-ressources-un-accompagnement-individuel-a-la-doleance":1690472626,"13.13-retrouver-des-capacites-dexpression-decoute-et-daction-politique":1690472626},"checksum":"c505a8825c75b71e0577e240b3333d43"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/01.1-mener-lenquete-sur-le-terrain-de-vie":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/1-mener-lenquete-sur-le-terrain-de-vie","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/01.1-mener-lenquete-sur-le-terrain-de-vie","template":"default","storage_timestamp":1690482024,"markdown":{"":{"default":1690472405}},"children":{"02.bibliographie":1690472626,"methodologie-outils":1690472627},"checksum":"ef82c824a004ed5bd4de40616fb4a478"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/01.1-mener-lenquete-sur-le-terrain-de-vie\/02.bibliographie":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/1-mener-lenquete-sur-le-terrain-de-vie\/bibliographie","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/01.1-mener-lenquete-sur-le-terrain-de-vie\/02.bibliographie","template":"default","storage_timestamp":1690472626,"markdown":{"":{"default":1690472405}},"checksum":"4395e2472932c21e70764bd5fc85857a"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/01.1-mener-lenquete-sur-le-terrain-de-vie\/methodologie-outils":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/1-mener-lenquete-sur-le-terrain-de-vie\/methodologie-outils","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/01.1-mener-lenquete-sur-le-terrain-de-vie\/methodologie-outils","template":"default","storage_timestamp":1690472627,"markdown":{"":{"default":1690472405}},"checksum":"582649bb66c290e1754f32a4d6fe7147"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/02.atelier-2-la-zone-critique-des-vivants-qui-fabriquent-leur-propres-conditions-dexistences":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-2-la-zone-critique-des-vivants-qui-fabriquent-leur-propres-conditions-dexistences","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/02.atelier-2-la-zone-critique-des-vivants-qui-fabriquent-leur-propres-conditions-dexistences","template":"default","storage_timestamp":1690483873,"markdown":{"":{"default":1690472405}},"children":{"01.methodologie-outils":1690483750,"01.serpentin":1690483873,"02.bibliographie":1690482781},"checksum":"31148f908cb756d1bb06828eaaa7c99b"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/02.atelier-2-la-zone-critique-des-vivants-qui-fabriquent-leur-propres-conditions-dexistences\/01.serpentin":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-2-la-zone-critique-des-vivants-qui-fabriquent-leur-propres-conditions-dexistences\/serpentin","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/02.atelier-2-la-zone-critique-des-vivants-qui-fabriquent-leur-propres-conditions-dexistences\/01.serpentin","template":"default","storage_timestamp":1690487147,"markdown":{"":{"default":1690487147}},"checksum":"4599897282d0293e0bac0551fa734fbc"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/02.atelier-2-la-zone-critique-des-vivants-qui-fabriquent-leur-propres-conditions-dexistences\/02.methodologie-outils":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-2-la-zone-critique-des-vivants-qui-fabriquent-leur-propres-conditions-dexistences\/methodologie-outils","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/02.atelier-2-la-zone-critique-des-vivants-qui-fabriquent-leur-propres-conditions-dexistences\/02.methodologie-outils","template":"default","storage_timestamp":1690505028,"markdown":{"":{"default":1690505028}},"checksum":"d8c0d10a6fceb024eb3b3c8e0e78a727"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/02.atelier-2-la-zone-critique-des-vivants-qui-fabriquent-leur-propres-conditions-dexistences\/03.bibliographie":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-2-la-zone-critique-des-vivants-qui-fabriquent-leur-propres-conditions-dexistences\/bibliographie","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/02.atelier-2-la-zone-critique-des-vivants-qui-fabriquent-leur-propres-conditions-dexistences\/03.bibliographie","template":"default","storage_timestamp":1690483873,"markdown":{"":{"default":1690482781}},"checksum":"980cf2c249dd8cdc302ec9c88bee7729"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/03.atelier-3-renouveler-la-gamme-des-affects-politique-ajustes-au-nouveau-regime-climatique":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-3-renouveler-la-gamme-des-affects-politique-ajustes-au-nouveau-regime-climatique","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/03.atelier-3-renouveler-la-gamme-des-affects-politique-ajustes-au-nouveau-regime-climatique","template":"default","storage_timestamp":1690482288,"markdown":{"":{"default":1690472405}},"children":{"01.methodologie-outils":1690472626,"02.bibliographie":1690472626},"checksum":"e4b184ed4fc3f9845b2678fe90b454ab"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/03.atelier-3-renouveler-la-gamme-des-affects-politique-ajustes-au-nouveau-regime-climatique\/01.methodologie-outils":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-3-renouveler-la-gamme-des-affects-politique-ajustes-au-nouveau-regime-climatique\/methodologie-outils","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/03.atelier-3-renouveler-la-gamme-des-affects-politique-ajustes-au-nouveau-regime-climatique\/01.methodologie-outils","template":"default","storage_timestamp":1690472626,"markdown":{"":{"default":1690472405}},"checksum":"1c7144f8d0500f6772f8c935d6cdef31"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/03.atelier-3-renouveler-la-gamme-des-affects-politique-ajustes-au-nouveau-regime-climatique\/02.bibliographie":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-3-renouveler-la-gamme-des-affects-politique-ajustes-au-nouveau-regime-climatique\/bibliographie","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/03.atelier-3-renouveler-la-gamme-des-affects-politique-ajustes-au-nouveau-regime-climatique\/02.bibliographie","template":"default","storage_timestamp":1690472626,"markdown":{"":{"default":1690472405}},"checksum":"aa3f787e432d9eee3cd74870c80e1c36"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/04.atelier-4-le-cercle-politique-lart-de-parler-courbe-et-de-doleancer-avec-bruno-latour-chloe-latour-et-vinciane-despret":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-4-le-cercle-politique-lart-de-parler-courbe-et-de-doleancer-avec-bruno-latour-chloe-latour-et-vinciane-despret","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/04.atelier-4-le-cercle-politique-lart-de-parler-courbe-et-de-doleancer-avec-bruno-latour-chloe-latour-et-vinciane-despret","template":"default","storage_timestamp":1690482346,"markdown":{"":{"default":1690472405}},"children":{"01.m\u00e9thodologie-outils-samedi":1690472626,"02.m\u00e9thodologie-outils-dimanche":1690472626,"03.bibliographie":1690472626},"checksum":"721ef8b2a2d5418754d37e786e7731c5"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/04.atelier-4-le-cercle-politique-lart-de-parler-courbe-et-de-doleancer-avec-bruno-latour-chloe-latour-et-vinciane-despret\/01.m\u00e9thodologie-outils-samedi":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-4-le-cercle-politique-lart-de-parler-courbe-et-de-doleancer-avec-bruno-latour-chloe-latour-et-vinciane-despret\/m\u00e9thodologie-outils-samedi","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/04.atelier-4-le-cercle-politique-lart-de-parler-courbe-et-de-doleancer-avec-bruno-latour-chloe-latour-et-vinciane-despret\/01.m\u00e9thodologie-outils-samedi","template":"default","storage_timestamp":1690472626,"markdown":{"":{"default":1690472405}},"checksum":"12b19e2eff236fd166b238be2c758deb"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/04.atelier-4-le-cercle-politique-lart-de-parler-courbe-et-de-doleancer-avec-bruno-latour-chloe-latour-et-vinciane-despret\/02.m\u00e9thodologie-outils-dimanche":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-4-le-cercle-politique-lart-de-parler-courbe-et-de-doleancer-avec-bruno-latour-chloe-latour-et-vinciane-despret\/m\u00e9thodologie-outils-dimanche","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/04.atelier-4-le-cercle-politique-lart-de-parler-courbe-et-de-doleancer-avec-bruno-latour-chloe-latour-et-vinciane-despret\/02.m\u00e9thodologie-outils-dimanche","template":"default","storage_timestamp":1690472626,"markdown":{"":{"default":1690472405}},"checksum":"eb42698de48ca4a620da0271bf341639"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/04.atelier-4-le-cercle-politique-lart-de-parler-courbe-et-de-doleancer-avec-bruno-latour-chloe-latour-et-vinciane-despret\/03.bibliographie":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-4-le-cercle-politique-lart-de-parler-courbe-et-de-doleancer-avec-bruno-latour-chloe-latour-et-vinciane-despret\/bibliographie","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/04.atelier-4-le-cercle-politique-lart-de-parler-courbe-et-de-doleancer-avec-bruno-latour-chloe-latour-et-vinciane-despret\/03.bibliographie","template":"default","storage_timestamp":1690472626,"markdown":{"":{"default":1690472405}},"checksum":"be509064b67e536e0db92569efa1d043"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/05.atelier-5-relation-de-proximite-et-de-superposition-entre-les-territoires":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-5-relation-de-proximite-et-de-superposition-entre-les-territoires","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/05.atelier-5-relation-de-proximite-et-de-superposition-entre-les-territoires","template":"default","storage_timestamp":1690482397,"markdown":{"":{"default":1690472405}},"children":{"01.methodologie-outils":1690472626,"02.bibliographie":1690472626},"checksum":"f397abcd06746e2a31aef6a00d2fc25d"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/05.atelier-5-relation-de-proximite-et-de-superposition-entre-les-territoires\/01.methodologie-outils":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-5-relation-de-proximite-et-de-superposition-entre-les-territoires\/methodologie-outils","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/05.atelier-5-relation-de-proximite-et-de-superposition-entre-les-territoires\/01.methodologie-outils","template":"default","storage_timestamp":1690472626,"markdown":{"":{"default":1690472405}},"checksum":"2b827a44d6e2c2a3d2a65d34f30da5a2"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/05.atelier-5-relation-de-proximite-et-de-superposition-entre-les-territoires\/02.bibliographie":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-5-relation-de-proximite-et-de-superposition-entre-les-territoires\/bibliographie","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/05.atelier-5-relation-de-proximite-et-de-superposition-entre-les-territoires\/02.bibliographie","template":"default","storage_timestamp":1690472626,"markdown":{"":{"default":1690472405}},"checksum":"bb0e7b06484291a4b8e99ab6d2273602"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/06.atelier-6-boussole-des-puissances-dagir":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-6-boussole-des-puissances-dagir","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/06.atelier-6-boussole-des-puissances-dagir","template":"default","storage_timestamp":1690482415,"markdown":{"":{"default":1690479802}},"children":{"01.methodologie":1690472627,"02.methodologie-outils-dimanche":1690472627,"03.bibliographie":1690472627},"checksum":"d3af8690bbf6219a1dcf7ee68059d35b"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/06.atelier-6-boussole-des-puissances-dagir\/01.methodologie":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-6-boussole-des-puissances-dagir\/methodologie","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/06.atelier-6-boussole-des-puissances-dagir\/01.methodologie","template":"default","storage_timestamp":1690472627,"markdown":{"":{"default":1690472405}},"checksum":"af55ab46fb79daa67dbcac1d4edc0bad"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/06.atelier-6-boussole-des-puissances-dagir\/02.methodologie-outils-dimanche":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-6-boussole-des-puissances-dagir\/methodologie-outils-dimanche","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/06.atelier-6-boussole-des-puissances-dagir\/02.methodologie-outils-dimanche","template":"default","storage_timestamp":1690472627,"markdown":{"":{"default":1690472405}},"checksum":"cf543bbd91c2040c6e473fab3008db3b"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/06.atelier-6-boussole-des-puissances-dagir\/03.bibliographie":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-6-boussole-des-puissances-dagir\/bibliographie","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/06.atelier-6-boussole-des-puissances-dagir\/03.bibliographie","template":"default","storage_timestamp":1690472627,"markdown":{"":{"default":1690472405}},"checksum":"34f66fbcd4c32aa12eda01034760c5c7"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/07.atelier-7-ateliers-ouverts-et-partage-des-enqu\u00eates":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-7-ateliers-ouverts-et-partage-des-enqu\u00eates","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/07.atelier-7-ateliers-ouverts-et-partage-des-enqu\u00eates","template":"default","storage_timestamp":1690482545,"markdown":{"":{"default":1690479887}},"children":{"01.methodologie-outils-samedi-25-juin":1690472626,"02.methodologie-outils-dimanche-26-juin":1690472626},"checksum":"f5a321a2225fee2d2a58654cd2b8eb03"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/07.atelier-7-ateliers-ouverts-et-partage-des-enqu\u00eates\/01.methodologie-outils-samedi-25-juin":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-7-ateliers-ouverts-et-partage-des-enqu\u00eates\/methodologie-outils-samedi-25-juin","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/07.atelier-7-ateliers-ouverts-et-partage-des-enqu\u00eates\/01.methodologie-outils-samedi-25-juin","template":"default","storage_timestamp":1690472626,"markdown":{"":{"default":1690472405}},"checksum":"1af8862c0da8baa04d90f4fd3ad33015"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/07.atelier-7-ateliers-ouverts-et-partage-des-enqu\u00eates\/02.methodologie-outils-dimanche-26-juin":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-7-ateliers-ouverts-et-partage-des-enqu\u00eates\/methodologie-outils-dimanche-26-juin","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/07.atelier-7-ateliers-ouverts-et-partage-des-enqu\u00eates\/02.methodologie-outils-dimanche-26-juin","template":"default","storage_timestamp":1690472626,"markdown":{"":{"default":1690472405}},"checksum":"97ed8bc9530a9e5492ea072722f6fa5a"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/08.atelier-8":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-8","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/08.atelier-8","template":"default","storage_timestamp":1690482559,"markdown":{"":{"default":1690479944}},"children":{"01.methodologie-outils":1690472626},"checksum":"37bf51beaaa3a46d0a8d7348978cfa9d"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/08.atelier-8\/01.methodologie-outils":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-8\/methodologie-outils","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/08.atelier-8\/01.methodologie-outils","template":"default","storage_timestamp":1690472626,"markdown":{"":{"default":1690472405}},"checksum":"47b15545654ff8ba23c907b7a90ab43f"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/09.atelier-9":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-9","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/09.atelier-9","template":"default","storage_timestamp":1690482575,"markdown":{"":{"default":1690480017}},"children":{"01.methodologie-outils":1690472626},"checksum":"593f12a61f16135097cd5ac8cd335ad7"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/09.atelier-9\/01.methodologie-outils":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-9\/methodologie-outils","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/09.atelier-9\/01.methodologie-outils","template":"default","storage_timestamp":1690472626,"markdown":{"":{"default":1690472405}},"checksum":"38ce9e4d026d43d7c7b09cc82984fb5c"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/10.atelier-10":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-10","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/10.atelier-10","template":"default","storage_timestamp":1690482587,"markdown":{"":{"default":1690480049}},"children":{"01.methodologie-outils":1690472626},"checksum":"e492227ec0ac7fb265923ccb52a6c253"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/10.atelier-10\/01.methodologie-outils":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-10\/methodologie-outils","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/10.atelier-10\/01.methodologie-outils","template":"default","storage_timestamp":1690472626,"markdown":{"":{"default":1690472405}},"checksum":"022a1950db1094a3949ad962c37d280e"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/11.atelier-11":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-11","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/11.atelier-11","template":"default","storage_timestamp":1690499046,"markdown":{"":{"default":1690499046}},"children":{"01.methodologie-outils":1690472626},"checksum":"5c4be1916f7a6cc9716222401b1a0f75"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/11.atelier-11\/01.methodologie-outils":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-11\/methodologie-outils","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/11.atelier-11\/01.methodologie-outils","template":"default","storage_timestamp":1690472626,"markdown":{"":{"default":1690472405}},"checksum":"a7030205c464ba50bf0afb2f14e6fc7e"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/12.les-kiosques-ressources-un-accompagnement-individuel-a-la-doleance":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/les-kiosques-ressources-un-accompagnement-individuel-a-la-doleance","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/12.les-kiosques-ressources-un-accompagnement-individuel-a-la-doleance","template":"default","storage_timestamp":1690499066,"markdown":{"":{"default":1690499066}},"children":{"01.co-design-et-prototypage-a-labase-avec-julie-chabaud-julie-roturier-jean-andre-lasserre-et-jean-pierre-seyvos-noelle-et-isabelle":1690472626},"checksum":"e4e567a79bdc33305d7195a99dc90089"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/12.les-kiosques-ressources-un-accompagnement-individuel-a-la-doleance\/01.co-design-et-prototypage-a-labase-avec-julie-chabaud-julie-roturier-jean-andre-lasserre-et-jean-pierre-seyvos-noelle-et-isabelle":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/les-kiosques-ressources-un-accompagnement-individuel-a-la-doleance\/co-design-et-prototypage-a-labase-avec-julie-chabaud-julie-roturier-jean-andre-lasserre-et-jean-pierre-seyvos-noelle-et-isabelle","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/12.les-kiosques-ressources-un-accompagnement-individuel-a-la-doleance\/01.co-design-et-prototypage-a-labase-avec-julie-chabaud-julie-roturier-jean-andre-lasserre-et-jean-pierre-seyvos-noelle-et-isabelle","template":"default","storage_timestamp":1690472626,"markdown":{"":{"default":1690472405}},"checksum":"8113bd1e0558705ab60f1fc6b6184c0b"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/13.13-retrouver-des-capacites-dexpression-decoute-et-daction-politique":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/13-retrouver-des-capacites-dexpression-decoute-et-daction-politique","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/13.13-retrouver-des-capacites-dexpression-decoute-et-daction-politique","template":"default","storage_timestamp":1690482629,"markdown":{"":{"default":1690480459}},"children":{"01.methodologie-outils":1690480419},"checksum":"bfd7481456c2bb834056002a2562be2f"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/13.13-retrouver-des-capacites-dexpression-decoute-et-daction-politique\/01.methodologie-outils":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/13-retrouver-des-capacites-dexpression-decoute-et-daction-politique\/methodologie-outils","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/13.13-retrouver-des-capacites-dexpression-decoute-et-daction-politique\/01.methodologie-outils","template":"default","storage_timestamp":1690480419,"markdown":{"":{"default":1690480394}},"checksum":"6ef7e57ad9934abd029a837daa2f3051"},"06.lexperimentation-ou-atterrir-sur-le-mode-de-la-recherche-et-de-linnovation":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-recherche-et-de-linnovation","storage_key":"06.lexperimentation-ou-atterrir-sur-le-mode-de-la-recherche-et-de-linnovation","template":"default","storage_timestamp":1690472627,"markdown":{"":{"default":1690472405}},"children":{"01.atelier-de-prototypage-de-latlas-avec-labase":1690472627},"checksum":"263729b181fbf55642a29a143e9ff706"},"06.lexperimentation-ou-atterrir-sur-le-mode-de-la-recherche-et-de-linnovation\/01.atelier-de-prototypage-de-latlas-avec-labase":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-recherche-et-de-linnovation\/atelier-de-prototypage-de-latlas-avec-labase","storage_key":"06.lexperimentation-ou-atterrir-sur-le-mode-de-la-recherche-et-de-linnovation\/01.atelier-de-prototypage-de-latlas-avec-labase","template":"default","storage_timestamp":1690472627,"markdown":{"":{"default":1690472405}},"checksum":"ede222883aa41aae4829ad53f1a7f021"},"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage","storage_key":"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage","template":"default","storage_timestamp":1690472405,"markdown":{"":{"default":1690472405}},"children":{"01.lexperimentation-ou-atterrir-sur-le-mode-de-lapprentissage":1690472405,"03.latelier-de-prototypage-du-wiki-avec-labase":1690472625,"04.bourgeonner-avec-participants-de-lexperimentation":1690472625},"checksum":"9beebc67f76280e82d1a1ec38e52057f"},"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/01.lexperimentation-ou-atterrir-sur-le-mode-de-lapprentissage":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/lexperimentation-ou-atterrir-sur-le-mode-de-lapprentissage","storage_key":"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/01.lexperimentation-ou-atterrir-sur-le-mode-de-lapprentissage","template":"default","storage_timestamp":1690472405,"markdown":{"":{"default":1690472405}},"children":{"01.lauto-evaluatino-avec-les-participants":1690472625,"02.lauto-evaluatino-avec-lequipe":1690472625},"checksum":"82e49504696d67f32ad21b4f08c320f4"},"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/01.lexperimentation-ou-atterrir-sur-le-mode-de-lapprentissage\/01.lauto-evaluatino-avec-les-participants":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/lexperimentation-ou-atterrir-sur-le-mode-de-lapprentissage\/lauto-evaluatino-avec-les-participants","storage_key":"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/01.lexperimentation-ou-atterrir-sur-le-mode-de-lapprentissage\/01.lauto-evaluatino-avec-les-participants","template":"default","storage_timestamp":1690472625,"markdown":{"":{"default":1690472405}},"checksum":"ccd5ff8c9c2611e3c1e7289bbe3e45aa"},"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/01.lexperimentation-ou-atterrir-sur-le-mode-de-lapprentissage\/02.lauto-evaluatino-avec-lequipe":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/lexperimentation-ou-atterrir-sur-le-mode-de-lapprentissage\/lauto-evaluatino-avec-lequipe","storage_key":"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/01.lexperimentation-ou-atterrir-sur-le-mode-de-lapprentissage\/02.lauto-evaluatino-avec-lequipe","template":"default","storage_timestamp":1690472625,"markdown":{"":{"default":1690472405}},"checksum":"cb0a4a5e190e516850970c493bc31e8f"},"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/03.latelier-de-prototypage-du-wiki-avec-labase":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/latelier-de-prototypage-du-wiki-avec-labase","storage_key":"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/03.latelier-de-prototypage-du-wiki-avec-labase","template":"default","storage_timestamp":1690472625,"markdown":{"":{"default":1690472405}},"children":{"01.latelier-de-prototypage-du-wiki-avec-labase":1690472625,"02.piste-a-suivre-le-reseau-wiki-ou-atterrir":1690472625,"03.la-licence-creative-commons":1690472625,"04.les-universite-dete-avec-s-composition":1690472625,"05.luniversite-dete-avec-s-composition":1690472625},"checksum":"d596d62aa29780b5181c77cec54b509a"},"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/03.latelier-de-prototypage-du-wiki-avec-labase\/01.latelier-de-prototypage-du-wiki-avec-labase":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/latelier-de-prototypage-du-wiki-avec-labase\/latelier-de-prototypage-du-wiki-avec-labase","storage_key":"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/03.latelier-de-prototypage-du-wiki-avec-labase\/01.latelier-de-prototypage-du-wiki-avec-labase","template":"default","storage_timestamp":1690472625,"markdown":{"":{"default":1690472405}},"checksum":"e0d729b0e1e858519f5345ef25addf62"},"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/03.latelier-de-prototypage-du-wiki-avec-labase\/02.piste-a-suivre-le-reseau-wiki-ou-atterrir":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/latelier-de-prototypage-du-wiki-avec-labase\/piste-a-suivre-le-reseau-wiki-ou-atterrir","storage_key":"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/03.latelier-de-prototypage-du-wiki-avec-labase\/02.piste-a-suivre-le-reseau-wiki-ou-atterrir","template":"default","storage_timestamp":1690472625,"markdown":{"":{"default":1690472405}},"checksum":"906c38b8141d3f2ac3fbb43fe93ddeea"},"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/03.latelier-de-prototypage-du-wiki-avec-labase\/03.la-licence-creative-commons":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/latelier-de-prototypage-du-wiki-avec-labase\/la-licence-creative-commons","storage_key":"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/03.latelier-de-prototypage-du-wiki-avec-labase\/03.la-licence-creative-commons","template":"default","storage_timestamp":1690472625,"markdown":{"":{"default":1690472405}},"checksum":"662ed8f8b1d6efd46b27979e9bf50f19"},"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/03.latelier-de-prototypage-du-wiki-avec-labase\/04.les-universite-dete-avec-s-composition":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/latelier-de-prototypage-du-wiki-avec-labase\/les-universite-dete-avec-s-composition","storage_key":"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/03.latelier-de-prototypage-du-wiki-avec-labase\/04.les-universite-dete-avec-s-composition","template":"default","storage_timestamp":1690472625,"markdown":{"":{"default":1690472405}},"checksum":"cc57ac4e2661d4bb6dec1bff2548c365"},"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/03.latelier-de-prototypage-du-wiki-avec-labase\/05.luniversite-dete-avec-s-composition":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/latelier-de-prototypage-du-wiki-avec-labase\/luniversite-dete-avec-s-composition","storage_key":"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/03.latelier-de-prototypage-du-wiki-avec-labase\/05.luniversite-dete-avec-s-composition","template":"default","storage_timestamp":1690472625,"markdown":{"":{"default":1690472405}},"checksum":"902d1246bafa6870d4c13dbb953e9542"},"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/04.bourgeonner-avec-participants-de-lexperimentation":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/bourgeonner-avec-participants-de-lexperimentation","storage_key":"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/04.bourgeonner-avec-participants-de-lexperimentation","template":"default","storage_timestamp":1690472625,"markdown":{"":{"default":1690472405}},"children":{"bourgeon-s-a-bordeaux":1690472625},"checksum":"f17dde2714e89f70b03f655bd5934792"},"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/04.bourgeonner-avec-participants-de-lexperimentation\/bourgeon-s-a-bordeaux":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/bourgeonner-avec-participants-de-lexperimentation\/bourgeon-s-a-bordeaux","storage_key":"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/04.bourgeonner-avec-participants-de-lexperimentation\/bourgeon-s-a-bordeaux","template":"default","storage_timestamp":1690472625,"markdown":{"":{"default":1690472405}},"checksum":"57b1100c554842088a6ffd5672f09fed"},"08.Annexe":{"key":"annexe","storage_key":"08.Annexe","template":"default","storage_timestamp":1690472627,"markdown":{"":{"default":1690472405}},"children":{"06.references-et-partenariat":1690472627,"07.quatrieme-de-couverture":1690472627},"checksum":"a011156464103b0482848c23d3cc64fd"},"08.Annexe\/06.references-et-partenariat":{"key":"annexe\/references-et-partenariat","storage_key":"08.Annexe\/06.references-et-partenariat","template":"default","storage_timestamp":1690472627,"markdown":{"":{"default":1690472405}},"children":{"04.le-lexique":1690472627,"05.credits":1690472627,"06.partenaires":1690472627},"checksum":"dbbc2fcb47df8f1a60816577cf190f7f"},"08.Annexe\/06.references-et-partenariat\/04.le-lexique":{"key":"annexe\/references-et-partenariat\/le-lexique","storage_key":"08.Annexe\/06.references-et-partenariat\/04.le-lexique","template":"default","storage_timestamp":1690472627,"markdown":{"":{"default":1690472405}},"checksum":"ce9e3148b633701f5573d327ab422637"},"08.Annexe\/06.references-et-partenariat\/05.credits":{"key":"annexe\/references-et-partenariat\/credits","storage_key":"08.Annexe\/06.references-et-partenariat\/05.credits","template":"default","storage_timestamp":1690472627,"markdown":{"":{"default":1690472405}},"checksum":"f3a579f5174d093e8cb3b84d999feef3"},"08.Annexe\/06.references-et-partenariat\/06.partenaires":{"key":"annexe\/references-et-partenariat\/partenaires","storage_key":"08.Annexe\/06.references-et-partenariat\/06.partenaires","template":"default","storage_timestamp":1690472627,"markdown":{"":{"default":1690472405}},"checksum":"2dd747ffe552ff56d4e8506e90896a8c"},"08.Annexe\/07.quatrieme-de-couverture":{"key":"annexe\/quatrieme-de-couverture","storage_key":"08.Annexe\/07.quatrieme-de-couverture","template":"default","storage_timestamp":1690472627,"markdown":{"":{"default":1690472405}},"checksum":"6d7c925a38221306c4a5f2513de89ace"},"accompagnement-a-lenquete":{"key":"accompagnement-a-lenquete","storage_key":"accompagnement-a-lenquete","template":"default","storage_timestamp":1690472627,"markdown":{"":{"default":1690472405}},"children":{"01.la-bibliographie":1690472627,"02.kiosques":1690472627,"03.la-boite-a-outils":1690472627,"04.les-nouveaux-commanditaires-sciences":1690472627},"checksum":"9eb45b720f266aead7c54923d6384261"},"accompagnement-a-lenquete\/01.la-bibliographie":{"key":"accompagnement-a-lenquete\/la-bibliographie","storage_key":"accompagnement-a-lenquete\/01.la-bibliographie","template":"default","storage_timestamp":1690472627,"markdown":{"":{"default":1690472405}},"checksum":"8640fdfebdef173bee688a0c198aaf40"},"accompagnement-a-lenquete\/02.kiosques":{"key":"accompagnement-a-lenquete\/kiosques","storage_key":"accompagnement-a-lenquete\/02.kiosques","template":"default","storage_timestamp":1690472627,"markdown":{"":{"default":1690472405}},"children":{"01.les-kiosques-avec-des-personnes-ressources":1690472627,"02.les-kiosques-avec-lequipe":1690472627},"checksum":"fb4a8f405a33aa13d25c2bad3c1e9d1e"},"accompagnement-a-lenquete\/02.kiosques\/01.les-kiosques-avec-des-personnes-ressources":{"key":"accompagnement-a-lenquete\/kiosques\/les-kiosques-avec-des-personnes-ressources","storage_key":"accompagnement-a-lenquete\/02.kiosques\/01.les-kiosques-avec-des-personnes-ressources","template":"default","storage_timestamp":1690472627,"markdown":{"":{"default":1690472405}},"checksum":"b79b03b6fb41c843083e2706293d5f52"},"accompagnement-a-lenquete\/02.kiosques\/02.les-kiosques-avec-lequipe":{"key":"accompagnement-a-lenquete\/kiosques\/les-kiosques-avec-lequipe","storage_key":"accompagnement-a-lenquete\/02.kiosques\/02.les-kiosques-avec-lequipe","template":"default","storage_timestamp":1690472627,"markdown":{"":{"default":1690472405}},"checksum":"d66360eb1c8e54818bee467b86ccc030"},"accompagnement-a-lenquete\/03.la-boite-a-outils":{"key":"accompagnement-a-lenquete\/la-boite-a-outils","storage_key":"accompagnement-a-lenquete\/03.la-boite-a-outils","template":"default","storage_timestamp":1690472627,"markdown":{"":{"default":1690472405}},"checksum":"d249053f651c52a9771b458e14af2801"},"accompagnement-a-lenquete\/04.les-nouveaux-commanditaires-sciences":{"key":"accompagnement-a-lenquete\/les-nouveaux-commanditaires-sciences","storage_key":"accompagnement-a-lenquete\/04.les-nouveaux-commanditaires-sciences","template":"default","storage_timestamp":1690472627,"markdown":{"":{"default":1690472405}},"checksum":"13e1800db5d2a48e2072e8eaae1fcadf"}}} \ No newline at end of file +{"version":"1.5","timestamp":1702284076,"count":126,"index":{"":{"key":"","storage_key":"","template":null,"storage_timestamp":1702275355,"children":{"01.home":1693906787,"02.introduction":1694342242,"03.la-naissance-du-projet-pilote-ou-atterrir":1693906787,"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise":1694061053,"05.lexperimentation-ou-atterrir-sur-le-mode-de-la-recherche-et-de-linnovation":1694530482,"06.accompagnement-a-lenquete":1694530482,"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage":1694530482,"09.Annexe":1694530482},"checksum":"00050096066dd15852a7435cf293382f"},"01.home":{"key":"home","storage_key":"01.home","template":"default","storage_timestamp":1693906787,"markdown":{"":{"default":1690472405}},"children":{"01.historique-du-bourgeon-ou-atterrir-par-le-collectif-rivage":1693906787},"checksum":"ed551a9fc1e64ffbea41a01f681c1c28"},"01.home\/01.historique-du-bourgeon-ou-atterrir-par-le-collectif-rivage":{"key":"home\/historique-du-bourgeon-ou-atterrir-par-le-collectif-rivage","storage_key":"01.home\/01.historique-du-bourgeon-ou-atterrir-par-le-collectif-rivage","template":"default","storage_timestamp":1694060691,"markdown":{"":{"default":1690484514}},"children":{"01.collectif-rivage":1693906787,"02.historique-du-bourgeon-ou-atterrir-par-le-collectif-rivage":1694060680},"checksum":"02e59fab1ed5f0d9506f8400a3656ef2"},"01.home\/01.historique-du-bourgeon-ou-atterrir-par-le-collectif-rivage\/01.collectif-rivage":{"key":"home\/historique-du-bourgeon-ou-atterrir-par-le-collectif-rivage\/collectif-rivage","storage_key":"01.home\/01.historique-du-bourgeon-ou-atterrir-par-le-collectif-rivage\/01.collectif-rivage","template":"default","storage_timestamp":1693906787,"markdown":{"":{"default":1690472405}},"checksum":"775a6761183504924b111667617d499f"},"01.home\/01.historique-du-bourgeon-ou-atterrir-par-le-collectif-rivage\/02.historique-du-bourgeon-ou-atterrir-par-le-collectif-rivage":{"key":"home\/historique-du-bourgeon-ou-atterrir-par-le-collectif-rivage\/historique-du-bourgeon-ou-atterrir-par-le-collectif-rivage","storage_key":"01.home\/01.historique-du-bourgeon-ou-atterrir-par-le-collectif-rivage\/02.historique-du-bourgeon-ou-atterrir-par-le-collectif-rivage","template":"default","storage_timestamp":1694358552,"markdown":{"":{"default":1694358552}},"checksum":"6fe14ae36d6c8afb886a64209543f27e"},"02.introduction":{"key":"introduction","storage_key":"02.introduction","template":"default","storage_timestamp":1694342242,"markdown":{"":{"default":1694342242}},"children":{"02.vademecum":1693906787,"03.entretiens-avec-bruno-latour":1693906787,"04.principes-repris-sous-forme-dogmatique":1693906787,"05.reponses-aux-objections":1693906787,"06.principe-des-ateliers-vademecum-pour-ceux-qui-souhaitent-reproduire-lexperience":1693906787},"checksum":"108dc7748877d507681af6ef9afb3182"},"02.introduction\/02.vademecum":{"key":"introduction\/vademecum","storage_key":"02.introduction\/02.vademecum","template":"default","storage_timestamp":1693906787,"markdown":{"":{"default":1690472405}},"children":{"01.lequipe-du-projet-pilote":1693906787,"01.texte-vademecum":1693906787,"02.premiere-approche-de-la-boussole":1693906787},"checksum":"df8b913cfd2a91a09c56b6eb45afc7d6"},"02.introduction\/02.vademecum\/01.lequipe-du-projet-pilote":{"key":"introduction\/vademecum\/lequipe-du-projet-pilote","storage_key":"02.introduction\/02.vademecum\/01.lequipe-du-projet-pilote","template":"default","storage_timestamp":1693906787,"markdown":{"":{"default":1690472405}},"children":{"lequipe-du-projet-pilote-le-consortium-ou-atterrir":1693906787},"checksum":"2093d547fa0be3cda4a61158cf34a45f"},"02.introduction\/02.vademecum\/01.lequipe-du-projet-pilote\/lequipe-du-projet-pilote-le-consortium-ou-atterrir":{"key":"introduction\/vademecum\/lequipe-du-projet-pilote\/lequipe-du-projet-pilote-le-consortium-ou-atterrir","storage_key":"02.introduction\/02.vademecum\/01.lequipe-du-projet-pilote\/lequipe-du-projet-pilote-le-consortium-ou-atterrir","template":"default","storage_timestamp":1693906787,"markdown":{"":{"default":1690472405}},"checksum":"35ff3691bae2b574564e059a56e892e1"},"02.introduction\/02.vademecum\/01.texte-vademecum":{"key":"introduction\/vademecum\/texte-vademecum","storage_key":"02.introduction\/02.vademecum\/01.texte-vademecum","template":"default","storage_timestamp":1693906787,"markdown":{"":{"default":1690472405}},"checksum":"167148069b72cbb7657a20d9f53f8ef7"},"02.introduction\/02.vademecum\/02.premiere-approche-de-la-boussole":{"key":"introduction\/vademecum\/premiere-approche-de-la-boussole","storage_key":"02.introduction\/02.vademecum\/02.premiere-approche-de-la-boussole","template":"default","storage_timestamp":1693906787,"markdown":{"":{"default":1690472405}},"checksum":"4abdea05b0558b4c7ddbadc61cf7291e"},"02.introduction\/03.entretiens-avec-bruno-latour":{"key":"introduction\/entretiens-avec-bruno-latour","storage_key":"02.introduction\/03.entretiens-avec-bruno-latour","template":"default","storage_timestamp":1693906787,"markdown":{"":{"default":1690472405}},"children":{"01.entretiens-avec-bruno-latour-extrait-du-rapport-dactivite-du-projet-pilote":1693906787},"checksum":"72acb73616fee5578105c7902f585cea"},"02.introduction\/03.entretiens-avec-bruno-latour\/01.entretiens-avec-bruno-latour-extrait-du-rapport-dactivite-du-projet-pilote":{"key":"introduction\/entretiens-avec-bruno-latour\/entretiens-avec-bruno-latour-extrait-du-rapport-dactivite-du-projet-pilote","storage_key":"02.introduction\/03.entretiens-avec-bruno-latour\/01.entretiens-avec-bruno-latour-extrait-du-rapport-dactivite-du-projet-pilote","template":"default","storage_timestamp":1693906787,"markdown":{"":{"default":1690472405}},"checksum":"88ae72c50f20b8155a257451605d17d6"},"02.introduction\/04.principes-repris-sous-forme-dogmatique":{"key":"introduction\/principes-repris-sous-forme-dogmatique","storage_key":"02.introduction\/04.principes-repris-sous-forme-dogmatique","template":"default","storage_timestamp":1693906787,"markdown":{"":{"default":1690472405}},"children":{"01.principes-repris-sous-forme-dogmatique-extrait-du-rapport-dactivite-du-projet-pilote":1693906787},"checksum":"5df0af87565fcaed79b71e72c0cf9fb7"},"02.introduction\/04.principes-repris-sous-forme-dogmatique\/01.principes-repris-sous-forme-dogmatique-extrait-du-rapport-dactivite-du-projet-pilote":{"key":"introduction\/principes-repris-sous-forme-dogmatique\/principes-repris-sous-forme-dogmatique-extrait-du-rapport-dactivite-du-projet-pilote","storage_key":"02.introduction\/04.principes-repris-sous-forme-dogmatique\/01.principes-repris-sous-forme-dogmatique-extrait-du-rapport-dactivite-du-projet-pilote","template":"default","storage_timestamp":1693906787,"markdown":{"":{"default":1690472405}},"checksum":"039be582ff724b88dfe9507e991f810a"},"02.introduction\/05.reponses-aux-objections":{"key":"introduction\/reponses-aux-objections","storage_key":"02.introduction\/05.reponses-aux-objections","template":"default","storage_timestamp":1693906787,"markdown":{"":{"default":1690472405}},"children":{"01.reponses-aux-objections-extraits-du-rapport-dactivite-du-projet-pilote":1693906787},"checksum":"cffa66d298fe67208b1d729a38109105"},"02.introduction\/05.reponses-aux-objections\/01.reponses-aux-objections-extraits-du-rapport-dactivite-du-projet-pilote":{"key":"introduction\/reponses-aux-objections\/reponses-aux-objections-extraits-du-rapport-dactivite-du-projet-pilote","storage_key":"02.introduction\/05.reponses-aux-objections\/01.reponses-aux-objections-extraits-du-rapport-dactivite-du-projet-pilote","template":"default","storage_timestamp":1693906787,"markdown":{"":{"default":1690472405}},"checksum":"8b7137f8a8a603bebe50ab39507b6fc3"},"02.introduction\/06.principe-des-ateliers-vademecum-pour-ceux-qui-souhaitent-reproduire-lexperience":{"key":"introduction\/principe-des-ateliers-vademecum-pour-ceux-qui-souhaitent-reproduire-lexperience","storage_key":"02.introduction\/06.principe-des-ateliers-vademecum-pour-ceux-qui-souhaitent-reproduire-lexperience","template":"default","storage_timestamp":1693906787,"markdown":{"":{"default":1690472405}},"children":{"01.principe-des-ateliers-vademecum-pour-ceux-qui-souhaitent-reproduire-lexperience":1693906787},"checksum":"a1a7ee5ad47cd1b0f7d2d072e673b90f"},"02.introduction\/06.principe-des-ateliers-vademecum-pour-ceux-qui-souhaitent-reproduire-lexperience\/01.principe-des-ateliers-vademecum-pour-ceux-qui-souhaitent-reproduire-lexperience":{"key":"introduction\/principe-des-ateliers-vademecum-pour-ceux-qui-souhaitent-reproduire-lexperience\/principe-des-ateliers-vademecum-pour-ceux-qui-souhaitent-reproduire-lexperience","storage_key":"02.introduction\/06.principe-des-ateliers-vademecum-pour-ceux-qui-souhaitent-reproduire-lexperience\/01.principe-des-ateliers-vademecum-pour-ceux-qui-souhaitent-reproduire-lexperience","template":"default","storage_timestamp":1693906787,"markdown":{"":{"default":1690472405}},"checksum":"b70866149c6cf329a0d2b2bba0e8174e"},"03.la-naissance-du-projet-pilote-ou-atterrir":{"key":"la-naissance-du-projet-pilote-ou-atterrir","storage_key":"03.la-naissance-du-projet-pilote-ou-atterrir","template":"default","storage_timestamp":1693906787,"markdown":{"":{"default":1690485519}},"children":{"01.lequipe-du-bourgeon":1693906787,"02.lassemblage-des-participants":1693906787,"03.les-ateliers-conferences-de-lexperimentation-ou-atterrir-avec-bruno-latour-soheil-hajmirbaba-et-vivian-depoues":1693906787,"04.les-hypotheses-du-projet-pilote-repises-avec-bruno-latour":1693906787},"checksum":"9be6d84a75386cb0ac30f880948210fa"},"03.la-naissance-du-projet-pilote-ou-atterrir\/01.lequipe-du-bourgeon":{"key":"la-naissance-du-projet-pilote-ou-atterrir\/lequipe-du-bourgeon","storage_key":"03.la-naissance-du-projet-pilote-ou-atterrir\/01.lequipe-du-bourgeon","template":"default","storage_timestamp":1694530304,"markdown":{"":{"default":1694530304}},"children":{"lequipe-du-bourgeon":1693906787},"checksum":"8d3eb874b49ad12e2c2356608a800c51"},"03.la-naissance-du-projet-pilote-ou-atterrir\/01.lequipe-du-bourgeon\/lequipe-du-bourgeon":{"key":"la-naissance-du-projet-pilote-ou-atterrir\/lequipe-du-bourgeon\/lequipe-du-bourgeon","storage_key":"03.la-naissance-du-projet-pilote-ou-atterrir\/01.lequipe-du-bourgeon\/lequipe-du-bourgeon","template":"default","storage_timestamp":1693906787,"markdown":{"":{"default":1690472405}},"checksum":"af47eafbb80e0d5389de24baf15de90e"},"03.la-naissance-du-projet-pilote-ou-atterrir\/02.lassemblage-des-participants":{"key":"la-naissance-du-projet-pilote-ou-atterrir\/lassemblage-des-participants","storage_key":"03.la-naissance-du-projet-pilote-ou-atterrir\/02.lassemblage-des-participants","template":"default","storage_timestamp":1694530315,"markdown":{"":{"default":1694530315}},"children":{"01.lassemblage-des-participants":1693906787},"checksum":"03b2fcf417f1531c801e714f40c62751"},"03.la-naissance-du-projet-pilote-ou-atterrir\/02.lassemblage-des-participants\/01.lassemblage-des-participants":{"key":"la-naissance-du-projet-pilote-ou-atterrir\/lassemblage-des-participants\/lassemblage-des-participants","storage_key":"03.la-naissance-du-projet-pilote-ou-atterrir\/02.lassemblage-des-participants\/01.lassemblage-des-participants","template":"default","storage_timestamp":1693906787,"markdown":{"":{"default":1690472405}},"checksum":"5566d19e320560954631c291f608f9fc"},"03.la-naissance-du-projet-pilote-ou-atterrir\/03.les-ateliers-conferences-de-lexperimentation-ou-atterrir-avec-bruno-latour-soheil-hajmirbaba-et-vivian-depoues":{"key":"la-naissance-du-projet-pilote-ou-atterrir\/les-ateliers-conferences-de-lexperimentation-ou-atterrir-avec-bruno-latour-soheil-hajmirbaba-et-vivian-depoues","storage_key":"03.la-naissance-du-projet-pilote-ou-atterrir\/03.les-ateliers-conferences-de-lexperimentation-ou-atterrir-avec-bruno-latour-soheil-hajmirbaba-et-vivian-depoues","template":"default","storage_timestamp":1693906787,"markdown":{"":{"default":1690484685}},"children":{"01.latelier-conference-anime-par-bruno-latour-et-soheil-hajmirbaba":1693906787,"02.presentation-de-la-boussole-par-soheil-hajmirbaba":1693906787},"checksum":"d43fca19532bbad3dbbc7804855bf38c"},"03.la-naissance-du-projet-pilote-ou-atterrir\/03.les-ateliers-conferences-de-lexperimentation-ou-atterrir-avec-bruno-latour-soheil-hajmirbaba-et-vivian-depoues\/01.latelier-conference-anime-par-bruno-latour-et-soheil-hajmirbaba":{"key":"la-naissance-du-projet-pilote-ou-atterrir\/les-ateliers-conferences-de-lexperimentation-ou-atterrir-avec-bruno-latour-soheil-hajmirbaba-et-vivian-depoues\/latelier-conference-anime-par-bruno-latour-et-soheil-hajmirbaba","storage_key":"03.la-naissance-du-projet-pilote-ou-atterrir\/03.les-ateliers-conferences-de-lexperimentation-ou-atterrir-avec-bruno-latour-soheil-hajmirbaba-et-vivian-depoues\/01.latelier-conference-anime-par-bruno-latour-et-soheil-hajmirbaba","template":"default","storage_timestamp":1693906787,"markdown":{"":{"default":1690472405}},"checksum":"2fc21e32075680ec96a564a1a5bc9439"},"03.la-naissance-du-projet-pilote-ou-atterrir\/03.les-ateliers-conferences-de-lexperimentation-ou-atterrir-avec-bruno-latour-soheil-hajmirbaba-et-vivian-depoues\/02.presentation-de-la-boussole-par-soheil-hajmirbaba":{"key":"la-naissance-du-projet-pilote-ou-atterrir\/les-ateliers-conferences-de-lexperimentation-ou-atterrir-avec-bruno-latour-soheil-hajmirbaba-et-vivian-depoues\/presentation-de-la-boussole-par-soheil-hajmirbaba","storage_key":"03.la-naissance-du-projet-pilote-ou-atterrir\/03.les-ateliers-conferences-de-lexperimentation-ou-atterrir-avec-bruno-latour-soheil-hajmirbaba-et-vivian-depoues\/02.presentation-de-la-boussole-par-soheil-hajmirbaba","template":"default","storage_timestamp":1693906787,"markdown":{"":{"default":1690472405}},"checksum":"6b89eb0f0cd9c1a3ee6e23bb8adfa4a1"},"03.la-naissance-du-projet-pilote-ou-atterrir\/04.les-hypotheses-du-projet-pilote-repises-avec-bruno-latour":{"key":"la-naissance-du-projet-pilote-ou-atterrir\/les-hypotheses-du-projet-pilote-repises-avec-bruno-latour","storage_key":"03.la-naissance-du-projet-pilote-ou-atterrir\/04.les-hypotheses-du-projet-pilote-repises-avec-bruno-latour","template":"default","storage_timestamp":1694530327,"markdown":{"":{"default":1694530327}},"children":{"01.un-premier-bourgeon-porte-par-dautres-membres-que-lequipe-pilote":1693906787},"checksum":"a3c7256c011e643b41391ac6c8408d72"},"03.la-naissance-du-projet-pilote-ou-atterrir\/04.les-hypotheses-du-projet-pilote-repises-avec-bruno-latour\/01.un-premier-bourgeon-porte-par-dautres-membres-que-lequipe-pilote":{"key":"la-naissance-du-projet-pilote-ou-atterrir\/les-hypotheses-du-projet-pilote-repises-avec-bruno-latour\/un-premier-bourgeon-porte-par-dautres-membres-que-lequipe-pilote","storage_key":"03.la-naissance-du-projet-pilote-ou-atterrir\/04.les-hypotheses-du-projet-pilote-repises-avec-bruno-latour\/01.un-premier-bourgeon-porte-par-dautres-membres-que-lequipe-pilote","template":"default","storage_timestamp":1693906787,"markdown":{"":{"default":1690472405}},"checksum":"9949853c73b713b501702d389af1c515"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise","template":"default","storage_timestamp":1694061053,"markdown":{"":{"default":1690472405}},"children":{"01.1-mener-lenquete-sur-le-terrain-de-vie":1693971382,"02.atelier-2-la-zone-critique-des-vivants-qui-fabriquent-leur-propres-conditions-dexistences":1693971633,"03.atelier-3-renouveler-la-gamme-des-affects-politique-ajustes-au-nouveau-regime-climatique":1693971698,"04.atelier-4-le-cercle-politique-lart-de-parler-courbe-et-de-doleancer-avec-bruno-latour-chloe-latour-et-vinciane-despret":1693971753,"05.atelier-5-relation-de-proximite-et-de-superposition-entre-les-territoires":1693971774,"06.atelier-6-boussole-des-puissances-dagir":1693971799,"07.atelier-7-ateliers-ouverts-et-partage-des-enqu\u00eates":1693975658,"08.atelier-8":1693971849,"09.atelier-9":1693971869,"10.atelier-10":1693971889,"11.atelier-11":1693971956,"12.les-kiosques-ressources-un-accompagnement-individuel-a-la-doleance":1693971995,"13.13-titre":1693975728,"14.14-titre":1693975488,"15.15-titre":1693972062,"16.16-titre":1694061053,"17.13-retrouver-des-capacites-dexpression-decoute-et-daction-politique":1693973474},"checksum":"3115955c3d574292d546d40ead6f37a2"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/01.1-mener-lenquete-sur-le-terrain-de-vie":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/1-mener-lenquete-sur-le-terrain-de-vie","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/01.1-mener-lenquete-sur-le-terrain-de-vie","template":"default","storage_timestamp":1702271722,"markdown":{"":{"default":1702271571}},"children":{"01.serpentin":1694529419,"02.methodologie-outils":1702271716,"03.bibliographie":1702271722},"checksum":"a25b8ffedb2188d782d199eaec4c56bd"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/01.1-mener-lenquete-sur-le-terrain-de-vie\/01.serpentin":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/1-mener-lenquete-sur-le-terrain-de-vie\/serpentin","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/01.1-mener-lenquete-sur-le-terrain-de-vie\/01.serpentin","template":"default","storage_timestamp":1694529419,"markdown":{"":{"default":1694529419}},"checksum":"00387350d9acbb544b920135ba2f3342"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/01.1-mener-lenquete-sur-le-terrain-de-vie\/02.methodologie-outils":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/1-mener-lenquete-sur-le-terrain-de-vie\/methodologie-outils","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/01.1-mener-lenquete-sur-le-terrain-de-vie\/02.methodologie-outils","template":"default","storage_timestamp":1702271716,"markdown":{"":{"default":1695927756}},"checksum":"fb96b597c9aba18af2a957eee6d5f235"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/01.1-mener-lenquete-sur-le-terrain-de-vie\/03.bibliographie":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/1-mener-lenquete-sur-le-terrain-de-vie\/bibliographie","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/01.1-mener-lenquete-sur-le-terrain-de-vie\/03.bibliographie","template":"default","storage_timestamp":1702272628,"markdown":{"":{"default":1702272628}},"checksum":"12281534417e2e73594dd992638afbb2"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/02.atelier-2-la-zone-critique-des-vivants-qui-fabriquent-leur-propres-conditions-dexistences":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-2-la-zone-critique-des-vivants-qui-fabriquent-leur-propres-conditions-dexistences","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/02.atelier-2-la-zone-critique-des-vivants-qui-fabriquent-leur-propres-conditions-dexistences","template":"default","storage_timestamp":1702284025,"markdown":{"":{"default":1702284025}},"children":{"01.serpentin":1694529082,"02.methodologie-outils":1695832877,"03.bibliographie":1702273577},"checksum":"3b28e300a9ad8c253fdfcbc76793fd86"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/02.atelier-2-la-zone-critique-des-vivants-qui-fabriquent-leur-propres-conditions-dexistences\/01.serpentin":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-2-la-zone-critique-des-vivants-qui-fabriquent-leur-propres-conditions-dexistences\/serpentin","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/02.atelier-2-la-zone-critique-des-vivants-qui-fabriquent-leur-propres-conditions-dexistences\/01.serpentin","template":"default","storage_timestamp":1694529082,"markdown":{"":{"default":1694529082}},"checksum":"82a4ddbf4053832a44e627e1ab56de1f"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/02.atelier-2-la-zone-critique-des-vivants-qui-fabriquent-leur-propres-conditions-dexistences\/02.methodologie-outils":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-2-la-zone-critique-des-vivants-qui-fabriquent-leur-propres-conditions-dexistences\/methodologie-outils","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/02.atelier-2-la-zone-critique-des-vivants-qui-fabriquent-leur-propres-conditions-dexistences\/02.methodologie-outils","template":"default","storage_timestamp":1695832877,"markdown":{"":{"default":1695832877}},"checksum":"daed66febbf834289730eae4bbc8956d"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/02.atelier-2-la-zone-critique-des-vivants-qui-fabriquent-leur-propres-conditions-dexistences\/03.bibliographie":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-2-la-zone-critique-des-vivants-qui-fabriquent-leur-propres-conditions-dexistences\/bibliographie","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/02.atelier-2-la-zone-critique-des-vivants-qui-fabriquent-leur-propres-conditions-dexistences\/03.bibliographie","template":"default","storage_timestamp":1702273577,"markdown":{"":{"default":1702273577}},"checksum":"3c3c76084f26b9de62b7dea021f2c07b"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/03.atelier-3-renouveler-la-gamme-des-affects-politique-ajustes-au-nouveau-regime-climatique":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-3-renouveler-la-gamme-des-affects-politique-ajustes-au-nouveau-regime-climatique","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/03.atelier-3-renouveler-la-gamme-des-affects-politique-ajustes-au-nouveau-regime-climatique","template":"default","storage_timestamp":1702284030,"markdown":{"":{"default":1702284030}},"children":{"01.serpentin":1694529120,"02.methodologie-outils":1694529106,"03.bibliographie":1702273888},"checksum":"eb6d2347ad0e5b7c70f2056c8116baff"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/03.atelier-3-renouveler-la-gamme-des-affects-politique-ajustes-au-nouveau-regime-climatique\/01.serpentin":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-3-renouveler-la-gamme-des-affects-politique-ajustes-au-nouveau-regime-climatique\/serpentin","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/03.atelier-3-renouveler-la-gamme-des-affects-politique-ajustes-au-nouveau-regime-climatique\/01.serpentin","template":"default","storage_timestamp":1694529120,"markdown":{"":{"default":1694529120}},"checksum":"b7b532c940a15936d624f3cfd624c5b8"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/03.atelier-3-renouveler-la-gamme-des-affects-politique-ajustes-au-nouveau-regime-climatique\/02.methodologie-outils":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-3-renouveler-la-gamme-des-affects-politique-ajustes-au-nouveau-regime-climatique\/methodologie-outils","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/03.atelier-3-renouveler-la-gamme-des-affects-politique-ajustes-au-nouveau-regime-climatique\/02.methodologie-outils","template":"default","storage_timestamp":1694529106,"markdown":{"":{"default":1694528293}},"checksum":"dc0d2e8ce783b681093df70d6ba11b61"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/03.atelier-3-renouveler-la-gamme-des-affects-politique-ajustes-au-nouveau-regime-climatique\/03.bibliographie":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-3-renouveler-la-gamme-des-affects-politique-ajustes-au-nouveau-regime-climatique\/bibliographie","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/03.atelier-3-renouveler-la-gamme-des-affects-politique-ajustes-au-nouveau-regime-climatique\/03.bibliographie","template":"default","storage_timestamp":1702273888,"markdown":{"":{"default":1702273888}},"checksum":"d8a93b7ea6cf77f5ee4428382841c36b"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/04.atelier-4-le-cercle-politique-lart-de-parler-courbe-et-de-doleancer-avec-bruno-latour-chloe-latour-et-vinciane-despret":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-4-le-cercle-politique-lart-de-parler-courbe-et-de-doleancer-avec-bruno-latour-chloe-latour-et-vinciane-despret","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/04.atelier-4-le-cercle-politique-lart-de-parler-courbe-et-de-doleancer-avec-bruno-latour-chloe-latour-et-vinciane-despret","template":"default","storage_timestamp":1702284034,"markdown":{"":{"default":1702284034}},"children":{"01.serpentin":1694529188,"02.m\u00e9thodologie-outils-samedi":1694529177,"03.m\u00e9thodologie-outils-dimanche":1694529177,"04.bibliographie":1702274124},"checksum":"6c26cda8d37827de4e6ead3915021f91"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/04.atelier-4-le-cercle-politique-lart-de-parler-courbe-et-de-doleancer-avec-bruno-latour-chloe-latour-et-vinciane-despret\/01.serpentin":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-4-le-cercle-politique-lart-de-parler-courbe-et-de-doleancer-avec-bruno-latour-chloe-latour-et-vinciane-despret\/serpentin","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/04.atelier-4-le-cercle-politique-lart-de-parler-courbe-et-de-doleancer-avec-bruno-latour-chloe-latour-et-vinciane-despret\/01.serpentin","template":"default","storage_timestamp":1694529188,"markdown":{"":{"default":1694529188}},"checksum":"25bb2347bb7fa43cc94a52decf48a362"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/04.atelier-4-le-cercle-politique-lart-de-parler-courbe-et-de-doleancer-avec-bruno-latour-chloe-latour-et-vinciane-despret\/02.m\u00e9thodologie-outils-samedi":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-4-le-cercle-politique-lart-de-parler-courbe-et-de-doleancer-avec-bruno-latour-chloe-latour-et-vinciane-despret\/m\u00e9thodologie-outils-samedi","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/04.atelier-4-le-cercle-politique-lart-de-parler-courbe-et-de-doleancer-avec-bruno-latour-chloe-latour-et-vinciane-despret\/02.m\u00e9thodologie-outils-samedi","template":"default","storage_timestamp":1694529177,"markdown":{"":{"default":1694528309}},"checksum":"c39c9033d05ff9d74da4c192e85bede6"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/04.atelier-4-le-cercle-politique-lart-de-parler-courbe-et-de-doleancer-avec-bruno-latour-chloe-latour-et-vinciane-despret\/03.m\u00e9thodologie-outils-dimanche":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-4-le-cercle-politique-lart-de-parler-courbe-et-de-doleancer-avec-bruno-latour-chloe-latour-et-vinciane-despret\/m\u00e9thodologie-outils-dimanche","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/04.atelier-4-le-cercle-politique-lart-de-parler-courbe-et-de-doleancer-avec-bruno-latour-chloe-latour-et-vinciane-despret\/03.m\u00e9thodologie-outils-dimanche","template":"default","storage_timestamp":1694529177,"markdown":{"":{"default":1690472405}},"checksum":"8cf6fd1d1ca31aa60ea2163e65f8ee0f"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/04.atelier-4-le-cercle-politique-lart-de-parler-courbe-et-de-doleancer-avec-bruno-latour-chloe-latour-et-vinciane-despret\/04.bibliographie":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-4-le-cercle-politique-lart-de-parler-courbe-et-de-doleancer-avec-bruno-latour-chloe-latour-et-vinciane-despret\/bibliographie","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/04.atelier-4-le-cercle-politique-lart-de-parler-courbe-et-de-doleancer-avec-bruno-latour-chloe-latour-et-vinciane-despret\/04.bibliographie","template":"default","storage_timestamp":1702274124,"markdown":{"":{"default":1702274124}},"checksum":"f33be42b5e976aa852428f5b5b60b29c"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/05.atelier-5-relation-de-proximite-et-de-superposition-entre-les-territoires":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-5-relation-de-proximite-et-de-superposition-entre-les-territoires","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/05.atelier-5-relation-de-proximite-et-de-superposition-entre-les-territoires","template":"default","storage_timestamp":1702284037,"markdown":{"":{"default":1702284037}},"children":{"01.serpentin":1694529243,"02.methodologie-outils":1694529229,"03.bibliographie":1702274337},"checksum":"db30ef349534da3e5a0f03b7f0d7c6e8"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/05.atelier-5-relation-de-proximite-et-de-superposition-entre-les-territoires\/01.serpentin":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-5-relation-de-proximite-et-de-superposition-entre-les-territoires\/serpentin","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/05.atelier-5-relation-de-proximite-et-de-superposition-entre-les-territoires\/01.serpentin","template":"default","storage_timestamp":1694529243,"markdown":{"":{"default":1694529243}},"checksum":"d619828f5e0b08ddc0f464a65098726e"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/05.atelier-5-relation-de-proximite-et-de-superposition-entre-les-territoires\/02.methodologie-outils":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-5-relation-de-proximite-et-de-superposition-entre-les-territoires\/methodologie-outils","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/05.atelier-5-relation-de-proximite-et-de-superposition-entre-les-territoires\/02.methodologie-outils","template":"default","storage_timestamp":1694529229,"markdown":{"":{"default":1694528324}},"checksum":"f5aa8790570e708198c57889e09efb9a"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/05.atelier-5-relation-de-proximite-et-de-superposition-entre-les-territoires\/03.bibliographie":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-5-relation-de-proximite-et-de-superposition-entre-les-territoires\/bibliographie","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/05.atelier-5-relation-de-proximite-et-de-superposition-entre-les-territoires\/03.bibliographie","template":"default","storage_timestamp":1702274337,"markdown":{"":{"default":1702274337}},"checksum":"f1269fa23497725e118514e3476f8921"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/06.atelier-6-boussole-des-puissances-dagir":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-6-boussole-des-puissances-dagir","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/06.atelier-6-boussole-des-puissances-dagir","template":"default","storage_timestamp":1702284040,"markdown":{"":{"default":1702284040}},"children":{"01.serpentin":1694529281,"02.methodologie":1694529264,"03.methodologie-outils-dimanche":1694529264,"04.bibliographie":1702274465},"checksum":"62d7b206aa86124f41f1b9a80e5a6e90"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/06.atelier-6-boussole-des-puissances-dagir\/01.serpentin":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-6-boussole-des-puissances-dagir\/serpentin","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/06.atelier-6-boussole-des-puissances-dagir\/01.serpentin","template":"default","storage_timestamp":1694529281,"markdown":{"":{"default":1694529281}},"checksum":"87b3ed929d91b29a4e6917b1ea03186d"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/06.atelier-6-boussole-des-puissances-dagir\/02.methodologie":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-6-boussole-des-puissances-dagir\/methodologie","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/06.atelier-6-boussole-des-puissances-dagir\/02.methodologie","template":"default","storage_timestamp":1694529264,"markdown":{"":{"default":1694528806}},"checksum":"54e6dce74e9a7dc4d845ebc551e44386"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/06.atelier-6-boussole-des-puissances-dagir\/03.methodologie-outils-dimanche":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-6-boussole-des-puissances-dagir\/methodologie-outils-dimanche","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/06.atelier-6-boussole-des-puissances-dagir\/03.methodologie-outils-dimanche","template":"default","storage_timestamp":1694529264,"markdown":{"":{"default":1690472405}},"checksum":"5796d6f351decf81935f7136ded3bfe7"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/06.atelier-6-boussole-des-puissances-dagir\/04.bibliographie":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-6-boussole-des-puissances-dagir\/bibliographie","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/06.atelier-6-boussole-des-puissances-dagir\/04.bibliographie","template":"default","storage_timestamp":1702274465,"markdown":{"":{"default":1702274465}},"checksum":"d24641bcd8cd98b57a9fb2e793acbdaa"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/07.atelier-7-ateliers-ouverts-et-partage-des-enqu\u00eates":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-7-ateliers-ouverts-et-partage-des-enqu\u00eates","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/07.atelier-7-ateliers-ouverts-et-partage-des-enqu\u00eates","template":"default","storage_timestamp":1702284044,"markdown":{"":{"default":1702284044}},"children":{"01.serpentin":1701933365,"02.methodologie-outils-samedi-25-juin":1701936482,"03.a-lire-a-voir-a-ecouter":1702274859,"03.methodologie-outils-dimanche-26-juin":1701917378},"checksum":"63ec82fd5bc2fc4e04408c62b3a57478"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/07.atelier-7-ateliers-ouverts-et-partage-des-enqu\u00eates\/01.serpentin":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-7-ateliers-ouverts-et-partage-des-enqu\u00eates\/serpentin","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/07.atelier-7-ateliers-ouverts-et-partage-des-enqu\u00eates\/01.serpentin","template":"default","storage_timestamp":1701933365,"markdown":{"":{"default":1701933365}},"checksum":"4092a275d413afae4da16cd5e2c801db"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/07.atelier-7-ateliers-ouverts-et-partage-des-enqu\u00eates\/02.methodologie-outils-samedi-25-juin":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-7-ateliers-ouverts-et-partage-des-enqu\u00eates\/methodologie-outils-samedi-25-juin","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/07.atelier-7-ateliers-ouverts-et-partage-des-enqu\u00eates\/02.methodologie-outils-samedi-25-juin","template":"default","storage_timestamp":1701936482,"markdown":{"":{"default":1701936482}},"checksum":"c6671f1abe4da6a44de9442c63879655"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/07.atelier-7-ateliers-ouverts-et-partage-des-enqu\u00eates\/03.a-lire-a-voir-a-ecouter":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-7-ateliers-ouverts-et-partage-des-enqu\u00eates\/a-lire-a-voir-a-ecouter","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/07.atelier-7-ateliers-ouverts-et-partage-des-enqu\u00eates\/03.a-lire-a-voir-a-ecouter","template":"default","storage_timestamp":1702274859,"markdown":{"":{"default":1702274859}},"checksum":"3f7c330c89ac804b5bdbb870eed71cd4"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/07.atelier-7-ateliers-ouverts-et-partage-des-enqu\u00eates\/03.methodologie-outils-dimanche-26-juin":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-7-ateliers-ouverts-et-partage-des-enqu\u00eates\/methodologie-outils-dimanche-26-juin","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/07.atelier-7-ateliers-ouverts-et-partage-des-enqu\u00eates\/03.methodologie-outils-dimanche-26-juin","template":"default","storage_timestamp":1701917378,"markdown":{"":{"default":1690472405}},"checksum":"c2ce2578d56d21eedb62d6f6906d28e4"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/08.atelier-8":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-8","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/08.atelier-8","template":"default","storage_timestamp":1702284047,"markdown":{"":{"default":1702284047}},"children":{"01.serpentin":1701933383,"02.methodologie-outils":1701938610,"03.a-lire-a-voir-a-ecouter":1702275002},"checksum":"32923e0b0781ffca6d092104ef7607b4"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/08.atelier-8\/01.serpentin":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-8\/serpentin","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/08.atelier-8\/01.serpentin","template":"default","storage_timestamp":1701933383,"markdown":{"":{"default":1701933383}},"checksum":"3f15faa677bffcd7f912cf2b4028ea53"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/08.atelier-8\/02.methodologie-outils":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-8\/methodologie-outils","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/08.atelier-8\/02.methodologie-outils","template":"default","storage_timestamp":1701938610,"markdown":{"":{"default":1701938610}},"checksum":"075fd8c175d1996aa12ddb3c55ed7042"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/08.atelier-8\/03.a-lire-a-voir-a-ecouter":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-8\/a-lire-a-voir-a-ecouter","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/08.atelier-8\/03.a-lire-a-voir-a-ecouter","template":"default","storage_timestamp":1702275002,"markdown":{"":{"default":1702275002}},"checksum":"1812c373aeba934a2cfa4fcea4999b52"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/09.atelier-9":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-9","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/09.atelier-9","template":"default","storage_timestamp":1702284051,"markdown":{"":{"default":1702284051}},"children":{"01.serpentin":1701933396,"02.methodologie-outils":1701939658,"03.a-lire-a-voir-a-ecouter":1702275149},"checksum":"6b2013c429feb2f94afec773b804fcb5"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/09.atelier-9\/01.serpentin":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-9\/serpentin","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/09.atelier-9\/01.serpentin","template":"default","storage_timestamp":1701933396,"markdown":{"":{"default":1701933396}},"checksum":"f4a3ee6c35445c574379c185d2abce2d"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/09.atelier-9\/02.methodologie-outils":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-9\/methodologie-outils","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/09.atelier-9\/02.methodologie-outils","template":"default","storage_timestamp":1701939658,"markdown":{"":{"default":1701939658}},"checksum":"3a75e9db25a06ed56dd2cbd36f45f99f"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/09.atelier-9\/03.a-lire-a-voir-a-ecouter":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-9\/a-lire-a-voir-a-ecouter","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/09.atelier-9\/03.a-lire-a-voir-a-ecouter","template":"default","storage_timestamp":1702275149,"markdown":{"":{"default":1702275149}},"checksum":"edce396d08e060210bae21a0a61d2f86"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/10.atelier-10":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-10","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/10.atelier-10","template":"default","storage_timestamp":1702284054,"markdown":{"":{"default":1702284054}},"children":{"01.serpentin":1701933409,"02.methodologie-outils":1701940192,"08.a-lire-a-voir-a-ecouter":1702275355},"checksum":"5d47b0ece9e3cbd31d802322a8e2b395"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/10.atelier-10\/01.serpentin":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-10\/serpentin","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/10.atelier-10\/01.serpentin","template":"default","storage_timestamp":1701933409,"markdown":{"":{"default":1701933409}},"checksum":"428ca9681d84e6247cc80c947a7fba8c"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/10.atelier-10\/02.methodologie-outils":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-10\/methodologie-outils","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/10.atelier-10\/02.methodologie-outils","template":"default","storage_timestamp":1701940192,"markdown":{"":{"default":1701940192}},"checksum":"4f80059560b2926b8382361745bd5893"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/10.atelier-10\/08.a-lire-a-voir-a-ecouter":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-10\/a-lire-a-voir-a-ecouter","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/10.atelier-10\/08.a-lire-a-voir-a-ecouter","template":"default","storage_timestamp":1702275355,"markdown":{"":{"default":1702275326}},"checksum":"53aecf108d5c7e627f29c82ea3153aee"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/11.atelier-11":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-11","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/11.atelier-11","template":"default","storage_timestamp":1702284058,"markdown":{"":{"default":1702284058}},"children":{"01.serpentin":1701933422,"02.methodologie-outils":1701946861,"03.a-lire-a-voir-a-ecouter":1702275695},"checksum":"4bdb3123a5bf6d26754325fd3b3083b8"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/11.atelier-11\/01.serpentin":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-11\/serpentin","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/11.atelier-11\/01.serpentin","template":"default","storage_timestamp":1701933422,"markdown":{"":{"default":1701933422}},"checksum":"a0378a2ac6ba16a7097900c0825b6dcb"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/11.atelier-11\/02.methodologie-outils":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-11\/methodologie-outils","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/11.atelier-11\/02.methodologie-outils","template":"default","storage_timestamp":1701946861,"markdown":{"":{"default":1701946861}},"checksum":"22f515c6a5a11e5bd5372089396f57c5"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/11.atelier-11\/03.a-lire-a-voir-a-ecouter":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/atelier-11\/a-lire-a-voir-a-ecouter","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/11.atelier-11\/03.a-lire-a-voir-a-ecouter","template":"default","storage_timestamp":1702275695,"markdown":{"":{"default":1702275695}},"checksum":"472d9ed98895fb826ea71d4a4abed634"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/12.les-kiosques-ressources-un-accompagnement-individuel-a-la-doleance":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/les-kiosques-ressources-un-accompagnement-individuel-a-la-doleance","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/12.les-kiosques-ressources-un-accompagnement-individuel-a-la-doleance","template":"default","storage_timestamp":1702284061,"markdown":{"":{"default":1702284061}},"children":{"01.serpentin":1701933447,"02.co-design-et-prototypage-a-labase-avec-julie-chabaud-julie-roturier-jean-andre-lasserre-et-jean-pierre-seyvos-noelle-et-isabelle":1701948891,"03.a-lire-a-voir-a-ecouter":1702275885},"checksum":"ea4672ca3f9922d7a72de414c208a3c0"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/12.les-kiosques-ressources-un-accompagnement-individuel-a-la-doleance\/01.serpentin":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/les-kiosques-ressources-un-accompagnement-individuel-a-la-doleance\/serpentin","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/12.les-kiosques-ressources-un-accompagnement-individuel-a-la-doleance\/01.serpentin","template":"default","storage_timestamp":1701933447,"markdown":{"":{"default":1701933447}},"checksum":"fbe64c69c7d40e157d3aa5f072a9433a"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/12.les-kiosques-ressources-un-accompagnement-individuel-a-la-doleance\/02.co-design-et-prototypage-a-labase-avec-julie-chabaud-julie-roturier-jean-andre-lasserre-et-jean-pierre-seyvos-noelle-et-isabelle":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/les-kiosques-ressources-un-accompagnement-individuel-a-la-doleance\/co-design-et-prototypage-a-labase-avec-julie-chabaud-julie-roturier-jean-andre-lasserre-et-jean-pierre-seyvos-noelle-et-isabelle","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/12.les-kiosques-ressources-un-accompagnement-individuel-a-la-doleance\/02.co-design-et-prototypage-a-labase-avec-julie-chabaud-julie-roturier-jean-andre-lasserre-et-jean-pierre-seyvos-noelle-et-isabelle","template":"default","storage_timestamp":1701948891,"markdown":{"":{"default":1701948891}},"checksum":"d21b9bf65680c6d93432e608fe2f67a9"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/12.les-kiosques-ressources-un-accompagnement-individuel-a-la-doleance\/03.a-lire-a-voir-a-ecouter":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/les-kiosques-ressources-un-accompagnement-individuel-a-la-doleance\/a-lire-a-voir-a-ecouter","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/12.les-kiosques-ressources-un-accompagnement-individuel-a-la-doleance\/03.a-lire-a-voir-a-ecouter","template":"default","storage_timestamp":1702275885,"markdown":{"":{"default":1702275885}},"checksum":"4b563328816180f16acf7559a2becd4d"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/13.13-titre":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/13-titre","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/13.13-titre","template":"default","storage_timestamp":1702284065,"markdown":{"":{"default":1702284065}},"children":{"02.serpentin":1701933460,"03.methodologie-outils":1702001854,"04.a-lire-a-voir-a-ecouter":1702276098},"checksum":"32bb3cc4f2c594a697f0f8df007cafc3"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/13.13-titre\/02.serpentin":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/13-titre\/serpentin","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/13.13-titre\/02.serpentin","template":"default","storage_timestamp":1701933460,"markdown":{"":{"default":1701933460}},"checksum":"51bf31465d9fd157d909550aa71e308c"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/13.13-titre\/03.methodologie-outils":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/13-titre\/methodologie-outils","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/13.13-titre\/03.methodologie-outils","template":"default","storage_timestamp":1702001854,"markdown":{"":{"default":1702001854}},"checksum":"f9d548e65d0a6f39ca89f54d4d8db8e2"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/13.13-titre\/04.a-lire-a-voir-a-ecouter":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/13-titre\/a-lire-a-voir-a-ecouter","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/13.13-titre\/04.a-lire-a-voir-a-ecouter","template":"default","storage_timestamp":1702276098,"markdown":{"":{"default":1702276098}},"checksum":"329b32e952162250910a56ce3d4fd5a2"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/14.14-titre":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/14-titre","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/14.14-titre","template":"default","storage_timestamp":1702284068,"markdown":{"":{"default":1702284068}},"children":{"01.serpentin":1701933472,"02.methodologie-outils":1702004164,"03.a-lire-a-voir-a-ecouter":1702276211},"checksum":"9db6743c98e7a823c7f0e087c3b056f5"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/14.14-titre\/01.serpentin":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/14-titre\/serpentin","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/14.14-titre\/01.serpentin","template":"default","storage_timestamp":1701933472,"markdown":{"":{"default":1701933472}},"checksum":"0887f3e090c64a30dec8f285d6823dc4"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/14.14-titre\/02.methodologie-outils":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/14-titre\/methodologie-outils","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/14.14-titre\/02.methodologie-outils","template":"default","storage_timestamp":1702004164,"markdown":{"":{"default":1702004164}},"checksum":"8502472b4d604ceea51e3884a4faf865"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/14.14-titre\/03.a-lire-a-voir-a-ecouter":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/14-titre\/a-lire-a-voir-a-ecouter","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/14.14-titre\/03.a-lire-a-voir-a-ecouter","template":"default","storage_timestamp":1702276211,"markdown":{"":{"default":1702276211}},"checksum":"96b9b57dfd53962d61c783ca8291bab4"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/15.15-titre":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/15-titre","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/15.15-titre","template":"default","storage_timestamp":1702284072,"markdown":{"":{"default":1702284072}},"children":{"01.serpentin":1701933486,"02.methodologie-outils":1702008411,"03.a-lire-a-voir-a-ecouter":1702276372},"checksum":"1c566d837a8cec912ebb16df658dfbf6"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/15.15-titre\/01.serpentin":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/15-titre\/serpentin","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/15.15-titre\/01.serpentin","template":"default","storage_timestamp":1701933486,"markdown":{"":{"default":1701933486}},"checksum":"a089e4ed1cf9a60274f30bb8e8dc805d"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/15.15-titre\/02.methodologie-outils":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/15-titre\/methodologie-outils","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/15.15-titre\/02.methodologie-outils","template":"default","storage_timestamp":1702008411,"markdown":{"":{"default":1702008411}},"checksum":"dd41ce91f2b6f57a90aab47104f024fc"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/15.15-titre\/03.a-lire-a-voir-a-ecouter":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/15-titre\/a-lire-a-voir-a-ecouter","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/15.15-titre\/03.a-lire-a-voir-a-ecouter","template":"default","storage_timestamp":1702276372,"markdown":{"":{"default":1702276372}},"checksum":"e7c4277c9352a85483835ad5d077fe1f"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/16.16-titre":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/16-titre","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/16.16-titre","template":"default","storage_timestamp":1702284076,"markdown":{"":{"default":1702284076}},"children":{"01.serpentin":1701933500,"02.methodologie-outils":1702008876,"03.a-lire-a-voir-a-ecouter":1702276553},"checksum":"161669999c4ed733f7c7b0ed39c2a5f6"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/16.16-titre\/01.serpentin":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/16-titre\/serpentin","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/16.16-titre\/01.serpentin","template":"default","storage_timestamp":1701933500,"markdown":{"":{"default":1701933500}},"checksum":"5a3f7c5bbdb34a85d13ec099536d4cfd"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/16.16-titre\/02.methodologie-outils":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/16-titre\/methodologie-outils","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/16.16-titre\/02.methodologie-outils","template":"default","storage_timestamp":1702008876,"markdown":{"":{"default":1702008876}},"checksum":"5bc8fad2491b7a59af739ac922f9b9e5"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/16.16-titre\/03.a-lire-a-voir-a-ecouter":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/16-titre\/a-lire-a-voir-a-ecouter","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/16.16-titre\/03.a-lire-a-voir-a-ecouter","template":"default","storage_timestamp":1702276553,"markdown":{"":{"default":1702276553}},"checksum":"7c4e7a3113e5c688755d833ce94f7709"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/17.13-retrouver-des-capacites-dexpression-decoute-et-daction-politique":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/13-retrouver-des-capacites-dexpression-decoute-et-daction-politique","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/17.13-retrouver-des-capacites-dexpression-decoute-et-daction-politique","template":"default","storage_timestamp":1693973474,"markdown":{"":{"default":1693973474}},"children":{"01.methodologie-outils":1693906789},"checksum":"3ae7386c192313e87086871ff6e20414"},"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/17.13-retrouver-des-capacites-dexpression-decoute-et-daction-politique\/01.methodologie-outils":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/13-retrouver-des-capacites-dexpression-decoute-et-daction-politique\/methodologie-outils","storage_key":"04.lexperimentation-ou-atterrir-sur-le-mode-de-la-reprise\/17.13-retrouver-des-capacites-dexpression-decoute-et-daction-politique\/01.methodologie-outils","template":"default","storage_timestamp":1693906789,"markdown":{"":{"default":1690480394}},"checksum":"d99bfdfbf6e2737aeb87b8b693922f9c"},"05.lexperimentation-ou-atterrir-sur-le-mode-de-la-recherche-et-de-linnovation":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-recherche-et-de-linnovation","storage_key":"05.lexperimentation-ou-atterrir-sur-le-mode-de-la-recherche-et-de-linnovation","template":"default","storage_timestamp":1694530482,"markdown":{"":{"default":1690472405}},"children":{"01.atelier-de-prototypage-de-latlas-avec-labase":1693906787},"checksum":"25434c92cac4a50bc857a2d54c8f801e"},"05.lexperimentation-ou-atterrir-sur-le-mode-de-la-recherche-et-de-linnovation\/01.atelier-de-prototypage-de-latlas-avec-labase":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-la-recherche-et-de-linnovation\/atelier-de-prototypage-de-latlas-avec-labase","storage_key":"05.lexperimentation-ou-atterrir-sur-le-mode-de-la-recherche-et-de-linnovation\/01.atelier-de-prototypage-de-latlas-avec-labase","template":"default","storage_timestamp":1693906787,"markdown":{"":{"default":1690472405}},"checksum":"262ba9b4533a113c1dc4ecd4f6d9b012"},"06.accompagnement-a-lenquete":{"key":"accompagnement-a-lenquete","storage_key":"06.accompagnement-a-lenquete","template":"default","storage_timestamp":1694530482,"markdown":{"":{"default":1694530377}},"children":{"01.la-bibliographie":1694530414,"02.kiosques":1693906787,"03.la-boite-a-outils":1694530442,"04.les-nouveaux-commanditaires-sciences":1694530453},"checksum":"aa4dc66a5b901f94b6b338abadb6a80b"},"06.accompagnement-a-lenquete\/01.la-bibliographie":{"key":"accompagnement-a-lenquete\/la-bibliographie","storage_key":"06.accompagnement-a-lenquete\/01.la-bibliographie","template":"default","storage_timestamp":1694530414,"markdown":{"":{"default":1694530414}},"checksum":"61cde81d91cda7fb3a6c0537b004c7d2"},"06.accompagnement-a-lenquete\/02.kiosques":{"key":"accompagnement-a-lenquete\/kiosques","storage_key":"06.accompagnement-a-lenquete\/02.kiosques","template":"default","storage_timestamp":1693906787,"markdown":{"":{"default":1690472405}},"children":{"01.les-kiosques-avec-des-personnes-ressources":1694530423,"02.les-kiosques-avec-lequipe":1694530429},"checksum":"e8b7dc3c5204cf66ee31081f72c75f0e"},"06.accompagnement-a-lenquete\/02.kiosques\/01.les-kiosques-avec-des-personnes-ressources":{"key":"accompagnement-a-lenquete\/kiosques\/les-kiosques-avec-des-personnes-ressources","storage_key":"06.accompagnement-a-lenquete\/02.kiosques\/01.les-kiosques-avec-des-personnes-ressources","template":"default","storage_timestamp":1694530423,"markdown":{"":{"default":1694530423}},"checksum":"4540bc7f368d367145c4bf362ba519c5"},"06.accompagnement-a-lenquete\/02.kiosques\/02.les-kiosques-avec-lequipe":{"key":"accompagnement-a-lenquete\/kiosques\/les-kiosques-avec-lequipe","storage_key":"06.accompagnement-a-lenquete\/02.kiosques\/02.les-kiosques-avec-lequipe","template":"default","storage_timestamp":1694530429,"markdown":{"":{"default":1694530429}},"checksum":"b45c6a8200937ef1f8d51937cdf1f3c5"},"06.accompagnement-a-lenquete\/03.la-boite-a-outils":{"key":"accompagnement-a-lenquete\/la-boite-a-outils","storage_key":"06.accompagnement-a-lenquete\/03.la-boite-a-outils","template":"default","storage_timestamp":1694530442,"markdown":{"":{"default":1694530442}},"checksum":"9a951653b85de66cc97b2570887b29b6"},"06.accompagnement-a-lenquete\/04.les-nouveaux-commanditaires-sciences":{"key":"accompagnement-a-lenquete\/les-nouveaux-commanditaires-sciences","storage_key":"06.accompagnement-a-lenquete\/04.les-nouveaux-commanditaires-sciences","template":"default","storage_timestamp":1694530453,"markdown":{"":{"default":1694530453}},"checksum":"6c1c1e320f97abced48da56fcc410c9b"},"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage","storage_key":"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage","template":"default","storage_timestamp":1694530482,"markdown":{"":{"default":1694530482}},"children":{"01.lexperimentation-ou-atterrir-sur-le-mode-de-lapprentissage":1693906790,"03.latelier-de-prototypage-du-wiki-avec-labase":1694342414,"04.bourgeonner-avec-participants-de-lexperimentation":1694342419},"checksum":"97092e61ff1e7a71bacb41020cbed0e6"},"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/01.lexperimentation-ou-atterrir-sur-le-mode-de-lapprentissage":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/lexperimentation-ou-atterrir-sur-le-mode-de-lapprentissage","storage_key":"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/01.lexperimentation-ou-atterrir-sur-le-mode-de-lapprentissage","template":"default","storage_timestamp":1694530505,"markdown":{"":{"default":1694530505}},"children":{"01.lauto-evaluatino-avec-les-participants":1694342435,"02.lauto-evaluatino-avec-lequipe":1693906790},"checksum":"56e3ee7ffcbcd8fc6359308c1c2effd5"},"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/01.lexperimentation-ou-atterrir-sur-le-mode-de-lapprentissage\/01.lauto-evaluatino-avec-les-participants":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/lexperimentation-ou-atterrir-sur-le-mode-de-lapprentissage\/lauto-evaluatino-avec-les-participants","storage_key":"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/01.lexperimentation-ou-atterrir-sur-le-mode-de-lapprentissage\/01.lauto-evaluatino-avec-les-participants","template":"default","storage_timestamp":1694342435,"markdown":{"":{"default":1694342435}},"checksum":"0609bec8059d26946c3e68bef92d9be9"},"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/01.lexperimentation-ou-atterrir-sur-le-mode-de-lapprentissage\/02.lauto-evaluatino-avec-lequipe":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/lexperimentation-ou-atterrir-sur-le-mode-de-lapprentissage\/lauto-evaluatino-avec-lequipe","storage_key":"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/01.lexperimentation-ou-atterrir-sur-le-mode-de-lapprentissage\/02.lauto-evaluatino-avec-lequipe","template":"default","storage_timestamp":1693906790,"markdown":{"":{"default":1690472405}},"checksum":"279f13a8f190fdaf45564cb081181e24"},"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/03.latelier-de-prototypage-du-wiki-avec-labase":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/latelier-de-prototypage-du-wiki-avec-labase","storage_key":"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/03.latelier-de-prototypage-du-wiki-avec-labase","template":"default","storage_timestamp":1694342414,"markdown":{"":{"default":1694342414}},"children":{"01.latelier-de-prototypage-du-wiki-avec-labase":1693906790,"02.piste-a-suivre-le-reseau-wiki-ou-atterrir":1693906790,"03.la-licence-creative-commons":1693906790,"04.les-universite-dete-avec-s-composition":1693906790,"05.luniversite-dete-avec-s-composition":1693906790},"checksum":"162794a2ac97658f15f9d66fb371e317"},"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/03.latelier-de-prototypage-du-wiki-avec-labase\/01.latelier-de-prototypage-du-wiki-avec-labase":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/latelier-de-prototypage-du-wiki-avec-labase\/latelier-de-prototypage-du-wiki-avec-labase","storage_key":"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/03.latelier-de-prototypage-du-wiki-avec-labase\/01.latelier-de-prototypage-du-wiki-avec-labase","template":"default","storage_timestamp":1693906790,"markdown":{"":{"default":1690472405}},"checksum":"4b3f97dffbd8c6b71a039c96fefaa0ba"},"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/03.latelier-de-prototypage-du-wiki-avec-labase\/02.piste-a-suivre-le-reseau-wiki-ou-atterrir":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/latelier-de-prototypage-du-wiki-avec-labase\/piste-a-suivre-le-reseau-wiki-ou-atterrir","storage_key":"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/03.latelier-de-prototypage-du-wiki-avec-labase\/02.piste-a-suivre-le-reseau-wiki-ou-atterrir","template":"default","storage_timestamp":1693906790,"markdown":{"":{"default":1690472405}},"checksum":"61588207381ee530f8e07193419b4f3b"},"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/03.latelier-de-prototypage-du-wiki-avec-labase\/03.la-licence-creative-commons":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/latelier-de-prototypage-du-wiki-avec-labase\/la-licence-creative-commons","storage_key":"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/03.latelier-de-prototypage-du-wiki-avec-labase\/03.la-licence-creative-commons","template":"default","storage_timestamp":1693906790,"markdown":{"":{"default":1690472405}},"checksum":"4327c05437321ac12a78d11e93a20244"},"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/03.latelier-de-prototypage-du-wiki-avec-labase\/04.les-universite-dete-avec-s-composition":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/latelier-de-prototypage-du-wiki-avec-labase\/les-universite-dete-avec-s-composition","storage_key":"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/03.latelier-de-prototypage-du-wiki-avec-labase\/04.les-universite-dete-avec-s-composition","template":"default","storage_timestamp":1693906790,"markdown":{"":{"default":1690472405}},"checksum":"ae8f286a18619b4f0c5250e6393fa049"},"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/03.latelier-de-prototypage-du-wiki-avec-labase\/05.luniversite-dete-avec-s-composition":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/latelier-de-prototypage-du-wiki-avec-labase\/luniversite-dete-avec-s-composition","storage_key":"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/03.latelier-de-prototypage-du-wiki-avec-labase\/05.luniversite-dete-avec-s-composition","template":"default","storage_timestamp":1693906790,"markdown":{"":{"default":1690472405}},"checksum":"42819eae85b9c7bc6154c898575b3664"},"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/04.bourgeonner-avec-participants-de-lexperimentation":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/bourgeonner-avec-participants-de-lexperimentation","storage_key":"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/04.bourgeonner-avec-participants-de-lexperimentation","template":"default","storage_timestamp":1694342419,"markdown":{"":{"default":1694342419}},"children":{"bourgeon-s-a-bordeaux":1693906790},"checksum":"ce4d77546b5b89b31d1bfb8203d06d35"},"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/04.bourgeonner-avec-participants-de-lexperimentation\/bourgeon-s-a-bordeaux":{"key":"lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/bourgeonner-avec-participants-de-lexperimentation\/bourgeon-s-a-bordeaux","storage_key":"07.lexperimentation-ou-atterrir-sur-le-mode-de-lessaimage\/04.bourgeonner-avec-participants-de-lexperimentation\/bourgeon-s-a-bordeaux","template":"default","storage_timestamp":1693906790,"markdown":{"":{"default":1690472405}},"checksum":"d34ba4e25c89a8f502b62b6566e0bf85"},"09.Annexe":{"key":"annexe","storage_key":"09.Annexe","template":"default","storage_timestamp":1694530482,"markdown":{"":{"default":1690472405}},"children":{"06.references-et-partenariat":1693906787,"07.quatrieme-de-couverture":1693906787},"checksum":"f6c89ff2953fce2974e6cc8bd03e2934"},"09.Annexe\/06.references-et-partenariat":{"key":"annexe\/references-et-partenariat","storage_key":"09.Annexe\/06.references-et-partenariat","template":"default","storage_timestamp":1693906787,"markdown":{"":{"default":1690472405}},"children":{"04.le-lexique":1693906787,"05.credits":1693906787,"06.partenaires":1693906787},"checksum":"6853c6022d891d7ad31714ecf8ec67ee"},"09.Annexe\/06.references-et-partenariat\/04.le-lexique":{"key":"annexe\/references-et-partenariat\/le-lexique","storage_key":"09.Annexe\/06.references-et-partenariat\/04.le-lexique","template":"default","storage_timestamp":1693906787,"markdown":{"":{"default":1690472405}},"checksum":"eca30cb8f3b17260dc01fadbeaeb79fe"},"09.Annexe\/06.references-et-partenariat\/05.credits":{"key":"annexe\/references-et-partenariat\/credits","storage_key":"09.Annexe\/06.references-et-partenariat\/05.credits","template":"default","storage_timestamp":1693906787,"markdown":{"":{"default":1690472405}},"checksum":"fd9d17dfea514b64c056704680dfff2d"},"09.Annexe\/06.references-et-partenariat\/06.partenaires":{"key":"annexe\/references-et-partenariat\/partenaires","storage_key":"09.Annexe\/06.references-et-partenariat\/06.partenaires","template":"default","storage_timestamp":1693906787,"markdown":{"":{"default":1690472405}},"checksum":"d07d54c57c33195d49b9cdcc3e7f662b"},"09.Annexe\/07.quatrieme-de-couverture":{"key":"annexe\/quatrieme-de-couverture","storage_key":"09.Annexe\/07.quatrieme-de-couverture","template":"default","storage_timestamp":1693906787,"markdown":{"":{"default":1690472405}},"checksum":"4d9a02e0560523b08211c2dfc76342b3"}}} \ No newline at end of file diff --git a/user/data/notifications/3a6d0284e743dc4a9b86f97d6dd1a3bf.yaml b/user/data/notifications/3a6d0284e743dc4a9b86f97d6dd1a3bf.yaml index 06a03b6..b04f48f 100644 --- a/user/data/notifications/3a6d0284e743dc4a9b86f97d6dd1a3bf.yaml +++ b/user/data/notifications/3a6d0284e743dc4a9b86f97d6dd1a3bf.yaml @@ -1,4 +1,4 @@ -last_checked: 1690504263 +last_checked: 1707227267 data: feed: - diff --git a/user/themes/carnet-atterrissage/assets/sprays/spary_couleurs-page015.png b/user/themes/carnet-atterrissage/assets/sprays/spary_couleurs-page015.png new file mode 100644 index 0000000..35c9dfb Binary files /dev/null and b/user/themes/carnet-atterrissage/assets/sprays/spary_couleurs-page015.png differ diff --git a/user/themes/carnet-atterrissage/assets/sprays/spary_couleurs-page016.png b/user/themes/carnet-atterrissage/assets/sprays/spary_couleurs-page016.png new file mode 100644 index 0000000..7e3c449 Binary files /dev/null and b/user/themes/carnet-atterrissage/assets/sprays/spary_couleurs-page016.png differ diff --git a/user/themes/carnet-atterrissage/css/mep/back-cover.css b/user/themes/carnet-atterrissage/css/mep/back-cover.css new file mode 100644 index 0000000..88ad8fd --- /dev/null +++ b/user/themes/carnet-atterrissage/css/mep/back-cover.css @@ -0,0 +1,27 @@ +.last-page { +/* background-image: url(../../assets/bruit_couv.png), linear-gradient(to left, + #95a358 0%, + #9ca151 14%, + #a59d4a 28%, + #af9944 42%, + #b8963d 57%, + #c19238 71%, + #cb8e31 85%); */ + display: flex; + justify-content: center; + align-items: center; +} + +.last-page .has-children div h3, +.last-page .has-children div div { + display: none; +} + +.last-page .has-children div p { + width: 75%; + padding-bottom: 20mm; + font-size: 11pt; + color: white; + line-height: 1.5; +} + \ No newline at end of file diff --git a/user/themes/carnet-atterrissage/css/mep/front-cover.css b/user/themes/carnet-atterrissage/css/mep/front-cover.css new file mode 100644 index 0000000..c1ba067 --- /dev/null +++ b/user/themes/carnet-atterrissage/css/mep/front-cover.css @@ -0,0 +1,55 @@ +.pagedjs_first_page { + background-image: url(../../assets/bruit_couv.png), linear-gradient(to left, + #5595a1 0%, + #5f9796 14%, + #65998d 28%, + #6f9b80 42%, + #799e75 57%, + #83a16b 71%, + #8ba460 85%); + } + + .pagedjs_first_page img[alt="img_couv"] { + position: absolute; + width: 80mm; + left: 34.5mm; + top: 10mm; + } + + .pagedjs_first_page img[alt="logo_rivage"] { + position: absolute; + width: 30mm; + bottom: 0; + left: 59.5mm; + } + + .pagedjs_first_page h2 { + position: absolute; + font-size: 36pt; + font-weight: bold; + left: -8mm; + width: 165mm; + top: 73mm; + line-height: 1.1 !important; + } + + .pagedjs_first_page .free { + margin: 0; + text-align: center; + font-family: 'Ortica'; + font-weight: bold; + color: white; + font-size: 10pt; + line-height: 1.3; + position: absolute; + padding: 0; + margin-left: -8mm; + width: 165mm; + top: 110mm; + } + + .pagedjs_first_page .free p { + margin-top: 0; + margin-bottom: 0; + } + \ No newline at end of file diff --git a/user/themes/carnet-atterrissage/css/mep/general.css b/user/themes/carnet-atterrissage/css/mep/general.css new file mode 100644 index 0000000..fb606cd --- /dev/null +++ b/user/themes/carnet-atterrissage/css/mep/general.css @@ -0,0 +1,78 @@ +:root { + --cols: 8; + --rows: 8; + --guts: 4mm; +} + +@page { + size: 165mm 230mm; + margin-top: 16mm; + margin-bottom: 16mm; + bleed: 0mm; + color: black; + marks: crop; +} + +@page:left { + margin-left: 16mm; + margin-right: 8mm; + + @left-middle { + content: counter(page); + display: flex; + justify-content: center; + align-items: center; + font-family: 'Ortica'; + font-weight: bold; + font-size: 8pt; + height: 30mm; + } + + @left-top { + content: ''; + white-space: nowrap; + font-family: 'Ortica'; + font-weight: lighter; + font-size: 7pt; + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; + text-align: right; + } + + @left-bottom { + content: ''; + white-space: nowrap; + font-family: 'Ortica'; + font-weight: lighter; + font-size: 7pt; + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-end; + } +} + +.pagedjs_margin-left-top div, .pagedjs_margin-left-bottom div { + display: block; + min-width: max-content; + transform: rotate(-90deg); +} + +@page:right { + margin-left: 8mm; + margin-right: 16mm; +} + +body { + font-family: 'Public'; +} + +.breakbefore { + break-before: page; +} + +.breakafter { + break-after: page; +} \ No newline at end of file diff --git a/user/themes/carnet-atterrissage/css/mep/imgs.css b/user/themes/carnet-atterrissage/css/mep/imgs.css new file mode 100644 index 0000000..d96f1d7 --- /dev/null +++ b/user/themes/carnet-atterrissage/css/mep/imgs.css @@ -0,0 +1,214 @@ +img { + width: 100%; +} + +.imgsmall, +.imgsmall_bottom { + padding-left: calc(var(--pagedjs-pagebox-width) / var(--cols)); +} + +.imgsmallsmall { + padding-left: calc((var(--pagedjs-pagebox-width) / var(--cols)) + 10mm); +} + +.imgsmall_bottom { + break-after: page; +} + +.imgsmall img, +.imgsmall_bottom img { + width: 100%; +} + +.fullpage2imgs { + width: 140mm; + height: 210mm; + padding-left: calc(var(--pagedjs-pagebox-width) / var(--cols)); +} + +.fullpageimage { + margin-top: -22mm; + margin-left: -10mm; + width: 171mm; + height: 230mm; +} + +.bottomimg { + width: 100%; + break-after: page; +} + +.bottomimg img { + height: 100%; +} + + /* .tripleimgs, + .tripleimgs_bottom { + break-before: page; + break-after: page + } */ + +.tripleimgs img:nth-of-type(2), +.tripleimgs_bottom img:first-of-type { + width: calc(50% - 2mm); + margin-right: 4mm; +} + +.tripleimgs img:last-of-type, +.tripleimgs_bottom img:nth-of-type(2) { + width: calc(50% - 2mm); +} + + /* .tripleimgs2, + .tripleimgs2_bottom { + break-before: page; + break-after: page + } */ + +.tripleimgs2 img:nth-of-type(2), +.tripleimgs2_bottom img:first-of-type { + width: calc(37.5% - 2mm); + margin-right: 4mm; +} + +.tripleimgs2 img:last-of-type, +.tripleimgs2_bottom img:nth-of-type(2) { + width: calc(62.5% - 2mm); +} + +.imgfullspreadleft, +.imgfullspreadright, +.imgfullspreadright_bleedtop, +.imgfullspreadright_bleed, +.doublepage_bigleft, +.doublepage_bigright { + /* break-before: left; + */ break-after: left; + width: 149mm; + overflow: hidden; +} + +.imgfullspreadright_bleedtop { + margin-top: -22mm; + height: 220mm; +} + +.imgfullspreadright_bleed { + margin-top: -22mm; + height: 242mm; +} + +.imgfullspreadleft img, +.imgfullspreadright img { + height: 198mm; + width: auto; +} + +.imgfullspreadright_bleedtop img { + height: 220mm; + width: auto; +} + +.imgfullspreadright_bleed img { + height: 242mm; + width: auto; +} + +.imgfullspreadleft-right { + width: 149mm; + overflow: hidden; + margin-left: -16mm; +} + +.imgfullspreadright-right { + width: 143mm; + margin-left: -8mm; + overflow: hidden; + display: flex; + justify-content: flex-end; +} + +.imgfullspreadright_bleedtop-right, .imgfullspreadright_bleed-right { + width: 173mm; + height: 220mm !important; + margin-top: -22mm; + margin-left: -8mm; + overflow: hidden; + display: flex; + justify-content: flex-end; +} + +.imgfullspreadright_bleed-right, .imgfullspreadright_bleed-right img { + height: 242mm !important; +} + +.imgfullspreadright_bleedtop-right img, .imgfullspreadright_bleed-right img { + height: 220mm; + width: auto; +} + +.imgfullspreadright-right img { + height: 198mm; + width: auto; +} + +.imgfullspreadleft-right img { + height: 198mm; + width: auto; + margin-left: -141mm; +} + +.doublepage_bigleft, +.doublepage_bigright { + height: 128mm !important; +} + +.doublepage_bigleft img, +.doublepage_bigright img { + height: 100%; + width: auto; +} + +.overflow_bigimgleft, +.overflow_bigimgright { + height: 128mm !important; +} + +.overflow_bigimgleft { + margin-left: -157mm; +} + +.overflow_bigimgright { + display: flex; + justify-content: flex-end; +} + +.doublepage_bigright img { + margin-left: 106mm; +} + +.overflow_bigimgleft img, +.overflow_bigimgright img { + height: 100%; + width: auto; +} + +.dp_sm_img { + position: absolute; + width: calc((var(--pagedjs-pagebox-width) / var(--cols)) * 4); + height: 71mm !important; +} + +.pagedjs_right_page .dp_sm_img { + right: 0; +} + +.pagedjs_left_page .dp_sm_img { + left: 0; +} + +.dp_sm_img img { + position: absolute; + bottom: 0; + width: 100%; +} \ No newline at end of file diff --git a/user/themes/carnet-atterrissage/css/mep/inserts.css b/user/themes/carnet-atterrissage/css/mep/inserts.css new file mode 100644 index 0000000..797cced --- /dev/null +++ b/user/themes/carnet-atterrissage/css/mep/inserts.css @@ -0,0 +1,69 @@ +.latour, .lampe, +.latour_nohead, .lampe_nohead { + font-family: 'Novel'; + font-weight: normal; + margin-top: 5mm !important; + margin-left: calc(var(--pagedjs-pagebox-width) / var(--cols)); + margin-right: -16mm; + margin-bottom: 5mm; + line-height: 12pt; + font-size: 8pt; + padding-right: 23mm; + width: 142mm; + padding-left: calc(var(--pagedjs-pagebox-width) / var(--cols)); + padding-bottom: 8mm; + padding-top: 8mm; + background-color: beige; + max-height: 198mm; +} + +.pagedjs_page_content section div div div div:first-child:is(.latour), +.pagedjs_page_content section div div div div:nth-child(2):is(.latour[data-split-from]) { + margin-top: 0mm !important; +} + +.pagedjs_page_content section div div div div:last-child:is(.latour) { + margin-bottom: 0mm !important; +} + +.latour p:last-of-type, +.lampe p:last-of-type, +.latour_nohead p:last-of-type, +.lampe_nohead p:last-of-type { + padding-bottom: 0; + margin-bottom: 0; +} + +.latour ul, .latour ol, +.lampe ul, .lampe ol, +.latour_nohead ul, .latour_nohead ol, +.lampe_nohead ul, .lampe_nohead ol { + padding-left: 0; + list-style-position: inside; +} + +.encart-split { + position: absolute; + margin-left: calc(var(--pagedjs-pagebox-width) / var(--cols)); + background-color: beige; +} + +.pagedjs_left_page .latour, .pagedjs_left_page .lampe, +.pagedjs_left_page .latour_nohead, .pagedjs_left_page .lampe_nohead { + padding-right: 10mm; + width: 128.375mm; +} + +.encart-header { + display: flex; + flex-direction: row; + align-items: center; + margin-bottom: 3mm; + font-weight: bold; +} + +.encart-header img:first-of-type { + margin-top: 1mm; + margin-right: 2mm; + width: 8mm; +} diff --git a/user/themes/carnet-atterrissage/css/mep/notes-biblios.css b/user/themes/carnet-atterrissage/css/mep/notes-biblios.css new file mode 100644 index 0000000..4fe6a6c --- /dev/null +++ b/user/themes/carnet-atterrissage/css/mep/notes-biblios.css @@ -0,0 +1,35 @@ +.note { + font-family: 'Ortica'; + font-weight: bold; + font-size: 6pt; + color: red; + vertical-align: top; +} + +.note_texte_number { + font-family: 'Ortica'; + font-weight: bold; + color: red; +} + +.note_text { + line-height: 12pt; + font-size: 9pt; + text-align: justify; +} + +.bibliographie { + column-count: 2; + column-gap: var(--guts); + column-fill: auto; + line-height: 12pt; + font-size: 9pt; + font-weight: bold; + z-index: 1; + position: relative; +} + +.bibliographie a { + word-break: break-all; +} + \ No newline at end of file diff --git a/user/themes/carnet-atterrissage/css/mep/titles.css b/user/themes/carnet-atterrissage/css/mep/titles.css new file mode 100644 index 0000000..162cacd --- /dev/null +++ b/user/themes/carnet-atterrissage/css/mep/titles.css @@ -0,0 +1,65 @@ + +h2 { + font-family: 'Ortica'; + font-weight: lighter; + padding: 0 8%; + font-size: 24pt; + color: white; + margin: 0; + line-height: 1.2 !important; + text-align: center; + break-before: left; +} + +.partie_cover_page:first-child { + background-color: #4a90b2; +} + +.partie_cover_page_right { + background-color: #4a90b2; +} + +.partie_cover_page .pagedjs_page_content > div { + display: flex; + align-items: center; + justify-content: center; +} + +.partie_count { + font-size: 55pt; + color: white; + font-family: 'Ortica'; + font-weight: bold; + width: 100%; + text-align: center; + line-height: 1; + margin-bottom: 33pt; +} + +h3 { + break-before: left; + font-family: 'Ortica'; + font-weight: lighter; + font-size: 28pt; + line-height: 1.3; + margin: 0; + width: 60%; +} + +h3 .gros-chiffre { + font-size: 54pt; + font-family: 'Ortica'; + font-weight: bold; + margin-bottom: -5mm; +} + +h4 { + break-before: left; + margin-top: 0; + font-size: 16pt; + line-height: 1.1; + color: black; + font-family: 'Ortica'; + font-weight: bold; +} + \ No newline at end of file diff --git a/user/themes/carnet-atterrissage/css/mep/typographie.css b/user/themes/carnet-atterrissage/css/mep/typographie.css new file mode 100644 index 0000000..d60b1de --- /dev/null +++ b/user/themes/carnet-atterrissage/css/mep/typographie.css @@ -0,0 +1,92 @@ +a { + text-decoration: underline; +} + +.moment { + padding-left: calc(var(--pagedjs-pagebox-width) / var(--cols)); + display: block; + font-size: 11pt; + font-weight: bold; + line-height: 1.1; /* LA IL FAUT AJUSTER CF TEMPS 14 */ +} + +.moment + .moment { + margin-bottom: 14pt; +} + +.moment .first-letter { + font-size: 18pt; +} + +.temps { + padding-left: calc(var(--pagedjs-pagebox-width) / var(--cols)); + font-size: 9pt; + margin-top: -1pt; + margin-bottom: 8pt; + font-weight: 500; +} + +.temps:before { + content: "> "; +} + +.labeur, .free, .free_left, .citation { + padding-left: calc(var(--pagedjs-pagebox-width) / var(--cols)); + line-height: 12pt; + font-size: 9pt; + hyphens: none; + text-align: left; +} + +.labeur p:before { + content: '+ '; + font-weight: bold; +} + +.labeur li { + margin-bottom: 4pt; +} + +.labeur li:before { + content: '× '; + font-weight: bold; +} + +.labeur ul { + list-style: none; + padding-left: 6mm; +} + +.free, .free_left { + margin-bottom: 12px; +} + +.free_left { + padding-left: 0; +} + +.citation { + padding-left: calc(var(--pagedjs-pagebox-width) / var(--cols) + 6.5mm); + text-align: justify; + padding-right: 16mm; + hyphens: auto; + font-style: italic; + margin-top: 4mm; +} + +.citation .guillement_ouvrant { + position: absolute; + font-size: 58pt; + margin-left: -15mm; + margin-top: 5mm; +} + +.citation .guillement_fermant { + position: absolute; + font-size: 58pt; + right: 3mm; +} + +.citation ul { + padding: 0; +} \ No newline at end of file diff --git a/user/themes/carnet-atterrissage/css/mep_carnet.css b/user/themes/carnet-atterrissage/css/mep_carnet.css index a8f6d0e..5a354d8 100644 --- a/user/themes/carnet-atterrissage/css/mep_carnet.css +++ b/user/themes/carnet-atterrissage/css/mep_carnet.css @@ -1,645 +1,10 @@ -:root { - --cols: 8; - --rows: 8; - --guts: 4mm; -} +@import url('mep/general.css'); +@import url('mep/front-cover.css'); +@import url('mep/back-cover.css'); +@import url('mep/titles.css'); +@import url('mep/typographie.css'); +@import url('mep/inserts.css'); +@import url('mep/notes-biblios.css'); +@import url('mep/imgs.css'); -@page { - size: 165mm 230mm; - margin-top: 16mm; - margin-bottom: 16mm; - bleed: 0mm; - color: black; - marks: crop; -} -@page:left { - margin-left: 16mm; - margin-right: 8mm; - @left-middle { - content: counter(page); - display: flex; - justify-content: center; - align-items: center; - font-family: 'Ortica'; - font-weight: bold; - font-size: 8pt; - height: 30mm; - } - @left-top { - content: ''; - white-space: nowrap; - font-family: 'Ortica'; - font-weight: lighter; - font-size: 7pt; - display: flex; - flex-direction: column; - align-items: center; - justify-content: flex-start; - text-align: right; - } - @left-bottom { - content: ''; - white-space: nowrap; - font-family: 'Ortica'; - font-weight: lighter; - font-size: 7pt; - display: flex; - flex-direction: column; - align-items: center; - justify-content: flex-end; - } -} - -.pagedjs_margin-left-top div, .pagedjs_margin-left-bottom div { - display: block; - min-width: max-content; - transform: rotate(-90deg); -} - -@page:right { - margin-left: 8mm; - margin-right: 16mm; -} - -.pagedjs_first_page { - background-image: url(../assets/bruit_couv.png), linear-gradient(to left, - #5595a1 0%, - #5f9796 14%, - #65998d 28%, - #6f9b80 42%, - #799e75 57%, - #83a16b 71%, - #8ba460 85%); -} - -.pagedjs_first_page img[alt="img_couv"] { - position: absolute; - width: 80mm; - left: 34.5mm; - top: 10mm; -} - -.pagedjs_first_page img[alt="logo_rivage"] { - position: absolute; - width: 30mm; - bottom: 0; - left: 59.5mm; -} - -.pagedjs_first_page h2 { - position: absolute; - font-size: 36pt; - font-weight: bold; - left: -8mm; - width: 165mm; - top: 73mm; - line-height: 1.1 !important; -} - -.pagedjs_first_page .free { - margin: 0; - text-align: center; - font-family: 'Ortica'; - font-weight: bold; - color: white; - font-size: 10pt; - line-height: 1.3; - position: absolute; - padding: 0; - margin-left: -8mm; - width: 165mm; - top: 110mm; -} - -.pagedjs_first_page .free p { - margin-top: 0; - margin-bottom: 0; -} - -.last-page { -/* background-image: url(../assets/bruit_couv.png), linear-gradient(to left, - #95a358 0%, - #9ca151 14%, - #a59d4a 28%, - #af9944 42%, - #b8963d 57%, - #c19238 71%, - #cb8e31 85%); */ - display: flex; - justify-content: center; - align-items: center; -} - -.last-page .has-children div h3, -.last-page .has-children div div { - display: none; -} - -.last-page .has-children div p { - width: 75%; - padding-bottom: 20mm; - font-size: 11pt; - color: white; - line-height: 1.5; -} - -body { - font-family: 'Public'; -} - -#chargement { - position: fixed; - background-color: chocolate; - padding: 5px; - color: white; - top: 10px; - left: 10px; - opacity: 1; - transition: opacity 0.3s ease-out; - z-index: 9999; -} - -a { - text-decoration: underline; -} - -h2 { - font-family: 'Ortica'; - font-weight: lighter; - padding: 0 8%; - font-size: 24pt; - break-before: left; - color: white; - margin: 0; - line-height: 1.2 !important; - text-align: center; -} - -.partie_cover_page:first-child { - background-color: #4a90b2; -} - -.partie_cover_page_right { - background-color: #4a90b2; -} - -.partie_cover_page .pagedjs_page_content > div { - display: flex; - align-items: center; - justify-content: center; -} - -.partie_count { - font-size: 55pt; - color: white; - font-family: 'Ortica'; - font-weight: bold; - width: 100%; - text-align: center; - line-height: 1; - margin-bottom: 33pt; -} - -h3 { - break-before: left; - font-family: 'Ortica'; - font-weight: lighter; - font-size: 28pt; - line-height: 1.3; - margin: 0; - width: 60%; -} - -h3 .gros-chiffre { - font-size: 54pt; - font-family: 'Ortica'; - font-weight: bold; - margin-bottom: -5mm; -} - -h4 { - break-before: left; - margin-top: 0; - font-size: 16pt; - line-height: 1.1; - color: black; - font-family: 'Ortica'; - font-weight: bold; -} - -.breakbefore { - break-before: page; -} - -.breakafter { - break-after: page; -} - -.moment { - padding-left: calc(var(--pagedjs-pagebox-width) / var(--cols)); - display: block; - font-size: 11pt; - font-weight: bold; - line-height: 1.1; /* LA IL FAUT AJUSTER CF TEMPS 14 */ -} - -.moment + .moment { - margin-bottom: 14pt; -} - -.moment .first-letter { - font-size: 18pt; -} - -.temps { - padding-left: calc(var(--pagedjs-pagebox-width) / var(--cols)); - font-size: 9pt; - margin-top: -1pt; - margin-bottom: 8pt; - font-weight: 500; -} - -.temps:before { - content: "> "; -} - - -.labeur, .free, .free_left, .citation { - padding-left: calc(var(--pagedjs-pagebox-width) / var(--cols)); - line-height: 12pt; - font-size: 9pt; - text-align: justify; - hyphens: none; -} - -.labeur { - text-align: left; -} - -.free, .free_left { - margin-bottom: 12px; - text-align: left; -} - -.free_left { - padding-left: 0; -} - -.citation { - padding-left: calc(var(--pagedjs-pagebox-width) / var(--cols) + 6.5mm); - text-align: justify; - padding-right: 16mm; - hyphens: auto; - font-style: italic; -} - -.citation .guillement_ouvrant { - position: absolute; - font-size: 58pt; - margin-left: -15mm; - margin-top: 5mm; -} - -.citation .guillement_fermant { - position: absolute; - font-size: 58pt; - right: 3mm; -} - -.citation ul { - padding: 0; -} - -.labeur p:before { - content: '+ '; - font-weight: bold; -} - -.labeur li { - margin-bottom: 4pt; -} - -.labeur li:before { - content: '× '; - font-weight: bold; -} - -.labeur ul { - list-style: none; - padding-left: 6mm; -} - -.pilote { - font-family: 'Novel'; - font-weight: normal; - font-size: 11pt; - padding-left: calc(var(--pagedjs-pagebox-width) / var(--cols)); - text-align: left; - line-height: 1.55; -} - -.latour, .lampe, -.latour_nohead, .lampe_nohead { - font-family: 'Novel'; - font-weight: normal; - margin-top: 5mm !important; - margin-left: calc(var(--pagedjs-pagebox-width) / var(--cols)); - margin-right: -16mm; - margin-bottom: 5mm; - line-height: 12pt; - font-size: 8pt; - padding-right: 23mm; - width: 142mm; - padding-left: calc(var(--pagedjs-pagebox-width) / var(--cols)); - padding-bottom: 8mm; - padding-top: 8mm; - background-color: beige; - max-height: 198mm; -} - -.pagedjs_page_content section div div div div:first-child:is(.latour), -.pagedjs_page_content section div div div div:nth-child(2):is(.latour[data-split-from]) { - margin-top: 0mm !important; -} - -.pagedjs_page_content section div div div div:last-child:is(.latour) { - margin-bottom: 0mm !important; -} - -.latour p:last-of-type, -.lampe p:last-of-type, -.latour_nohead p:last-of-type, -.lampe_nohead p:last-of-type { - padding-bottom: 0; - margin-bottom: 0; -} - -.latour ul, .latour ol, -.lampe ul, .lampe ol, -.latour_nohead ul, .latour_nohead ol, -.lampe_nohead ul, .lampe_nohead ol { - padding-left: 0; - list-style-position: inside; -} - -.encart-split { - position: absolute; - margin-left: calc(var(--pagedjs-pagebox-width) / var(--cols)); - background-color: beige; -} - -.pagedjs_left_page .latour, .pagedjs_left_page .lampe, -.pagedjs_left_page .latour_nohead, .pagedjs_left_page .lampe_nohead { - padding-right: 10mm; - width: 128.375mm; -} - -.encart-header { - display: flex; - flex-direction: row; - align-items: center; - margin-bottom: 3mm; - font-weight: bold; -} - -.encart-header img:first-of-type { - margin-top: 1mm; - margin-right: 2mm; - width: 8mm; -} - -.bibliographie { - column-count: 2; - column-gap: var(--guts); - column-fill: auto; - line-height: 12pt; - font-size: 9pt; - font-weight: bold; - z-index: 1; - position: relative; -} - -.bibliographie a { - word-break: break-all; -} - -img { - width: 100%; -} - -.imgsmall, -.imgsmall_bottom { - padding-left: calc(var(--pagedjs-pagebox-width) / var(--cols)); -} - -.imgsmallsmall { - padding-left: calc((var(--pagedjs-pagebox-width) / var(--cols)) + 10mm); -} - -.imgsmall_bottom { - break-after: page; -} - -.imgsmall img, -.imgsmall_bottom img { - width: 100%; -} - -.fullpage2imgs { - width: 140mm; - height: 210mm; - padding-left: calc(var(--pagedjs-pagebox-width) / var(--cols)); -} - -.fullpageimage { - margin-top: -22mm; - margin-left: -10mm; - width: 171mm; - height: 230mm; -} - - -.bottomimg { - width: 100%; - break-after: page; -} - -.bottomimg img { - height: 100%; -} - -.tripleimgs, -.tripleimgs_bottom { - break-before: page; - break-after: page -} - -.tripleimgs img:nth-of-type(2), -.tripleimgs_bottom img:first-of-type { - width: calc(50% - 2mm); - margin-right: 4mm; -} - -.tripleimgs img:last-of-type, -.tripleimgs_bottom img:nth-of-type(2) { - width: calc(50% - 2mm); -} - -.tripleimgs2, -.tripleimgs2_bottom { - break-before: page; - break-after: page -} - -.tripleimgs2 img:nth-of-type(2), -.tripleimgs2_bottom img:first-of-type { - width: calc(37.5% - 2mm); - margin-right: 4mm; -} - -.tripleimgs2 img:last-of-type, -.tripleimgs2_bottom img:nth-of-type(2) { - width: calc(62.5% - 2mm); -} - - - -.imgfullspreadleft, -.imgfullspreadright, -.imgfullspreadright_bleedtop, -.imgfullspreadright_bleed, -.doublepage_bigleft, -.doublepage_bigright { - break-before: left; - break-after: left; - width: 149mm; - overflow: hidden; -} - -.imgfullspreadright_bleedtop { - margin-top: -22mm; - height: 220mm; -} - -.imgfullspreadright_bleed { - margin-top: -22mm; - height: 242mm; -} - -.imgfullspreadleft img, -.imgfullspreadright img { - height: 198mm; - width: auto; -} - -.imgfullspreadright_bleedtop img { - height: 220mm; - width: auto; -} - -.imgfullspreadright_bleed img { - height: 242mm; - width: auto; -} - -.imgfullspreadleft-right { - width: 149mm; - overflow: hidden; - margin-left: -16mm; -} - -.imgfullspreadright-right { - width: 143mm; - margin-left: -8mm; - overflow: hidden; - display: flex; - justify-content: flex-end; -} - - -.imgfullspreadright_bleedtop-right, .imgfullspreadright_bleed-right { - width: 173mm; - height: 220mm !important; - margin-top: -22mm; - margin-left: -8mm; - overflow: hidden; - display: flex; - justify-content: flex-end; -} - -.imgfullspreadright_bleed-right, .imgfullspreadright_bleed-right img { - height: 242mm !important; -} - -.imgfullspreadright_bleedtop-right img, .imgfullspreadright_bleed-right img { - height: 220mm; - width: auto; -} - -.imgfullspreadright-right img { - height: 198mm; - width: auto; -} - -.imgfullspreadleft-right img { - height: 198mm; - width: auto; - margin-left: -141mm; -} - - -.doublepage_bigleft, -.doublepage_bigright { - height: 128mm !important; -} - -.doublepage_bigleft img, -.doublepage_bigright img { - height: 100%; - width: auto; -} - -.overflow_bigimgleft, -.overflow_bigimgright { - height: 128mm !important; -} - -.overflow_bigimgleft { - margin-left: -157mm; -} - -.overflow_bigimgright { - display: flex; - justify-content: flex-end; -} - -.doublepage_bigright img { - margin-left: 106mm; -} - -.overflow_bigimgleft img, -.overflow_bigimgright img { - height: 100%; - width: auto; -} - -.dp_sm_img { - position: absolute; - width: calc((var(--pagedjs-pagebox-width) / var(--cols)) * 4); - height: 71mm !important; -} - -.pagedjs_right_page .dp_sm_img { - right: 0; -} - -.pagedjs_left_page .dp_sm_img { - left: 0; -} - -.dp_sm_img img { - position: absolute; - bottom: 0; - width: 100%; -} \ No newline at end of file diff --git a/user/themes/carnet-atterrissage/css/ui.css b/user/themes/carnet-atterrissage/css/ui.css new file mode 100644 index 0000000..61b7d50 --- /dev/null +++ b/user/themes/carnet-atterrissage/css/ui.css @@ -0,0 +1,12 @@ +#chargement { + position: fixed; + background-color: chocolate; + padding: 5px; + color: white; + top: 10px; + left: 10px; + opacity: 1; + transition: opacity 0.3s ease-out; + z-index: 9999; + } + \ No newline at end of file diff --git a/user/themes/carnet-atterrissage/js/layout.js b/user/themes/carnet-atterrissage/js/layout.js index 5156622..a4936d6 100644 --- a/user/themes/carnet-atterrissage/js/layout.js +++ b/user/themes/carnet-atterrissage/js/layout.js @@ -1,455 +1,18 @@ -// fonction s'éxecute après le rendu de pagedJS -// cf https://pagedjs.org/documentation/10-handlers-hooks-and-custom-javascript/ -class setMarginTexts extends Paged.Handler { - constructor(chunker, polisher, caller) { - super(chunker, polisher, caller); - } +if (debug) console.log('%cStart layout', boldLogging); - afterParsed(parsed) { - // indication du chargement - let chargement = document.createElement('div'); - chargement.setAttribute('id', 'chargement'); - chargement.innerHTML = 'chargement'; - chargement.style.color = "orange"; - chargement.style.position = "fixed"; - chargement.style.fontWeight = "bold"; - chargement.style.zIndex = "9999"; - document.querySelector('body').prepend(chargement); - } +const layoutScripts = [ + 'layout/ui.js', // DRAW UI AFTER PARSED (paged hook) BEFORE LAYOUT + 'layout/getLastPage.js', + 'layout/alignTopMargin.js', + 'layout/removeEmptyParagraphs.js', + 'layout/bottomImgs.js', + 'layout/unjustifyLastSplit.js', + 'layout/imgsFullspread.js', + 'layout/inserts.js', + 'layout/titles.js', + 'layout/margins.js', + 'layout/colors.js', + 'layout/imgsFootnotes.js', +]; - afterPreview(pages) { - // donner class à la dernière page - let lastElement = $('.pagedjs_page').last(); - lastElement.addClass('last-page'); - - // cleaner pour que les paragraphes tombent sur la marge haute - for (let i = 0; i < labeurs.length; i++) { - if (labeurs[i] == labeurs[i].parentNode?.firstElementChild - && !labeurs[i].firstElementChild?.hasAttribute("data-split-from")) { - if (labeurs[i].firstElementChild) { - labeurs[i].firstElementChild.style.marginTop = "0px"; - } - } - } - // pareil pour les titres temps - for (let i = 0; i < moments.length; i++) { - if (moments[i].previousElementSibling?.tagName === "P" - && moments[i].previousElementSibling == moments[i].parentNode.firstElementChild) { - moments[i].parentNode.removeChild(moments[i].parentNode.firstElementChild); - } - } - // enlever les paragraphes vides - let paragraphes = document.querySelectorAll("p"); - for (let i = 0; i < paragraphes.length; i++) { - if (paragraphes[i].innerHTML == "") { - paragraphes[i].remove(); - } - } - // images collées en bas - let bottomImgs = document.querySelectorAll('.bottomimg, .tripleimgs_bottom, .tripleimgs2_bottom'); - for (let bottomImg of bottomImgs) { - let pageBottom = bottomImg.closest('.pagedjs_area').getBoundingClientRect().bottom; - bottomImg.style.transform = 'translateY(' + (pageBottom - bottomImg.lastElementChild.getBoundingClientRect().bottom) + 'px)'; - } - let bottomVignettes = document.querySelectorAll('.imgsmall_bottom'); // pour les images en bas dans les pages avec du texte - for (let bottomVignette of bottomVignettes) { - let pageBottom = bottomVignette.closest('.pagedjs_area').getBoundingClientRect().bottom; - let vignetteSize = bottomVignette.getBoundingClientRect().height; - if (bottomVignette.previousElementSibling) { - let textBottom = bottomVignette.previousElementSibling.getBoundingClientRect().bottom; - if (bottomVignette.previousElementSibling.classList.contains('labeur') || - bottomVignette.previousElementSibling.classList.contains('citation') || - bottomVignette.previousElementSibling.classList.contains('free') || - bottomVignette.previousElementSibling.classList.contains('temps')) { - bottomVignette.style.marginTop = `${(pageBottom - textBottom) - vignetteSize}px`; - } - bottomVignette.style.transform = 'translateY(12px)'; - } else { - let vignetteBottom = bottomVignette.getBoundingClientRect().bottom; - bottomVignette.style.transform = `translateY(${pageBottom - vignetteBottom}px)`; - } - } - // éléments justifiés pas nécessaires - let justifiedSplitEl = document.querySelectorAll("[data-align-last-split-element='justify']"); - for (let i = 0; i < justifiedSplitEl.length; i++) { - for (let j = 0; j < justifiedSplitEl[i].childNodes.length; j++) { - let elStyle = justifiedSplitEl[i].childNodes[j].style; - if (elStyle != undefined) { - elStyle.textAlignLast = "left"; - } - } - } - // images fullspread - let fullspreadEl = document.querySelectorAll('.imgfullspreadleft, .imgfullspreadright, .imgfullspreadright_bleedtop, .imgfullspreadright_bleed, .doublepage_bigleft, .doublepage_bigright'); - for (let i = 0; i < fullspreadEl.length; i++) { - let imgSrc = fullspreadEl[i].firstElementChild.getAttribute('src'); - let nextPage = fullspreadEl[i].closest('.pagedjs_page').nextElementSibling.querySelector('.pagedjs_page_content'); - let imgOverflowEl = document.createElement('div'); - if (fullspreadEl[i].classList.contains('imgfullspreadleft')) { - imgOverflowEl.setAttribute('class', 'imgfullspreadleft-right'); - } else if (fullspreadEl[i].classList.contains('imgfullspreadright')) { - imgOverflowEl.setAttribute('class', 'imgfullspreadright-right'); - } else if (fullspreadEl[i].classList.contains('imgfullspreadright_bleedtop')) { - imgOverflowEl.setAttribute('class', 'imgfullspreadright_bleedtop-right'); - } else if (fullspreadEl[i].classList.contains('imgfullspreadright_bleed')) { - imgOverflowEl.setAttribute('class', 'imgfullspreadright_bleed-right'); - } else if (fullspreadEl[i].classList.contains('doublepage_bigleft')) { - imgOverflowEl.setAttribute('class', 'overflow_bigimgleft'); - } else if (fullspreadEl[i].classList.contains('doublepage_bigright')) { - imgOverflowEl.setAttribute('class', 'overflow_bigimgright'); - } - let imgOverflow = document.createElement('img'); - imgOverflow.src = imgSrc; - imgOverflowEl.append(imgOverflow); - nextPage.append(imgOverflowEl); - if (fullspreadEl[i].classList.contains('imgfullspreadright') - || fullspreadEl[i].classList.contains('imgfullspreadright_bleedtop') - || fullspreadEl[i].classList.contains('imgfullspreadright_bleed')) { - let imgMargin = imgOverflowEl.getBoundingClientRect().right - fullspreadEl[i].firstElementChild.getBoundingClientRect().right; - fullspreadEl[i].firstElementChild.style.marginLeft = imgMargin + 'px'; - } - if (fullspreadEl[i].classList.contains('doublepage_bigleft') || fullspreadEl[i].classList.contains('doublepage_bigright')) { - let smallImgSrc = fullspreadEl[i].lastElementChild.getAttribute('src'); - fullspreadEl[i].lastElementChild.remove(); - let smallImg = document.createElement('img'); - smallImg.setAttribute('src', smallImgSrc); - let smallImgEl = document.createElement('div'); - smallImgEl.classList.add('dp_sm_img'); - smallImgEl.append(smallImg); - if (fullspreadEl[i].classList.contains('doublepage_bigleft')) { - nextPage.append(smallImgEl); - } else { - fullspreadEl[i].parentElement.append(smallImgEl); - } - } - } - - // fullpage img page gauche - let fullPageImg = document.getElementsByClassName('fullpageimage'); - for (let i = 0; i < fullPageImg.length; i++) { - if (fullPageImg[i].parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode - .classList.contains('pagedjs_left_page')) { - fullPageImg[i].style.marginLeft = '-22mm'; - } - } - // encarts - let encarts = document.querySelectorAll('.latour, .lampe, .latour_nohead, .lampe_nohead'); - for (let encart of encarts) { -/* if (encart.previousElementSibling != null) { - encart.style.marginTop = '10mm'; - } - if (encart.nextElementSibling != null) { - encart.style.marginBottom = '10mm'; - } - */ - - if (encart.hasAttribute('data-split-to')) { - let plainColor = document.createElement('div'); - plainColor.setAttribute('class', 'encart-split'); - let plainHeight = encart.closest('.pagedjs_sheet').getBoundingClientRect().bottom - encart.getBoundingClientRect().bottom; - if (encart.closest('.pagedjs_page').classList.contains('pagedjs_right_page')) { - plainColor.style.width = "149mm"; - } else { - plainColor.style.width = "129mm"; - } - plainColor.style.height = `${plainHeight}px`; - encart.parentNode.append(plainColor); - } - - if (encart.hasAttribute('data-split-from')) { - encart.style.marginTop = "0mm"; - let plainColor = document.createElement('div'); - plainColor.setAttribute('class', 'encart-split'); - if (encart.closest('.pagedjs_page').classList.contains('pagedjs_right_page')) { - plainColor.style.width = "149mm"; - } else { - plainColor.style.width = "129mm"; - } - plainColor.style.height = "22mm"; - plainColor.style.top = "-22mm"; - encart.parentNode.prepend(plainColor); - } - } - - // TITRES ATELIERS - let h3s = document.querySelectorAll('h3'); - for (let h3 of h3s) { - if (h3.nextSibling?.firstChild?.tagName === "IMG") { - let coverPhoto; - let photoContainer = h3.nextElementSibling; - if (h3.nextSibling?.children.length === 2) { - coverPhoto = h3.nextElementSibling.children[1]; - let coverDessin = document.createElement('img'); - coverDessin.setAttribute('src', photoContainer.firstElementChild.getAttribute('src')); - h3.prepend(coverDessin); - coverDessin.style.width = '100%'; - coverDessin.style.height = 'auto'; - photoContainer.firstElementChild.remove(); - } else { - coverPhoto = h3.nextElementSibling.firstChild; - } - photoContainer.style.position = 'absolute'; - photoContainer.style.width = '53mm'; - photoContainer.style.height = '220mm'; - photoContainer.style.overflow = 'hidden'; - photoContainer.style.top = "-22mm"; - photoContainer.style.left = "96mm"; - photoContainer.style.margin = '0'; - - coverPhoto.style.width = 'auto'; - coverPhoto.style.height = '100%'; - - let nextImg = document.createElement('img'); - nextImg.setAttribute('src', coverPhoto.getAttribute('src')); - let nextContainer = document.createElement('div'); - - nextContainer.style.position = "absolute"; - nextContainer.style.top = "-22mm"; - nextContainer.style.left = "-8mm"; - nextContainer.style.height = "220mm"; - nextContainer.style.width = "224mm"; - nextContainer.style.overflow = "hidden"; - nextContainer.style.marginLeft = "-53mm"; - nextImg.style.height = "100%"; - nextImg.style.width = "auto"; - - nextContainer.append(nextImg); - - h3.closest('.pagedjs_page').nextElementSibling?.querySelector('.pagedjs_page_content').append(nextContainer); - } - h3.style.position = 'absolute'; - h3.style.top = `${(h3.closest('.pagedjs_page_content').offsetHeight - h3.offsetHeight) / 3}px`; - - h3.closest('.pagedjs_pagebox').querySelector('.pagedjs_margin-left').innerHTML = ''; - h3.closest('.pagedjs_sheet').classList.add('atelier_cover_page'); - } - - // TITRES PARTIES - let h2s = document.querySelectorAll('h2'); - for (let i = 0; i < h2s.length; i++) { - if (i != 0) { - let parentSheet = h2s[i].closest('.pagedjs_sheet'); - parentSheet.querySelector('.pagedjs_margin-left').innerHTML = ''; - parentSheet.classList.add('partie_cover_page'); - parentSheet.parentElement.nextElementSibling?.firstElementChild.classList.add('partie_cover_page_right'); - let partieCount = document.createElement('div'); - partieCount.classList.add('partie_count'); - let romanCount; - switch (i) { - case 1: romanCount = 'I'; break; - case 2: romanCount = 'II'; break; - case 3: romanCount = 'III'; break; - case 4: romanCount = 'IV'; break; - case 5: romanCount = 'V'; break; - case 6: romanCount = 'VI'; break; - case 7: romanCount = 'VII'; break; - case 8: romanCount = 'VIII'; break; - case 9: romanCount = 'IX'; break; - case 10: romanCount = 'X'; break; - } - partieCount.innerHTML = 'Partie
' + romanCount; - h2s[i].parentElement.prepend(partieCount); - h2s[i].nextElementSibling?.remove(); - } - } - - // afficher correctement les éléments en marge - let topLeftBoxes = document.querySelectorAll('.pagedjs_margin-left-top'); - for (let topLeftBox of topLeftBoxes) { - let contentDiv = topLeftBox.firstElementChild; - let textToPut = document.createElement('p'); - let atelierGras; - let currentPage = contentDiv.closest('.pagedjs_page'); - if (currentPage.id != "page-1") { - let previousPage = currentPage.previousElementSibling; - while (previousPage) { - if (previousPage.firstElementChild.classList.contains('atelier_cover_page')) { - textToPut.innerText = previousPage.querySelector('h3').innerText; - let words = textToPut.innerText.split(' '); - let num = parseInt(words[0], 10); - if (!isNaN(num)) { - atelierGras = document.createElement('span'); - atelierGras.style.fontWeight = "bold"; - atelierGras.innerText = `Atelier ${num} `; - textToPut.innerText = textToPut.innerText.substring(1); - } - break; - } - previousPage = previousPage.previousElementSibling; - } - } - if (atelierGras) { - textToPut.prepend(atelierGras); - } - contentDiv.append(textToPut); - contentDiv.style.marginTop = contentDiv.offsetWidth / 2 - contentDiv.offsetHeight / 2 + "px"; - } - - let bottomLeftBoxes = document.querySelectorAll('.pagedjs_margin-left-bottom'); - for (let bottomLeftBox of bottomLeftBoxes) { - let contentDiv = bottomLeftBox.firstElementChild; - let textToPut = document.createElement('p'); - let partieGras; - let currentPage = contentDiv.closest('.pagedjs_page'); - if (currentPage.id != "page-1") { - let previousPage = currentPage.previousElementSibling; - while (previousPage) { - if (previousPage.firstElementChild.classList.contains('partie_cover_page')) { - textToPut.innerText = previousPage.querySelector('h2').innerText; - partieGras = document.createElement('span'); - partieGras.style.fontWeight = "bold"; - partieGras.innerText = previousPage.querySelector('.partie_count').innerHTML.replace("
", " ") + " "; - break; - } - previousPage = previousPage.previousElementSibling; - } - } - if (!textToPut.innerText) { - textToPut.innerText = "Introduction"; - } - if (partieGras) { - textToPut.prepend(partieGras); - } - contentDiv.append(textToPut); - contentDiv.style.marginBottom = contentDiv.offsetWidth / 2 - contentDiv.offsetHeight / 2 + "px"; - } - - // SET COLORS - let colors = [ - '#5595a1', - '#5f9796', - '#65998d', - '#6f9b80', - '#799e75', - '#83a16b', - '#8ba460', - '#95a358', - '#9ca151', - '#a59d4a', - '#af9944', - '#b8963d', - '#c19238', - '#cb8e31' - ] - - let sprays = [ - '/user/themes/carnet-atterrissage/assets/sprays/spary_couleurs-page001.png', - '/user/themes/carnet-atterrissage/assets/sprays/spary_couleurs-page002.png', - '/user/themes/carnet-atterrissage/assets/sprays/spary_couleurs-page003.png', - '/user/themes/carnet-atterrissage/assets/sprays/spary_couleurs-page004.png', - '/user/themes/carnet-atterrissage/assets/sprays/spary_couleurs-page005.png', - '/user/themes/carnet-atterrissage/assets/sprays/spary_couleurs-page006.png', - '/user/themes/carnet-atterrissage/assets/sprays/spary_couleurs-page007.png', - '/user/themes/carnet-atterrissage/assets/sprays/spary_couleurs-page008.png', - '/user/themes/carnet-atterrissage/assets/sprays/spary_couleurs-page009.png', - '/user/themes/carnet-atterrissage/assets/sprays/spary_couleurs-page010.png', - '/user/themes/carnet-atterrissage/assets/sprays/spary_couleurs-page011.png', - '/user/themes/carnet-atterrissage/assets/sprays/spary_couleurs-page012.png', - '/user/themes/carnet-atterrissage/assets/sprays/spary_couleurs-page013.png', - '/user/themes/carnet-atterrissage/assets/sprays/spary_couleurs-page014.png' - ] - - // set all colors - let allPages = document.querySelectorAll('.pagedjs_page'); - let atelierColor = ''; - let bgColor = 'rgb(245, 245, 245)'; - let atelierIndex = 0; - for (let page of allPages) { - if (page.firstElementChild.classList.contains('atelier_cover_page')) { - atelierColor = colors[atelierIndex]; - if (atelierColor == undefined) { - atelierColor = colors[colors.length]; - } - atelierIndex++; - } - if (page.firstElementChild.classList.contains('partie_cover_page')) { - atelierIndex = 0; - } - let pageCounter = page.querySelector('.pagedjs_margin-left-middle') - if (pageCounter) { - pageCounter.style.color = atelierColor; - } - let citations = page.querySelectorAll('.citation'); - for (let citation of citations) { - // dessiner et colorer les guillemets - if (citation.innerText.charAt(0) === '“') { - citation.innerText = citation.innerText.substring(1); - } - if (citation.innerText.charAt(citation.innerText.length - 1) === '”') { - citation.innerText = citation.innerText.substring(0, citation.innerText.length - 1); - } - let guillemetOuvrant = document.createElement('div'); - guillemetOuvrant.innerText = '“'; - guillemetOuvrant.style.color = atelierColor; - guillemetOuvrant.classList.add('guillement_ouvrant'); - citation.prepend(guillemetOuvrant); - - let guillemetFermant = document.createElement('div'); - guillemetFermant.innerText = '”'; - guillemetFermant.style.color = atelierColor; - guillemetFermant.classList.add('guillement_fermant'); - citation.append(guillemetFermant); - } - let atelierTitle = page.querySelector('h3'); - if (atelierTitle) { - atelierTitle.style.color = atelierColor; - } - let bibliographie = page.querySelector('.bibliographie'); - if (bibliographie) { - bibliographie.style.color = atelierColor; - // set bg et sprays - let bibliographiePage = bibliographie.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement; - bibliographiePage.style.backgroundColor = bgColor; - let nextPage = bibliographiePage.parentElement?.nextElementSibling?.firstElementChild; - if (!bibliographie.closest('.pagedjs_page').previousElementSibling.querySelector('.bibliographie')) { - if (nextPage) { - nextPage.style.backgroundColor = bgColor; - } - let sprayImg = document.createElement('img'); - sprayImg.setAttribute('src', sprays[atelierIndex]); - sprayImg.style.height = "242mm"; - sprayImg.style.width = "60mm"; - sprayImg.style.position = "absolute"; - sprayImg.style.top = "-22mm"; - sprayImg.style.right = "-20mm"; - sprayImg.style.mixBlendMode = "multiply"; - bibliographiePage.parentElement.nextElementSibling?.querySelector('.bibliographie').insertAdjacentElement("afterend", sprayImg); - } - - } - let h4 = page.querySelector('h4'); - if (h4 && h4?.nextElementSibling?.classList.contains('bibliographie')) { - h4.style.color = atelierColor; - } - let serpentins = document.querySelectorAll('img[alt="serpentin"]'); - for (let serpentin of serpentins) { - let page = serpentin.closest('.pagedjs_page'); - let nextPage = page.nextElementSibling; - page.style.backgroundColor = "rgb(245, 245, 245)"; - nextPage.style.backgroundColor = "rgb(245, 245, 245)"; - } - let links = page.querySelectorAll('a'); - for (let link of links) { - link.style.color = atelierColor; - } - if (atelierColor) { - let lightColor = `${atelierColor}1a`; - let encarts = page.querySelectorAll('.lampe, .latour, .lampe_nohead, .latour_nohead, .encart-split'); - for (let encart of encarts) { - encart.style.backgroundColor = lightColor; - } - } - - } - - // all links open in a new tab - let links = document.querySelectorAll('a'); - for (let link of links) { - link.setAttribute('target', '_blank'); - } - - // loading fini - document.querySelector('#chargement').remove(); - } -} -Paged.registerHandlers(setMarginTexts); +loadScripts(layoutScripts, 0, true); diff --git a/user/themes/carnet-atterrissage/js/layout/alignTopMargin.js b/user/themes/carnet-atterrissage/js/layout/alignTopMargin.js new file mode 100644 index 0000000..21e33ba --- /dev/null +++ b/user/themes/carnet-atterrissage/js/layout/alignTopMargin.js @@ -0,0 +1,28 @@ +// aligner les paragraphes sur la marge haute +if (debug) console.log('start alignTopMargin'); + +(function() { + + const labeurs = document.querySelectorAll('.labeur, .free'), + moments = document.querySelectorAll('.moment'); + + for (let i = 0; i < labeurs.length; i++) { + if (labeurs[i] == labeurs[i].parentNode?.firstElementChild + && !labeurs[i].firstElementChild?.hasAttribute("data-split-from")) { + if (labeurs[i].firstElementChild) { + labeurs[i].firstElementChild.style.marginTop = "0px"; + } + } + } + + for (let i = 0; i < moments.length; i++) { + if (moments[i].previousElementSibling?.tagName === "P" + && moments[i].previousElementSibling === moments[i].parentNode.firstElementChild) { + moments[i].parentNode.removeChild(moments[i].parentNode.firstElementChild); + } + } + +})(); + + +if (debug) console.log('end alignTopMargin'); \ No newline at end of file diff --git a/user/themes/carnet-atterrissage/js/layout/bottomImgs.js b/user/themes/carnet-atterrissage/js/layout/bottomImgs.js new file mode 100644 index 0000000..178ee5c --- /dev/null +++ b/user/themes/carnet-atterrissage/js/layout/bottomImgs.js @@ -0,0 +1,40 @@ +// images collées en bas de page +if (debug) console.log('start bottomImgs'); + +(function() { + + let bottomImgs = document.querySelectorAll('.bottomimg, .tripleimgs_bottom, .tripleimgs2_bottom'); + + for (let bottomImg of bottomImgs) { + let pageBottom = bottomImg.closest('.pagedjs_area').getBoundingClientRect().bottom; + let imgBottomPos = pageBottom - bottomImg.lastElementChild.getBoundingClientRect().bottom; + bottomImg.style.transform = `translateY(${imgBottomPos}px)`; + } + + // pour les images en bas dans les pages avec du texte + let bottomVignettes = document.querySelectorAll('.imgsmall_bottom'); + + for (let bottomVignette of bottomVignettes) { + let pageBottom = bottomVignette.closest('.pagedjs_area').getBoundingClientRect().bottom; + let vignetteSize = bottomVignette.getBoundingClientRect().height; + + if (bottomVignette.previousElementSibling) { + let textBottom = bottomVignette.previousElementSibling.getBoundingClientRect().bottom; + + if (bottomVignette.previousElementSibling.classList.contains('labeur') || + bottomVignette.previousElementSibling.classList.contains('citation') || + bottomVignette.previousElementSibling.classList.contains('free') || + bottomVignette.previousElementSibling.classList.contains('temps')) { + bottomVignette.style.marginTop = `${(pageBottom - textBottom) - vignetteSize}px`; + } + + bottomVignette.style.transform = 'translateY(12px)'; + } else { + let vignetteBottom = bottomVignette.getBoundingClientRect().bottom; + bottomVignette.style.transform = `translateY(${pageBottom - vignetteBottom}px)`; + } + } + +})(); + +if (debug) console.log('end bottomImgs'); \ No newline at end of file diff --git a/user/themes/carnet-atterrissage/js/layout/colors.js b/user/themes/carnet-atterrissage/js/layout/colors.js new file mode 100644 index 0000000..5a2fec0 --- /dev/null +++ b/user/themes/carnet-atterrissage/js/layout/colors.js @@ -0,0 +1,157 @@ +// set all the relative to parts colors +if (debug) console.log('start colors'); + +(function() { + + const colors = [ + '#5595a1', + '#5f9796', + '#65998d', + '#6f9b80', + '#799e75', + '#83a16b', + '#8ba460', + '#95a358', + '#9ca151', + '#a59d4a', + '#af9944', + '#b8963d', + '#c19238', + '#cb8e31', + '#cb6f31', + '#d86145' + ]; + + const sprays = [ + '/user/themes/carnet-atterrissage/assets/sprays/spary_couleurs-page001.png', + '/user/themes/carnet-atterrissage/assets/sprays/spary_couleurs-page002.png', + '/user/themes/carnet-atterrissage/assets/sprays/spary_couleurs-page003.png', + '/user/themes/carnet-atterrissage/assets/sprays/spary_couleurs-page004.png', + '/user/themes/carnet-atterrissage/assets/sprays/spary_couleurs-page005.png', + '/user/themes/carnet-atterrissage/assets/sprays/spary_couleurs-page006.png', + '/user/themes/carnet-atterrissage/assets/sprays/spary_couleurs-page007.png', + '/user/themes/carnet-atterrissage/assets/sprays/spary_couleurs-page008.png', + '/user/themes/carnet-atterrissage/assets/sprays/spary_couleurs-page009.png', + '/user/themes/carnet-atterrissage/assets/sprays/spary_couleurs-page010.png', + '/user/themes/carnet-atterrissage/assets/sprays/spary_couleurs-page011.png', + '/user/themes/carnet-atterrissage/assets/sprays/spary_couleurs-page012.png', + '/user/themes/carnet-atterrissage/assets/sprays/spary_couleurs-page013.png', + '/user/themes/carnet-atterrissage/assets/sprays/spary_couleurs-page014.png', + '/user/themes/carnet-atterrissage/assets/sprays/spary_couleurs-page015.png', + '/user/themes/carnet-atterrissage/assets/sprays/spary_couleurs-page016.png' + ]; + + let allPages = document.querySelectorAll('.pagedjs_page'); + let atelierColor = ''; + let bgColor = 'rgb(245, 245, 245)'; + let atelierIndex = 0; + + for (let page of allPages) { + if (page.firstElementChild.classList.contains('atelier_cover_page')) { + atelierColor = colors[atelierIndex]; + if (atelierColor == undefined) atelierColor = colors[colors.length]; + atelierIndex++; + } + + if (page.firstElementChild.classList.contains('partie_cover_page')) atelierIndex = 0; + + let pageCounter = page.querySelector('.pagedjs_margin-left-middle') + if (pageCounter) pageCounter.style.color = atelierColor; + + let citations = page.querySelectorAll('.citation'); + for (let citation of citations) { + // dessiner et colorer les guillemets + if (citation.innerText.charAt(0) === '“') citation.innerText = citation.innerText.substring(1); + + if (citation.innerText.charAt(citation.innerText.length - 1) === '”') { + citation.innerText = citation.innerText.substring(0, citation.innerText.length - 1); + } + + let guillemetOuvrant = document.createElement('div'); + guillemetOuvrant.innerText = '“'; + guillemetOuvrant.style.color = atelierColor; + guillemetOuvrant.classList.add('guillement_ouvrant'); + citation.prepend(guillemetOuvrant); + + let guillemetFermant = document.createElement('div'); + guillemetFermant.innerText = '”'; + guillemetFermant.style.color = atelierColor; + guillemetFermant.classList.add('guillement_fermant'); + citation.append(guillemetFermant); + } + + let atelierTitle = page.querySelector('h3'); + if (atelierTitle) atelierTitle.style.color = atelierColor; + + let bibliographie = page.querySelector('.bibliographie'); + if (bibliographie) { + bibliographie.style.color = atelierColor; + // set bg et sprays + let bibliographiePage = bibliographie.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement; // désolé + bibliographiePage.style.backgroundColor = bgColor; + + let nextPage; + if (bibliographiePage.parentElement.classList.contains('pagedjs_sheet')) { + nextPage = bibliographiePage.parentElement?.parentElement?.nextElementSibling?.firstElementChild; + } else { + nextPage = bibliographiePage.parentElement?.nextElementSibling?.firstElementChild; + } + + if (!bibliographie.closest('.pagedjs_page').previousElementSibling.querySelector('.bibliographie')) { + if (nextPage) { + nextPage.style.backgroundColor = bgColor; + } + + let sprayImg = document.createElement('img'); + sprayImg.setAttribute('src', sprays[atelierIndex - 1]); + sprayImg.style.height = "242mm"; + sprayImg.style.width = "60mm"; + sprayImg.style.position = "absolute"; + sprayImg.style.top = "-22mm"; + sprayImg.style.right = "-20mm"; + sprayImg.style.mixBlendMode = "multiply"; + + let nextBiblioPageEl = bibliographiePage.parentElement.nextElementSibling?.querySelector('.bibliographie'); + if (nextBiblioPageEl) { + bibliographiePage.parentElement.nextElementSibling?.querySelector('.bibliographie').insertAdjacentElement("afterend", sprayImg); + } else { + bibliographiePage.parentElement.parentElement.nextElementSibling?.querySelector('.pagedjs_page_content').appendChild(sprayImg); + } + } + } + + let h4 = page.querySelector('h4'); + if (h4 && h4?.nextElementSibling?.classList.contains('bibliographie')) { + h4.style.color = atelierColor; + } + + let serpentins = document.querySelectorAll('img[alt="serpentin"]'); + for (let serpentin of serpentins) { + let page = serpentin.closest('.pagedjs_page'); + let nextPage = page.nextElementSibling; + page.style.backgroundColor = "rgb(245, 245, 245)"; + nextPage.style.backgroundColor = "rgb(245, 245, 245)"; + } + + let links = page.querySelectorAll('a'); + for (let link of links) { + link.style.color = atelierColor; + } + + let notesNumber = page.querySelectorAll('.note, .note_texte_number'); + for (let note of notesNumber) { + note.style.color = atelierColor; + } + + if (atelierColor) { + let lightColor = `${atelierColor}1a`; + let encarts = page.querySelectorAll('.lampe, .latour, .lampe_nohead, .latour_nohead, .encart-split'); + for (let encart of encarts) { + encart.style.backgroundColor = lightColor; + } + } + } + +})(); + +if (debug) console.log('end colors'); \ No newline at end of file diff --git a/user/themes/carnet-atterrissage/js/layout/getLastPage.js b/user/themes/carnet-atterrissage/js/layout/getLastPage.js new file mode 100644 index 0000000..c684819 --- /dev/null +++ b/user/themes/carnet-atterrissage/js/layout/getLastPage.js @@ -0,0 +1,9 @@ +// identifier la dernière page +if (debug) console.log('start getLastPage'); + +(function() { + let lastElement = $('.pagedjs_page').last(); + lastElement.addClass('last-page'); +})(); + +if (debug) console.log('end getLastPage'); \ No newline at end of file diff --git a/user/themes/carnet-atterrissage/js/layout/imgsFootnotes.js b/user/themes/carnet-atterrissage/js/layout/imgsFootnotes.js new file mode 100644 index 0000000..55f9c7e --- /dev/null +++ b/user/themes/carnet-atterrissage/js/layout/imgsFootnotes.js @@ -0,0 +1,25 @@ +// afficher les renvoie de notes des images +if (debug) console.log('start imgsFootnotes'); + +(function() { + + let notesImg = document.querySelectorAll('.note_img'); + for (let noteImg of notesImg) { + let noteNumber = noteImg.getAttribute('id').split("_"); + noteNumber = noteNumber[noteNumber.length - 1]; + + noteImg.innerText = noteNumber; + noteImg.style.position = "absolute"; + + if (noteImg.parentElement.classList.contains('imgsmall_bottom')) { + noteImg.style.left = '78px'; // hardcoded pas beau + } else if (noteImg.parentElement.classList.contains('imgfullspreadright_bleed')) { + noteImg.style.color = "white"; + noteImg.style.top = "0"; + noteImg.style.left = "0.5cm"; + } + } + +})(); + +if (debug) console.log('end imgsFootnotes'); \ No newline at end of file diff --git a/user/themes/carnet-atterrissage/js/layout/imgsFullspread.js b/user/themes/carnet-atterrissage/js/layout/imgsFullspread.js new file mode 100644 index 0000000..5ddd5b6 --- /dev/null +++ b/user/themes/carnet-atterrissage/js/layout/imgsFullspread.js @@ -0,0 +1,77 @@ +// images double-page +if (debug) console.log('start imgsFullspread'); + +(function() { + + let fullspreadElements = document.querySelectorAll('.imgfullspreadleft, .imgfullspreadright, .imgfullspreadright_bleedtop, .imgfullspreadright_bleed, .doublepage_bigleft, .doublepage_bigright'); + + for (let fullspreadEl of fullspreadElements) { + let imgSrc = fullspreadEl.firstElementChild?.getAttribute('src'); + let nextPage = fullspreadEl.closest('.pagedjs_page')?.nextElementSibling?.querySelector('.pagedjs_page_content'); + let imgOverflowEl = document.createElement('div'); + + switch(true) { + case fullspreadEl.classList.contains('imgfullspreadleft'): + imgOverflowEl.setAttribute('class', 'imgfullspreadleft-right'); + break; + case fullspreadEl.classList.contains('imgfullspreadright'): + imgOverflowEl.setAttribute('class', 'imgfullspreadright-right'); + break; + case fullspreadEl.classList.contains('imgfullspreadright_bleedtop'): + imgOverflowEl.setAttribute('class', 'imgfullspreadright_bleedtop-right'); + break; + case fullspreadEl.classList.contains('imgfullspreadright_bleed'): + imgOverflowEl.setAttribute('class', 'imgfullspreadright_bleed-right'); + break; + case fullspreadEl.classList.contains('doublepage_bigleft'): + imgOverflowEl.setAttribute('class', 'overflow_bigimgleft'); + break; + case fullspreadEl.classList.contains('doublepage_bigright'): + imgOverflowEl.setAttribute('class', 'overflow_bigimgright'); + break; + default: + break; + } + + let imgOverflow = document.createElement('img'); + imgOverflow.src = imgSrc; + imgOverflowEl.append(imgOverflow); + + if (nextPage) nextPage.append(imgOverflowEl); + + if (fullspreadEl.classList.contains('imgfullspreadright') + || fullspreadEl.classList.contains('imgfullspreadright_bleedtop') + || fullspreadEl.classList.contains('imgfullspreadright_bleed')) { + let imgLeft = fullspreadEl.firstElementChild; + let imgMargin = imgOverflowEl.getBoundingClientRect().right - imgLeft?.getBoundingClientRect().right; + if (imgLeft) imgLeft.style.marginLeft = `${imgMargin}px`; + } + if (fullspreadEl.classList.contains('doublepage_bigleft') + || fullspreadEl.classList.contains('doublepage_bigright')) { + let smallImgSrc = fullspreadEl.lastElementChild?.getAttribute('src'); + fullspreadEl.lastElementChild?.remove(); + let smallImg = document.createElement('img'); + smallImg.setAttribute('src', smallImgSrc); + let smallImgEl = document.createElement('div'); + smallImgEl.classList.add('dp_sm_img'); + smallImgEl.append(smallImg); + if (fullspreadEl.classList.contains('doublepage_bigleft') && nextPage) { + nextPage.append(smallImgEl); + } else { + fullspreadEl.parentElement?.append(smallImgEl); + } + } + } + + // fullpage img page gauche + let fullPageImgs = document.querySelectorAll('.fullpageimage'); + for (let fullPageImg of fullPageImgs) { + if (fullPageImg.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode // désolé + .classList.contains('pagedjs_left_page')) { + fullPageImg.style.marginLeft = '-22mm'; + } + } + +})(); + +if (debug) console.log('end imgsFullspread'); \ No newline at end of file diff --git a/user/themes/carnet-atterrissage/js/layout/inserts.js b/user/themes/carnet-atterrissage/js/layout/inserts.js new file mode 100644 index 0000000..c8b377c --- /dev/null +++ b/user/themes/carnet-atterrissage/js/layout/inserts.js @@ -0,0 +1,39 @@ +// gestion des encarts splittés +if (debug) console.log('start inserts'); + +(function() { + + let encarts = document.querySelectorAll('.latour, .lampe, .latour_nohead, .lampe_nohead'); + for (let encart of encarts) { + + if (encart.hasAttribute('data-split-to')) { + let plainColor = document.createElement('div'); + plainColor.setAttribute('class', 'encart-split'); + let plainHeight = encart.closest('.pagedjs_sheet').getBoundingClientRect().bottom - encart.getBoundingClientRect().bottom; + if (encart.closest('.pagedjs_page').classList.contains('pagedjs_right_page')) { + plainColor.style.width = "149mm"; + } else { + plainColor.style.width = "129mm"; + } + plainColor.style.height = `${plainHeight}px`; + encart.parentNode.append(plainColor); + } + + if (encart.hasAttribute('data-split-from')) { + encart.style.marginTop = "0mm"; + let plainColor = document.createElement('div'); + plainColor.setAttribute('class', 'encart-split'); + if (encart.closest('.pagedjs_page').classList.contains('pagedjs_right_page')) { + plainColor.style.width = "149mm"; + } else { + plainColor.style.width = "129mm"; + } + plainColor.style.height = "22mm"; + plainColor.style.top = "-22mm"; + encart.parentNode.prepend(plainColor); + } + } + +})(); + +if (debug) console.log('end inserts'); \ No newline at end of file diff --git a/user/themes/carnet-atterrissage/js/layout/margins.js b/user/themes/carnet-atterrissage/js/layout/margins.js new file mode 100644 index 0000000..2dfddf5 --- /dev/null +++ b/user/themes/carnet-atterrissage/js/layout/margins.js @@ -0,0 +1,81 @@ +// afficher les éléments en marge +if (debug) console.log('start margins'); + +(function() { + + let topLeftBoxes = document.querySelectorAll('.pagedjs_margin-left-top'); + + for (let topLeftBox of topLeftBoxes) { + let contentDiv = topLeftBox.firstElementChild; + let textToPut = document.createElement('p'); + let atelierGras; + let currentPage = contentDiv.closest('.pagedjs_page'); + + if (currentPage.id != "page-1") { + let previousPage = currentPage.previousElementSibling; + + while (previousPage) { + if (previousPage.firstElementChild.classList.contains('atelier_cover_page')) { + textToPut.innerText = previousPage.querySelector('h3').innerText; + let words = textToPut.innerText.split(' '); + let num = parseInt(words[0], 10); + + if (!isNaN(num)) { + atelierGras = document.createElement('span'); + atelierGras.style.fontWeight = "bold"; + atelierGras.innerText = `Atelier ${num} `; + textToPut.innerText = textToPut.innerText.substring(1); + } + break; + } + previousPage = previousPage.previousElementSibling; + } + } + + if (atelierGras) { + textToPut.prepend(atelierGras); + } + + contentDiv.append(textToPut); + contentDiv.style.marginTop = contentDiv.offsetWidth / 2 - contentDiv.offsetHeight / 2 + "px"; + } + + let bottomLeftBoxes = document.querySelectorAll('.pagedjs_margin-left-bottom'); + + for (let bottomLeftBox of bottomLeftBoxes) { + let contentDiv = bottomLeftBox.firstElementChild; + let textToPut = document.createElement('p'); + let partieGras; + let currentPage = contentDiv.closest('.pagedjs_page'); + + if (currentPage.id != "page-1") { + let previousPage = currentPage.previousElementSibling; + + while (previousPage) { + + if (previousPage.firstElementChild.classList.contains('partie_cover_page')) { + textToPut.innerText = previousPage.querySelector('h2').innerText; + partieGras = document.createElement('span'); + partieGras.style.fontWeight = "bold"; + partieGras.innerText = previousPage.querySelector('.partie_count').innerHTML.replace("
", " ") + " "; + break; + } + previousPage = previousPage.previousElementSibling; + } + } + + if (!textToPut.innerText) { + textToPut.innerText = "Introduction"; + } + + if (partieGras) { + textToPut.prepend(partieGras); + } + + contentDiv.append(textToPut); + contentDiv.style.marginBottom = contentDiv.offsetWidth / 2 - contentDiv.offsetHeight / 2 + "px"; + } + +})(); + +if (debug) console.log('end margins'); \ No newline at end of file diff --git a/user/themes/carnet-atterrissage/js/layout/removeEmptyParagraphs.js b/user/themes/carnet-atterrissage/js/layout/removeEmptyParagraphs.js new file mode 100644 index 0000000..700c842 --- /dev/null +++ b/user/themes/carnet-atterrissage/js/layout/removeEmptyParagraphs.js @@ -0,0 +1,16 @@ +// supprimer les paragraphes vides +if (debug) console.log('start removeEmptyParagraphs'); + +(function() { + + let paragraphes = document.querySelectorAll("p"); + + for (let i = 0; i < paragraphes.length; i++) { + if (paragraphes[i].innerHTML == "") { + paragraphes[i].remove(); + } + } + +})(); + +if (debug) console.log('end removeEmptyParagraphs'); \ No newline at end of file diff --git a/user/themes/carnet-atterrissage/js/layout/titles.js b/user/themes/carnet-atterrissage/js/layout/titles.js new file mode 100644 index 0000000..9a024f9 --- /dev/null +++ b/user/themes/carnet-atterrissage/js/layout/titles.js @@ -0,0 +1,95 @@ +// layout des pages de titres +console.log('start titles'); + +(function() { + + // titres ateliers + let h3s = document.querySelectorAll('h3'); + + for (let h3 of h3s) { + + if (h3.nextSibling?.firstChild?.tagName === "IMG") { + let coverPhoto; + let photoContainer = h3.nextElementSibling; + + if (h3.nextSibling?.children.length === 2) { + coverPhoto = h3.nextElementSibling.children[1]; + let coverDessin = document.createElement('img'); + coverDessin.setAttribute('src', photoContainer.firstElementChild.getAttribute('src')); + h3.prepend(coverDessin); + coverDessin.style.width = '100%'; + coverDessin.style.height = 'auto'; + photoContainer.firstElementChild.remove(); + } else { + coverPhoto = h3.nextElementSibling.firstChild; + } + + photoContainer.style.position = 'absolute'; + photoContainer.style.width = '53mm'; + photoContainer.style.height = '220mm'; + photoContainer.style.overflow = 'hidden'; + photoContainer.style.top = "-22mm"; + photoContainer.style.left = "96mm"; + photoContainer.style.margin = '0'; + + coverPhoto.style.width = 'auto'; + coverPhoto.style.height = '100%'; + + let nextImg = document.createElement('img'); + nextImg.setAttribute('src', coverPhoto.getAttribute('src')); + let nextContainer = document.createElement('div'); + + nextContainer.style.position = "absolute"; + nextContainer.style.top = "-22mm"; + nextContainer.style.left = "-8mm"; + nextContainer.style.height = "220mm"; + nextContainer.style.width = "224mm"; + nextContainer.style.overflow = "hidden"; + nextContainer.style.marginLeft = "-53mm"; + nextImg.style.height = "100%"; + nextImg.style.width = "auto"; + + nextContainer.append(nextImg); + + h3.closest('.pagedjs_page').nextElementSibling?.querySelector('.pagedjs_page_content').append(nextContainer); + } + + h3.style.position = 'absolute'; + h3.style.top = `${(h3.closest('.pagedjs_page_content').offsetHeight - h3.offsetHeight) / 3}px`; + + h3.closest('.pagedjs_pagebox').querySelector('.pagedjs_margin-left').innerHTML = ''; + h3.closest('.pagedjs_sheet').classList.add('atelier_cover_page'); + } + + // titres parties + let h2s = document.querySelectorAll('h2'); + for (let i = 0; i < h2s.length; i++) { + if (i != 0) { + let parentSheet = h2s[i].closest('.pagedjs_sheet'); + parentSheet.querySelector('.pagedjs_margin-left').innerHTML = ''; + parentSheet.classList.add('partie_cover_page'); + parentSheet.parentElement.nextElementSibling?.firstElementChild.classList.add('partie_cover_page_right'); + let partieCount = document.createElement('div'); + partieCount.classList.add('partie_count'); + let romanCount; + switch (i) { + case 1: romanCount = 'I'; break; + case 2: romanCount = 'II'; break; + case 3: romanCount = 'III'; break; + case 4: romanCount = 'IV'; break; + case 5: romanCount = 'V'; break; + case 6: romanCount = 'VI'; break; + case 7: romanCount = 'VII'; break; + case 8: romanCount = 'VIII'; break; + case 9: romanCount = 'IX'; break; + case 10: romanCount = 'X'; break; + } + partieCount.innerHTML = `Partie
${romanCount}`; + h2s[i].parentElement.prepend(partieCount); + h2s[i].nextElementSibling?.remove(); + } + } + +})(); + +console.log('end titles'); \ No newline at end of file diff --git a/user/themes/carnet-atterrissage/js/layout/ui.js b/user/themes/carnet-atterrissage/js/layout/ui.js new file mode 100644 index 0000000..e150f2d --- /dev/null +++ b/user/themes/carnet-atterrissage/js/layout/ui.js @@ -0,0 +1,19 @@ +// afficher l'interface par dessus le livre +if (debug) console.log('start ui'); + +(function() { + + // indication du chargement + let chargement = document.createElement('div'); + chargement.setAttribute('id', 'chargement'); + chargement.innerHTML = 'chargement'; + chargement.style.color = "orange"; + chargement.style.position = "fixed"; + chargement.style.fontWeight = "bold"; + chargement.style.zIndex = "9999"; + document.querySelector('body').prepend(chargement); + +})(); + + +if (debug) console.log('end ui'); \ No newline at end of file diff --git a/user/themes/carnet-atterrissage/js/layout/unjustifyLastSplit.js b/user/themes/carnet-atterrissage/js/layout/unjustifyLastSplit.js new file mode 100644 index 0000000..19e904e --- /dev/null +++ b/user/themes/carnet-atterrissage/js/layout/unjustifyLastSplit.js @@ -0,0 +1,18 @@ +// éléments justifiés pas nécessaires +if (debug) console.log('start unjustifyLastSplit'); + +(function() { + + let justifiedSplitElements = document.querySelectorAll("[data-align-last-split-element='justify']"); + for (let justifiedSplitEl of justifiedSplitElements) { + for (let elChild of justifiedSplitEl.childNodes) { + let elStyle = elChild.style; + if (elStyle != undefined) { + elStyle.textAlignLast = "left"; + } + } + } + +})(); + +if (debug) console.log('end unjustifyLastSplit'); \ No newline at end of file diff --git a/user/themes/carnet-atterrissage/js/main.js b/user/themes/carnet-atterrissage/js/main.js new file mode 100644 index 0000000..9009e9e --- /dev/null +++ b/user/themes/carnet-atterrissage/js/main.js @@ -0,0 +1,51 @@ +// plein de requêtes pour séparer les scripts +// mais osef c'est pour travailler en local + +const debug = true; +const boldLogging = 'font-weight: bold;'; + +const jsFolder = 'user/themes/carnet-atterrissage/js'; +const parsingScripts = [ + 'parsing/tagsToClasses.js', + 'parsing/increaseMomentNumber.js', + 'parsing/nonBreakingSpaces.js', + 'parsing/addInsertIcons.js', + 'parsing/cleanBibliography.js', + 'parsing/cleanParagraphsParsing.js', + 'parsing/titlePages.js', + 'parsing/footnotes.js' +]; + +function loadScripts(scripts, index, isPagedLoaded) { + + if (index < scripts.length) { + + $.getScript(`${jsFolder}/${scripts[index]}`, function() { + loadScripts(scripts, index + 1, isPagedLoaded); + }); + + } else if (!isPagedLoaded) { + $.getScript(`${jsFolder}/paged.polyfill.js`, function() { + + if (debug) console.log('%cPagedPreviewer working', boldLogging); + + // https://pagedjs.org/documentation/10-handlers-hooks-and-custom-javascript/ + class setLayout extends Paged.Handler { + constructor(chunker, polisher, caller) { + super(chunker, polisher, caller); + } + + afterRendered(pages) { + if (debug) console.log('%cAll pages render done', boldLogging); + $.getScript(`${jsFolder}/layout.js`, function() {}); + } + } + Paged.registerHandlers(setLayout); + + }); + } +} + +if (debug) console.log('%cStart parsing', boldLogging) + +loadScripts(parsingScripts, 0, false); diff --git a/user/themes/carnet-atterrissage/js/paged.polyfill.js b/user/themes/carnet-atterrissage/js/paged.polyfill.js index 8169564..3100799 100644 --- a/user/themes/carnet-atterrissage/js/paged.polyfill.js +++ b/user/themes/carnet-atterrissage/js/paged.polyfill.js @@ -1,5 +1,5 @@ /** - * @license Paged.js v0.4.2 | MIT | https://gitlab.coko.foundation/pagedjs/pagedjs + * @license Paged.js v0.4.3 | MIT | https://gitlab.coko.foundation/pagedjs/pagedjs */ (function (global, factory) { @@ -1418,6 +1418,7 @@ this.hooks = hooks; } else { this.hooks = {}; + this.hooks.onPageLayout = new Hook(); this.hooks.layout = new Hook(); this.hooks.renderNode = new Hook(); this.hooks.layoutNode = new Hook(); @@ -1425,6 +1426,7 @@ this.hooks.onOverflow = new Hook(); this.hooks.afterOverflowRemoved = new Hook(); this.hooks.onBreakToken = new Hook(); + this.hooks.beforeRenderResult = new Hook(); } this.settings = options || {}; @@ -1449,6 +1451,8 @@ let prevBreakToken = breakToken || new BreakToken(start); + this.hooks && this.hooks.onPageLayout.trigger(wrapper, prevBreakToken, this); + while (!done && !newBreakToken) { next = walker.next(); prevNode = node; @@ -1467,11 +1471,13 @@ if (newBreakToken && newBreakToken.equals(prevBreakToken)) { console.warn("Unable to layout item: ", prevNode); + this.hooks && this.hooks.beforeRenderResult.trigger(undefined, wrapper, this); return new RenderResult(undefined, new OverflowContentError("Unable to layout item", [prevNode])); } this.rebuildTableFromBreakToken(newBreakToken, wrapper); + this.hooks && this.hooks.beforeRenderResult.trigger(newBreakToken, wrapper, this); return new RenderResult(newBreakToken); } @@ -1577,6 +1583,7 @@ if (after) { newBreakToken = new BreakToken(after); } else { + this.hooks && this.hooks.beforeRenderResult.trigger(undefined, wrapper, this); return new RenderResult(undefined, new OverflowContentError("Unable to layout item", [node])); } } @@ -1584,6 +1591,7 @@ } + this.hooks && this.hooks.beforeRenderResult.trigger(newBreakToken, wrapper, this); return new RenderResult(newBreakToken); } @@ -2840,12 +2848,14 @@ this.hooks.filter = new Hook(this); this.hooks.afterParsed = new Hook(this); this.hooks.beforePageLayout = new Hook(this); + this.hooks.onPageLayout = new Hook(this); this.hooks.layout = new Hook(this); this.hooks.renderNode = new Hook(this); this.hooks.layoutNode = new Hook(this); this.hooks.onOverflow = new Hook(this); this.hooks.afterOverflowRemoved = new Hook(this); this.hooks.onBreakToken = new Hook(); + this.hooks.beforeRenderResult = new Hook(this); this.hooks.afterPageLayout = new Hook(this); this.hooks.finalizePage = new Hook(this); this.hooks.afterRendered = new Hook(this); diff --git a/user/themes/carnet-atterrissage/js/parsing.js b/user/themes/carnet-atterrissage/js/parsing.js deleted file mode 100644 index e59271e..0000000 --- a/user/themes/carnet-atterrissage/js/parsing.js +++ /dev/null @@ -1,200 +0,0 @@ - -// transformer les balises [...] en
si ça correspond aux classes prédéfinies -let baliseWords = [ - 'labeur', - 'free', - 'temps', - 'moment', - 'pilote', - 'free_left', - 'citation', - 'latour', - 'latour_nohead', - 'lampe', - 'lampe_nohead', - 'bibliographie', - 'imgsmall', - 'imgsmallsmall', - 'imgsmall_bottom', - 'fullpage2imgs', - 'fullpageimage', - 'tripleimgs', - 'tripleimgs_bottom', - 'tripleimgs2', - 'tripleimgs2_bottom', - 'bottomimg', - 'imgfullspreadleft', - 'imgfullspreadright', - 'imgfullspreadright_bleedtop', - 'imgfullspreadright_bleed', - 'breakbefore', - 'breakafter', - `doublepage_bigright`, - `doublepage_bigleft` -]; - - var bodyContent = $('#body').html(); - -bodyContent = bodyContent.replace(/\[([^\/\]]+)\]/g, function(match, word) { - if (baliseWords.includes(word)) { - return '
'; - } else { - return match; - } -}).replace(/\[\/([^\]]+)\]/g, function(match, word) { - if (baliseWords.includes(word)) { - return '
'; - } else { - return match; - } -}); - -$('#body').empty().append(bodyContent); - - -// isoler les chiffres des titres -let moments = document.getElementsByClassName("moment"); - -for(let i = 0; i < moments.length; i++) { - moments[i].innerHTML = "" + moments[i].innerHTML.substring(0, moments[i].innerHTML.indexOf('—')) + "" + moments[i].innerHTML.slice(moments[i].innerHTML.indexOf(' —')); -} - -// cleaner le balisage des éléments contenant plusieurs paragraphes -let contentToParse = []; -let labeurs = document.querySelectorAll('.labeur, .free'); -for(let labeur of labeurs) { - contentToParse.push(labeur); -} - -// créer header icons pour encarts -let encarts = document.querySelectorAll('.latour, .latour_nohead, .lampe, .lampe_nohead'); -for(let encart of encarts) { - - encart.innerHTML = encart.innerHTML.replaceAll(' :', ' :'); - encart.innerHTML = encart.innerHTML.replaceAll(' ?', ' ?'); - encart.innerHTML = encart.innerHTML.replaceAll(' !', ' !'); - encart.innerHTML = encart.innerHTML.replaceAll('« ', '« '); - encart.innerHTML = encart.innerHTML.replaceAll(' »', ' »'); - encart.innerHTML = encart.innerHTML.replaceAll('(« ', '(« '); - encart.innerHTML = encart.innerHTML.replaceAll(' »)', ' »)'); - encart.innerHTML = encart.innerHTML.replaceAll('“', '« '); - encart.innerHTML = encart.innerHTML.replaceAll('”', ' »'); - encart.innerHTML = encart.innerHTML.replaceAll(' min', ' min'); - - let headContent = encart.firstChild - let headerEl = document.createElement('div'); - headerEl.setAttribute('class', 'encart-header') - let iconImg = document.createElement('img'); - if (encart.classList.contains('latour') || encart.classList.contains('latour_nohead')) { - iconImg.setAttribute('src', '/user/themes/carnet-atterrissage/assets/map.png'); - } else if (encart.classList.contains('lampe') || encart.classList.contains('lampe_nohead')) { - iconImg.setAttribute('src', '/user/themes/carnet-atterrissage/assets/lampe.png'); - } - - if (encart.classList.contains('latour_nohead') || encart.classList.contains('lampe_nohead')) { - headerEl.style.flexDirection = 'column'; - headerEl.style.alignItems = 'flex-start'; - headerEl.style.fontWeight = 'normal'; - iconImg.style.marginBottom = '2mm'; - encart.style.paddingTop = '5mm'; - encart.style.paddingBottom = '5mm'; - iconImg.style.margin = '0'; - iconImg.style.marginBottom = '2.5mm'; - } - - headerEl.append(iconImg); - headerEl.append(headContent); - - encart.firstChild?.remove(); - encart.prepend(headerEl); - - if (encart.querySelector('.encart-header').nextElementSibling == null) { - encart.querySelector('.encart-header').style.marginBottom = '0'; - } - -/* console.log(encart.nextElementSibling); - if (encart.nextElementSibling?.classList.contains('moment')) { - console.log('BAAAAAAAAH'); - encart.style.color = 'red'; - } - */} - -// clean bibliographie -let bibliographies = document.querySelectorAll('.bibliographie'); -for (let bibliographie of bibliographies) { - contentToParse.push(bibliographie); - if (bibliographie.nextElementSibling.innerText === "") { - bibliographie.nextElementSibling.remove(); - } -} - -for(let i = 0; i < contentToParse.length; i++) { - if (contentToParse[i].childNodes.length == 1) { - contentToParse[i].innerHTML = '

' + contentToParse[i].innerHTML + '

'; - } else { - contentToParse[i].innerHTML = "

" + contentToParse[i].innerHTML.replace("

", ""); - } - - // micro-typo - for(j = 0; j < contentToParse[i].childNodes.length; j++) { - let contentHTML = contentToParse[i].childNodes[j].innerHTML; - if (contentHTML != undefined) { - contentToParse[i].childNodes[j].innerHTML = contentToParse[i].childNodes[j].innerHTML.replaceAll(' :', ' :'); - contentToParse[i].childNodes[j].innerHTML = contentToParse[i].childNodes[j].innerHTML.replaceAll(' ?', ' ?'); - contentToParse[i].childNodes[j].innerHTML = contentToParse[i].childNodes[j].innerHTML.replaceAll(' !', ' !'); - contentToParse[i].childNodes[j].innerHTML = contentToParse[i].childNodes[j].innerHTML.replaceAll('« ', '« '); - contentToParse[i].childNodes[j].innerHTML = contentToParse[i].childNodes[j].innerHTML.replaceAll(' »', ' »'); - contentToParse[i].childNodes[j].innerHTML = contentToParse[i].childNodes[j].innerHTML.replaceAll('(« ', '(« '); - contentToParse[i].childNodes[j].innerHTML = contentToParse[i].childNodes[j].innerHTML.replaceAll(' »)', ' »)'); - contentToParse[i].childNodes[j].innerHTML = contentToParse[i].childNodes[j].innerHTML.replaceAll('“', '« '); - contentToParse[i].childNodes[j].innerHTML = contentToParse[i].childNodes[j].innerHTML.replaceAll('”', ' »'); - contentToParse[i].childNodes[j].innerHTML = contentToParse[i].childNodes[j].innerHTML.replaceAll(' min', ' min'); - } - } - - // data align last split - if (contentToParse[i].innerHTML.includes('
')) { - if (contentToParse[i].childElementCount > 0) { - for (let j = 0; j < contentToParse[i].childElementCount; j++) { - let parts = contentToParse[i].children[j].innerHTML.split('
'); - let newParts = parts.map(function(part) { - return '

' + part + '

'; - }); - contentToParse[i].children[j].innerHTML = newParts.join(''); - } - } else { - let parts = contentToParse[i].innerHTML.split('
'); - let newParts = parts.map(function(part) { - return '

' + part + '

'; - }); - contentToParse[i].innerHTML = newParts.join(''); - } - } -} - -// PAGES TITRES -let h3s = document.querySelectorAll('h3'); -for (let h3 of h3s) { - if (/^\d/.test(h3.innerText)) { - h3.innerHTML = h3.innerHTML.replace(/[^\s]*/, function(match) { - return `
${match}
`; - }); - } - h3.innerHTML = h3.innerHTML.replace(/ \«/g, '
«'); -} - -let dessinsPreH3 = document.querySelectorAll('h3 + p img'); -for (let dessin of dessinsPreH3) { - dessin.style.width = '0px'; - dessin.style.height = '0px'; -} - -// pour les serpentins -let h4s = document.querySelectorAll('h4'); -for (let h4 of h4s) { - if (h4.innerText === "Serpentin") { - let serpentin = h4.nextElementSibling.nextElementSibling; - serpentin.nextElementSibling.remove(); - h4.remove(); - } -} diff --git a/user/themes/carnet-atterrissage/js/parsing/addInsertIcons.js b/user/themes/carnet-atterrissage/js/parsing/addInsertIcons.js new file mode 100644 index 0000000..4ec5daa --- /dev/null +++ b/user/themes/carnet-atterrissage/js/parsing/addInsertIcons.js @@ -0,0 +1,40 @@ +// créer header icons pour encarts +if (debug) console.log('start addInsertIcons'); + +(function() { + + let encarts = document.querySelectorAll('.latour, .latour_nohead, .lampe, .lampe_nohead'); + + for(let encart of encarts) { + let headContent = encart.firstChild + let headerEl = document.createElement('div'); + headerEl.setAttribute('class', 'encart-header') + let iconImg = document.createElement('img'); + let imgFile = encart.classList.contains('latour') || encart.classList.contains('latour_nohead') ? 'map' : 'lampe'; + iconImg.setAttribute('src', `/user/themes/carnet-atterrissage/assets/${ imgFile }.png`); + + if (encart.classList.contains('latour_nohead') || encart.classList.contains('lampe_nohead')) { + headerEl.style.flexDirection = 'column'; + headerEl.style.alignItems = 'flex-start'; + headerEl.style.fontWeight = 'normal'; + encart.style.paddingTop = '5mm'; + encart.style.paddingBottom = '5mm'; + iconImg.style.marginBottom = '2mm'; + iconImg.style.margin = '0'; + iconImg.style.marginBottom = '2.5mm'; + } + + headerEl.append(iconImg); + headerEl.append(headContent); + + encart.firstChild?.remove(); + encart.prepend(headerEl); + + if (encart.querySelector('.encart-header').nextElementSibling == null) { + encart.querySelector('.encart-header').style.marginBottom = '0'; + } + } + +})(); + +if (debug) console.log('end addInsertIcons'); \ No newline at end of file diff --git a/user/themes/carnet-atterrissage/js/parsing/cleanBibliography.js b/user/themes/carnet-atterrissage/js/parsing/cleanBibliography.js new file mode 100644 index 0000000..0a50940 --- /dev/null +++ b/user/themes/carnet-atterrissage/js/parsing/cleanBibliography.js @@ -0,0 +1,15 @@ +// nettoyer le bibliographie +if (debug) console.log('start cleanBibliography'); + +(function() { + + let bibliographies = document.querySelectorAll('.bibliographie'); + for (let bibliographie of bibliographies) { + if (bibliographie.nextElementSibling.innerText === "") { + bibliographie.nextElementSibling.remove(); + } + } + +})(); + +if (debug) console.log('end cleanBibliography'); \ No newline at end of file diff --git a/user/themes/carnet-atterrissage/js/parsing/cleanParagraphsParsing.js b/user/themes/carnet-atterrissage/js/parsing/cleanParagraphsParsing.js new file mode 100644 index 0000000..8b377f1 --- /dev/null +++ b/user/themes/carnet-atterrissage/js/parsing/cleanParagraphsParsing.js @@ -0,0 +1,36 @@ +// nettoyer le parsing des pragraphes +if (debug) console.log('start cleanParagraphsParsing'); + +(function() { + + let labeurs = document.querySelectorAll('.labeur, .free'); + for(let labeur of labeurs) { + if (labeur.childNodes.length == 1) { + labeur.innerHTML = '

' + labeur.innerHTML + '

'; + } else { + labeur.innerHTML = "

" + labeur.innerHTML.replace("

", ""); + } + + // data align last split + if (labeur.innerHTML.includes('
')) { + if (labeur.childElementCount > 0) { + for (let j = 0; j < labeur.childElementCount; j++) { + let parts = labeur.children[j].innerHTML.split('
'); + let newParts = parts.map(function(part) { + return `

${ part }

`; + }); + labeur.children[j].innerHTML = newParts.join(''); + } + } else { + let parts = labeur.innerHTML.split('
'); + let newParts = parts.map(function(part) { + return `

${ part }

`; + }); + labeur.innerHTML = newParts.join(''); + } + } + } + +})(); + +if (debug) console.log('end cleanParagraphsParsing'); \ No newline at end of file diff --git a/user/themes/carnet-atterrissage/js/parsing/footnotes.js b/user/themes/carnet-atterrissage/js/parsing/footnotes.js new file mode 100644 index 0000000..e82bd3f --- /dev/null +++ b/user/themes/carnet-atterrissage/js/parsing/footnotes.js @@ -0,0 +1,124 @@ +// passage des notes du texte à la fin de la partie +if (debug) console.log('start footnotes'); + +(function() { + + // détecter la partie des notes + function findH3InAncestorsAndSiblings(element, findNext) { + let currentElement = element; + let siblingSelector = findNext ? 'nextElementSibling' : 'previousElementSibling'; + + while (currentElement !== null) { + if (currentElement.tagName === 'H3') { + return currentElement; + } + currentElement = currentElement.parentElement; + } + + currentElement = element; + + while (currentElement !== null) { + let sibling = currentElement[siblingSelector]; + while (sibling !== null) { + if (sibling.tagName === 'H3') { + return sibling; + } + let descendantH3 = sibling.querySelector('h3'); + if (descendantH3 !== null) { + return descendantH3; + } + sibling = sibling[siblingSelector]; + } + currentElement = currentElement.parentElement; + } + + return null; + } + + // note dans le texte ou note d'image + function isImgNote(note) { + if ( + note.parentElement.classList.contains('imgsmall') || + note.parentElement.classList.contains('imgsmallsmall') || + note.parentElement.classList.contains('imgsmall_bottom') || + note.parentElement.classList.contains('fullpage2imgs') || + note.parentElement.classList.contains('fullpageimage') || + note.parentElement.classList.contains('tripleimgs') || + note.parentElement.classList.contains('tripleimgs_bottom') || + note.parentElement.classList.contains('tripleimgs2') || + note.parentElement.classList.contains('tripleimgs2_bottom') || + note.parentElement.classList.contains('bottomimg') || + note.parentElement.classList.contains('imgfullspreadleft') || + note.parentElement.classList.contains('imgfullspreadright') || + note.parentElement.classList.contains('imgfullspreadright_bleedtop') || + note.parentElement.classList.contains('imgfullspreadright_bleed') || + note.parentElement.classList.contains('doublepage_bigright') || + note.parentElement.classList.contains('doublepage_bigleft') + ) { + return true; + } else { + return false; + } + } + + // notes + let noteNumber = 1; + let prevPartie; + let partie = 0; + let notes = document.querySelectorAll('.note'); + let noteTitleNextEl; + let prevNoteContent; + + for (let note of notes) { + let currentPartie = findH3InAncestorsAndSiblings(note, false); + let noteContent = note.innerText; + + if (currentPartie === prevPartie) { + noteNumber++; + } else { + // créer la page des notes + let notePageTitle = document.createElement('h4'); + notePageTitle.innerText = "Notes"; + // insert before the next partie page + findH3InAncestorsAndSiblings(note, true).parentNode.insertBefore(notePageTitle, findH3InAncestorsAndSiblings(note, true)); + noteNumber = 1; + partie++; + notePageTitle.setAttribute('id', 'note_page_title_' + partie); + noteTitleNextEl = document.getElementById(`note_page_title_${partie}`).nextElementSibling; + let notesContentEl = document.createElement('div'); + notesContentEl.setAttribute('id', `notes_content_${partie}`); + noteTitleNextEl.parentNode.insertBefore(notesContentEl, noteTitleNextEl); + } + + if (noteContent != prevNoteContent) { + let noteTextEl = document.createElement('p'); + noteTextEl.setAttribute('class', 'note_text'); + noteTextEl.innerHTML = '' + noteNumber + ' ' + noteContent + ''; + let notesContentEl = document.getElementById(`notes_content_${partie}`); + notesContentEl.append(noteTextEl); + } else { + // si les notes qui se suivent ont le même contenu + let notesContentEl = document.getElementById(`notes_content_${partie}`); + let lastSpan = notesContentEl.querySelector('p:last-of-type span:last-of-type'); + let numberToAdd = document.createElement('span'); + numberToAdd.setAttribute('class', 'note_texte_number'); + numberToAdd.innerText = `, ${noteNumber}`; + notesContentEl.querySelector('p:last-of-type').insertBefore(numberToAdd, lastSpan); + } + + prevNoteContent = noteContent; + prevPartie = currentPartie; + + if (isImgNote(note)) { + note.innerText = ''; + note.classList.add('note_img'); + note.setAttribute('id', `note_img_${noteNumber}`); + } else { + note.innerText = noteNumber; + } + } + +})(); + + +if (debug) console.log('end footnotes'); \ No newline at end of file diff --git a/user/themes/carnet-atterrissage/js/parsing/increaseMomentNumber.js b/user/themes/carnet-atterrissage/js/parsing/increaseMomentNumber.js new file mode 100644 index 0000000..d7bc3b7 --- /dev/null +++ b/user/themes/carnet-atterrissage/js/parsing/increaseMomentNumber.js @@ -0,0 +1,16 @@ +// isoler les chiffres des titres des moments +if (debug) console.log('start increaseMomentNumber'); + +(function() { + + const moments = document.querySelectorAll('.moment'); + + for(let moment of moments) { + const number = moment.innerHTML.substring(0, moment.innerHTML.indexOf('—')), + titre = moment.innerHTML.slice(moment.innerHTML.indexOf(' —')); + moment.innerHTML = `${ number }${ titre }`; + } + +})(); + +if (debug) console.log('end increaseMomentNumber'); \ No newline at end of file diff --git a/user/themes/carnet-atterrissage/js/parsing/nonBreakingSpaces.js b/user/themes/carnet-atterrissage/js/parsing/nonBreakingSpaces.js new file mode 100644 index 0000000..cb255fe --- /dev/null +++ b/user/themes/carnet-atterrissage/js/parsing/nonBreakingSpaces.js @@ -0,0 +1,40 @@ +// insérer des espaces insécables avant les signes de ponctuations et remplacer les guillemets +if (debug) console.log('start nonBreakingSpaces'); + +(function() { + let contentsToClean = document.querySelectorAll('.labeur, .free, .latour, .latour_nohead, .lampe, .lampe_nohead, .bibliographie'); + + for (let content of contentsToClean) { + content.innerHTML = content.innerHTML.replaceAll(' :', ' :'); + content.innerHTML = content.innerHTML.replaceAll(' ?', ' ?'); + content.innerHTML = content.innerHTML.replaceAll(' !', ' !'); + content.innerHTML = content.innerHTML.replaceAll('« ', '« '); + content.innerHTML = content.innerHTML.replaceAll(' »', ' »'); + content.innerHTML = content.innerHTML.replaceAll('(« ', '(« '); + content.innerHTML = content.innerHTML.replaceAll(' »)', ' »)'); + content.innerHTML = content.innerHTML.replaceAll('“', '« '); + content.innerHTML = content.innerHTML.replaceAll('”', ' »'); + content.innerHTML = content.innerHTML.replaceAll(' min', ' min'); + } +})(); + +if (debug) console.log('end nonBreakingSpaces'); + + +/* + // micro-typo + for(let j = 0; j < contentToParse[i].childNodes.length; j++) { + let contentHTML = contentToParse[i].childNodes[j].innerHTML; + if (contentHTML != undefined) { + contentToParse[i].childNodes[j].innerHTML = contentToParse[i].childNodes[j].innerHTML.replaceAll(' :', ' :'); + contentToParse[i].childNodes[j].innerHTML = contentToParse[i].childNodes[j].innerHTML.replaceAll(' ?', ' ?'); + contentToParse[i].childNodes[j].innerHTML = contentToParse[i].childNodes[j].innerHTML.replaceAll(' !', ' !'); + contentToParse[i].childNodes[j].innerHTML = contentToParse[i].childNodes[j].innerHTML.replaceAll('« ', '« '); + contentToParse[i].childNodes[j].innerHTML = contentToParse[i].childNodes[j].innerHTML.replaceAll(' »', ' »'); + contentToParse[i].childNodes[j].innerHTML = contentToParse[i].childNodes[j].innerHTML.replaceAll('(« ', '(« '); + contentToParse[i].childNodes[j].innerHTML = contentToParse[i].childNodes[j].innerHTML.replaceAll(' »)', ' »)'); + contentToParse[i].childNodes[j].innerHTML = contentToParse[i].childNodes[j].innerHTML.replaceAll('“', '« '); + contentToParse[i].childNodes[j].innerHTML = contentToParse[i].childNodes[j].innerHTML.replaceAll('”', ' »'); + contentToParse[i].childNodes[j].innerHTML = contentToParse[i].childNodes[j].innerHTML.replaceAll(' min', ' min'); + } + } */ diff --git a/user/themes/carnet-atterrissage/js/parsing/tagsToClasses.js b/user/themes/carnet-atterrissage/js/parsing/tagsToClasses.js new file mode 100644 index 0000000..1e44d3a --- /dev/null +++ b/user/themes/carnet-atterrissage/js/parsing/tagsToClasses.js @@ -0,0 +1,61 @@ +// transformer les balises [...] en
si ça correspond aux classes prédéfinies +if (debug) console.log('start tagToClass'); + +(function() { + + let baliseWords = [ + 'labeur', + 'free', + 'temps', + 'moment', + 'pilote', + 'free_left', + 'citation', + 'latour', + 'latour_nohead', + 'lampe', + 'lampe_nohead', + 'note', + 'bibliographie', + 'imgsmall', + 'imgsmallsmall', + 'imgsmall_bottom', + 'fullpage2imgs', + 'fullpageimage', + 'tripleimgs', + 'tripleimgs_bottom', + 'tripleimgs2', + 'tripleimgs2_bottom', + 'bottomimg', + 'imgfullspreadleft', + 'imgfullspreadright', + 'imgfullspreadright_bleedtop', + 'imgfullspreadright_bleed', + 'breakbefore', + 'breakafter', + `doublepage_bigright`, + `doublepage_bigleft` + ]; + + let bodyContent = $('#body').html(); + + bodyContent = bodyContent.replace(/\[([^\/\]]+)\]/g, function(match, word) { + if (baliseWords.includes(word)) { + return word === 'note' ? `` : `
`; + } else { + return match; + } + }).replace(/\[\/([^\]]+)\]/g, function(match, word) { + if (baliseWords.includes(word)) { + return word === 'note' ? '' : '
'; + } else { + return match; + } + }); + + $('#body').empty().append(bodyContent); + +})(); + + +if (debug) console.log('end tagToClass'); \ No newline at end of file diff --git a/user/themes/carnet-atterrissage/js/parsing/titlePages.js b/user/themes/carnet-atterrissage/js/parsing/titlePages.js new file mode 100644 index 0000000..170d64d --- /dev/null +++ b/user/themes/carnet-atterrissage/js/parsing/titlePages.js @@ -0,0 +1,34 @@ +// composition des pages titres +if (debug) console.log('start titlePages'); + +(function() { + + let h3s = document.querySelectorAll('h3'); + for (let h3 of h3s) { + if (/^\d/.test(h3.innerText)) { + h3.innerHTML = h3.innerHTML.replace(/[^\s]*/, function(match) { + return `
${match}
`; + }); + } + h3.innerHTML = h3.innerHTML.replace(/ \«/g, '
«'); + } + + let dessinsPreH3 = document.querySelectorAll('h3 + p img'); + for (let dessin of dessinsPreH3) { + dessin.style.width = '0px'; + dessin.style.height = '0px'; + } + + // pour les serpentins + let h4s = document.querySelectorAll('h4'); + for (let h4 of h4s) { + if (h4.innerText === "Serpentin") { + let serpentin = h4.nextElementSibling.nextElementSibling; + serpentin.nextElementSibling.remove(); + h4.remove(); + } + } + +})(); + +if (debug) console.log('end titlePages'); diff --git a/user/themes/carnet-atterrissage/templates/partials/base.html.twig b/user/themes/carnet-atterrissage/templates/partials/base.html.twig index 089662d..0f49cc9 100644 --- a/user/themes/carnet-atterrissage/templates/partials/base.html.twig +++ b/user/themes/carnet-atterrissage/templates/partials/base.html.twig @@ -20,14 +20,13 @@ {% do assets.addCss('theme://css/pagedjs.css', 98) %} {% do assets.addCss('theme://css/custom.css', 97) %} {% do assets.addCss('theme://fonts/fonts.css', 96) %} - {% do assets.addCss('theme://css/mep_carnet.css', 95) %} + {% do assets.addCss('theme://css/ui.css', 95) %} + {% do assets.addCss('theme://css/mep_carnet.css', 94) %} {% endblock %} {% block javascripts %} - {% do assets.addJs('jquery', 100) %} - {% do assets.addJs('theme://js/parsing.js', { group: 'bottom' }) %} - {% do assets.addJs('theme://js/paged.polyfill.js', { group: 'bottom' }) %} - {% do assets.addJs('theme://js/layout.js', { group: 'bottom' }) %} + {% do assets.addJs('jquery') %} + {% do assets.addJs('theme://js/main.js', { group: 'bottom' }) %} {% endblock %} {% block assets deferred %}