more complex template html

This commit is contained in:
Tykayn 2024-11-10 18:03:31 +01:00 committed by tykayn
parent 22b713fb4a
commit f016f842c9
844 changed files with 8190 additions and 10977 deletions

View file

@ -1,42 +0,0 @@
:PROPERTIES:
:ID: cc798664-c2d0-4a42-9496-902e24f5937c
:END:
#+title: des-sauvegardes-qui-durent-mille-ans
* Article
- ID: 1595
- guid:
- status: publish
- publié le: <2021-09-27 09:22:38>
- modifié: <2021-09-27 09:22:42>
- Index des articles du blog [[id:39e91a2e-d003-4acd-a99a-b58dca74df77][Cipherbliss blog]]
** Des sauvegardes qui durent mille ans
ceci_est_du_html
J'ai animé un atelier au cours du premier camp CHATONS qui a eu lieu le week-end dernier. (Le <a href="https://www.chatons.org/">Collectif des Hébergeurs Alternatifs, Transparents, Ouverts, Neutres et Solidaires</a> vise à rassembler des structures proposant des <strong>services en ligne libres, éthiques et décentralisés</strong> afin de permettre aux utilisateur⋅ices de <a href="https://www.chatons.org/search/by-service">trouver rapidement des alternatives</a> respectueuses de leurs données et de leur vie privée)#+begin_src shell
Pas de compte rendu du camp en lui même pour tout de suite, cependant voici un résumé de l'atelier qui aura duré près d'une heure.<br><a href="https://libreto.sans-nuage.fr/camps-chatons/programme">https://libreto.sans-nuage.fr/camps-chatons/programme</a><br><br>Comment se protéger des pertes de données et ne pas perdre la confiance et les précieuses données des membres de son CHATONS?<br><br>L'atelier aborde la définition d'un modèle de menace pour savoir contre quoi se prémunir, et quels critères de qualité utiliser pour réaliser automatiquement ses sauvegardes en tant que particulier, ou en tant que CHATONS.<br>On y voit de la façon la plus "grand public" à la façon la plus "techno geek" comment récupérer ses données éparpillées en ligne, historiser, chiffrer, dédupliquer, compresser, répliquer, partager les clés d'accès, et prévoir des restaurations périodiques, de sorte que les données les plus cruciales survivent à leurs administrateurs et administratrices.#+begin_src shell
<!-- wp:image {"id":1598,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://www.cipherbliss.com/wp-content/uploads/2021/09/Screenshot_2021-09-27-Les-Sauvegardes-automatiques-Slides-1024x747.jpg" alt="" class="wp-image-1598"/><figcaption>Jancovici et le stockage à froid, une remarquable utilisation des couches géologiquement stables</figcaption></figure>
<!-- /wp:image -->
<br>Liens:<br>Les slides sont disponibles ici:<br><a href="https://slides.com/tykayn/les-sauvegardes-automatiques">https://slides.com/tykayn/les-sauvegardes-automatiques</a><br><br>La feuille de calcul pour cartographier son matériel<br><a href="https://cloud.tykayn.fr/index.php/s/KQfYHpaSpgwrWam">https://cloud.tykayn.fr/index.php/s/KQfYHpaSpgwrWam</a>#+begin_src shell
Le site des CHATONS: <br><a href="https://www.chatons.org">https://www.chatons.org</a>#+begin_src shell
Le forum où tout se discute:<br><a href=" https://forum.chatons.org"> https://forum.chatons.org</a>#+begin_src shell
La documentation pour ne pas réinventer la roue: <br><a href="https://wiki.chatons.org">https://wiki.chatons.org</a>
* Liens
- cipherbliss [[id:d14d8051-bbb9-4279-a574-84d78bfe5b66][Cipherbliss blog]]

View file

@ -1,27 +0,0 @@
:PROPERTIES:
:ID: 1c1c64e6-39cb-4cc8-9398-ba0648f95511
:END:
#+title: nouvelles-doctobre-2021
* Article
- ID: 1600
- guid:
- status: publish
- publié le: <2021-10-23 19:23:07>
- modifié: <2021-10-23 19:38:11>
- Index des articles du blog [[id:39e91a2e-d003-4acd-a99a-b58dca74df77][Cipherbliss blog]]
** Nouvelles d'Octobre 2021
ceci_est_du_html
j'espère que ça roule pour tout le monde en ce début de vacances.<br>J'ai pu faire un atelier sur la création graphique et le dessin à Gometz, et suite à son succès je réitère l'expérience pendant les 4 prochaines semaines et ai publié ces évènements sur l'agenda du libre et sur mobilizon.<br>J'en ai profité aussi pour alimenter le mobilizon d'OSM avec les prochains évènements référencés sur le wiki, l'agenda du libre, microcosm, et d'autres recherches.<br><br>La nouvelle version de Framadate avance, on peut tester les maquettes sur sketch, un outil non libre :D<br><a href="https://www.sketch.com/s/5833607c-e93e-4e9b-9c7e-0614238c6d8c/a/JnbVGxk/play">https://www.sketch.com/s/5833607c-e93e-4e9b-9c7e-0614238c6d8c/a/JnbVGxk/play</a><br>J'ai pas encore de démo qui ressemble vraiment à cette maquette.<br><br>Cependant j'ai avancé sur l'exportateur d'archive mastodon qui fournit des stats et un rendu HTML filtrable à partir du contenu d'une archive mastodon. On peut filtrer les posts selon qu'ils aient des médias attachés ou non, un nombre min et max de caractères, un terme de recherche basique, et on obtient des statistiques sur les tags qu'on a utilisé, ainsi que les gens a qui on a envoyé nos posts mastodon, le tout entièrement hors ligne.<br><a href="https://forge.chapril.org/tykayn/mastodon-archive-stats">https://forge.chapril.org/tykayn/mastodon-archive-stats</a><br><br>Et j'ai enfin pu participer a une réunion mensuelle CHATONS, victoire! du coup y'a de l'activité à suivre sur le forum chatons :D<br><a href="https://forum.chatons.org">https://forum.chatons.org</a>#+begin_src shell
On prévoit de lancer le premier chapéro parisien de l'année en Novembre, voir les détails sur le forum.<br><br>J'avance sur ma gestion de tâches avec emacs / orgmode. Le chemin est long mais ça vaut le coup.<br><br>et vous quoi de beau?
* Liens
- cipherbliss [[id:d14d8051-bbb9-4279-a574-84d78bfe5b66][Cipherbliss blog]]

View file

@ -1,41 +0,0 @@
:PROPERTIES:
:ID: 8ec7ed54-3036-4063-826a-97736ae3d024
:END:
#+title: video-du-premier-chatons-camp-2021
#+post_ID: 1606
#+post_slug: video-du-premier-chatons-camp-2021
#+post_url: https://www.ciperbliss.com/2021/video-du-premier-chatons-camp-2021
#+post_title: Vidéo du premier CHATONS Camp 2021
#+post_type: post
#+post_mime_types:
#+post_guid: https://www.cipherbliss.com/?p=1606
#+post_status: publish
#+post_date_published: <2021-10-23 19:50:28>
#+post_date_modified: <2021-10-23 19:50:28>
#+post_index_page_roam_id: [[id:af49c64c-d6d5-479c-8661-047ea8d6dc41][Cipherbliss blog]]
#+not_converted: true
#+retrieved_from_db_at: <2024-11-07 15:16:25>
* Vidéo du premier CHATONS Camp 2021
<<error-block>> * :PROPERTIES: :CUSTOM_ID: error-title :END: <<error-content>> <<video-password-block>> * :PROPERTIES: :CUSTOM_ID: video-password-title :END: <<video-password-content>> <<video-password-error>> [[data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0cmVtIiBoZWlnaHQ9IjRyZW0iIHZpZXdib3g9IjAgMCAyNCAyNCI+PGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjYzRjNGM0IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiI+PHJlY3Qgd2lkdGg9IjE4IiBoZWlnaHQ9IjExIiB4PSIzIiB5PSIxMSIgcng9IjIiIHJ5PSIyIj48L3JlY3Q+PHBhdGggZD0iTTcgMTFWN2E1IDUgMCAwIDEgMTAgMHY0Ij48L3BhdGg+PC9nPjwvc3ZnPg==]] <<video-wrapper>>
Voici un premier aperçu du camp CHATONS qui a eu lieu dans l'éco lieu du Vigan, nommé la fabrègue. On peut m'y voir faire mon atelier sur les backups qui durent mille ans, un prérequis pour fonder son propre CHATONS.
Je vous en dirai plus un peu plus tard mais c'était tellement chouette ces quelques 3 jours pour faire ensemble plein de choses, découvrir les initatives existantes pour se libérer des GAFAM et apprendre les uns des autres, le tout dans une ambiance super décontractée, avec un lieu incroyablement prometteur.
Voici quelques éléments en plus, vous en trouverez bien d'autres sur le forum des chatons. [[https://forum.chatons.org]]
- la [[https://video.colibris-outilslibres.org/w/u3HfhsQgKZkKZxsNf29D8G][vidéo de présentation du collectif Chatons 12]] , déjà 168 vues en 3 jours, soit l'équivalent du million sur youtube o/ - les restitutions des souvenirs du futur des chatons en 2031, [[https://video.colibris-outilslibres.org/w/6SkAsiKdTrfueyJsiC6b8a][groupe 1]], [[https://video.colibris-outilslibres.org/w/ckzGy9msoigFQ3Xrx6qmQT][groupe 2]], [[https://video.colibris-outilslibres.org/w/292CD5GY48M838HLgqNASn][groupe ]] - [[https://photos.colibris-outilslibres.org/index.php?/category/409][les photos]]
Tout est disponible sous licence CC BY SA (Attribution Edouard Marchal).
[[https://forum.chatons.org/c/collectif/camp-chatons-2021/85]]

View file

@ -1,70 +0,0 @@
:PROPERTIES:
:ID: 789edaff-5ac7-45d4-ae0b-93607f254a20
:END:
#+title: programme-pour-une-annee-2022-moins-pire
#+title: programme-pour-une-annee-2022-moins-pire
#+post_ID: 1614
#+post_slug: programme-pour-une-annee-2022-moins-pire
#+post_url: https://www.ciperbliss.com/2022/programme-pour-une-annee-2022-moins-pire
#+post_title: Programme pour une année 2022 moins pire
#+post_type: post
#+post_mime_types:
#+post_guid: https://www.cipherbliss.com/?p=1614
#+post_status: publish
#+post_date_published: <2022-01-06 18:35:54>
#+post_date_modified: <2022-01-06 21:14:35>
#+post_index_page_roam_id: [[id:af49c64c-d6d5-479c-8661-047ea8d6dc41][Cipherbliss blog]]
#+not_converted: true
#+retrieved_from_db_at: <2024-11-07 15:16:25>
* Programme pour une année 2022 moins pire
Woof, que de choses se sont passées cette année
Migration d'un système de gestion de projets depuis Getting Things Gnome vers des fichiers Orgmode dans Emacs, qui reste une chose compliquée et nécessitant de nombreux ajustements pour en avoir une utilisation efficace.
Plein de donations envoyées à des assos, ainsi que des créateurs et créatrices (comme Wikimedia, Archive.org, Gnupg, La quadrature du net, Nos Oignons, Framasoft, Openstreetmap, les voix du nucléaire, Le Réveilleur, Méta de choc...) pour un montant total d'environ 1500€ dans l'année passée.
Aucune donation reçue sur le compte liberapay de cipherbliss cette année comparée à l'année précédente. Si vous trouvez que les services déployés par mon entreprise et que ce que l'on fait ici vous est utile, je vous invite à nous faire un don par ici:
https://liberapay.com/cipherbliss
ça nous aide à payer les infrastructures (700€ par an pour mastodon, peertube, leurs backups et d'autres choses à venir) dégager d'avantage de temps à la modération des service, leur maintenance, la mise en place d'ateliers gratuits d'éducation populaire et l'amélioration de logiciels libres.
Le boulot, c'était pas évident durant 2020, mais au final ça a pu se faire à peu près normalement et à quasi 100% en télétravail, avec d'avantage de missions en direct avec le client, ce qui est mieux sur beaucoup de points quand on est freelance.
Alors que d'habitude des tas de boites me contactent régulièrement, même si j'affiche ne pas être disponible, c'était le calme plat pendant les premières périodes de confinement, soit les trois quarts de 2020.
2021 s'est déroulé un brin plus normalement de ce côté là.
Et la famille, bah ça se passe.
Les amis, on les voit un peu plus quand y'a pas moult contaminations de partout et moyens de santé publique défoncés. Donc pas hyper souvent non plus.
Et le turfu pour cette année?
Premièrement, réaliser au moins un café vie privée dans des petits patelins d'Essonne.
[[https://www.cipherbliss.com/wp-content/uploads/2022/01/affiche-724x1024.jpg]]
Le premier aura lieu le Samedi 22 Janvier, voilà son évènement mobilizon.
https://mobilizon.chapril.org/events/8ca0c0e3-3c3e-4ec1-92bd-13507f1a3a08
Ça causera gestionnaire de mot de passe et vie privée en général.
Puis sortir une version bêta pour Framadate funky, sous un nom à définir avec la DINUM.
Compléter mon wiki personnel, publier des tas de dessins et leurs sources numériques.
Faire davantage de vélo, voir un peu plus de monde. Et on sera déjà bien.
Et vous, que prévoyez vous de beau cette année?
Allez à tantôt!
#+end_src

View file

@ -0,0 +1,13 @@
:PROPERTIES:
:ID: 8e220f62-f0fc-4394-8bdf-f9b3db30711e
:END:
#+TITLE: Création d'un blog gemini
#+CREATED: 2024-11-03 12:41:56
#+SLUG: création-d'un-blog-gemini
#+BLOG: cipherbliss_blog
* Création d'un blog gemini
Et hop, un générateur qui fait le café à partir de fichiers orgmode ou markdown.
[2024-11-03]

View file

@ -1,34 +0,0 @@
:PROPERTIES:
:ID: a780bfd3-bc68-45f1-a131-8abb3d8c15bd
:END:
#+TITLE: Ressources de café vie privée
#+CREATED: <2024-11-09 23:09:37>
#+TAGS:
#+SLUG: ressources-de-café-vie-privée
#+BLOG: cipherbliss_blog
* Ressources de café vie privée
Voici de quoi se repérer dans la jungle des notions voisines à celle de la vie privée.
Vous retrouverez ici de nombreuses notions abordées lors des cafés vie privée que janime, avec dautres personnes intéressées par les les enjeux autour des logiciels libres et des communs, tel que le groupe [[https://web.archive.org/web/20240617080716/https://www.liness.org/][Liness]] en Essonne.
Les slides de mes présentations et les autres fichiers de support de présentation sont disponibles dans [[https://web.archive.org/web/20240617080716/https://cloud.tykayn.fr/index.php/s/FQ57cqXmJ6ngDfo][le dossier de partage nextcloud]]: [[https://web.archive.org/web/20240617080716/https://cloud.tykayn.fr/index.php/s/FQ57cqXmJ6ngDfo][https://cloud.tykayn.fr/index.php/s/FQ57cqXmJ6ngDfo]]
Vous pouvez me contacter via les divers moyens listés dans [[https://web.archive.org/web/20240617080716/https://www.cipherbliss.com/contact][la page dédiée aux moyens de contact]].
Dans un café vie privée on vulgarise auprès du grand public des enjeux et des notions autour de la vie privée et des technologies numériques. Voici quelques sujets régulièrement abordés dans les ateliers:
Comprendre les dangers dun monde sans vie privée répandu sous la fameuse idée que l' »on a rien à cacher », communiquer de façon sécurisée, réaliser des sauvegardes automatiques, comprendre larchitecture dinternet et du web, contribuer au libre, défendre le droit daccès à linformation de qualité, comprendre les sciences, sortir des GAFAM, adopter [[https://web.archive.org/web/20240617080716/https://www.chatons.org/][les CHATONS]], protéger des accès avec des [[https://web.archive.org/web/20240617080716/https://www.cipherbliss.com/comment-ne-plus-perdre-de-temps-avec-ses-mots-de-passe/][gestionnaires de mot de passe]], sortir des bulles de filtrage des médias sociaux, récupérer son temps dattention, suivre les évolutions juridiques et les atteintes aux libertés fondamentales, remettre la solidarité humaine et lémancipation au cœur des enjeux de société.
Des évènements et groupes de personnes similaires peuvent être retrouvés dans l[[https://web.archive.org/web/20240617080716/https://www.agendadulibre.org/][agenda du libre]] et dans le fédiverse.
Des recettes de cookies sous licence libre, la fameuse pâtisserie qui habite dans nos navigateurs web : [[https://web.archive.org/web/20240617080716/https://www.cuisine-libre.org/cookies][https://www.cuisine-libre.org/cookies]]
Trouver des alternatives aux logiciels privateurs: [[https://web.archive.org/web/20240617080716/https://alternativeto.net/][https://alternativeto.net]]
Le covoiturage libre: [[https://web.archive.org/web/20240617080716/https://www.mobicoop.fr/][https://www.mobicoop.fr]]
Sci hub pour libérer laccès aux publications scientifiques: [[https://web.archive.org/web/20240617080716/https://sci-hub.hkvisa.net/][https://sci-hub.hkvisa.net]]
Bon voyage sur les internets!

View file

@ -1,14 +0,0 @@
:PROPERTIES:
:ID: 89b4761f-1d03-476c-afa5-7dbb141d76c0
:END:
#+TITLE: Tags
#+CREATED: <2024-11-09 23:11:10>
#+TAGS:
#+SLUG: tags
#+BLOG: cipherbliss_blog
* Tags
**** Étiquettes
[[/tag/ai/][AI]] [[/tag/archives/][archives]] [[/tag/autohebergement/][autohébergement]] [[/tag/backup/][backup]] [[/tag/blockchain/][blockchain]] [[/tag/borg/][borg]] [[/tag/caisse/][caisse]] [[/tag/comptabilite/][comptabilité]] [[/tag/comptes/][comptes]] [[/tag/data-visualisation/][data visualisation]] [[/tag/design/][design]] [[/tag/email/][email]] [[/tag/entreprise/][entreprise]] [[/tag/entreprise-individuelle/][entreprise individuelle]] [[/tag/ethereum/][ethereum]] [[/tag/facebook/][facebook]] [[/tag/factures/][factures]] [[/tag/floss/][FLOSS]] [[/tag/fediverse/][fédiverse]] [[/tag/gestion-de-projet/][gestion de projet]] [[/tag/gestion-du-temps/][gestion du temps]] [[/tag/gestionnaire-de-mot-de-passe/][gestionnaire de mot de passe]] [[/tag/gimp/][gimp]] [[/tag/git/][git]] [[/tag/logiciellibre/][logiciellibre]] [[/tag/logiciel-libre/][logiciel libre]] [[/tag/mastodon/][mastodon]] [[/tag/mobilizon/][mobilizon]] [[/tag/mot-de-passe/][mot de passe]] [[/tag/mysql/][mysql]] [[/tag/nextcloud/][nextcloud]] [[/tag/open-source/][open source]] [[/tag/openstreetmap/][openstreetmap]] [[/tag/orgmode/][orgmode]] [[/tag/osm/][OSM]] [[/tag/photos/][photos]] [[/tag/pim/][pim]] [[/tag/projet/][projet]] [[/tag/prevision/][prévision]] [[/tag/python/][python]] [[/tag/reseau-social/][réseau social]] [[/tag/sauvegardes/][sauvegardes]] [[/tag/script/][script]] [[/tag/ux/][UX]] [[/tag/vie-privee/][vie privée]]

View file

@ -1,82 +0,0 @@
:PROPERTIES:
:ID: 39744df0-f5c4-4e9b-9ca2-3aec58319751
:END:
#+TITLE: Connaître la couleur des jours EDF Tempo en ligne de commande
#+CREATED: <2024-11-09 23:16:03>
#+TAGS:
#+SLUG: connaître-la-couleur-des-jours-edf-tempo-en-ligne-de-commande
#+BLOG: cipherbliss_blog
* Connaître la couleur des jours EDF Tempo en ligne de commande
EDF expose une API pour connaître les couleurs de jour TEMPO, mais cette api n'est pas bien référencée sur le wouaib, ce sont donc des sites qui n'ont rien à voir qui vous donneront cette info avec moult trackers et pubs de partout.
Voici l'url dont vous avez besoin:
> https://api-commerce.edf.fr/commerce/activet/v1/calendrier-jours-effacement?option=TEMPO&dateApplicationBorneInf={date_inférieure}&dateApplicationBorneSup={date_supérieure}&identifiantConsommateur=src
Cette API de commerce EDF ne fonctionne que si vous demandez des dates ayant 365 jours d'écart de différence, et si vous ne mettez pas de zéro précédant le numéro de journée au format année-mois-jour.
Autre limitation, la couleur du jour du lendemain vous sera donnée seulement à partir de 11h du matin dans la journée.
Fabriquez vous un petit script en python pour aller pêcher ce calendrier, piocher les couleurs des deux derniers jours. Il vous suffira d'un alias de commande pour lancer "python mon_script_tempo.py" en ayant le dossier où le script est placé dans votre variable d'environnement PATH.
#+begin_src python
import requests
import json
from datetime import datetime, timedelta
def date_il_y_a_un_an(date):
date_obj = datetime.strptime(date, "%Y-%m-%d")
date_il_y_a_un_an = date_obj - timedelta(days=365)
return date_il_y_a_un_an.strftime("%Y-%m-%d")
def get_tempo_for_today_and_tomorrow():
# Obtenir la date d'aujourd'hui
datenow = datetime.now()
sup = (datenow + timedelta(days=1))
inf = date_il_y_a_un_an(datenow.strftime("%Y-%m-%d"))
# Obtenir la date de demain
sup = sup.strftime("%Y-%m-%d")
sup = sup.replace("-0", "-")
inf = inf.replace("-0", "-")
# print("Date inf :", inf)
# print("Date sup:", sup)
# URL de l'API d'EDF pour récupérer les informations sur les couleurs des jours de l'offre Tempo
url = f"https://api-commerce.edf.fr/commerce/activet/v1/calendrier-jours-effacement?option=TEMPO&dateApplicationBorneInf={inf}&dateApplicationBorneSup={sup}&identifiantConsommateur=src"
print(url)
# Effectuer la requête HTTP et récupérer la réponse JSON
response = requests.get(url)
data = json.loads(response.text)
# Récupérer la liste des couleurs des jours pour les 30 prochains jours
calendrier = data["content"]["options"][0]["calendrier"]
texte_retour=""
# # Afficher les couleurs des jours pour le prochain jour
for jour in calendrier[-2:]:
date = jour["dateApplication"]
code_couleur = jour["statut"]
if code_couleur == "TEMPO_BLEU":
texte_retour+=(f"\033[34m{date}: journée {code_couleur}\033[0m\n")
elif code_couleur == "TEMPO_BLANC":
texte_retour+=(f"\033[37m{date}: journée {code_couleur}\033[0m\n")
elif code_couleur == "TEMPO_ROUGE":
texte_retour+=(f"\033[31m{date}: journée {code_couleur}\033[0m\n")
else:
texte_retour+=(f"{date}: journée {code_couleur}")
return texte_retour
texte = get_tempo_for_today_and_tomorrow()
print(texte)
#+end_src
Bonne réduction des pointes de conso!

View file

@ -4,7 +4,7 @@
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>des-sauvegardes-qui-durent-mille-ans</title>
<title>cipherbliss_blog</title>
<style>
html {
color: #1a1a1a;
@ -166,7 +166,7 @@
</head>
<body>
<header id="title-block-header">
<h1 class="title">des-sauvegardes-qui-durent-mille-ans</h1>
<h1 class="title">cipherbliss_blog</h1>
</header>
<h1 id="article">Article</h1>
<ul>

View file

@ -1,222 +0,0 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>nouvelles-doctobre-2021</title>
<style>
html {
color: #1a1a1a;
background-color: #fdfdfd;
}
body {
margin: 0 auto;
max-width: 36em;
padding-left: 50px;
padding-right: 50px;
padding-top: 50px;
padding-bottom: 50px;
hyphens: auto;
overflow-wrap: break-word;
text-rendering: optimizeLegibility;
font-kerning: normal;
}
@media (max-width: 600px) {
body {
font-size: 0.9em;
padding: 12px;
}
h1 {
font-size: 1.8em;
}
}
@media print {
html {
background-color: white;
}
body {
background-color: transparent;
color: black;
font-size: 12pt;
}
p, h2, h3 {
orphans: 3;
widows: 3;
}
h2, h3, h4 {
page-break-after: avoid;
}
}
p {
margin: 1em 0;
}
a {
color: #1a1a1a;
}
a:visited {
color: #1a1a1a;
}
img {
max-width: 100%;
}
h1, h2, h3, h4, h5, h6 {
margin-top: 1.4em;
}
h5, h6 {
font-size: 1em;
font-style: italic;
}
h6 {
font-weight: normal;
}
ol, ul {
padding-left: 1.7em;
margin-top: 1em;
}
li > ol, li > ul {
margin-top: 0;
}
blockquote {
margin: 1em 0 1em 1.7em;
padding-left: 1em;
border-left: 2px solid #e6e6e6;
color: #606060;
}
code {
font-family: Menlo, Monaco, Consolas, 'Lucida Console', monospace;
font-size: 85%;
margin: 0;
hyphens: manual;
}
pre {
margin: 1em 0;
overflow: auto;
}
pre code {
padding: 0;
overflow: visible;
overflow-wrap: normal;
}
.sourceCode {
background-color: transparent;
overflow: visible;
}
hr {
background-color: #1a1a1a;
border: none;
height: 1px;
margin: 1em 0;
}
table {
margin: 1em 0;
border-collapse: collapse;
width: 100%;
overflow-x: auto;
display: block;
font-variant-numeric: lining-nums tabular-nums;
}
table caption {
margin-bottom: 0.75em;
}
tbody {
margin-top: 0.5em;
border-top: 1px solid #1a1a1a;
border-bottom: 1px solid #1a1a1a;
}
th {
border-top: 1px solid #1a1a1a;
padding: 0.25em 0.5em 0.25em 0.5em;
}
td {
padding: 0.125em 0.5em 0.25em 0.5em;
}
header {
margin-bottom: 4em;
text-align: center;
}
#TOC li {
list-style: none;
}
#TOC ul {
padding-left: 1.3em;
}
#TOC > ul {
padding-left: 0;
}
#TOC a:not(:hover) {
text-decoration: none;
}
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
div.columns{display: flex; gap: min(4vw, 1.5em);}
div.column{flex: auto; overflow-x: auto;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
/* The extra [class] is a hack that increases specificity enough to
override a similar rule in reveal.js */
ul.task-list[class]{list-style: none;}
ul.task-list li input[type="checkbox"] {
font-size: inherit;
width: 0.8em;
margin: 0 0.8em 0.2em -1.6em;
vertical-align: middle;
}
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
</style>
</head>
<body>
<header id="title-block-header">
<h1 class="title">nouvelles-doctobre-2021</h1>
</header>
<h1 id="article">Article</h1>
<ul>
<li>ID: 1600</li>
<li>guid:</li>
<li>status: publish</li>
<li>publié le: &lt;2021-10-23 19:23:07&gt;</li>
<li>modifié: &lt;2021-10-23 19:38:11&gt;</li>
<li>Index des articles du blog <a
href="id:39e91a2e-d003-4acd-a99a-b58dca74df77">Cipherbliss blog</a></li>
</ul>
<h2 id="nouvelles-doctobre-2021-1">Nouvelles d'Octobre 2021</h2>
<p>ceci<sub>estduhtml</sub></p>
<p>j'espère que ça roule pour tout le monde en ce début de
vacances.&lt;br&gt;J'ai pu faire un atelier sur la création graphique et
le dessin à Gometz, et suite à son succès je réitère l'expérience
pendant les 4 prochaines semaines et ai publié ces évènements sur
l'agenda du libre et sur mobilizon.&lt;br&gt;J'en ai profité aussi pour
alimenter le mobilizon d'OSM avec les prochains évènements référencés
sur le wiki, l'agenda du libre, microcosm, et d'autres
recherches.&lt;br&gt;&lt;br&gt;La nouvelle version de Framadate avance,
on peut tester les maquettes sur sketch, un outil non libre
:D&lt;br&gt;&lt;a href="<a
href="https://www.sketch.com/s/5833607c-e93e-4e9b-9c7e-0614238c6d8c/a/JnbVGxk/play">https://www.sketch.com/s/5833607c-e93e-4e9b-9c7e-0614238c6d8c/a/JnbVGxk/play</a>"&gt;<a
href="https://www.sketch.com/s/5833607c-e93e-4e9b-9c7e-0614238c6d8c/a/JnbVGxk/play">https://www.sketch.com/s/5833607c-e93e-4e9b-9c7e-0614238c6d8c/a/JnbVGxk/play</a>&lt;/a&gt;&lt;br&gt;J'ai
pas encore de démo qui ressemble vraiment à cette
maquette.&lt;br&gt;&lt;br&gt;Cependant j'ai avancé sur l'exportateur
d'archive mastodon qui fournit des stats et un rendu HTML filtrable à
partir du contenu d'une archive mastodon. On peut filtrer les posts
selon qu'ils aient des médias attachés ou non, un nombre min et max de
caractères, un terme de recherche basique, et on obtient des
statistiques sur les tags qu'on a utilisé, ainsi que les gens a qui on a
envoyé nos posts mastodon, le tout entièrement hors
ligne.&lt;br&gt;&lt;a href="<a
href="https://forge.chapril.org/tykayn/mastodon-archive-stats">https://forge.chapril.org/tykayn/mastodon-archive-stats</a>"&gt;<a
href="https://forge.chapril.org/tykayn/mastodon-archive-stats">https://forge.chapril.org/tykayn/mastodon-archive-stats</a>&lt;/a&gt;&lt;br&gt;&lt;br&gt;Et
j'ai enfin pu participer a une réunion mensuelle CHATONS, victoire! du
coup y'a de l'activité à suivre sur le forum chatons :D&lt;br&gt;&lt;a
href="<a
href="https://forum.chatons.org">https://forum.chatons.org</a>"&gt;<a
href="https://forum.chatons.org">https://forum.chatons.org</a>&lt;/a&gt;#+begin<sub>src</sub>
shell</p>
<p>On prévoit de lancer le premier chapéro parisien de l'année en
Novembre, voir les détails sur le forum.&lt;br&gt;&lt;br&gt;J'avance sur
ma gestion de tâches avec emacs / orgmode. Le chemin est long mais ça
vaut le coup.&lt;br&gt;&lt;br&gt;et vous quoi de beau?</p>
<h1 id="liens">Liens</h1>
<ul>
<li>cipherbliss <a
href="id:d14d8051-bbb9-4279-a574-84d78bfe5b66">Cipherbliss blog</a></li>
</ul>
</body>
</html>

View file

@ -1,213 +0,0 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>video-du-premier-chatons-camp-2021</title>
<style>
html {
color: #1a1a1a;
background-color: #fdfdfd;
}
body {
margin: 0 auto;
max-width: 36em;
padding-left: 50px;
padding-right: 50px;
padding-top: 50px;
padding-bottom: 50px;
hyphens: auto;
overflow-wrap: break-word;
text-rendering: optimizeLegibility;
font-kerning: normal;
}
@media (max-width: 600px) {
body {
font-size: 0.9em;
padding: 12px;
}
h1 {
font-size: 1.8em;
}
}
@media print {
html {
background-color: white;
}
body {
background-color: transparent;
color: black;
font-size: 12pt;
}
p, h2, h3 {
orphans: 3;
widows: 3;
}
h2, h3, h4 {
page-break-after: avoid;
}
}
p {
margin: 1em 0;
}
a {
color: #1a1a1a;
}
a:visited {
color: #1a1a1a;
}
img {
max-width: 100%;
}
h1, h2, h3, h4, h5, h6 {
margin-top: 1.4em;
}
h5, h6 {
font-size: 1em;
font-style: italic;
}
h6 {
font-weight: normal;
}
ol, ul {
padding-left: 1.7em;
margin-top: 1em;
}
li > ol, li > ul {
margin-top: 0;
}
blockquote {
margin: 1em 0 1em 1.7em;
padding-left: 1em;
border-left: 2px solid #e6e6e6;
color: #606060;
}
code {
font-family: Menlo, Monaco, Consolas, 'Lucida Console', monospace;
font-size: 85%;
margin: 0;
hyphens: manual;
}
pre {
margin: 1em 0;
overflow: auto;
}
pre code {
padding: 0;
overflow: visible;
overflow-wrap: normal;
}
.sourceCode {
background-color: transparent;
overflow: visible;
}
hr {
background-color: #1a1a1a;
border: none;
height: 1px;
margin: 1em 0;
}
table {
margin: 1em 0;
border-collapse: collapse;
width: 100%;
overflow-x: auto;
display: block;
font-variant-numeric: lining-nums tabular-nums;
}
table caption {
margin-bottom: 0.75em;
}
tbody {
margin-top: 0.5em;
border-top: 1px solid #1a1a1a;
border-bottom: 1px solid #1a1a1a;
}
th {
border-top: 1px solid #1a1a1a;
padding: 0.25em 0.5em 0.25em 0.5em;
}
td {
padding: 0.125em 0.5em 0.25em 0.5em;
}
header {
margin-bottom: 4em;
text-align: center;
}
#TOC li {
list-style: none;
}
#TOC ul {
padding-left: 1.3em;
}
#TOC > ul {
padding-left: 0;
}
#TOC a:not(:hover) {
text-decoration: none;
}
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
div.columns{display: flex; gap: min(4vw, 1.5em);}
div.column{flex: auto; overflow-x: auto;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
/* The extra [class] is a hack that increases specificity enough to
override a similar rule in reveal.js */
ul.task-list[class]{list-style: none;}
ul.task-list li input[type="checkbox"] {
font-size: inherit;
width: 0.8em;
margin: 0 0.8em 0.2em -1.6em;
vertical-align: middle;
}
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
</style>
</head>
<body>
<header id="title-block-header">
<h1 class="title">video-du-premier-chatons-camp-2021</h1>
</header>
<h1 id="vidéo-du-premier-chatons-camp-2021">Vidéo du premier CHATONS
Camp 2021</h1>
<p><span id="error-block"></span>* :PROPERTIES: :CUSTOM<sub>ID</sub>:
error-title :END: <span id="error-content"></span><span
id="video-password-block"></span>* :PROPERTIES: :CUSTOM<sub>ID</sub>:
video-password-title :END: <span
id="video-password-content"></span><span
id="video-password-error"></span><a
href="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0cmVtIiBoZWlnaHQ9IjRyZW0iIHZpZXdib3g9IjAgMCAyNCAyNCI+PGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjYzRjNGM0IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiI+PHJlY3Qgd2lkdGg9IjE4IiBoZWlnaHQ9IjExIiB4PSIzIiB5PSIxMSIgcng9IjIiIHJ5PSIyIj48L3JlY3Q+PHBhdGggZD0iTTcgMTFWN2E1IDUgMCAwIDEgMTAgMHY0Ij48L3BhdGg+PC9nPjwvc3ZnPg==">data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0cmVtIiBoZWlnaHQ9IjRyZW0iIHZpZXdib3g9IjAgMCAyNCAyNCI+PGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjYzRjNGM0IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiI+PHJlY3Qgd2lkdGg9IjE4IiBoZWlnaHQ9IjExIiB4PSIzIiB5PSIxMSIgcng9IjIiIHJ5PSIyIj48L3JlY3Q+PHBhdGggZD0iTTcgMTFWN2E1IDUgMCAwIDEgMTAgMHY0Ij48L3BhdGg+PC9nPjwvc3ZnPg==</a>
<span id="video-wrapper"></span></p>
<p>Voici un premier aperçu du camp CHATONS qui a eu lieu dans l'éco lieu
du Vigan, nommé la fabrègue. On peut m'y voir faire mon atelier sur les
backups qui durent mille ans, un prérequis pour fonder son propre
CHATONS.</p>
<p>Je vous en dirai plus un peu plus tard mais c'était tellement
chouette ces quelques 3 jours pour faire ensemble plein de choses,
découvrir les initatives existantes pour se libérer des GAFAM et
apprendre les uns des autres, le tout dans une ambiance super
décontractée, avec un lieu incroyablement prometteur.</p>
<p>Voici quelques éléments en plus, vous en trouverez bien d'autres sur
le forum des chatons. <a
href="https://forum.chatons.org">https://forum.chatons.org</a></p>
<ul>
<li>la <a
href="https://video.colibris-outilslibres.org/w/u3HfhsQgKZkKZxsNf29D8G">vidéo
de présentation du collectif Chatons 12</a> , déjà 168 vues en 3 jours,
soit l'équivalent du million sur youtube o/ - les restitutions des
souvenirs du futur des chatons en 2031, <a
href="https://video.colibris-outilslibres.org/w/6SkAsiKdTrfueyJsiC6b8a">groupe
1</a>, <a
href="https://video.colibris-outilslibres.org/w/ckzGy9msoigFQ3Xrx6qmQT">groupe
2</a>, <a
href="https://video.colibris-outilslibres.org/w/292CD5GY48M838HLgqNASn">groupe </a>
- <a
href="https://photos.colibris-outilslibres.org/index.php?/category/409">les
photos</a></li>
</ul>
<p>Tout est disponible sous licence CC BY SA (Attribution Edouard
Marchal).</p>
<p><a
href="https://forum.chatons.org/c/collectif/camp-chatons-2021/85">https://forum.chatons.org/c/collectif/camp-chatons-2021/85</a></p>
</body>
</html>

View file

@ -1,226 +0,0 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>programme-pour-une-annee-2022-moins-pire programme-pour-une-annee-2022-moins-pire</title>
<style>
html {
color: #1a1a1a;
background-color: #fdfdfd;
}
body {
margin: 0 auto;
max-width: 36em;
padding-left: 50px;
padding-right: 50px;
padding-top: 50px;
padding-bottom: 50px;
hyphens: auto;
overflow-wrap: break-word;
text-rendering: optimizeLegibility;
font-kerning: normal;
}
@media (max-width: 600px) {
body {
font-size: 0.9em;
padding: 12px;
}
h1 {
font-size: 1.8em;
}
}
@media print {
html {
background-color: white;
}
body {
background-color: transparent;
color: black;
font-size: 12pt;
}
p, h2, h3 {
orphans: 3;
widows: 3;
}
h2, h3, h4 {
page-break-after: avoid;
}
}
p {
margin: 1em 0;
}
a {
color: #1a1a1a;
}
a:visited {
color: #1a1a1a;
}
img {
max-width: 100%;
}
h1, h2, h3, h4, h5, h6 {
margin-top: 1.4em;
}
h5, h6 {
font-size: 1em;
font-style: italic;
}
h6 {
font-weight: normal;
}
ol, ul {
padding-left: 1.7em;
margin-top: 1em;
}
li > ol, li > ul {
margin-top: 0;
}
blockquote {
margin: 1em 0 1em 1.7em;
padding-left: 1em;
border-left: 2px solid #e6e6e6;
color: #606060;
}
code {
font-family: Menlo, Monaco, Consolas, 'Lucida Console', monospace;
font-size: 85%;
margin: 0;
hyphens: manual;
}
pre {
margin: 1em 0;
overflow: auto;
}
pre code {
padding: 0;
overflow: visible;
overflow-wrap: normal;
}
.sourceCode {
background-color: transparent;
overflow: visible;
}
hr {
background-color: #1a1a1a;
border: none;
height: 1px;
margin: 1em 0;
}
table {
margin: 1em 0;
border-collapse: collapse;
width: 100%;
overflow-x: auto;
display: block;
font-variant-numeric: lining-nums tabular-nums;
}
table caption {
margin-bottom: 0.75em;
}
tbody {
margin-top: 0.5em;
border-top: 1px solid #1a1a1a;
border-bottom: 1px solid #1a1a1a;
}
th {
border-top: 1px solid #1a1a1a;
padding: 0.25em 0.5em 0.25em 0.5em;
}
td {
padding: 0.125em 0.5em 0.25em 0.5em;
}
header {
margin-bottom: 4em;
text-align: center;
}
#TOC li {
list-style: none;
}
#TOC ul {
padding-left: 1.3em;
}
#TOC > ul {
padding-left: 0;
}
#TOC a:not(:hover) {
text-decoration: none;
}
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
div.columns{display: flex; gap: min(4vw, 1.5em);}
div.column{flex: auto; overflow-x: auto;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
/* The extra [class] is a hack that increases specificity enough to
override a similar rule in reveal.js */
ul.task-list[class]{list-style: none;}
ul.task-list li input[type="checkbox"] {
font-size: inherit;
width: 0.8em;
margin: 0 0.8em 0.2em -1.6em;
vertical-align: middle;
}
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
</style>
</head>
<body>
<header id="title-block-header">
<h1 class="title">programme-pour-une-annee-2022-moins-pire
programme-pour-une-annee-2022-moins-pire</h1>
</header>
<h1 id="programme-pour-une-année-2022-moins-pire">Programme pour une
année 2022 moins pire</h1>
<p>Woof, que de choses se sont passées cette année</p>
<p>Migration d'un système de gestion de projets depuis Getting Things
Gnome vers des fichiers Orgmode dans Emacs, qui reste une chose
compliquée et nécessitant de nombreux ajustements pour en avoir une
utilisation efficace.</p>
<p>Plein de donations envoyées à des assos, ainsi que des créateurs et
créatrices (comme Wikimedia, Archive.org, Gnupg, La quadrature du net,
Nos Oignons, Framasoft, Openstreetmap, les voix du nucléaire, Le
Réveilleur, Méta de choc…) pour un montant total d'environ 1500€ dans
l'année passée.</p>
<p>Aucune donation reçue sur le compte liberapay de cipherbliss cette
année comparée à l'année précédente. Si vous trouvez que les services
déployés par mon entreprise et que ce que l'on fait ici vous est utile,
je vous invite à nous faire un don par ici: <a
href="https://liberapay.com/cipherbliss">https://liberapay.com/cipherbliss</a></p>
<p>ça nous aide à payer les infrastructures (700€ par an pour mastodon,
peertube, leurs backups et d'autres choses à venir) dégager d'avantage
de temps à la modération des service, leur maintenance, la mise en place
d'ateliers gratuits d'éducation populaire et l'amélioration de logiciels
libres.</p>
<p>Le boulot, c'était pas évident durant 2020, mais au final ça a pu se
faire à peu près normalement et à quasi 100% en télétravail, avec
d'avantage de missions en direct avec le client, ce qui est mieux sur
beaucoup de points quand on est freelance.</p>
<p>Alors que d'habitude des tas de boites me contactent régulièrement,
même si j'affiche ne pas être disponible, c'était le calme plat pendant
les premières périodes de confinement, soit les trois quarts de
2020.</p>
<p>2021 s'est déroulé un brin plus normalement de ce côté là.</p>
<p>Et la famille, bah ça se passe.</p>
<p>Les amis, on les voit un peu plus quand y'a pas moult contaminations
de partout et moyens de santé publique défoncés. Donc pas hyper souvent
non plus.</p>
<p>Et le turfu pour cette année?</p>
<p>Premièrement, réaliser au moins un café vie privée dans des petits
patelins d'Essonne.</p>
<p><img
src="https://www.cipherbliss.com/wp-content/uploads/2022/01/affiche-724x1024.jpg" /></p>
<p>Le premier aura lieu le Samedi 22 Janvier, voilà son évènement
mobilizon.</p>
<p><a
href="https://mobilizon.chapril.org/events/8ca0c0e3-3c3e-4ec1-92bd-13507f1a3a08">https://mobilizon.chapril.org/events/8ca0c0e3-3c3e-4ec1-92bd-13507f1a3a08</a></p>
<p>Ça causera gestionnaire de mot de passe et vie privée en général.</p>
<p>Puis sortir une version bêta pour Framadate funky, sous un nom à
définir avec la DINUM.</p>
<p>Compléter mon wiki personnel, publier des tas de dessins et leurs
sources numériques.</p>
<p>Faire davantage de vélo, voir un peu plus de monde. Et on sera déjà
bien.</p>
<p>Et vous, que prévoyez vous de beau cette année?</p>
<p>Allez à tantôt!</p>
</body>
</html>

View file

@ -1,220 +0,0 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>Ressources de café vie privée</title>
<style>
html {
color: #1a1a1a;
background-color: #fdfdfd;
}
body {
margin: 0 auto;
max-width: 36em;
padding-left: 50px;
padding-right: 50px;
padding-top: 50px;
padding-bottom: 50px;
hyphens: auto;
overflow-wrap: break-word;
text-rendering: optimizeLegibility;
font-kerning: normal;
}
@media (max-width: 600px) {
body {
font-size: 0.9em;
padding: 12px;
}
h1 {
font-size: 1.8em;
}
}
@media print {
html {
background-color: white;
}
body {
background-color: transparent;
color: black;
font-size: 12pt;
}
p, h2, h3 {
orphans: 3;
widows: 3;
}
h2, h3, h4 {
page-break-after: avoid;
}
}
p {
margin: 1em 0;
}
a {
color: #1a1a1a;
}
a:visited {
color: #1a1a1a;
}
img {
max-width: 100%;
}
h1, h2, h3, h4, h5, h6 {
margin-top: 1.4em;
}
h5, h6 {
font-size: 1em;
font-style: italic;
}
h6 {
font-weight: normal;
}
ol, ul {
padding-left: 1.7em;
margin-top: 1em;
}
li > ol, li > ul {
margin-top: 0;
}
blockquote {
margin: 1em 0 1em 1.7em;
padding-left: 1em;
border-left: 2px solid #e6e6e6;
color: #606060;
}
code {
font-family: Menlo, Monaco, Consolas, 'Lucida Console', monospace;
font-size: 85%;
margin: 0;
hyphens: manual;
}
pre {
margin: 1em 0;
overflow: auto;
}
pre code {
padding: 0;
overflow: visible;
overflow-wrap: normal;
}
.sourceCode {
background-color: transparent;
overflow: visible;
}
hr {
background-color: #1a1a1a;
border: none;
height: 1px;
margin: 1em 0;
}
table {
margin: 1em 0;
border-collapse: collapse;
width: 100%;
overflow-x: auto;
display: block;
font-variant-numeric: lining-nums tabular-nums;
}
table caption {
margin-bottom: 0.75em;
}
tbody {
margin-top: 0.5em;
border-top: 1px solid #1a1a1a;
border-bottom: 1px solid #1a1a1a;
}
th {
border-top: 1px solid #1a1a1a;
padding: 0.25em 0.5em 0.25em 0.5em;
}
td {
padding: 0.125em 0.5em 0.25em 0.5em;
}
header {
margin-bottom: 4em;
text-align: center;
}
#TOC li {
list-style: none;
}
#TOC ul {
padding-left: 1.3em;
}
#TOC > ul {
padding-left: 0;
}
#TOC a:not(:hover) {
text-decoration: none;
}
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
div.columns{display: flex; gap: min(4vw, 1.5em);}
div.column{flex: auto; overflow-x: auto;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
/* The extra [class] is a hack that increases specificity enough to
override a similar rule in reveal.js */
ul.task-list[class]{list-style: none;}
ul.task-list li input[type="checkbox"] {
font-size: inherit;
width: 0.8em;
margin: 0 0.8em 0.2em -1.6em;
vertical-align: middle;
}
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
</style>
</head>
<body>
<header id="title-block-header">
<h1 class="title">Ressources de café vie privée</h1>
</header>
<h1 id="ressources-de-café-vie-privée-1">Ressources de café vie
privée</h1>
<p>Voici de quoi se repérer dans la jungle des notions voisines à celle
de la vie privée.</p>
<p>Vous retrouverez ici de nombreuses notions abordées lors des cafés
vie privée que janime, avec dautres personnes intéressées par les les
enjeux autour des logiciels libres et des communs, tel que le groupe <a
href="https://web.archive.org/web/20240617080716/https://www.liness.org/">Liness</a>
en Essonne.</p>
<p>Les slides de mes présentations et les autres fichiers de support de
présentation sont disponibles dans <a
href="https://web.archive.org/web/20240617080716/https://cloud.tykayn.fr/index.php/s/FQ57cqXmJ6ngDfo">le
dossier de partage nextcloud</a>: <a
href="https://web.archive.org/web/20240617080716/https://cloud.tykayn.fr/index.php/s/FQ57cqXmJ6ngDfo"><span>https://cloud.tykayn.fr/index.php/s/FQ57cqXmJ6ngDfo</span></a></p>
<p>Vous pouvez me contacter via les divers moyens listés dans <a
href="https://web.archive.org/web/20240617080716/https://www.cipherbliss.com/contact">la
page dédiée aux moyens de contact</a>.</p>
<p>Dans un café vie privée on vulgarise auprès du grand public des
enjeux et des notions autour de la vie privée et des technologies
numériques. Voici quelques sujets régulièrement abordés dans les
ateliers:</p>
<p>Comprendre les dangers dun monde sans vie privée répandu sous la
fameuse idée que l' »on a rien à cacher », communiquer de façon
sécurisée, réaliser des sauvegardes automatiques, comprendre
larchitecture dinternet et du web, contribuer au libre, défendre le
droit daccès à linformation de qualité, comprendre les sciences,
sortir des GAFAM, adopter <a
href="https://web.archive.org/web/20240617080716/https://www.chatons.org/">les
CHATONS</a>, protéger des accès avec des <a
href="https://web.archive.org/web/20240617080716/https://www.cipherbliss.com/comment-ne-plus-perdre-de-temps-avec-ses-mots-de-passe/">gestionnaires
de mot de passe</a>, sortir des bulles de filtrage des médias sociaux,
récupérer son temps dattention, suivre les évolutions juridiques et les
atteintes aux libertés fondamentales, remettre la solidarité humaine et
lémancipation au cœur des enjeux de société.</p>
<p>Des évènements et groupes de personnes similaires peuvent être
retrouvés dans l<a
href="https://web.archive.org/web/20240617080716/https://www.agendadulibre.org/">agenda
du libre</a> et dans le fédiverse.</p>
<p>Des recettes de cookies sous licence libre, la fameuse pâtisserie qui
habite dans nos navigateurs web : <a
href="https://web.archive.org/web/20240617080716/https://www.cuisine-libre.org/cookies"><span>https://www.cuisine-libre.org/cookies</span></a></p>
<p>Trouver des alternatives aux logiciels privateurs: <a
href="https://web.archive.org/web/20240617080716/https://alternativeto.net/"><span>https://alternativeto.net</span></a></p>
<p>Le covoiturage libre: <a
href="https://web.archive.org/web/20240617080716/https://www.mobicoop.fr/"><span>https://www.mobicoop.fr</span></a></p>
<p>Sci hub pour libérer laccès aux publications scientifiques: <a
href="https://web.archive.org/web/20240617080716/https://sci-hub.hkvisa.net/"><span>https://sci-hub.hkvisa.net</span></a></p>
<p>Bon voyage sur les internets!</p>
</body>
</html>

View file

@ -1,217 +0,0 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>Tags</title>
<style>
html {
color: #1a1a1a;
background-color: #fdfdfd;
}
body {
margin: 0 auto;
max-width: 36em;
padding-left: 50px;
padding-right: 50px;
padding-top: 50px;
padding-bottom: 50px;
hyphens: auto;
overflow-wrap: break-word;
text-rendering: optimizeLegibility;
font-kerning: normal;
}
@media (max-width: 600px) {
body {
font-size: 0.9em;
padding: 12px;
}
h1 {
font-size: 1.8em;
}
}
@media print {
html {
background-color: white;
}
body {
background-color: transparent;
color: black;
font-size: 12pt;
}
p, h2, h3 {
orphans: 3;
widows: 3;
}
h2, h3, h4 {
page-break-after: avoid;
}
}
p {
margin: 1em 0;
}
a {
color: #1a1a1a;
}
a:visited {
color: #1a1a1a;
}
img {
max-width: 100%;
}
h1, h2, h3, h4, h5, h6 {
margin-top: 1.4em;
}
h5, h6 {
font-size: 1em;
font-style: italic;
}
h6 {
font-weight: normal;
}
ol, ul {
padding-left: 1.7em;
margin-top: 1em;
}
li > ol, li > ul {
margin-top: 0;
}
blockquote {
margin: 1em 0 1em 1.7em;
padding-left: 1em;
border-left: 2px solid #e6e6e6;
color: #606060;
}
code {
font-family: Menlo, Monaco, Consolas, 'Lucida Console', monospace;
font-size: 85%;
margin: 0;
hyphens: manual;
}
pre {
margin: 1em 0;
overflow: auto;
}
pre code {
padding: 0;
overflow: visible;
overflow-wrap: normal;
}
.sourceCode {
background-color: transparent;
overflow: visible;
}
hr {
background-color: #1a1a1a;
border: none;
height: 1px;
margin: 1em 0;
}
table {
margin: 1em 0;
border-collapse: collapse;
width: 100%;
overflow-x: auto;
display: block;
font-variant-numeric: lining-nums tabular-nums;
}
table caption {
margin-bottom: 0.75em;
}
tbody {
margin-top: 0.5em;
border-top: 1px solid #1a1a1a;
border-bottom: 1px solid #1a1a1a;
}
th {
border-top: 1px solid #1a1a1a;
padding: 0.25em 0.5em 0.25em 0.5em;
}
td {
padding: 0.125em 0.5em 0.25em 0.5em;
}
header {
margin-bottom: 4em;
text-align: center;
}
#TOC li {
list-style: none;
}
#TOC ul {
padding-left: 1.3em;
}
#TOC > ul {
padding-left: 0;
}
#TOC a:not(:hover) {
text-decoration: none;
}
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
div.columns{display: flex; gap: min(4vw, 1.5em);}
div.column{flex: auto; overflow-x: auto;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
/* The extra [class] is a hack that increases specificity enough to
override a similar rule in reveal.js */
ul.task-list[class]{list-style: none;}
ul.task-list li input[type="checkbox"] {
font-size: inherit;
width: 0.8em;
margin: 0 0.8em 0.2em -1.6em;
vertical-align: middle;
}
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
</style>
</head>
<body>
<header id="title-block-header">
<h1 class="title">Tags</h1>
</header>
<h1 id="tags-1">Tags</h1>
<p>Étiquettes</p>
<p><a href="file:///tag/ai/">AI</a> <a
href="file:///tag/archives/">archives</a> <a
href="file:///tag/autohebergement/">autohébergement</a> <a
href="file:///tag/backup/">backup</a> <a
href="file:///tag/blockchain/">blockchain</a> <a
href="file:///tag/borg/">borg</a> <a
href="file:///tag/caisse/">caisse</a> <a
href="file:///tag/comptabilite/">comptabilité</a> <a
href="file:///tag/comptes/">comptes</a> <a
href="file:///tag/data-visualisation/">data visualisation</a> <a
href="file:///tag/design/">design</a> <a
href="file:///tag/email/">email</a> <a
href="file:///tag/entreprise/">entreprise</a> <a
href="file:///tag/entreprise-individuelle/">entreprise individuelle</a>
<a href="file:///tag/ethereum/">ethereum</a> <a
href="file:///tag/facebook/">facebook</a> <a
href="file:///tag/factures/">factures</a> <a
href="file:///tag/floss/">FLOSS</a> <a
href="file:///tag/fediverse/">fédiverse</a> <a
href="file:///tag/gestion-de-projet/">gestion de projet</a> <a
href="file:///tag/gestion-du-temps/">gestion du temps</a> <a
href="file:///tag/gestionnaire-de-mot-de-passe/">gestionnaire de mot de
passe</a> <a href="file:///tag/gimp/">gimp</a> <a
href="file:///tag/git/">git</a> <a
href="file:///tag/logiciellibre/">logiciellibre</a> <a
href="file:///tag/logiciel-libre/">logiciel libre</a> <a
href="file:///tag/mastodon/">mastodon</a> <a
href="file:///tag/mobilizon/">mobilizon</a> <a
href="file:///tag/mot-de-passe/">mot de passe</a> <a
href="file:///tag/mysql/">mysql</a> <a
href="file:///tag/nextcloud/">nextcloud</a> <a
href="file:///tag/open-source/">open source</a> <a
href="file:///tag/openstreetmap/">openstreetmap</a> <a
href="file:///tag/orgmode/">orgmode</a> <a
href="file:///tag/osm/">OSM</a> <a href="file:///tag/photos/">photos</a>
<a href="file:///tag/pim/">pim</a> <a
href="file:///tag/projet/">projet</a> <a
href="file:///tag/prevision/">prévision</a> <a
href="file:///tag/python/">python</a> <a
href="file:///tag/reseau-social/">réseau social</a> <a
href="file:///tag/sauvegardes/">sauvegardes</a> <a
href="file:///tag/script/">script</a> <a href="file:///tag/ux/">UX</a>
<a href="file:///tag/vie-privee/">vie privée</a></p>
</body>
</html>

View file

@ -1,314 +0,0 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>Connaître la couleur des jours EDF Tempo en ligne de commande</title>
<style>
html {
color: #1a1a1a;
background-color: #fdfdfd;
}
body {
margin: 0 auto;
max-width: 36em;
padding-left: 50px;
padding-right: 50px;
padding-top: 50px;
padding-bottom: 50px;
hyphens: auto;
overflow-wrap: break-word;
text-rendering: optimizeLegibility;
font-kerning: normal;
}
@media (max-width: 600px) {
body {
font-size: 0.9em;
padding: 12px;
}
h1 {
font-size: 1.8em;
}
}
@media print {
html {
background-color: white;
}
body {
background-color: transparent;
color: black;
font-size: 12pt;
}
p, h2, h3 {
orphans: 3;
widows: 3;
}
h2, h3, h4 {
page-break-after: avoid;
}
}
p {
margin: 1em 0;
}
a {
color: #1a1a1a;
}
a:visited {
color: #1a1a1a;
}
img {
max-width: 100%;
}
h1, h2, h3, h4, h5, h6 {
margin-top: 1.4em;
}
h5, h6 {
font-size: 1em;
font-style: italic;
}
h6 {
font-weight: normal;
}
ol, ul {
padding-left: 1.7em;
margin-top: 1em;
}
li > ol, li > ul {
margin-top: 0;
}
blockquote {
margin: 1em 0 1em 1.7em;
padding-left: 1em;
border-left: 2px solid #e6e6e6;
color: #606060;
}
code {
font-family: Menlo, Monaco, Consolas, 'Lucida Console', monospace;
font-size: 85%;
margin: 0;
hyphens: manual;
}
pre {
margin: 1em 0;
overflow: auto;
}
pre code {
padding: 0;
overflow: visible;
overflow-wrap: normal;
}
.sourceCode {
background-color: transparent;
overflow: visible;
}
hr {
background-color: #1a1a1a;
border: none;
height: 1px;
margin: 1em 0;
}
table {
margin: 1em 0;
border-collapse: collapse;
width: 100%;
overflow-x: auto;
display: block;
font-variant-numeric: lining-nums tabular-nums;
}
table caption {
margin-bottom: 0.75em;
}
tbody {
margin-top: 0.5em;
border-top: 1px solid #1a1a1a;
border-bottom: 1px solid #1a1a1a;
}
th {
border-top: 1px solid #1a1a1a;
padding: 0.25em 0.5em 0.25em 0.5em;
}
td {
padding: 0.125em 0.5em 0.25em 0.5em;
}
header {
margin-bottom: 4em;
text-align: center;
}
#TOC li {
list-style: none;
}
#TOC ul {
padding-left: 1.3em;
}
#TOC > ul {
padding-left: 0;
}
#TOC a:not(:hover) {
text-decoration: none;
}
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
div.columns{display: flex; gap: min(4vw, 1.5em);}
div.column{flex: auto; overflow-x: auto;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
/* The extra [class] is a hack that increases specificity enough to
override a similar rule in reveal.js */
ul.task-list[class]{list-style: none;}
ul.task-list li input[type="checkbox"] {
font-size: inherit;
width: 0.8em;
margin: 0 0.8em 0.2em -1.6em;
vertical-align: middle;
}
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
/* CSS for syntax highlighting */
pre > code.sourceCode { white-space: pre; position: relative; }
pre > code.sourceCode > span { line-height: 1.25; }
pre > code.sourceCode > span:empty { height: 1.2em; }
.sourceCode { overflow: visible; }
code.sourceCode > span { color: inherit; text-decoration: inherit; }
div.sourceCode { margin: 1em 0; }
pre.sourceCode { margin: 0; }
@media screen {
div.sourceCode { overflow: auto; }
}
@media print {
pre > code.sourceCode { white-space: pre-wrap; }
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
}
pre.numberSource code
{ counter-reset: source-line 0; }
pre.numberSource code > span
{ position: relative; left: -4em; counter-increment: source-line; }
pre.numberSource code > span > a:first-child::before
{ content: counter(source-line);
position: relative; left: -1em; text-align: right; vertical-align: baseline;
border: none; display: inline-block;
-webkit-touch-callout: none; -webkit-user-select: none;
-khtml-user-select: none; -moz-user-select: none;
-ms-user-select: none; user-select: none;
padding: 0 4px; width: 4em;
color: #aaaaaa;
}
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
div.sourceCode
{ }
@media screen {
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
}
code span.al { color: #ff0000; font-weight: bold; } /* Alert */
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
code span.at { color: #7d9029; } /* Attribute */
code span.bn { color: #40a070; } /* BaseN */
code span.bu { color: #008000; } /* BuiltIn */
code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
code span.ch { color: #4070a0; } /* Char */
code span.cn { color: #880000; } /* Constant */
code span.co { color: #60a0b0; font-style: italic; } /* Comment */
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
code span.do { color: #ba2121; font-style: italic; } /* Documentation */
code span.dt { color: #902000; } /* DataType */
code span.dv { color: #40a070; } /* DecVal */
code span.er { color: #ff0000; font-weight: bold; } /* Error */
code span.ex { } /* Extension */
code span.fl { color: #40a070; } /* Float */
code span.fu { color: #06287e; } /* Function */
code span.im { color: #008000; font-weight: bold; } /* Import */
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
code span.kw { color: #007020; font-weight: bold; } /* Keyword */
code span.op { color: #666666; } /* Operator */
code span.ot { color: #007020; } /* Other */
code span.pp { color: #bc7a00; } /* Preprocessor */
code span.sc { color: #4070a0; } /* SpecialChar */
code span.ss { color: #bb6688; } /* SpecialString */
code span.st { color: #4070a0; } /* String */
code span.va { color: #19177c; } /* Variable */
code span.vs { color: #4070a0; } /* VerbatimString */
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
</style>
</head>
<body>
<header id="title-block-header">
<h1 class="title">Connaître la couleur des jours EDF Tempo en ligne de
commande</h1>
</header>
<h1
id="connaître-la-couleur-des-jours-edf-tempo-en-ligne-de-commande-1">Connaître
la couleur des jours EDF Tempo en ligne de commande</h1>
<p>EDF expose une API pour connaître les couleurs de jour TEMPO, mais
cette api n'est pas bien référencée sur le wouaib, ce sont donc des
sites qui n'ont rien à voir qui vous donneront cette info avec moult
trackers et pubs de partout.</p>
<p>Voici l'url dont vous avez besoin:</p>
<p>&gt; <a
href="https://api-commerce.edf.fr/commerce/activet/v1/calendrier-jours-effacement?option=TEMPO&amp;dateApplicationBorneInf=%7Bdate_inférieure%7D&amp;dateApplicationBorneSup=%7Bdate_supérieure%7D&amp;identifiantConsommateur=src">https://api-commerce.edf.fr/commerce/activet/v1/calendrier-jours-effacement?option=TEMPO&amp;dateApplicationBorneInf={date_inférieure}&amp;dateApplicationBorneSup={date_supérieure}&amp;identifiantConsommateur=src</a></p>
<p>Cette API de commerce EDF ne fonctionne que si vous demandez des
dates ayant 365 jours d'écart de différence, et si vous ne mettez pas de
zéro précédant le numéro de journée au format année-mois-jour. Autre
limitation, la couleur du jour du lendemain vous sera donnée seulement à
partir de 11h du matin dans la journée.</p>
<p>Fabriquez vous un petit script en python pour aller pêcher ce
calendrier, piocher les couleurs des deux derniers jours. Il vous
suffira d'un alias de commande pour lancer "python
mon<sub>scripttempo</sub>.py" en ayant le dossier où le script est placé
dans votre variable d'environnement PATH.</p>
<div class="sourceCode" id="cb1"><pre
class="sourceCode python"><code class="sourceCode python"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a><span class="im">import</span> requests</span>
<span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a><span class="im">import</span> json</span>
<span id="cb1-4"><a href="#cb1-4" aria-hidden="true" tabindex="-1"></a><span class="im">from</span> datetime <span class="im">import</span> datetime, timedelta </span>
<span id="cb1-5"><a href="#cb1-5" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-6"><a href="#cb1-6" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> date_il_y_a_un_an(date):</span>
<span id="cb1-7"><a href="#cb1-7" aria-hidden="true" tabindex="-1"></a> date_obj <span class="op">=</span> datetime.strptime(date, <span class="st">&quot;%Y-%m-</span><span class="sc">%d</span><span class="st">&quot;</span>)</span>
<span id="cb1-8"><a href="#cb1-8" aria-hidden="true" tabindex="-1"></a> date_il_y_a_un_an <span class="op">=</span> date_obj <span class="op">-</span> timedelta(days<span class="op">=</span><span class="dv">365</span>)</span>
<span id="cb1-9"><a href="#cb1-9" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> date_il_y_a_un_an.strftime(<span class="st">&quot;%Y-%m-</span><span class="sc">%d</span><span class="st">&quot;</span>)</span>
<span id="cb1-10"><a href="#cb1-10" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-11"><a href="#cb1-11" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> get_tempo_for_today_and_tomorrow():</span>
<span id="cb1-12"><a href="#cb1-12" aria-hidden="true" tabindex="-1"></a> <span class="co"># Obtenir la date d&#39;aujourd&#39;hui</span></span>
<span id="cb1-13"><a href="#cb1-13" aria-hidden="true" tabindex="-1"></a> datenow <span class="op">=</span> datetime.now()</span>
<span id="cb1-14"><a href="#cb1-14" aria-hidden="true" tabindex="-1"></a> sup <span class="op">=</span> (datenow <span class="op">+</span> timedelta(days<span class="op">=</span><span class="dv">1</span>))</span>
<span id="cb1-15"><a href="#cb1-15" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-16"><a href="#cb1-16" aria-hidden="true" tabindex="-1"></a> inf <span class="op">=</span> date_il_y_a_un_an(datenow.strftime(<span class="st">&quot;%Y-%m-</span><span class="sc">%d</span><span class="st">&quot;</span>))</span>
<span id="cb1-17"><a href="#cb1-17" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-18"><a href="#cb1-18" aria-hidden="true" tabindex="-1"></a> <span class="co"># Obtenir la date de demain</span></span>
<span id="cb1-19"><a href="#cb1-19" aria-hidden="true" tabindex="-1"></a> sup <span class="op">=</span> sup.strftime(<span class="st">&quot;%Y-%m-</span><span class="sc">%d</span><span class="st">&quot;</span>)</span>
<span id="cb1-20"><a href="#cb1-20" aria-hidden="true" tabindex="-1"></a> sup <span class="op">=</span> sup.replace(<span class="st">&quot;-0&quot;</span>, <span class="st">&quot;-&quot;</span>)</span>
<span id="cb1-21"><a href="#cb1-21" aria-hidden="true" tabindex="-1"></a> inf <span class="op">=</span> inf.replace(<span class="st">&quot;-0&quot;</span>, <span class="st">&quot;-&quot;</span>)</span>
<span id="cb1-22"><a href="#cb1-22" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-23"><a href="#cb1-23" aria-hidden="true" tabindex="-1"></a> <span class="co"># print(&quot;Date inf :&quot;, inf)</span></span>
<span id="cb1-24"><a href="#cb1-24" aria-hidden="true" tabindex="-1"></a> <span class="co"># print(&quot;Date sup:&quot;, sup)</span></span>
<span id="cb1-25"><a href="#cb1-25" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-26"><a href="#cb1-26" aria-hidden="true" tabindex="-1"></a> <span class="co"># URL de l&#39;API d&#39;EDF pour récupérer les informations sur les couleurs des jours de l&#39;offre Tempo</span></span>
<span id="cb1-27"><a href="#cb1-27" aria-hidden="true" tabindex="-1"></a> url <span class="op">=</span> <span class="ss">f&quot;https://api-commerce.edf.fr/commerce/activet/v1/calendrier-jours-effacement?option=TEMPO&amp;dateApplicationBorneInf=</span><span class="sc">{</span>inf<span class="sc">}</span><span class="ss">&amp;dateApplicationBorneSup=</span><span class="sc">{</span>sup<span class="sc">}</span><span class="ss">&amp;identifiantConsommateur=src&quot;</span></span>
<span id="cb1-28"><a href="#cb1-28" aria-hidden="true" tabindex="-1"></a> <span class="bu">print</span>(url)</span>
<span id="cb1-29"><a href="#cb1-29" aria-hidden="true" tabindex="-1"></a> <span class="co"># Effectuer la requête HTTP et récupérer la réponse JSON</span></span>
<span id="cb1-30"><a href="#cb1-30" aria-hidden="true" tabindex="-1"></a> response <span class="op">=</span> requests.get(url)</span>
<span id="cb1-31"><a href="#cb1-31" aria-hidden="true" tabindex="-1"></a> data <span class="op">=</span> json.loads(response.text)</span>
<span id="cb1-32"><a href="#cb1-32" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-33"><a href="#cb1-33" aria-hidden="true" tabindex="-1"></a> <span class="co"># Récupérer la liste des couleurs des jours pour les 30 prochains jours</span></span>
<span id="cb1-34"><a href="#cb1-34" aria-hidden="true" tabindex="-1"></a> calendrier <span class="op">=</span> data[<span class="st">&quot;content&quot;</span>][<span class="st">&quot;options&quot;</span>][<span class="dv">0</span>][<span class="st">&quot;calendrier&quot;</span>]</span>
<span id="cb1-35"><a href="#cb1-35" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-36"><a href="#cb1-36" aria-hidden="true" tabindex="-1"></a> texte_retour<span class="op">=</span><span class="st">&quot;&quot;</span></span>
<span id="cb1-37"><a href="#cb1-37" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-38"><a href="#cb1-38" aria-hidden="true" tabindex="-1"></a> <span class="co"># # Afficher les couleurs des jours pour le prochain jour</span></span>
<span id="cb1-39"><a href="#cb1-39" aria-hidden="true" tabindex="-1"></a> <span class="cf">for</span> jour <span class="kw">in</span> calendrier[<span class="op">-</span><span class="dv">2</span>:]:</span>
<span id="cb1-40"><a href="#cb1-40" aria-hidden="true" tabindex="-1"></a> date <span class="op">=</span> jour[<span class="st">&quot;dateApplication&quot;</span>]</span>
<span id="cb1-41"><a href="#cb1-41" aria-hidden="true" tabindex="-1"></a> code_couleur <span class="op">=</span> jour[<span class="st">&quot;statut&quot;</span>]</span>
<span id="cb1-42"><a href="#cb1-42" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> code_couleur <span class="op">==</span> <span class="st">&quot;TEMPO_BLEU&quot;</span>:</span>
<span id="cb1-43"><a href="#cb1-43" aria-hidden="true" tabindex="-1"></a> texte_retour<span class="op">+=</span>(<span class="ss">f&quot;</span><span class="ch">\033</span><span class="ss">[34m</span><span class="sc">{</span>date<span class="sc">}</span><span class="ss">: journée </span><span class="sc">{</span>code_couleur<span class="sc">}</span><span class="ch">\033</span><span class="ss">[0m</span><span class="ch">\n</span><span class="ss">&quot;</span>)</span>
<span id="cb1-44"><a href="#cb1-44" aria-hidden="true" tabindex="-1"></a> <span class="cf">elif</span> code_couleur <span class="op">==</span> <span class="st">&quot;TEMPO_BLANC&quot;</span>:</span>
<span id="cb1-45"><a href="#cb1-45" aria-hidden="true" tabindex="-1"></a> texte_retour<span class="op">+=</span>(<span class="ss">f&quot;</span><span class="ch">\033</span><span class="ss">[37m</span><span class="sc">{</span>date<span class="sc">}</span><span class="ss">: journée </span><span class="sc">{</span>code_couleur<span class="sc">}</span><span class="ch">\033</span><span class="ss">[0m</span><span class="ch">\n</span><span class="ss">&quot;</span>)</span>
<span id="cb1-46"><a href="#cb1-46" aria-hidden="true" tabindex="-1"></a> <span class="cf">elif</span> code_couleur <span class="op">==</span> <span class="st">&quot;TEMPO_ROUGE&quot;</span>:</span>
<span id="cb1-47"><a href="#cb1-47" aria-hidden="true" tabindex="-1"></a> texte_retour<span class="op">+=</span>(<span class="ss">f&quot;</span><span class="ch">\033</span><span class="ss">[31m</span><span class="sc">{</span>date<span class="sc">}</span><span class="ss">: journée </span><span class="sc">{</span>code_couleur<span class="sc">}</span><span class="ch">\033</span><span class="ss">[0m</span><span class="ch">\n</span><span class="ss">&quot;</span>)</span>
<span id="cb1-48"><a href="#cb1-48" aria-hidden="true" tabindex="-1"></a> <span class="cf">else</span>:</span>
<span id="cb1-49"><a href="#cb1-49" aria-hidden="true" tabindex="-1"></a> texte_retour<span class="op">+=</span>(<span class="ss">f&quot;</span><span class="sc">{</span>date<span class="sc">}</span><span class="ss">: journée </span><span class="sc">{</span>code_couleur<span class="sc">}</span><span class="ss">&quot;</span>)</span>
<span id="cb1-50"><a href="#cb1-50" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-51"><a href="#cb1-51" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> texte_retour</span>
<span id="cb1-52"><a href="#cb1-52" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-53"><a href="#cb1-53" aria-hidden="true" tabindex="-1"></a>texte <span class="op">=</span> get_tempo_for_today_and_tomorrow()</span>
<span id="cb1-54"><a href="#cb1-54" aria-hidden="true" tabindex="-1"></a><span class="bu">print</span>(texte)</span>
<span id="cb1-55"><a href="#cb1-55" aria-hidden="true" tabindex="-1"></a></span></code></pre></div>
<p>Bonne réduction des pointes de conso!</p>
</body>
</html>