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,263 +0,0 @@
<!DOCTYPE html>
<!-- généré avec orgmode-to-gemini-blog par Tykayn -->
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Cipher Bliss</title>
<link rel="stylesheet" href="/style.css"></link>
</head>
<body>
<header>
<h1>Cipher Bliss</h1>
<p>Code, nouvelles technologies et entrepreneurariat par B. Lemoine</p>
<nav><a href="/">Accueil</a><a href="https://portfolio.cipherbliss.com">Portfolio</a><a href="/feed">Flux RSS</a><a href="/contact">Contact</a><a href="/ressources-de-café-vie-privée">Ressources</a></nav>
</header>
<hr/>
<main>
<!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>des-sauvegardes-qui-durent-mille-ans</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">des-sauvegardes-qui-durent-mille-ans</h1>
</header>
<h2 id="des-sauvegardes-qui-durent-mille-ans-1">Des sauvegardes qui
durent mille ans</h2>
<p>J'ai animé un atelier au cours du premier camp CHATONS qui a eu lieu
le week-end dernier. (Le &lt;a href="<a
href="https://www.chatons.org/">https://www.chatons.org/</a>"&gt;Collectif
des Hébergeurs Alternatifs, Transparents, Ouverts, Neutres et
Solidaires&lt;/a&gt; vise à rassembler des structures proposant des
&lt;strong&gt;services en ligne libres, éthiques et
décentralisés&lt;/strong&gt; afin de permettre aux utilisateur⋅ices de
&lt;a href="<a
href="https://www.chatons.org/search/by-service">https://www.chatons.org/search/by-service</a>"&gt;trouver
rapidement des alternatives&lt;/a&gt; respectueuses de leurs données et
de leur vie privée)#+begin<sub>src</sub> shell</p>
<p>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.&lt;br&gt;&lt;a href="<a
href="https://libreto.sans-nuage.fr/camps-chatons/programme">https://libreto.sans-nuage.fr/camps-chatons/programme</a>"&gt;<a
href="https://libreto.sans-nuage.fr/camps-chatons/programme">https://libreto.sans-nuage.fr/camps-chatons/programme</a>&lt;/a&gt;&lt;br&gt;&lt;br&gt;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?&lt;br&gt;&lt;br&gt;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.&lt;br&gt;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<sub>src</sub> shell</p>
<p>&lt;! wp:image
{"id":1598,"sizeSlug":"large","linkDestination":"none"} &gt; &lt;figure
class="wp-block-image size-large"&gt;&lt;img src="<a
href="https://www.cipherbliss.com/wp-content/uploads/2021/09/Screenshot_2021-09-27-Les-Sauvegardes-automatiques-Slides-1024x747.jpg">https://www.cipherbliss.com/wp-content/uploads/2021/09/Screenshot_2021-09-27-Les-Sauvegardes-automatiques-Slides-1024x747.jpg</a>"
alt="" class="wp-image-1598"/&gt;&lt;figcaption&gt;Jancovici et le
stockage à froid, une remarquable utilisation des couches géologiquement
stables&lt;/figcaption&gt;&lt;/figure&gt; &lt;! /wp:image &gt;</p>
<p>&lt;br&gt;Liens:&lt;br&gt;Les slides sont disponibles
ici:&lt;br&gt;&lt;a href="<a
href="https://slides.com/tykayn/les-sauvegardes-automatiques">https://slides.com/tykayn/les-sauvegardes-automatiques</a>"&gt;<a
href="https://slides.com/tykayn/les-sauvegardes-automatiques">https://slides.com/tykayn/les-sauvegardes-automatiques</a>&lt;/a&gt;&lt;br&gt;&lt;br&gt;La
feuille de calcul pour cartographier son matériel&lt;br&gt;&lt;a
href="<a
href="https://cloud.tykayn.fr/index.php/s/KQfYHpaSpgwrWam">https://cloud.tykayn.fr/index.php/s/KQfYHpaSpgwrWam</a>"&gt;<a
href="https://cloud.tykayn.fr/index.php/s/KQfYHpaSpgwrWam">https://cloud.tykayn.fr/index.php/s/KQfYHpaSpgwrWam</a>&lt;/a&gt;#+begin<sub>src</sub>
shell</p>
<p>Le site des CHATONS: &lt;br&gt;&lt;a href="<a
href="https://www.chatons.org">https://www.chatons.org</a>"&gt;<a
href="https://www.chatons.org">https://www.chatons.org</a>&lt;/a&gt;#+begin<sub>src</sub>
shell</p>
<p>Le forum où tout se discute:&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>La documentation pour ne pas réinventer la roue: &lt;br&gt;&lt;a
href="<a
href="https://wiki.chatons.org">https://wiki.chatons.org</a>"&gt;<a
href="https://wiki.chatons.org">https://wiki.chatons.org</a>&lt;/a&gt;</p>
<h1 id="liens">Liens</h1>
<ul>
<li>cipherbliss <a
href="id:d14d8051-bbb9-4279-a574-84d78bfe5b66">Cipherbliss blog</a></li>
</ul>
</body>
</html>
</main>
<hr/>
<footer>
<nav><a href="/">Accueil</a><a href="https://portfolio.cipherbliss.com">Portfolio</a><a href="/feed">Flux RSS</a><a href="/contact">Contact</a><a href="/ressources-de-café-vie-privée">Ressources</a></nav>
</footer>
</body>
</html>

View file

@ -1,239 +0,0 @@
<!DOCTYPE html>
<!-- généré avec orgmode-to-gemini-blog par Tykayn -->
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Cipher Bliss</title>
<link rel="stylesheet" href="/style.css"></link>
</head>
<body>
<header>
<h1>Cipher Bliss</h1>
<p>Code, nouvelles technologies et entrepreneurariat par B. Lemoine</p>
<nav><a href="/">Accueil</a><a href="https://portfolio.cipherbliss.com">Portfolio</a><a href="/feed">Flux RSS</a><a href="/contact">Contact</a><a href="/ressources-de-café-vie-privée">Ressources</a></nav>
</header>
<hr/>
<main>
<!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>
<h2 id="nouvelles-doctobre-2021-1">Nouvelles d'Octobre 2021</h2>
<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>
</main>
<hr/>
<footer>
<nav><a href="/">Accueil</a><a href="https://portfolio.cipherbliss.com">Portfolio</a><a href="/feed">Flux RSS</a><a href="/contact">Contact</a><a href="/ressources-de-café-vie-privée">Ressources</a></nav>
</footer>
</body>
</html>

View file

@ -1,237 +0,0 @@
<!DOCTYPE html>
<!-- généré avec orgmode-to-gemini-blog par Tykayn -->
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Cipher Bliss</title>
<link rel="stylesheet" href="/style.css"></link>
</head>
<body>
<header>
<h1>Cipher Bliss</h1>
<p>Code, nouvelles technologies et entrepreneurariat par B. Lemoine</p>
<nav><a href="/">Accueil</a><a href="https://portfolio.cipherbliss.com">Portfolio</a><a href="/feed">Flux RSS</a><a href="/contact">Contact</a><a href="/ressources-de-café-vie-privée">Ressources</a></nav>
</header>
<hr/>
<main>
<!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>* <span id="error-content"></span><span
id="video-password-block"></span>* <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>
</main>
<hr/>
<footer>
<nav><a href="/">Accueil</a><a href="https://portfolio.cipherbliss.com">Portfolio</a><a href="/feed">Flux RSS</a><a href="/contact">Contact</a><a href="/ressources-de-café-vie-privée">Ressources</a></nav>
</footer>
</body>
</html>

View file

@ -1,252 +0,0 @@
<!DOCTYPE html>
<!-- généré avec orgmode-to-gemini-blog par Tykayn -->
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Cipher Bliss</title>
<link rel="stylesheet" href="/style.css"></link>
</head>
<body>
<header>
<h1>Cipher Bliss</h1>
<p>Code, nouvelles technologies et entrepreneurariat par B. Lemoine</p>
<nav><a href="/">Accueil</a><a href="https://portfolio.cipherbliss.com">Portfolio</a><a href="/feed">Flux RSS</a><a href="/contact">Contact</a><a href="/ressources-de-café-vie-privée">Ressources</a></nav>
</header>
<hr/>
<main>
<!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>
</main>
<hr/>
<footer>
<nav><a href="/">Accueil</a><a href="https://portfolio.cipherbliss.com">Portfolio</a><a href="/feed">Flux RSS</a><a href="/contact">Contact</a><a href="/ressources-de-café-vie-privée">Ressources</a></nav>
</footer>
</body>
</html>

View file

@ -0,0 +1,112 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta property="og:image" content="https://www.cipherbliss.com/wp-content/uploads/2016/12/rond.png">
<meta property="og:locale" content="fr_FR">
<meta property="og:description" content="Code, nouvelles technologies et entrepreneurariat par B. Lemoine">
<meta property="og:url" content="https://portfolio.cipherbliss.com/">
<meta property="og:site_name" content="Cipher Bliss">
<link rel="alternate" type="application/rss+xml" title="Cipher Bliss » Flux"
href="https://www.cipherbliss.com/feed/">
<link href="/style.css" rel="stylesheet">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title></title>
<meta name="author" content="">
<link rel="alternate" type="application/rss+xml" title="Cipher Bliss » Flux"
href="https://www.cipherbliss.com/feed/">
<meta property="og:title" content="">
<meta property="og:locale" content="fr_FR">
<!-- Description de la page -->
<meta name="description" content="">
<meta name="reply-to" content="contact@cipherbliss.com">
<link rel="icon" type="image/png" href="https://www.cipherbliss.com/wp-content/uploads/2016/12/rond.png">
</head>
<body>
<div id="page">
<header id="masthead" class="site-header">
<div class="header-image">
https://www.cipherbliss.com/wp-content/uploads/2016/11/bg.jpg
</div>
<nav class="navbar is-fixed-top is-dark" role="navigation" aria-label="main navigation">
<div class="navbar-brand">
<a class="navbar-item" href="https://www.cipherbliss.com">
<img src="https://www.cipherbliss.com/wp-content/uploads/2016/12/rond.png"
class="img-fluid">
</a>
</div>
<div id="navbarBasicExample" class="navbar-menu">
<div class="navbar-start">
<a class="navbar-item" href="https://www.cipherbliss.com">
<img src="https://www.cipherbliss.com/wp-content/uploads/2016/12/rond.png"
class="img-fluid">
</a>
<nav><a href="/">Accueil</a><a href="https://portfolio.cipherbliss.com">Portfolio</a><a href="/feed">Flux RSS</a><a href="/contact">Contact</a><a href="/ressources-de-café-vie-privée">Ressources</a></nav>
</div>
<div class="navbar-end">
<div class="navbar-item">
<form role="search" method="get" class="search-form" action="/">
<label>
<input class="search-field" placeholder="Recherche" value="" name="s"
type="search">
</label>
<input class="is-hidden search-submit" value="Rechercher" type="submit">
</form>
</div>
</div>
</div>
</nav>
</header>
<main class="body-wrap boxed-container">
<article class="content">
--------------------------------------------------------------------------------
id: 8e220f62-f0fc-4394-8bdf-f9b3db30711e title: cipherbliss_blog
--------------------------------------------------------------------------------
```{=org}
#+CREATED: 2024-11-03 12:41:56
```
```{=org}
#+SLUG: création-d'un-blog-gemini
```
```{=org}
#+BLOG: cipherbliss_blog
```
# Création d'un blog gemini {#création-dun-blog-gemini-1}
Et hop, un générateur qui fait le café à partir de fichiers orgmode ou markdown.
[2024-11-03]
</article>
</main>
<footer class="site-footer has-top-divider">
<div class="container">
<div class="site-footer-inner">
Cipher Bliss
Code, nouvelles technologies et entrepreneurariat par B. Lemoine
<nav><a href="/">Accueil</a><a href="https://portfolio.cipherbliss.com">Portfolio</a><a href="/feed">Flux RSS</a><a href="/contact">Contact</a><a href="/ressources-de-café-vie-privée">Ressources</a></nav>
</div>
</div>
</footer>
</div>
</body>
<!-- généré avec orgmode-to-gemini-blog par Tykayn -->
</html>

View file

@ -1,246 +0,0 @@
<!DOCTYPE html>
<!-- généré avec orgmode-to-gemini-blog par Tykayn -->
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Cipher Bliss</title>
<link rel="stylesheet" href="/style.css"></link>
</head>
<body>
<header>
<h1>Cipher Bliss</h1>
<p>Code, nouvelles technologies et entrepreneurariat par B. Lemoine</p>
<nav><a href="/">Accueil</a><a href="https://portfolio.cipherbliss.com">Portfolio</a><a href="/feed">Flux RSS</a><a href="/contact">Contact</a><a href="/ressources-de-café-vie-privée">Ressources</a></nav>
</header>
<hr/>
<main>
<!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>
</main>
<hr/>
<footer>
<nav><a href="/">Accueil</a><a href="https://portfolio.cipherbliss.com">Portfolio</a><a href="/feed">Flux RSS</a><a href="/contact">Contact</a><a href="/ressources-de-café-vie-privée">Ressources</a></nav>
</footer>
</body>
</html>

View file

@ -1,243 +0,0 @@
<!DOCTYPE html>
<!-- généré avec orgmode-to-gemini-blog par Tykayn -->
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Cipher Bliss</title>
<link rel="stylesheet" href="/style.css"></link>
</head>
<body>
<header>
<h1>Cipher Bliss</h1>
<p>Code, nouvelles technologies et entrepreneurariat par B. Lemoine</p>
<nav><a href="/">Accueil</a><a href="https://portfolio.cipherbliss.com">Portfolio</a><a href="/feed">Flux RSS</a><a href="/contact">Contact</a><a href="/ressources-de-café-vie-privée">Ressources</a></nav>
</header>
<hr/>
<main>
<!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>
</main>
<hr/>
<footer>
<nav><a href="/">Accueil</a><a href="https://portfolio.cipherbliss.com">Portfolio</a><a href="/feed">Flux RSS</a><a href="/contact">Contact</a><a href="/ressources-de-café-vie-privée">Ressources</a></nav>
</footer>
</body>
</html>

View file

@ -1,340 +0,0 @@
<!DOCTYPE html>
<!-- généré avec orgmode-to-gemini-blog par Tykayn -->
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Cipher Bliss</title>
<link rel="stylesheet" href="/style.css"></link>
</head>
<body>
<header>
<h1>Cipher Bliss</h1>
<p>Code, nouvelles technologies et entrepreneurariat par B. Lemoine</p>
<nav><a href="/">Accueil</a><a href="https://portfolio.cipherbliss.com">Portfolio</a><a href="/feed">Flux RSS</a><a href="/contact">Contact</a><a href="/ressources-de-café-vie-privée">Ressources</a></nav>
</header>
<hr/>
<main>
<!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>
</main>
<hr/>
<footer>
<nav><a href="/">Accueil</a><a href="https://portfolio.cipherbliss.com">Portfolio</a><a href="/feed">Flux RSS</a><a href="/contact">Contact</a><a href="/ressources-de-café-vie-privée">Ressources</a></nav>
</footer>
</body>
</html>

View file

@ -0,0 +1,296 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta property="og:image" content="https://www.cipherbliss.com/wp-content/uploads/2016/12/rond.png">
<meta property="og:locale" content="fr_FR">
<meta property="og:description" content="Code, nouvelles technologies et entrepreneurariat par B. Lemoine">
<meta property="og:url" content="https://portfolio.cipherbliss.com/">
<meta property="og:site_name" content="Cipher Bliss">
<link rel="alternate" type="application/rss+xml" title="Cipher Bliss » Flux"
href="https://www.cipherbliss.com/feed/">
<link href="/style.css" rel="stylesheet">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title></title>
<meta name="author" content="">
<link rel="alternate" type="application/rss+xml" title="Cipher Bliss » Flux"
href="https://www.cipherbliss.com/feed/">
<meta property="og:title" content="">
<meta property="og:locale" content="fr_FR">
<!-- Description de la page -->
<meta name="description" content="">
<meta name="reply-to" content="contact@cipherbliss.com">
<link rel="icon" type="image/png" href="https://www.cipherbliss.com/wp-content/uploads/2016/12/rond.png">
</head>
<body>
<div id="page">
<header id="masthead" class="site-header">
<div class="header-image">
https://www.cipherbliss.com/wp-content/uploads/2016/11/bg.jpg
</div>
<nav class="navbar is-fixed-top is-dark" role="navigation" aria-label="main navigation">
<div class="navbar-brand">
<a class="navbar-item" href="https://www.cipherbliss.com">
<img src="https://www.cipherbliss.com/wp-content/uploads/2016/12/rond.png"
class="img-fluid">
</a>
</div>
<div id="navbarBasicExample" class="navbar-menu">
<div class="navbar-start">
<a class="navbar-item" href="https://www.cipherbliss.com">
<img src="https://www.cipherbliss.com/wp-content/uploads/2016/12/rond.png"
class="img-fluid">
</a>
<nav><a href="/">Accueil</a><a href="https://portfolio.cipherbliss.com">Portfolio</a><a href="/feed">Flux RSS</a><a href="/contact">Contact</a><a href="/ressources-de-café-vie-privée">Ressources</a></nav>
</div>
<div class="navbar-end">
<div class="navbar-item">
<form role="search" method="get" class="search-form" action="/">
<label>
<input class="search-field" placeholder="Recherche" value="" name="s"
type="search">
</label>
<input class="is-hidden search-submit" value="Rechercher" type="submit">
</form>
</div>
</div>
</div>
</nav>
</header>
<main class="body-wrap boxed-container">
<article class="content">
<!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>cipherbliss_blog</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">cipherbliss_blog</h1>
</header>
<h1 id="contact">Contact</h1>
<p>où me trouver: //<a
href="https://web.archive.org/web/20240721071559/mailto:contact@cipherbliss.com">contact@cipherbliss.com</a>//</p>
<p>Tel bureau CipherBliss: <a href="tel:0185461173">0185461173</a><a
href="https://web.archive.org/web/20240721071559/https://signal.org/">Signal
si vous avez mon numéro perso</a> </p>
<p>Sur Matrix/Riot, pour tout support ou contribution lié à mes services
et projets en lignes <a
href="https://web.archive.org/web/20240721071559/https://matrix.to/#/!jfoYESqTObXYlKAOVM:matrix.org?via=matrix.org">#cipherbliss:matrix.org</a>
XMPP: <a
href="https://web.archive.org/web/20240721071559/xmpp:tykayn@chapril.org">tykayn@chapril.org</a></p>
<p><img
src="https://web.archive.org/web/20240721071559im_/https://www.telegram.org/img/t_logo.png" /> 
Telegram: <a
href="https://web.archive.org/web/20240721071559/https://t.me/tykayn"><span>https://t.me/tykayn</span></a></p>
<p>Empreinte mail RSA: <em>548acf17d1e7a5d4d7572b95d4f4356a2bd69c47</em>
[[<a
href="https://web.archive.org/web/20240721071559/https://mastodon.cipherbliss.com/@tykayn">https://web.archive.org/web/20240721071559/https://mastodon.cipherbliss.com/@tykayn</a>][
]]Mastodon: <a
href="https://web.archive.org/web/20240721071559/https://mastodon.cipherbliss.com/@tykayn"><span>https://mastodon.cipherbliss.com/@tykayn</span></a>
Peertube: <a
href="https://web.archive.org/web/20240721071559/https://mastodon.cipherbliss.com/"><span>https://peertube.cipherbliss.com</span></a> 
[[<a
href="https://web.archive.org/web/20240721071559/https://peertube.cipherbliss.com/video-channels/root_channel/videos">https://web.archive.org/web/20240721071559/https://peertube.cipherbliss.com/video-channels/root_channel/videos</a>][Ma
chaine peertube perso ]][[<a
href="https://web.archive.org/web/20240721071559/https://www.openstreetmap.org/user/tykayn">https://web.archive.org/web/20240721071559/https://www.openstreetmap.org/user/tykayn</a>][OpenStreetMaps
Tykayn ]]</p>
<p>[[<a
href="https://web.archive.org/web/20240721071559/https://framagit.org/tykayn">https://web.archive.org/web/20240721071559/https://framagit.org/tykayn</a>][Sources
de projets libres sur le Gitlab Framagit ]]</p>
<p>N° SIRET Cipher Bliss:[[<a
href="https://web.archive.org/web/20240721071559/https://www.infogreffe.fr/entreprise-societe/799424163-lemoine-baptiste-paul-jean-79942416300019.html?typeProduitOnglet=EXTRAIT&amp;afficherretour=false">https://web.archive.org/web/20240721071559/https://www.infogreffe.fr/entreprise-societe/799424163-lemoine-baptiste-paul-jean-79942416300019.html?typeProduitOnglet=EXTRAIT&amp;afficherretour=false</a>][79942416300027
]]Ingénieur front-end sur Orsay, Essonne, France. <a
href="https://web.archive.org/web/20240721071559/https://www.cipherbliss.com/">www.cipherbliss.com</a></p>
</body>
</html>
</article>
</main>
<footer class="site-footer has-top-divider">
<div class="container">
<div class="site-footer-inner">
Cipher Bliss
Code, nouvelles technologies et entrepreneurariat par B. Lemoine
<nav><a href="/">Accueil</a><a href="https://portfolio.cipherbliss.com">Portfolio</a><a href="/feed">Flux RSS</a><a href="/contact">Contact</a><a href="/ressources-de-café-vie-privée">Ressources</a></nav>
</div>
</div>
</footer>
</div>
</body>
<!-- généré avec orgmode-to-gemini-blog par Tykayn -->
</html>

View file

@ -1,29 +1,269 @@
<!DOCTYPE html>
<!-- généré avec orgmode-to-gemini-blog par Tykayn -->
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Cipher Bliss</title>
<link rel="stylesheet" href="/style.css"></link>
</head>
<body>
<header>
<h1>Cipher Bliss</h1>
<p>Code, nouvelles technologies et entrepreneurariat par B. Lemoine</p>
<nav><a href="/">Accueil</a><a href="https://portfolio.cipherbliss.com">Portfolio</a><a href="/feed">Flux RSS</a><a href="/contact">Contact</a><a href="/ressources-de-café-vie-privée">Ressources</a></nav>
</header>
<hr/>
<main>
<html><head><title>cipherbliss_blog</title><link rel="stylesheet" href="/style.css"></link></head><body>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta property="og:image" content="https://www.cipherbliss.com/wp-content/uploads/2016/12/rond.png">
<meta property="og:locale" content="fr_FR">
<meta property="og:description" content="Code, nouvelles technologies et entrepreneurariat par B. Lemoine">
<meta property="og:url" content="https://portfolio.cipherbliss.com/">
<meta property="og:site_name" content="Cipher Bliss">
<link rel="alternate" type="application/rss+xml" title="Cipher Bliss » Flux"
href="https://www.cipherbliss.com/feed/">
<link href="/style.css" rel="stylesheet">
<meta charset="utf-8">
<h1>Navigation</h1><br><a href=/index.html>index.html</a><br><a href=/contact.html>contact.html</a><h1>Articles en Français</h1><br><a href=/2024/20241109231603-connaître-la-couleur-des-jours-edf-tempo-en-ligne-de-commande>2024 20241109231603 connaître la couleur des jours edf tempo en ligne de commande</a><br><a href=/2024/20241109231110-tags>2024 20241109231110 tags</a><br><a href=/2024/20241109230937-ressources-de-café-vie-privée>2024 20241109230937 ressources de café vie privée</a><br><a href=/2022/cipherbliss_blog_241_programme-pour-une-annee-2022-moins-pire>2022 cipherbliss_blog_241_programme pour une annee 2022 moins pire</a><br><a href=/2021/cipherbliss_blog_240_video-du-premier-chatons-camp-2021>2021 cipherbliss_blog_240_video du premier chatons camp 2021</a><br><a href=/2021/cipherbliss_blog_239_nouvelles-doctobre-2021>2021 cipherbliss_blog_239_nouvelles doctobre 2021</a><br><a href=/2021/cipherbliss_blog_238_des-sauvegardes-qui-durent-mille-ans>2021 cipherbliss_blog_238_des sauvegardes qui durent mille ans</a></article></body></html>
</main>
<hr/>
<footer>
<nav><a href="/">Accueil</a><a href="https://portfolio.cipherbliss.com">Portfolio</a><a href="/feed">Flux RSS</a><a href="/contact">Contact</a><a href="/ressources-de-café-vie-privée">Ressources</a></nav>
</footer>
<meta name="viewport" content="width=device-width, initial-scale=1">
<title></title>
<meta name="author" content="">
<link rel="alternate" type="application/rss+xml" title="Cipher Bliss » Flux"
href="https://www.cipherbliss.com/feed/">
<meta property="og:title" content="">
<meta property="og:locale" content="fr_FR">
<!-- Description de la page -->
<meta name="description" content="">
<meta name="reply-to" content="contact@cipherbliss.com">
<link rel="icon" type="image/png" href="https://www.cipherbliss.com/wp-content/uploads/2016/12/rond.png">
</head>
<body>
<div id="page">
<header id="masthead" class="site-header">
<div class="header-image">
https://www.cipherbliss.com/wp-content/uploads/2016/11/bg.jpg
</div>
<nav class="navbar is-fixed-top is-dark" role="navigation" aria-label="main navigation">
<div class="navbar-brand">
<a class="navbar-item" href="https://www.cipherbliss.com">
<img src="https://www.cipherbliss.com/wp-content/uploads/2016/12/rond.png"
class="img-fluid">
</a>
</div>
<div id="navbarBasicExample" class="navbar-menu">
<div class="navbar-start">
<a class="navbar-item" href="https://www.cipherbliss.com">
<img src="https://www.cipherbliss.com/wp-content/uploads/2016/12/rond.png"
class="img-fluid">
</a>
<nav><a href="/">Accueil</a><a href="https://portfolio.cipherbliss.com">Portfolio</a><a href="/feed">Flux RSS</a><a href="/contact">Contact</a><a href="/ressources-de-café-vie-privée">Ressources</a></nav>
</div>
<div class="navbar-end">
<div class="navbar-item">
<form role="search" method="get" class="search-form" action="/">
<label>
<input class="search-field" placeholder="Recherche" value="" name="s"
type="search">
</label>
<input class="is-hidden search-submit" value="Rechercher" type="submit">
</form>
</div>
</div>
</div>
</nav>
</header>
<main class="body-wrap boxed-container">
<article class="content">
<!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>cipherbliss_blog</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">cipherbliss_blog</h1>
</header>
<h1 id="cipherbliss">CipherBliss</h1>
<p>[contact](contact.org)</p>
<h1 id="articles">Articles</h1>
<h1 id="en-fr">en Fr</h1>
<h1 id="en-en">en En</h1>
<h1 id="flux-rss">Flux RSS</h1>
<h1 id="bisous">Bisous</h1>
</body>
</html>
</article>
</main>
<footer class="site-footer has-top-divider">
<div class="container">
<div class="site-footer-inner">
Cipher Bliss
Code, nouvelles technologies et entrepreneurariat par B. Lemoine
<nav><a href="/">Accueil</a><a href="https://portfolio.cipherbliss.com">Portfolio</a><a href="/feed">Flux RSS</a><a href="/contact">Contact</a><a href="/ressources-de-café-vie-privée">Ressources</a></nav>
</div>
</div>
</footer>
</div>
</body>
</html>
<!-- généré avec orgmode-to-gemini-blog par Tykayn -->
</html>

View file

@ -1,26 +0,0 @@
<!DOCTYPE html>
<!-- généré avec orgmode-to-gemini-blog par Tykayn -->
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Cipher Bliss</title>
<link rel="stylesheet" href="/style.css"></link>
</head>
<body>
<header>
<h1>Cipher Bliss</h1>
<p>Code, nouvelles technologies et entrepreneurariat par B. Lemoine</p>
<nav><a href="/">Accueil</a><a href="https://portfolio.cipherbliss.com">Portfolio</a><a href="/feed">Flux RSS</a><a href="/contact">Contact</a><a href="/ressources-de-café-vie-privée">Ressources</a></nav>
</header>
<hr/>
<main>
</main>
<hr/>
<footer>
<nav><a href="/">Accueil</a><a href="https://portfolio.cipherbliss.com">Portfolio</a><a href="/feed">Flux RSS</a><a href="/contact">Contact</a><a href="/ressources-de-café-vie-privée">Ressources</a></nav>
</footer>
</body>
</html>

View file

@ -11,14 +11,19 @@ html {
body {
text-align: left;
margin: 0 auto;
font-size: 1.5rem;
line-height: 1.5em;
max-width: 70ch;
color: #000;
background: #fff;
}
nav, .navbar,
.container,
.body-wrap {
max-width: 70ch;
margin: 0 auto;
}
h1, h2, h3, h4, h5, h6 {
font-family: Helvetica, "Ubuntu Sans", "Noto Sans", Calibri, Arial, sans-serif;
margin-top: 1em;
@ -115,6 +120,16 @@ li {
display: none;
}
.navbar-menu img {
width: 2rem;
height: 2rem;
margin-right: 1rem;
}
.content {
min-height: 50rem;
}
@media (max-width: 20rem) {
body {
padding: 1rem;