mirror of
https://forge.chapril.org/tykayn/orgmode-to-gemini-blog
synced 2025-06-20 09:04:42 +02:00
add scss converter
This commit is contained in:
parent
7b582215dd
commit
07cee6a65d
53 changed files with 4507 additions and 337 deletions
|
@ -0,0 +1,246 @@
|
|||
<!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="article">Article</h1>
|
||||
<ul>
|
||||
<li>ID: 1595</li>
|
||||
<li>guid:</li>
|
||||
<li>status: publish</li>
|
||||
<li>publié le: <2021-09-27 09:22:38></li>
|
||||
<li>modifié: <2021-09-27 09:22:42></li>
|
||||
<li>Index des articles du blog <a
|
||||
href="id:39e91a2e-d003-4acd-a99a-b58dca74df77">Cipherbliss blog</a></li>
|
||||
</ul>
|
||||
<h2 id="des-sauvegardes-qui-durent-mille-ans-1">Des sauvegardes qui
|
||||
durent mille ans</h2>
|
||||
<p>ceci<sub>estduhtml</sub></p>
|
||||
<p>J'ai animé un atelier au cours du premier camp CHATONS qui a eu lieu
|
||||
le week-end dernier. (Le <a href="<a
|
||||
href="https://www.chatons.org/">https://www.chatons.org/</a>">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="<a
|
||||
href="https://www.chatons.org/search/by-service">https://www.chatons.org/search/by-service</a>">trouver
|
||||
rapidement des alternatives</a> 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.<br><a href="<a
|
||||
href="https://libreto.sans-nuage.fr/camps-chatons/programme">https://libreto.sans-nuage.fr/camps-chatons/programme</a>"><a
|
||||
href="https://libreto.sans-nuage.fr/camps-chatons/programme">https://libreto.sans-nuage.fr/camps-chatons/programme</a></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<sub>src</sub> shell</p>
|
||||
<p><!– wp:image
|
||||
{"id":1598,"sizeSlug":"large","linkDestination":"none"} –> <figure
|
||||
class="wp-block-image size-large"><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"/><figcaption>Jancovici et le
|
||||
stockage à froid, une remarquable utilisation des couches géologiquement
|
||||
stables</figcaption></figure> <!– /wp:image –></p>
|
||||
<p><br>Liens:<br>Les slides sont disponibles
|
||||
ici:<br><a href="<a
|
||||
href="https://slides.com/tykayn/les-sauvegardes-automatiques">https://slides.com/tykayn/les-sauvegardes-automatiques</a>"><a
|
||||
href="https://slides.com/tykayn/les-sauvegardes-automatiques">https://slides.com/tykayn/les-sauvegardes-automatiques</a></a><br><br>La
|
||||
feuille de calcul pour cartographier son matériel<br><a
|
||||
href="<a
|
||||
href="https://cloud.tykayn.fr/index.php/s/KQfYHpaSpgwrWam">https://cloud.tykayn.fr/index.php/s/KQfYHpaSpgwrWam</a>"><a
|
||||
href="https://cloud.tykayn.fr/index.php/s/KQfYHpaSpgwrWam">https://cloud.tykayn.fr/index.php/s/KQfYHpaSpgwrWam</a></a>#+begin<sub>src</sub>
|
||||
shell</p>
|
||||
<p>Le site des CHATONS: <br><a href="<a
|
||||
href="https://www.chatons.org">https://www.chatons.org</a>"><a
|
||||
href="https://www.chatons.org">https://www.chatons.org</a></a>#+begin<sub>src</sub>
|
||||
shell</p>
|
||||
<p>Le forum où tout se discute:<br><a href=" <a
|
||||
href="https://forum.chatons.org">https://forum.chatons.org</a>"> <a
|
||||
href="https://forum.chatons.org">https://forum.chatons.org</a></a>#+begin<sub>src</sub>
|
||||
shell</p>
|
||||
<p>La documentation pour ne pas réinventer la roue: <br><a
|
||||
href="<a
|
||||
href="https://wiki.chatons.org">https://wiki.chatons.org</a>"><a
|
||||
href="https://wiki.chatons.org">https://wiki.chatons.org</a></a></p>
|
||||
<h1 id="liens">Liens</h1>
|
||||
<ul>
|
||||
<li>cipherbliss <a
|
||||
href="id:d14d8051-bbb9-4279-a574-84d78bfe5b66">Cipherbliss blog</a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,222 @@
|
|||
<!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="article">Article</h1>
|
||||
<ul>
|
||||
<li>ID: 1600</li>
|
||||
<li>guid:</li>
|
||||
<li>status: publish</li>
|
||||
<li>publié le: <2021-10-23 19:23:07></li>
|
||||
<li>modifié: <2021-10-23 19:38:11></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.<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="<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>"><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></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="<a
|
||||
href="https://forge.chapril.org/tykayn/mastodon-archive-stats">https://forge.chapril.org/tykayn/mastodon-archive-stats</a>"><a
|
||||
href="https://forge.chapril.org/tykayn/mastodon-archive-stats">https://forge.chapril.org/tykayn/mastodon-archive-stats</a></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="<a
|
||||
href="https://forum.chatons.org">https://forum.chatons.org</a>"><a
|
||||
href="https://forum.chatons.org">https://forum.chatons.org</a></a>#+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.<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?</p>
|
||||
<h1 id="liens">Liens</h1>
|
||||
<ul>
|
||||
<li>cipherbliss <a
|
||||
href="id:d14d8051-bbb9-4279-a574-84d78bfe5b66">Cipherbliss blog</a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,213 @@
|
|||
<!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="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>
|
|
@ -0,0 +1,235 @@
|
|||
<!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="article">Article</h1>
|
||||
<ul>
|
||||
<li>ID: 1614</li>
|
||||
<li>guid:</li>
|
||||
<li>status: publish</li>
|
||||
<li>publié le: <2022-01-06 18:35:54></li>
|
||||
<li>modifié: <2022-01-06 21:14:35></li>
|
||||
<li>Index des articles du blog <a
|
||||
href="id:39e91a2e-d003-4acd-a99a-b58dca74df77">Cipherbliss blog</a></li>
|
||||
</ul>
|
||||
<h2 id="programme-pour-une-année-2022-moins-pire">Programme pour une
|
||||
année 2022 moins pire</h2>
|
||||
<p>ceci<sub>estduhtml</sub></p>
|
||||
<p>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.</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="<a
|
||||
href="https://liberapay.com/cipherbliss">https://liberapay.com/cipherbliss</a>"><a
|
||||
href="https://liberapay.com/cipherbliss">https://liberapay.com/cipherbliss</a></a>.
|
||||
ç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. 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. <a href="<a
|
||||
href="https://www.cipherbliss.com/wp-content/uploads/2022/01/affiche-scaled.jpg">https://www.cipherbliss.com/wp-content/uploads/2022/01/affiche-scaled.jpg</a>"><img
|
||||
class="aligncenter size-large wp-image-1615" src="<a
|
||||
href="https://www.cipherbliss.com/wp-content/uploads/2022/01/affiche-724x1024.jpg">https://www.cipherbliss.com/wp-content/uploads/2022/01/affiche-724x1024.jpg</a>"
|
||||
alt="" width="620" height="877" /></a> Le premier aura lieu le
|
||||
Samedi 22 Janvier, voilà son <a href="<a
|
||||
href="https://mobilizon.chapril.org/events/8ca0c0e3-3c3e-4ec1-92bd-13507f1a3a08">https://mobilizon.chapril.org/events/8ca0c0e3-3c3e-4ec1-92bd-13507f1a3a08</a>">évènement
|
||||
mobilizon.</a> ç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.</p>
|
||||
<p>Et vous, que prévoyez vous de beau cette année?</p>
|
||||
<p>Allez à tantôt!</p>
|
||||
<h1 id="liens">Liens</h1>
|
||||
<ul>
|
||||
<li>cipherbliss <a
|
||||
href="id:d14d8051-bbb9-4279-a574-84d78bfe5b66">Cipherbliss blog</a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,220 @@
|
|||
<!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="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 j’anime, avec d’autres 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 d’un 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
|
||||
l’architecture d’internet et du web, contribuer au libre, défendre le
|
||||
droit d’accès à l’information 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 d’attention, 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 l’accè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>
|
|
@ -0,0 +1,217 @@
|
|||
<!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="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>
|
|
@ -0,0 +1,313 @@
|
|||
<!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;}
|
||||
/* 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">cipherbliss_blog</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>> <a
|
||||
href="https://api-commerce.edf.fr/commerce/activet/v1/calendrier-jours-effacement?option=TEMPO&dateApplicationBorneInf=%7Bdate_inférieure%7D&dateApplicationBorneSup=%7Bdate_supérieure%7D&identifiantConsommateur=src">https://api-commerce.edf.fr/commerce/activet/v1/calendrier-jours-effacement?option=TEMPO&dateApplicationBorneInf={date_inférieure}&dateApplicationBorneSup={date_supérieure}&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">"%Y-%m-</span><span class="sc">%d</span><span class="st">"</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">"%Y-%m-</span><span class="sc">%d</span><span class="st">"</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'aujourd'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">"%Y-%m-</span><span class="sc">%d</span><span class="st">"</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">"%Y-%m-</span><span class="sc">%d</span><span class="st">"</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">"-0"</span>, <span class="st">"-"</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">"-0"</span>, <span class="st">"-"</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("Date inf :", inf)</span></span>
|
||||
<span id="cb1-24"><a href="#cb1-24" aria-hidden="true" tabindex="-1"></a> <span class="co"># print("Date sup:", 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'API d'EDF pour récupérer les informations sur les couleurs des jours de l'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"https://api-commerce.edf.fr/commerce/activet/v1/calendrier-jours-effacement?option=TEMPO&dateApplicationBorneInf=</span><span class="sc">{</span>inf<span class="sc">}</span><span class="ss">&dateApplicationBorneSup=</span><span class="sc">{</span>sup<span class="sc">}</span><span class="ss">&identifiantConsommateur=src"</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">"content"</span>][<span class="st">"options"</span>][<span class="dv">0</span>][<span class="st">"calendrier"</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">""</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">"dateApplication"</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">"statut"</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">"TEMPO_BLEU"</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"</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">"</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">"TEMPO_BLANC"</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"</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">"</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">"TEMPO_ROUGE"</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"</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">"</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"</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">"</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>
|
Loading…
Add table
Add a link
Reference in a new issue