From 9ab4b98c1ddcd9cc4ad66d027eb10b53be060b68 Mon Sep 17 00:00:00 2001 From: Tykayn Date: Tue, 13 May 2025 00:13:57 +0200 Subject: [PATCH] fix template include for article --- gather_tags_in_json.py | 12 ++----- linking_articles_prev_next.py | 33 +++++++++++-------- sass_styles.sh | 10 ++++-- ...ndre-les-postes-qui-faconnent-le-monde.org | 2 +- ...mment-se-delester-de-la-charge-mentale.org | 30 +++++++++-------- ...7T133058__plan-darchivage-et-de-backup.org | 5 --- ...6123911__jeux-de-données-sur-datagouv.org | 2 +- ...-l'ign-elles-font-le-libre-sotmfr-2024.org | 2 +- ...g-de-photo-gopro-fusion-pour-panoramax.org | 2 +- ...que-des-mobilités-elles-font-le-libre.org | 2 +- ...25140244__dépasser-la-spécialisation.org | 2 +- ...e-qualité-de-votre-plan-de-sauvegarde.org | 2 +- ...en-geojson-vers-des-tags-openstreetmap.org | 10 +++--- ..._faire-une-analyse-avec-osmose-backend.org | 27 ++++++++------- ...0250223175621__rétrospective-de-blogs.org | 2 +- ...ccident-de-fusion-du-cœur-sur-l’epr.org | 2 +- ...508__les-récits-de-jeanine-chapitre-4.org | 2 +- ...543__les-récits-de-jeanine-chapitre-5.org | 2 +- ...545__les-récits-de-jeanine-chapitre-6.org | 2 +- ...547__les-récits-de-jeanine-chapitre-7.org | 2 +- ...08__les-récits-de-jeanine-chapitre-12.org | 2 +- ...37__les-récits-de-jeanine-chapitre-13.org | 2 +- ...54__les-récits-de-jeanine-chapitre-14.org | 2 +- ...17__les-récits-de-jeanine-chapitre-15.org | 2 +- ...33__les-récits-de-jeanine-chapitre-16.org | 2 +- ...53__les-récits-de-jeanine-chapitre-17.org | 4 +-- templates/html/article.html.j2 | 5 +-- templates/styles/style_general.css | 13 ++++++++ templates/styles/style_general.css.map | 2 +- templates/styles_src/style_general.scss | 15 +++++++++ 30 files changed, 115 insertions(+), 87 deletions(-) diff --git a/gather_tags_in_json.py b/gather_tags_in_json.py index f9b3b02a..09bdf686 100644 --- a/gather_tags_in_json.py +++ b/gather_tags_in_json.py @@ -52,7 +52,7 @@ except FileNotFoundError: print(f"Impossible de trouver le fichier {json_file}") exit(1) except Exception as e: - print(f"Erreur lors de la lecture du fichier {json_file}: {e}") + print(f"gather tags in json: Erreur lors de la lecture du fichier {json_file}: {e}") exit(1) def find_org_files(directory): @@ -110,15 +110,7 @@ def generate_html_pages_for_all_tags(tag_to_files, html_output_folder): template = env.get_template('templates/html/tag.html.j2') sorted_tags = sorted(tag_to_files.items()) - for tag, files in sorted_tags: - print('------------ tag', tag, len(files)) - print('Files pour ce tag:', files) - print('Clés disponibles dans articles_info:', list(articles_info.keys())[:5], '...') - - # Afficher un exemple détaillé de non-correspondance - for f in files: - if f not in articles_info: - print(f"Fichier non trouvé dans articles_info: {f}") + for tag, files in sorted_tags: # Préparer les données pour le template data = { diff --git a/linking_articles_prev_next.py b/linking_articles_prev_next.py index 1b993d6d..6a384046 100644 --- a/linking_articles_prev_next.py +++ b/linking_articles_prev_next.py @@ -23,13 +23,13 @@ start_time = time.time() # Configurer argparse pour prendre le blog en argument parser = argparse.ArgumentParser(description='Générer une liste des derniers articles de blog.') parser.add_argument('blog', type=str, help='Nom du dossier du blog à traiter', default='cipherbliss_blog') -parser.add_argument('--run_gemini', type=str, help='Activer ou non la génération des billets gemini', default=True) -parser.add_argument('--run_pandoc', type=str, help='Activer ou non la génération des fichiers html', default=True) -parser.add_argument('--enable_roam_id_rewrite', type=str, help='Activer ou non la réécriture des liens roam', default=False) -parser.add_argument('--generate_html_pages', type=str, help='Activer ou non la génération des pages html', default=True) -parser.add_argument('--generate_linkings_json', type=str, help='Activer ou non la génération du json des liens entre articles', default=True) -parser.add_argument('--force_html_regen', action='store_true', help='Forcer la régénération des fichiers HTML même s\'ils existent déjà', default=False) -parser.add_argument('--rebuild_articles_info_json', type=str, help='Reconstruire le fichier de données JSON des articles', default=False) +parser.add_argument('--run_gemini', type=bool, help='Activer ou non la génération des billets gemini', default=True) +parser.add_argument('--run_pandoc', type=bool, help='Activer ou non la génération des fichiers html', default=True) +parser.add_argument('--enable_roam_id_rewrite', type=bool, help='Activer ou non la réécriture des liens roam', default=False) +parser.add_argument('--generate_html_pages', type=bool, help='Activer ou non la génération des pages html', default=True) +parser.add_argument('--generate_linkings_json', type=bool, help='Activer ou non la génération du json des liens entre articles', default=True) +parser.add_argument('--force_html_regen', type=bool, help='Forcer la régénération des fichiers HTML même s\'ils existent déjà', default=False) +parser.add_argument('--rebuild_articles_info_json', type=bool, help='Reconstruire le fichier de données JSON des articles', default=False) args = parser.parse_args() run_gemini = args.run_gemini @@ -191,6 +191,8 @@ if generate_linkings_json : # Vérifier si l'article doit être reconstruit file_modified_time = os.path.getmtime(file_path) rebuild_this_article_gemini = file_modified_time > last_gemini_build_time + if rebuild_this_article_gemini: + print("le dernier build gemini est plus ancien que la dernière modification de la source, on le rebuild") except Exception as e: print(f"Erreur lors de la vérification des dates pour {gemini_path}: {e}") rebuild_this_article_gemini = True @@ -210,7 +212,7 @@ if generate_linkings_json : if rebuild_this_article_html: print(f"\033[91m--------- article modifié après le build de son rendu html: {file_path}, {rebuild_this_article_html}\033[0m") # else: - # print(f"\033[91m--------- article non modifié après le build de son rendu html: {file_path}, {rebuild_this_article_html}, on ne recrée pas\033[0m") + # print(f"\033[91m--------- article non modifié après le build de son rendu html: {file_path}, {rebuild_this_article_html}, on ne recrée pas\033[0m") else: # si il n'y a pas de fichier html, on le construit pour la première fois @@ -238,7 +240,7 @@ if generate_linkings_json : if len(files_dict[slug_with_year]['html_content_without_h1']) > 0 : html_content_without_h1 = files_dict[slug_with_year]['html_content_without_h1'] else: - print('========= pas de contenu html existant: ', title) + print('========= pas de contenu html existant: ', title , '|on le génère|',slug_with_year) print(f"\033[91m {time.strftime('%H:%M:%S')} BRRRRRRRRRRRRR pandoc html_content : {title} en html\033[0m") pandoc_runs_counter += 1 html_content = pypandoc.convert_text(content_without_h1, 'html', format='org') @@ -247,13 +249,13 @@ if generate_linkings_json : if run_pandoc and rebuild_this_article_html or force_html_regen: - print(f"run_pandoc: {run_pandoc}") - print(f"rebuild_this_article_html: {rebuild_this_article_html}") - print(f"force_html_regen: {force_html_regen}") + # print(f"run_pandoc: {run_pandoc}") + # print(f"rebuild_this_article_html: {rebuild_this_article_html}") + # print(f"force_html_regen: {force_html_regen}") # convertir le contenu d'article org vers html - print(f"\033[91m {time.strftime('%H:%M:%S')} BRRRRRRRRRRRRR pandoc : {title} en html\033[0m") # print(f"\033[91m.\033[0m", end='', flush=True) if not html_content: + print(f"\033[91m {time.strftime('%H:%M:%S')} BRRRRRRRRRRRRR pandoc : {title} en html\033[0m") html_content = pypandoc.convert_text(content_without_h1, 'html', format='org') html_content_without_h1 = re.sub(r'

.*?

', '', html_content) pandoc_runs_counter += 1 @@ -435,8 +437,11 @@ Dernière mise à jour: {dt.datetime.now().strftime('%Y-%m-%d, %H:%M:%S')} => tags.gmi Tags ----------------------------------------------- + {template_content['SOUTIEN']} + ----------------------------------------------- + {template_content['WEBSITE_GENERATOR_DESCRIPTION']} {template_content['WEBSITE_GENERATOR']} """ @@ -535,7 +540,7 @@ def generate_article_pages(json_file, template_file, output_dir): print(f"\033[94m Nombre d'articles gemini générés : {counter_gemini}\033[0m") return except IOError as e: - print(f"Erreur lors de la lecture du fichier {json_file}: {e}") + print(f"linking articles prev next: Erreur lors de la lecture du fichier {json_file}: {e}") sys.exit(1) except Exception as e: print(f"Erreur inattendue lors de la lecture du fichier {json_file}: {e}") diff --git a/sass_styles.sh b/sass_styles.sh index 1a409344..922dfdbe 100644 --- a/sass_styles.sh +++ b/sass_styles.sh @@ -7,7 +7,11 @@ sass templates/styles_src/style_general.scss templates/styles/style_general.css echo "copier le style général et le js principal vers html-websites pour chaque site" -for i in $(ls html-websites); do - cp templates/styles/style_general.css html-websites/$i/style.css - cp templates/js/main_script.js html-websites/$i/main_script.js +for i in $(ls sources); do + if [ -d "html-websites/$i" ]; then + cp templates/styles/style_general.css html-websites/$i/style.css + cp templates/js/main_script.js html-websites/$i/main_script.js + fi done + +echo "c'est fait!" diff --git a/sources/cipherbliss_blog/lang_fr/20151116T113834__inspirer-les-femmes-prendre-les-postes-qui-faconnent-le-monde.org b/sources/cipherbliss_blog/lang_fr/20151116T113834__inspirer-les-femmes-prendre-les-postes-qui-faconnent-le-monde.org index 86b9de0e..d64b878a 100644 --- a/sources/cipherbliss_blog/lang_fr/20151116T113834__inspirer-les-femmes-prendre-les-postes-qui-faconnent-le-monde.org +++ b/sources/cipherbliss_blog/lang_fr/20151116T113834__inspirer-les-femmes-prendre-les-postes-qui-faconnent-le-monde.org @@ -29,7 +29,7 @@ raconte pourquoi les femmes sont encore bien trop mises à l'écart des corps de métier. -<> +https://www.youtube.com/watch?v=FEeTLopLkEo * Une erreur s'est produite. diff --git a/sources/cipherbliss_blog/lang_fr/20181119T164812__comment-se-delester-de-la-charge-mentale.org b/sources/cipherbliss_blog/lang_fr/20181119T164812__comment-se-delester-de-la-charge-mentale.org index c2543db7..65d11eeb 100644 --- a/sources/cipherbliss_blog/lang_fr/20181119T164812__comment-se-delester-de-la-charge-mentale.org +++ b/sources/cipherbliss_blog/lang_fr/20181119T164812__comment-se-delester-de-la-charge-mentale.org @@ -19,7 +19,7 @@ #+retrieved_from_db_at: <2024-11-18 16:25:08> -* comment se délester de la charge mentale +* Comment se délester de la charge mentale :PROPERTIES: :CUSTOM_ID: comment-se-délester-de-la-charge-mentale :END: @@ -463,12 +463,17 @@ intéressent.  :END: Et si c'était les évènements qui se rappelaient à nous au bon moment, au lieu d'avoir tout le temps à y -penser?[[https://www.cipherbliss.com/wp-content/uploads/2017/11/odgn4Ry_700wa_0.jpg][https://www.cipherbliss.com/wp-content/uploads/2017/11/odgn4Ry_700wa_0.jpg]]Beaucoup -de gens ont un smartphone, mais assez peu utilisent des agendas +penser? + +[[https://www.cipherbliss.com/wp-content/uploads/2017/11/odgn4Ry_700wa_0.jpg][https://www.cipherbliss.com/wp-content/uploads/2017/11/odgn4Ry_700wa_0.jpg]] + +Beaucoup de gens ont un smartphone, mais assez peu utilisent des agendas numériques sur leur téléphone. C'est bien dommage. Alors créez un agenda numérique et faites en sorte de le partager avec votre conjoint de sorte que lui/elle aussi puisse le mettre à jour sur des choses qui vous -concernent tous les deux. les options de partage se trouvent dans les +concernent tous les deux. + +les options de partage se trouvent dans les propriétés d'agenda, sur google calendar et d'autres c'est pareil.Comme ça vous n'aurez pas en plus à penser à rappeler à l'autre que vous avez des choses qui arrivent @@ -476,15 +481,14 @@ bientôt.Votre smartphone se chargera pour vous de ce boulot de rappel. Vous venez d'avoir rendez-vous avec votre médecin et il vous propose de vous revoir dans trois mois? Notez-le tout de suite dans votre agenda. Votre chat doit se faire revisiter tous les ans? -faites un évènement récurrent.Faites plusieurs -agendas afin de ne pas polluer votre partenaire de notifications qui ne -le concernent pas.Ne mettez pas vos réunions de -boulot dans votre agenda partagé.Mais c'est un bon -endroit pour prévoir de recevoir des amis ou de partir en -vacances.Créez un agenda spécifique à la gestion des -RDV et évènements relatifs à vos enfants, que vous pourrez partager -également. Utiliser DES agendas évite énormément de charge mentale -inutile. +faites un évènement récurrent. + +Faites plusieurs agendas afin de ne pas polluer votre partenaire de notifications qui ne le concernent pas. + +Ne mettez pas vos réunions de boulot dans votre agenda partagé.Mais c'est un bon endroit pour prévoir de recevoir des amis ou de partir en +vacances. + +Créez un agenda spécifique à la gestion des RDV et évènements relatifs à vos enfants, que vous pourrez partager également. Utiliser DES agendas évite énormément de charge mentale inutile. *** Pour les tâches n'ayant pas spécialement de date, utiliser un tableau kanban diff --git a/sources/cipherbliss_blog/lang_fr/20210527T133058__plan-darchivage-et-de-backup.org b/sources/cipherbliss_blog/lang_fr/20210527T133058__plan-darchivage-et-de-backup.org index ccb80534..16e8d2d3 100644 --- a/sources/cipherbliss_blog/lang_fr/20210527T133058__plan-darchivage-et-de-backup.org +++ b/sources/cipherbliss_blog/lang_fr/20210527T133058__plan-darchivage-et-de-backup.org @@ -265,11 +265,6 @@ roulez jeunesse. [[https://www.cipherbliss.com/wp-content/uploads/2021/05/vorta.png]] -  - - -  - Plus qu'a attendre quelques minutes ou heures selon le volume de trucs à sauvegarder et la force de compression que vous avez choisi. diff --git a/sources/cipherbliss_blog/lang_fr/20241126123911__jeux-de-données-sur-datagouv.org b/sources/cipherbliss_blog/lang_fr/20241126123911__jeux-de-données-sur-datagouv.org index 6354bae2..d87c0917 100644 --- a/sources/cipherbliss_blog/lang_fr/20241126123911__jeux-de-données-sur-datagouv.org +++ b/sources/cipherbliss_blog/lang_fr/20241126123911__jeux-de-données-sur-datagouv.org @@ -1,7 +1,7 @@ #+title: jeux-de-données-sur-datagouv #+post_ID: -#+post_slug: organisation-de-taches-orgmode +#+post_slug: jeux-de-données-sur-datagouv #+post_url: https://www.ciperbliss.com/2024/jeux-de-données-sur-datagouv #+post_title: Jeux de données sur DataGouv #+post_tags: diff --git a/sources/cipherbliss_blog/lang_fr/20241126142504__julia-de-l'ign-elles-font-le-libre-sotmfr-2024.org b/sources/cipherbliss_blog/lang_fr/20241126142504__julia-de-l'ign-elles-font-le-libre-sotmfr-2024.org index d03c18a6..1890d991 100644 --- a/sources/cipherbliss_blog/lang_fr/20241126142504__julia-de-l'ign-elles-font-le-libre-sotmfr-2024.org +++ b/sources/cipherbliss_blog/lang_fr/20241126142504__julia-de-l'ign-elles-font-le-libre-sotmfr-2024.org @@ -1,7 +1,7 @@ #+title: julia-de-l'ign---elles-font-le-libre---sotmfr-2024 #+post_ID: -#+post_slug: organisation-de-taches-orgmode +#+post_slug: julia-de-l'ign---elles-font-le-libre---sotmfr-2024 #+post_url: https://www.ciperbliss.com/2024/julia-de-l'ign---elles-font-le-libre---sotmfr-2024 #+post_title: Julia de l'IGN - Elles font le libre - sotmfr 2024 #+post_tags: sotm, ign, open-data diff --git a/sources/cipherbliss_blog/lang_fr/20241128223241__stitching-de-photo-gopro-fusion-pour-panoramax.org b/sources/cipherbliss_blog/lang_fr/20241128223241__stitching-de-photo-gopro-fusion-pour-panoramax.org index ab4a3ec1..97cdacc9 100644 --- a/sources/cipherbliss_blog/lang_fr/20241128223241__stitching-de-photo-gopro-fusion-pour-panoramax.org +++ b/sources/cipherbliss_blog/lang_fr/20241128223241__stitching-de-photo-gopro-fusion-pour-panoramax.org @@ -1,7 +1,7 @@ #+title: stitching-de-photo-gopro-fusion-pour-panoramax #+post_ID: -#+post_slug: organisation-de-taches-orgmode +#+post_slug: stitching-de-photo-gopro-fusion-pour-panoramax #+post_url: https://www.ciperbliss.com/2024/stitching-de-photo-gopro-fusion-pour-panoramax #+post_title: Stitching de photo gopro fusion pour Panoramax #+post_tags: panoramax, hugin, gopro, photo, 360 diff --git a/sources/cipherbliss_blog/lang_fr/20241128232530__julie-de-la-fabrique-des-mobilités-elles-font-le-libre.org b/sources/cipherbliss_blog/lang_fr/20241128232530__julie-de-la-fabrique-des-mobilités-elles-font-le-libre.org index 0d3f27d2..67e67535 100644 --- a/sources/cipherbliss_blog/lang_fr/20241128232530__julie-de-la-fabrique-des-mobilités-elles-font-le-libre.org +++ b/sources/cipherbliss_blog/lang_fr/20241128232530__julie-de-la-fabrique-des-mobilités-elles-font-le-libre.org @@ -1,7 +1,7 @@ #+title: julie-de-la-fabrique-des-mobilités-elles-font-le-libre #+post_ID: -#+post_slug: organisation-de-taches-orgmode +#+post_slug: julie-de-la-fabrique-des-mobilités-elles-font-le-libre #+post_url: https://www.ciperbliss.com/2024/julie-de-la-fabrique-des-mobilités-elles-font-le-libre #+post_title: Julie de la fabrique des mobilités - Elles font le libre #+post_tags: openstreetmap, transport, sotm diff --git a/sources/cipherbliss_blog/lang_fr/20250125140244__dépasser-la-spécialisation.org b/sources/cipherbliss_blog/lang_fr/20250125140244__dépasser-la-spécialisation.org index 656db5ba..c96db159 100644 --- a/sources/cipherbliss_blog/lang_fr/20250125140244__dépasser-la-spécialisation.org +++ b/sources/cipherbliss_blog/lang_fr/20250125140244__dépasser-la-spécialisation.org @@ -1,7 +1,7 @@ #+title: dépasser-la-spécialisation #+post_ID: -#+post_slug: organisation-de-taches-orgmode +#+post_slug: dépasser-la-spécialisation #+post_url: https://www.ciperbliss.com/2024/dépasser-la-spécialisation #+post_title: dépasser la spécialisation #+post_tags: information, médias, internet, médias sociaux, mastodon diff --git a/sources/cipherbliss_blog/lang_fr/20250223152009__critères-de-qualité-de-votre-plan-de-sauvegarde.org b/sources/cipherbliss_blog/lang_fr/20250223152009__critères-de-qualité-de-votre-plan-de-sauvegarde.org index f47f509f..2ecf6b8c 100644 --- a/sources/cipherbliss_blog/lang_fr/20250223152009__critères-de-qualité-de-votre-plan-de-sauvegarde.org +++ b/sources/cipherbliss_blog/lang_fr/20250223152009__critères-de-qualité-de-votre-plan-de-sauvegarde.org @@ -1,7 +1,7 @@ #+title: critères-de-qualité-de-votre-plan-de-sauvegarde #+post_ID: -#+post_slug: organisation-de-taches-orgmode +#+post_slug: critères-de-qualité-de-votre-plan-de-sauvegarde #+post_url: https://www.ciperbliss.com/2025/critères-de-qualité-de-votre-plan-de-sauvegarde #+post_title: Critères de qualité de votre plan de sauvegarde #+post_tags: backup, chiffrement diff --git a/sources/cipherbliss_blog/lang_fr/20250228152822__wololo!-convertir-de-l'open-data-en-geojson-vers-des-tags-openstreetmap.org b/sources/cipherbliss_blog/lang_fr/20250228152822__wololo!-convertir-de-l'open-data-en-geojson-vers-des-tags-openstreetmap.org index 89dd7c0f..73233f4b 100644 --- a/sources/cipherbliss_blog/lang_fr/20250228152822__wololo!-convertir-de-l'open-data-en-geojson-vers-des-tags-openstreetmap.org +++ b/sources/cipherbliss_blog/lang_fr/20250228152822__wololo!-convertir-de-l'open-data-en-geojson-vers-des-tags-openstreetmap.org @@ -27,19 +27,19 @@ https://forge.chapril.org/tykayn/wololo Vous pouvez par exemple voir ce que cela donne sur le jeu de données Data Gouv des bornes de recharge pour véhicules électriques qui contient une cinquantaine de propriétés différentes: -#+begin_src bash +#+BEGIN_SRC bash git clone https://forge.chapril.org/tykayn/wololo cd wololo npm install make irve -#+end_src +#+END_SRC Le makefile permet de lancer des scripts prédéfinis sur le point d'entrée principal du projet, du Nodejs écrit en TypeScript à qui on donne un fichier à convertir et une configuration de conversion. -#+begin_src bash +#+BEGIN_SRC bash ts-node convert_to_osm_tags.ts -#+end_src +#+END_SRC Vous avez le fichier geojson qui a suivi les conversions selon le Mapper IRVE, et celui ci contient des tags OpenStreetMap. Ça se passe par ici: https://forge.chapril.org/tykayn/wololo/src/branch/main/mappings/converters/configIRVE.ts @@ -185,7 +185,7 @@ Le projet Wololo permet aussi d'appliquer des conversions sur des geojson issus https://osmose.openstreetmap.fr -* Extraction de données depuis OpenStreetMap +** Extraction de données depuis OpenStreetMap On peut faire des extractions thématiques sur des données OpenStreetMap un peu à la façon Geodatamine. https://geodatamine.fr/ diff --git a/sources/cipherbliss_blog/lang_fr/20250318225529__faire-une-analyse-avec-osmose-backend.org b/sources/cipherbliss_blog/lang_fr/20250318225529__faire-une-analyse-avec-osmose-backend.org index 4fa05a74..f8c6bb19 100644 --- a/sources/cipherbliss_blog/lang_fr/20250318225529__faire-une-analyse-avec-osmose-backend.org +++ b/sources/cipherbliss_blog/lang_fr/20250318225529__faire-une-analyse-avec-osmose-backend.org @@ -43,16 +43,16 @@ docker-compose --project-name essonne run --rm backend ./osmose_run.py --list-an #+END_SRC Vous verrez que plusieurs analyses ont des noms très similaires, ils diffèrent par leur zone géographique car on valide différemment des données selon leur production, qui se fait souvent par zones et par des gens dont l'informatique n'est (généralement) pas du tout le métier. C'est pourquoi concernant la catégorie défibrilateurs vous avez ceci: -#+BEGIN_QUOTE -merge_defibrillators_FR -merge_defibrillators_FR_aedmap -merge_defibrillators_FR_hautesalpes -merge_defibrillators_FR_issylesmoulineaux -merge_defibrillators_FR_lorient -merge_defibrillators_FR_montfort -merge_defibrillators_FR_paris -merge_defibrillators_FR_saintmalo -merge_defibrillators_FR_toulouse +#+BEGIN_QUOTE + merge_defibrillators_FR + merge_defibrillators_FR_aedmap + merge_defibrillators_FR_hautesalpes + merge_defibrillators_FR_issylesmoulineaux + merge_defibrillators_FR_lorient + merge_defibrillators_FR_montfort + merge_defibrillators_FR_paris + merge_defibrillators_FR_saintmalo + merge_defibrillators_FR_toulouse #+END_QUOTE Vous pouvez faire une analyse qui incluera toutes les validation des zones à la fois de cette thématique, ou plus précisément en ne demandant qu'une validation spécifique à une zone, mais pas forcément sur cette zone. Sauf que vous risquez de ne pas avoir de données à comparer. @@ -66,8 +66,11 @@ https://www.cipherbliss.com/2025/contribuer-%c3%a0-un-projet-libre/ Avant d'aller vraiment modifier une analyse, on va faire tourner le projet sur son propre ordi et voir ce qui se passe dans une analayse simple. ** Analyser une zone localement -Disons que l'on veut modifier le Merger "merge_charging_station_FR", et que l'on veut voir ce que donne nos modifications en lançant une analyse. Pour éviter que cela prenne toute la journée, nous allons restreindre le champ d'analyse au patelin perdu de Monaco. -Après une installation locale avec docker-compose du dépot osmose-backend, nous pouvons lancer cette commande qui va demander au point d'entrée principal de faire marcher l'analyse "merge_charging_station_FR" sur la zone "monaco", sans supprimer les données en base si elles existent déjà: + + + +Disons que l'on veut modifier le Merger `merge_charging_station_FR`, et que l'on veut voir ce que donne nos modifications en lançant une analyse. Pour éviter que cela prenne toute la journée, nous allons restreindre le champ d'analyse au patelin perdu de Monaco. +Après une installation locale avec docker-compose du dépot osmose-backend, nous pouvons lancer cette commande qui va demander au point d'entrée principal de faire marcher l'analyse `merge_charging_station_FR` sur la zone `monaco`, sans supprimer les données en base si elles existent déjà: #+BEGIN_SRC shell # je vous passe l'installation de docker et docker-compose diff --git a/sources/dragonfeu_blog/lang_fr/20250223175621__rétrospective-de-blogs.org b/sources/dragonfeu_blog/lang_fr/20250223175621__rétrospective-de-blogs.org index dafc270a..9a86a08d 100644 --- a/sources/dragonfeu_blog/lang_fr/20250223175621__rétrospective-de-blogs.org +++ b/sources/dragonfeu_blog/lang_fr/20250223175621__rétrospective-de-blogs.org @@ -5,7 +5,7 @@ #+title: Rétrospective de blogs #+post_ID: -#+post_slug: organisation-de-taches-orgmode +#+post_slug: rétrospective-de-blogs #+post_url: https://www.ciperbliss.com/2025/rétrospective-de-blogs #+post_title: Rétrospective de blogs #+post_tags: blog, orgmode, gemini, python, bash, dessin diff --git a/sources/dragonfeu_blog/lang_fr/20250223183908__stratégie-de-mitigation-de-l’accident-de-fusion-du-cœur-sur-l’epr.org b/sources/dragonfeu_blog/lang_fr/20250223183908__stratégie-de-mitigation-de-l’accident-de-fusion-du-cœur-sur-l’epr.org index 2e685391..f6d0d60d 100644 --- a/sources/dragonfeu_blog/lang_fr/20250223183908__stratégie-de-mitigation-de-l’accident-de-fusion-du-cœur-sur-l’epr.org +++ b/sources/dragonfeu_blog/lang_fr/20250223183908__stratégie-de-mitigation-de-l’accident-de-fusion-du-cœur-sur-l’epr.org @@ -5,7 +5,7 @@ #+title: Stratégie de mitigation de l’accident de fusion du cœur sur l’EPR #+post_ID: -#+post_slug: organisation-de-taches-orgmode +#+post_slug: stratégie-de-mitigation-de-l’accident-de-fusion-du-cœur-sur-l’epr #+post_url: https://www.ciperbliss.com/2025/stratégie-de-mitigation-de-l’accident-de-fusion-du-cœur-sur-l’epr #+post_title: Stratégie de mitigation de l’accident de fusion du cœur sur l’EPR #+post_tags: nucléaire, fusion, EPR, corium, core catcher diff --git a/sources/qzine_blog/lang_fr/20250131225508__les-récits-de-jeanine-chapitre-4.org b/sources/qzine_blog/lang_fr/20250131225508__les-récits-de-jeanine-chapitre-4.org index 5723e240..e85d7b6a 100644 --- a/sources/qzine_blog/lang_fr/20250131225508__les-récits-de-jeanine-chapitre-4.org +++ b/sources/qzine_blog/lang_fr/20250131225508__les-récits-de-jeanine-chapitre-4.org @@ -1,7 +1,7 @@ #+title: les-récits-de-jeanine-chapitre-4 #+post_ID: -#+post_slug: organisation-de-taches-orgmode +#+post_slug: les-récits-de-jeanine-chapitre-4 #+post_url: https://www.ciperbliss.com/2024/les-récits-de-jeanine-chapitre-4 #+post_title: Les récits de Jeanine - chapitre 4 #+post_tags: récit diff --git a/sources/qzine_blog/lang_fr/20250131225543__les-récits-de-jeanine-chapitre-5.org b/sources/qzine_blog/lang_fr/20250131225543__les-récits-de-jeanine-chapitre-5.org index 317f2976..07261c5b 100644 --- a/sources/qzine_blog/lang_fr/20250131225543__les-récits-de-jeanine-chapitre-5.org +++ b/sources/qzine_blog/lang_fr/20250131225543__les-récits-de-jeanine-chapitre-5.org @@ -1,7 +1,7 @@ #+title: les-récits-de-jeanine-chapitre-5 #+post_ID: -#+post_slug: organisation-de-taches-orgmode +#+post_slug: les-récits-de-jeanine-chapitre-5 #+post_url: https://www.ciperbliss.com/2024/les-récits-de-jeanine-chapitre-5 #+post_title: Les récits de Jeanine - chapitre 5 #+post_tags: récit diff --git a/sources/qzine_blog/lang_fr/20250131225545__les-récits-de-jeanine-chapitre-6.org b/sources/qzine_blog/lang_fr/20250131225545__les-récits-de-jeanine-chapitre-6.org index 2fe2244e..ad836c75 100644 --- a/sources/qzine_blog/lang_fr/20250131225545__les-récits-de-jeanine-chapitre-6.org +++ b/sources/qzine_blog/lang_fr/20250131225545__les-récits-de-jeanine-chapitre-6.org @@ -1,7 +1,7 @@ #+title: les-récits-de-jeanine-chapitre-6 #+post_ID: -#+post_slug: organisation-de-taches-orgmode +#+post_slug: les-récits-de-jeanine-chapitre-6 #+post_url: https://www.ciperbliss.com/2024/les-récits-de-jeanine-chapitre-6 #+post_title: Les récits de Jeanine - chapitre 6 #+post_tags: récit diff --git a/sources/qzine_blog/lang_fr/20250131225547__les-récits-de-jeanine-chapitre-7.org b/sources/qzine_blog/lang_fr/20250131225547__les-récits-de-jeanine-chapitre-7.org index e59dda00..4991a7f0 100644 --- a/sources/qzine_blog/lang_fr/20250131225547__les-récits-de-jeanine-chapitre-7.org +++ b/sources/qzine_blog/lang_fr/20250131225547__les-récits-de-jeanine-chapitre-7.org @@ -1,7 +1,7 @@ #+title: les-récits-de-jeanine-chapitre-7 #+post_ID: -#+post_slug: organisation-de-taches-orgmode +#+post_slug: les-récits-de-jeanine-chapitre-7 #+post_url: https://www.ciperbliss.com/2024/les-récits-de-jeanine-chapitre-7 #+post_title: Les récits de Jeanine - chapitre 7 #+post_tags: diff --git a/sources/qzine_blog/lang_fr/20250131230208__les-récits-de-jeanine-chapitre-12.org b/sources/qzine_blog/lang_fr/20250131230208__les-récits-de-jeanine-chapitre-12.org index f9677c32..720e881d 100644 --- a/sources/qzine_blog/lang_fr/20250131230208__les-récits-de-jeanine-chapitre-12.org +++ b/sources/qzine_blog/lang_fr/20250131230208__les-récits-de-jeanine-chapitre-12.org @@ -1,7 +1,7 @@ #+title: les-récits-de-jeanine-chapitre-12 #+post_ID: -#+post_slug: organisation-de-taches-orgmode +#+post_slug: les-récits-de-jeanine-chapitre-12 #+post_url: https://www.ciperbliss.com/2024/les-récits-de-jeanine-chapitre-12 #+post_title: Les récits de Jeanine - chapitre 12 #+post_tags: diff --git a/sources/qzine_blog/lang_fr/20250131230237__les-récits-de-jeanine-chapitre-13.org b/sources/qzine_blog/lang_fr/20250131230237__les-récits-de-jeanine-chapitre-13.org index e0892da2..9d7def7f 100644 --- a/sources/qzine_blog/lang_fr/20250131230237__les-récits-de-jeanine-chapitre-13.org +++ b/sources/qzine_blog/lang_fr/20250131230237__les-récits-de-jeanine-chapitre-13.org @@ -1,7 +1,7 @@ #+title: les-récits-de-jeanine-chapitre-13 #+post_ID: -#+post_slug: organisation-de-taches-orgmode +#+post_slug: les-récits-de-jeanine-chapitre-13 #+post_url: https://www.ciperbliss.com/2024/les-récits-de-jeanine-chapitre-13 #+post_title: Les récits de Jeanine - chapitre 13 #+post_tags: diff --git a/sources/qzine_blog/lang_fr/20250131230254__les-récits-de-jeanine-chapitre-14.org b/sources/qzine_blog/lang_fr/20250131230254__les-récits-de-jeanine-chapitre-14.org index 88ae4994..3d018824 100644 --- a/sources/qzine_blog/lang_fr/20250131230254__les-récits-de-jeanine-chapitre-14.org +++ b/sources/qzine_blog/lang_fr/20250131230254__les-récits-de-jeanine-chapitre-14.org @@ -1,7 +1,7 @@ #+title: les-récits-de-jeanine-chapitre-14 #+post_ID: -#+post_slug: organisation-de-taches-orgmode +#+post_slug: les-récits-de-jeanine-chapitre-14 #+post_url: https://www.ciperbliss.com/2024/les-récits-de-jeanine-chapitre-14 #+post_title: Les récits de Jeanine - chapitre 14 #+post_tags: diff --git a/sources/qzine_blog/lang_fr/20250131230317__les-récits-de-jeanine-chapitre-15.org b/sources/qzine_blog/lang_fr/20250131230317__les-récits-de-jeanine-chapitre-15.org index 0ef0f4d1..bce32f4a 100644 --- a/sources/qzine_blog/lang_fr/20250131230317__les-récits-de-jeanine-chapitre-15.org +++ b/sources/qzine_blog/lang_fr/20250131230317__les-récits-de-jeanine-chapitre-15.org @@ -1,7 +1,7 @@ #+title: les-récits-de-jeanine-chapitre-15 #+post_ID: -#+post_slug: organisation-de-taches-orgmode +#+post_slug: les-récits-de-jeanine-chapitre-15 #+post_url: https://www.ciperbliss.com/2024/les-récits-de-jeanine-chapitre-15 #+post_title: Les récits de Jeanine - chapitre 15 #+post_tags: diff --git a/sources/qzine_blog/lang_fr/20250131230333__les-récits-de-jeanine-chapitre-16.org b/sources/qzine_blog/lang_fr/20250131230333__les-récits-de-jeanine-chapitre-16.org index ade9ec34..d34db941 100644 --- a/sources/qzine_blog/lang_fr/20250131230333__les-récits-de-jeanine-chapitre-16.org +++ b/sources/qzine_blog/lang_fr/20250131230333__les-récits-de-jeanine-chapitre-16.org @@ -1,7 +1,7 @@ #+title: les-récits-de-jeanine-chapitre-16 #+post_ID: -#+post_slug: organisation-de-taches-orgmode +#+post_slug: les-récits-de-jeanine-chapitre-16 #+post_url: https://www.ciperbliss.com/2024/les-récits-de-jeanine-chapitre-16 #+post_title: Les récits de Jeanine - chapitre 16 #+post_tags: diff --git a/sources/qzine_blog/lang_fr/20250131230353__les-récits-de-jeanine-chapitre-17.org b/sources/qzine_blog/lang_fr/20250131230353__les-récits-de-jeanine-chapitre-17.org index ee123c74..4a29e94b 100644 --- a/sources/qzine_blog/lang_fr/20250131230353__les-récits-de-jeanine-chapitre-17.org +++ b/sources/qzine_blog/lang_fr/20250131230353__les-récits-de-jeanine-chapitre-17.org @@ -1,10 +1,10 @@ #+title: les-récits-de-jeanine-chapitre-17 #+post_ID: -#+post_slug: organisation-de-taches-orgmode +#+post_slug: les-récits-de-jeanine-chapitre-17 #+post_url: https://www.ciperbliss.com/2024/les-récits-de-jeanine-chapitre-17 #+post_title: Les récits de Jeanine - chapitre 17 -#+post_tags: +#+post_tags: récits #+post_type: post #+post_mime_types: #+post_guid: diff --git a/templates/html/article.html.j2 b/templates/html/article.html.j2 index 6e27ecf0..6ad72878 100644 --- a/templates/html/article.html.j2 +++ b/templates/html/article.html.j2 @@ -1,7 +1,4 @@ - - - -{% include 'site_head.j2' %} +{% include 'templates/html/site_head.html.j2' %} diff --git a/templates/styles/style_general.css b/templates/styles/style_general.css index f32156db..68d5309b 100644 --- a/templates/styles/style_general.css +++ b/templates/styles/style_general.css @@ -48,12 +48,17 @@ h6 { line-height: 1.3em; } +.article-title, hr + h1 { margin-top: 5rem; + border-left: 3px solid gray; + padding-left: 3rem; + margin-left: -4rem; } h1:first-letter { text-transform: uppercase; + font-size: 4.5rem; } h1 { @@ -138,6 +143,8 @@ p { text-wrap: pretty; margin-top: 1.5rem; margin-bottom: 1rem; + font-size: 1.25rem; + line-height: 1.75rem; } #root, @@ -315,6 +322,12 @@ q { margin-right: 1rem; } +.site-foot-soutien { + font-size: 0.8rem; + width: 75ch; + max-width: calc(100vw - 6rem); +} + @media (max-width: 75ch) { body { padding: 0; diff --git a/templates/styles/style_general.css.map b/templates/styles/style_general.css.map index f72d45eb..12a01ced 100644 --- a/templates/styles/style_general.css.map +++ b/templates/styles/style_general.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["../styles_src/style_general.scss","../styles_src/_variables.scss"],"names":[],"mappings":";AAAA;AAGA;EACE;EACA;EACA;;AAEA;EAEE;;;AAIJ;EACE,WCCe;EDAf,aCoBiB;;;ADjBnB;EACE;EACA,WCJe;EDKf;EACA,OCtBW;EDuBX,YCtBiB;EDuBjB;EACA,gBCGW;;;ADAb;AAAA;AAAA;AAAA;EAIE,WClBoB;EDmBpB;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;EAME,aCNoB;EDOpB,YCjBW;EDkBX,eChBW;EDiBX,OC3Cc;ED4Cd;EACA;EACA;EACA,aC3BoB;;;AD8BtB;EACE,YCxBW;;;AD2Bb;EACE;;;AAGF;EACE,OC1DiB;ED2DjB,WC5Ca;ED6Cb;;;AAGF;EACE,WChDa;EDiDb;;;AAGF;EACE,WCpDa;EDqDb;;;AAGF;EACE,WC5DkB;ED6DlB;;AAEA;AAAA;AAAA;AAAA;AAAA;EAKE,OCxEY;EDyEZ;EACA,YC7DS;ED8DT,eC9DS;ED+DT;;;AAIJ;AAAA;EAEE;;;AAIF;EACE;EACA,eCrEiB;EDsEjB,OClGW;EDmGX;EACA,SC9EW;;ADgFX;EACE,YCjGkB;EDkGlB,OCxGS;;AD0GT;EACE,OC3GO;;AD+GX;EAEE;EACA;EACA,cC7FS;ED8FT,eC9FS;;ADiGX;EACE;EACA;;;AAIJ;EACE,YC1Fe;;AD4Ff;EACE;EACA,YC/Fe;;;ADmGnB;AAAA;AAAA;AAAA;EAIE;;;AAGF;EACE;EACA;EACA,YCzHW;ED0HX,eC3HW;;;AD8Hb;AAAA;EAEE;;;AAGF;EACE;EACA;;;AAGF;EACE,eCzIW;;AD2IX;EACE;;AAGF;EACE;EACA,cCjJS;;;ADsJb;EACE;;;AAGF;EACE;EACA;;;AAIA;EACE;;;AAKF;EACE,OCrKS;EDsKT,QCtKS;EDuKT,cCzKS;;AD4KX;EACE;EACA;;;AAIJ;EACE,YClLW;EDmLX,eCnLW;EDoLX;;AAEA;EACE;EACA,SC1LS;ED2LT;EACA,eCtLe;;;AD0LnB;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA,SCvMS;;;AD2Mb;EACE;EACA,SC7MW;ED8MX;EACA;;;AAGF;AAAA;EAEE,QCpNW;EDqNX,OC9OiB;ED+OjB;;;AAGF;EACE,YC7Oc;;;ADgPhB;EACE,YCvPiB;EDwPjB,SC3NkB;ED4NlB;EACA,YCjOW;EDkOX,eC5NiB;ED6NjB;;AAEA;EACE;;;AAIJ;EACE;EACA,SC1OW;ED2OX,YClQgB;EDmQhB,OClQkB;;;ADqQpB;EACE,OC/Pc;EDgQd;;;AAGF;EACE;EACA,SCxPW;;;AD2Pb;EACE,YC1PW;ED2PX,eC3PW;;AD6PX;EACE,eC9PS;;;ADkQb;EACE,YCrQW;EDsQX,eCtQW;;ADwQX;EACE;EACA,SC3QS;;;ADkRX;AAAA;EACE;;AAGF;AAAA;EACE;EACA;;AAEA;AAAA;EACE;EACA,SC5RO;;;ADiSb;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA,cCtSW;EDuSX,aCxSW;EDySX,gBCzSW;;;AD4Sb;EACE;;;AAIA;EACE;;AAEA;EACE;;AAIJ;EACE;EACA;EACA,cC7TS;;;ADiUb;EACE;IACE;;EAGF;IACE,SCvUS","file":"style_general.css"} \ No newline at end of file +{"version":3,"sourceRoot":"","sources":["../styles_src/style_general.scss","../styles_src/_variables.scss"],"names":[],"mappings":";AAAA;AAIA;EACE;EACA;EACA;;AAEA;EAEE;;;AAIJ;EACE;EACA,aCmBiB;;;ADhBnB;EACE;EACA,WCLe;EDMf,aCDiB;EDEjB,OCvBW;EDwBX,YCvBiB;EDwBjB;EACA,gBCEW;;;ADCb;AAAA;AAAA;AAAA;EAIE,WCnBoB;EDoBpB;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;EAME,aCPoB;EDQpB,YClBW;EDmBX,eCjBW;EDkBX,OC5Cc;ED6Cd;EACA;EACA;EACA,aC5BoB;;;ADgCtB;AAAA;EAEE,YAvDW;EAwDX;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE,OCjEiB;EDkEjB,WCnDa;EDoDb;;;AAGF;EACE,WCvDa;EDwDb;;;AAGF;EACE,WC3Da;ED4Db;;;AAGF;EACE,WCnEkB;EDoElB;;AAEA;AAAA;AAAA;AAAA;AAAA;EAKE,OC/EY;EDgFZ;EACA,YCpES;EDqET,eCrES;EDsET;;;AAIJ;AAAA;EAEE;;;AAIF;EACE;EACA,eC5EiB;ED6EjB,OCzGW;ED0GX;EACA,SCrFW;;ADuFX;EACE,YCxGkB;EDyGlB,OC/GS;;ADiHT;EACE,OClHO;;ADsHX;EAEE;EACA;EACA,cCpGS;EDqGT,eCrGS;;ADwGX;EACE;EACA;;;AAIJ;EACE,YCjGe;;ADmGf;EACE;EACA,YCtGe;;;AD0GnB;AAAA;AAAA;AAAA;EAIE;;;AAGF;EACE;EACA;EACA,YChIW;EDiIX,eClIW;EDmIX;EACA;;;AAGF;AAAA;EAEE;;;AAGF;EACE;EACA;;;AAGF;EACE,eClJW;;ADoJX;EACE;;AAGF;EACE;EACA,cC1JS;;;AD+Jb;EACE;;;AAGF;EACE;EACA;;;AAIA;EACE;;;AAKF;EACE,OC9KS;ED+KT,QC/KS;EDgLT,cClLS;;ADqLX;EACE;EACA;;;AAIJ;EACE,YC3LW;ED4LX,eC5LW;ED6LX;;AAEA;EACE;EACA,SCnMS;EDoMT;EACA,eC/Le;;;ADmMnB;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA,SChNS;;;ADoNb;EACE;EACA,SCtNW;EDuNX;EACA;;;AAGF;AAAA;EAEE,QC7NW;ED8NX,OCvPiB;EDwPjB;;;AAGF;EACE,YCtPc;;;ADyPhB;EACE,YChQiB;EDiQjB,SCpOkB;EDqOlB;EACA,YC1OW;ED2OX,eCrOiB;EDsOjB;;AAEA;EACE;;;AAIJ;EACE;EACA,SCnPW;EDoPX,YC3QgB;ED4QhB,OC3QkB;;;AD8QpB;EACE,OCxQc;EDyQd;;;AAGF;EACE;EACA,SCjQW;;;ADoQb;EACE,YCnQW;EDoQX,eCpQW;;ADsQX;EACE,eCvQS;;;AD2Qb;EACE,YC9QW;ED+QX,eC/QW;;ADiRX;EACE;EACA,SCpRS;;;AD2RX;AAAA;EACE;;AAGF;AAAA;EACE;EACA;;AAEA;AAAA;EACE;EACA,SCrSO;;;AD0Sb;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA,cC/SW;EDgTX,aCjTW;EDkTX,gBClTW;;;ADqTb;EACE;;;AAIA;EACE;;AAEA;EACE;;AAIJ;EACE;EACA;EACA,cCtUS;;;AD0Ub;EACE;EACA;EACA;;;AAGF;EACE;IACE;;EAGF;IACE,SCtVS","file":"style_general.css"} \ No newline at end of file diff --git a/templates/styles_src/style_general.scss b/templates/styles_src/style_general.scss index d35c7f8d..017c1361 100644 --- a/templates/styles_src/style_general.scss +++ b/templates/styles_src/style_general.scss @@ -1,5 +1,6 @@ /*style général scss*/ @use 'variables' as *; +$spacing-xl: 5rem; * { box-sizing: border-box; @@ -49,14 +50,20 @@ h6 { overflow-wrap: break-word; text-wrap: balance; line-height: $line-height-heading; + } +.article-title, hr+h1 { margin-top: $spacing-xl; + border-left: 3px solid gray; + padding-left: 3rem; + margin-left: -4rem; } h1:first-letter { text-transform: uppercase; + font-size: 4.5rem; } h1 { @@ -149,6 +156,8 @@ p { text-wrap: pretty; margin-top: $spacing-md; margin-bottom: $spacing-sm; + font-size: 1.25rem; + line-height: 1.75rem; } #root, @@ -346,6 +355,12 @@ q { } } +.site-foot-soutien { + font-size: 0.8rem; + width: 75ch; + max-width: calc(100vw - 6rem); +} + @media (max-width: $article-width) { body { padding: 0;