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;