From 5414f5dd18bb38f901887e21faf824553f8133fa Mon Sep 17 00:00:00 2001 From: Simon Vieille Date: Fri, 9 Apr 2021 15:46:35 +0200 Subject: [PATCH] update --- blog/posts/568.gmi | 11 +--- blog/posts/569.gmi | 30 ++++------- blog/posts/570.gmi | 43 ++++++---------- blog/posts/571.gmi | 50 ++++++------------- blog/posts/573.gmi | 37 +++----------- blog/posts/574.gmi | 69 +++++++------------------ blog/posts/575.gmi | 53 +++++++------------- blog/posts/576.gmi | 78 +++++++++++------------------ blog/posts/577.gmi | 51 ++++++------------- blog/posts/578.gmi | 86 ++++++++++++-------------------- blog/posts/579.gmi | 15 +++--- blog/posts/580.gmi | 51 ++++++------------- blog/posts/581.gmi | 32 ++++-------- blog/posts/582.gmi | 6 +-- blog/posts/583.gmi | 10 +--- blog/posts/584.gmi | 19 +++---- blog/posts/585.gmi | 35 ++++--------- blog/posts/586.gmi | 63 ++++++++--------------- blog/posts/587.gmi | 13 +---- blog/posts/588.gmi | 80 +++++++++++------------------ blog/posts/589.gmi | 60 ++++++++-------------- blog/posts/590.gmi | 46 ++++------------- blog/posts/591.gmi | 122 ++++++++++++++++----------------------------- blog/posts/592.gmi | 5 +- blog/posts/593.gmi | 41 ++++----------- blog/posts/594.gmi | 73 ++++++++++----------------- blog/posts/595.gmi | 41 ++++++--------- blog/posts/596.gmi | 15 +----- blog/posts/597.gmi | 38 +++++++------- blog/posts/599.gmi | 106 ++++++++++++--------------------------- 30 files changed, 442 insertions(+), 937 deletions(-) diff --git a/blog/posts/568.gmi b/blog/posts/568.gmi index fdc624c..6884aca 100644 --- a/blog/posts/568.gmi +++ b/blog/posts/568.gmi @@ -3,12 +3,5 @@ * 2019-05-25 04:14:00 * Divers, Informatique, Quick links -```html -
-

Dans un dossier complet, Tinternet & cie vous explique comment nous pouvons reprendre la main sur nos données personnelles sur internet.

-
-``` - -```html -

Un premier article d'une longue série j'espère 🙂

-``` +> Dans un dossier complet, Tinternet & cie vous explique comment nous pouvons reprendre la main sur nos données personnelles sur internet. +Un premier article d'une longue série j'espère 🙂 diff --git a/blog/posts/569.gmi b/blog/posts/569.gmi index 648639c..cb5aa8f 100644 --- a/blog/posts/569.gmi +++ b/blog/posts/569.gmi @@ -3,25 +3,17 @@ * 2019-06-12 02:31:00 * Informatique, Quick links -```html -

Ce projet génère un rapport générique sur une distribution Debian GNU/Linux (+ Ubuntu).

-``` +Ce projet génère un rapport générique sur une distribution Debian GNU/Linux (+ Ubuntu). -```html - -``` +* Nom du système +* État des paquets et uptime +* Points de montage +* Espaces disques +* Rapport Smartmontools +* … -```html -

Ce rapport pourra être enregistré dans un fichier et/ou envoyé par mail.

-``` +Ce rapport pourra être enregistré dans un fichier et/ou envoyé par mail. -```html -

Sa configuration est très simple et tout est documenté dans le README du projet.

-``` +Sa configuration est très simple et +=> https://gitnet.fr/deblan/deblan-report/src/branch/master/README.md tout est documenté dans le README du projet +. diff --git a/blog/posts/570.gmi b/blog/posts/570.gmi index dfa4e1b..30cefbb 100644 --- a/blog/posts/570.gmi +++ b/blog/posts/570.gmi @@ -3,39 +3,28 @@ * 2019-06-26 17:01:25 * Développement -```html -

Pour la fonctionnalité de partage de liens sur ce blog, j'ai développé -un script qui récupére le contenu d'une page et analyse ses balises <meta> -pour identifier ses données Open Graph.

-``` +Pour la fonctionnalité de partage de liens sur ce blog, j'ai développé un script qui récupére le contenu d'une page et analyse ses balises `` pour identifier ses données +=> http://ogp.me/ Open Graph +. -```html -

Dans un autre contexte, j'ai rencontré un bug dans Wallabag -qui l'empêche de récupérer le contenu de plusieurs pages web que je désirait lire plus tard. -Avec la volonté de créer un rapport de bug, la documentation m'a amené sur la piste du projet Graby -utilisé par Wallabag.

-``` +Dans un autre contexte, j'ai rencontré un bug dans +=> https://wallabag.org/ Wallabag +qui l'empêche de récupérer le contenu de plusieurs pages web que je désirait lire plus tard. Avec la volonté de créer un rapport de bug, la documentation m'a amené sur la piste du projet +=> https://github.com/j0k3r/graby Graby +utilisé par Wallabag. -```html -

Pour comprendre et peut-être proposer un correctif, j'ai joué avec Graby et -ça m'a amené à réaliser une API pour remplacer le script utilisé par le blog, -en combinent Graby et fusonic/opengraph. -L'objectif de l'API est donc de retourner des données générées par Graby et OpenGraph au format JSON.

-``` +Pour comprendre et peut-être proposer un correctif, j'ai joué avec Graby et ça m'a amené à réaliser une API pour remplacer le script utilisé par le blog, en combinent Graby et +=> https://github.com/fusonic/opengraph `fusonic/opengraph` +. L'objectif de l'API est donc de retourner des données générées par Graby et OpenGraph au format JSON. -```html -

Voici à quoi ressemble un retour d'appel à l'API avec les données Open Graph :

-``` +Voici à quoi ressemble un retour d'appel à l'API avec les données Open Graph : ```html
-``` - -```html ``` -```html -

Le projet est dépendant de PHP 7.3 et c'est libre. -Le code source est dispo ici.

-``` +=> https://gitnet.fr/deblan/apipage Le projet +est dépendant de PHP 7.3 et c'est libre. Le +=> https://gitnet.fr/deblan/apipage code source est dispo ici +. diff --git a/blog/posts/571.gmi b/blog/posts/571.gmi index b5f58c2..f88972f 100644 --- a/blog/posts/571.gmi +++ b/blog/posts/571.gmi @@ -3,46 +3,24 @@ * 2019-07-18 09:35:45 * Informatique -```html -

Hier, en partageant un lien vers un dossier Nextcloud dans une conversation Messenger, -Facebook m'a affiché un message qui indique que deblan.org ne suit pas -les "Standards de la communauté".

-``` +Hier, en partageant un lien vers un dossier Nextcloud dans une conversation Messenger, Facebook m'a affiché un message qui indique que `deblan.org` ne suit pas les "Standards de la communauté". -```html -

capture d'écran

-``` +=> https://upload.deblan.org/u/2019-07/5d30238a.png capture d'écran [IMG] -```html -

En fouillant un peu plus, il s'avère que tous les domaines de deblan.org -sont concernés. Il semble également que le mot deblan.org est aussi en liste noire.

-``` +En fouillant un peu plus, il s'avère que **tous les domaines de `deblan.org` sont concernés**. Il semble également que le mot `deblan.org` est aussi en liste noire. -```html -

capture d'écran

-``` +=> https://www.deblan.io/uploads/post//c971a876a320eacdf8b1e6af6d7b49ff.jpeg capture d'écran [IMG] -```html -

En fouillant encore un peu plus, Facebook a décidé que le partage de l'article -vers mon projet deblan/deblan-report -était lui aussi contraire à ces fameux "Standards de la communauté" (cf la capture d'écran) -alors que je suis l'auteur d'absolument tous les contenus du dit article.

-``` +En fouillant encore un peu plus, Facebook a décidé que le partage de l'article vers mon projet +=> https://www.deblan.io/post/569/generer-un-rapport-d-un-serveur-en-html-texte-dans-fichier-et-ou-un-mail `deblan/deblan-report` +était lui aussi contraire à ces fameux "Standards de la communauté" (cf la +=> https://upload.deblan.org/u/2019-07/5d301ae6.jpg capture d'écran +) alors que je suis l'auteur d'absolument tous les contenus du dit article. -```html -

Alors, on peut se demander pourquoi une telle décision ? Aucune idée. Mais si de mon coté -ça ne me pose pas plus de soucis que ça, les quelques personnes qui hébergent du contenu -sur mon serveur seront peut-être un peu plus contrariées.

-``` +Alors, on peut se demander pourquoi une telle décision ? Aucune idée. Mais si de mon coté ça ne me pose pas plus de soucis que ça, les quelques personnes qui hébergent du contenu sur mon serveur seront peut-être un peu plus contrariées. -```html -

Voici un bel exemple de censure, sans fondement et sans explication. Il faut rappeler -que Facebook n'est pas qu'un simple hébergeur de contenus, c'est avant tout un site éditorialiste -qui décide de ce qui doit apparaître ou pas dans ses pages, en dehors de tout cadre juridique.

-``` +Voici un bel exemple de censure, sans fondement et sans explication. Il faut rappeler que Facebook n'est pas qu'un simple hébergeur de contenus, c'est avant tout un site éditorialiste qui décide de ce qui doit apparaître ou pas dans ses pages, en dehors de tout cadre juridique. -```html -

Ce web égo-centré est de l'ancien monde et ça me pousse encore plus vers les services -du Fediverse, loins de ces sociétés nauséabondes qui -crachent à la gueule de tout le monde et qui continueront à le faire car la majorité des gens s'en tapent.

-``` +Ce web égo-centré est de l'ancien monde et ça me pousse encore plus vers les services du +=> https://fr.wikipedia.org/wiki/Fediverse Fediverse +, loins de ces sociétés nauséabondes qui crachent à la gueule de tout le monde et qui continueront à le faire car la majorité des gens s'en tapent. diff --git a/blog/posts/573.gmi b/blog/posts/573.gmi index 020d31e..62aed4a 100644 --- a/blog/posts/573.gmi +++ b/blog/posts/573.gmi @@ -3,38 +3,15 @@ * 2019-08-01 13:25:45 * Développement, Informatique -```html -

Dans mon activité personnelle et professionnelle, je suis amené à créer des -espaces d’hébergement de sites web principalement écrits en PHP.

-``` +Dans mon activité personnelle et professionnelle, je suis amené à créer des espaces d’hébergement de sites web principalement écrits en PHP. -```html -

Il y a quelques années, j’ai écris un script en shell qui posait des questions -et générait des fichiers de configuration pour Apache et PHP puis relançait ces -services. Il a ensuite évolué et générait également les utilisateurs unix et -affinait les permissions. Le principal problème du script est que d’un serveur -à l’autre, il fallait mettre des coups de hache dans le code pour l’adapter.

-``` +Il y a quelques années, j’ai écris un script en shell qui posait des questions et générait des fichiers de configuration pour Apache et PHP puis relançait ces services. Il a ensuite évolué et générait également les utilisateurs unix et affinait les permissions. Le principal problème du script est que d’un serveur à l’autre, il fallait mettre des coups de hache dans le code pour l’adapter. -```html -

Cette semaine, j’ai entamé une refonte complète du code. Au fur et à mesure du -développement, j’ai rendu pas mal de choses configurables et je pense qu’il est -fonctionnel sur des environnements relativement différents des miens.

-``` +Cette semaine, j’ai entamé une refonte complète du code. Au fur et à mesure du développement, j’ai rendu pas mal de choses configurables et je pense qu’il est fonctionnel sur des environnements relativement différents des miens. -```html -

Je vous présente donc vhost-manager, c'est un projet libre et est toujours orienté -vers la génération de vhost Apache et de pools PHP FPM. Il faut make, gcc, -wget pour l'installer et sh, whiptail et php sont nécessaires à -son utilisation.

-``` +Je vous présente donc `vhost-manager`, c'est un projet libre et est toujours orienté vers la génération de vhost Apache et de pools PHP FPM. Il faut `make`, `gcc`, `wget` pour l'installer et `sh`, `whiptail` et `php` sont nécessaires à son utilisation. -```html -

vhost-manager

-``` +=> https://www.deblan.io/~simon/vhost-manager/vhost-manager2.gif vhost-manager [IMG] -```html -

Le code source est disponible ici. -Le projet se configure via un fichier de variables et j'ai conservé le -principe des questions/réponses pour générer les fichiers.

-``` +=> https://gitnet.fr/deblan/vhost-manager Le code source est disponible ici +. Le projet se configure via un fichier de variables et j'ai conservé le principe des questions/réponses pour générer les fichiers. diff --git a/blog/posts/574.gmi b/blog/posts/574.gmi index 746f30a..a224ebc 100644 --- a/blog/posts/574.gmi +++ b/blog/posts/574.gmi @@ -3,63 +3,32 @@ * 2019-08-21 11:44:53 * Informatique -```html -

Lors des échanges sur la protection de la vie privée et la décentralisation -des données, la question de YouTube est un sujet qui fait débat. En effet, je -peux créer une instance PeerTube ou en choisir une des nombreuses disponibles -pour publier une vidéo mais qu'est est-il de la consultation ? Si des -créateurs font le choix de déposer leurs vidéos sur plusieurs plateformes, -d’autres se contentent de ne publier que sur YouTube. Dès lors, on est contraint -de passer par YouTube pour accéder à ses contenus et cela implique de subir le -tracking publicitaire de Google.

-``` +Lors des échanges sur la protection de la vie privée et la décentralisation des données, la question de YouTube est un sujet qui fait débat. En effet, je peux créer une instance PeerTube ou en choisir une des nombreuses disponibles pour **publier** une vidéo mais qu'est est-il de la **consultation** ? Si des créateurs font le choix de déposer leurs vidéos sur plusieurs plateformes, d’autres se contentent de ne publier que sur YouTube. Dès lors, on est contraint de passer par YouTube pour accéder à ses contenus et cela implique de subir le tracking publicitaire de Google. -```html -

Invidious est un projet libre sous licence AGPLv3 qui permet ne plus charger -l’interface très obèse de YouTube et par effet de bord, de ne plus charger les -trackers qu’on peut y trouver. Invidious est assez complet car il permet -également de gérer des comptes utilisateurs sans compte Google, de faire des -recherches, de s’abonner à des chaînes et de faire l'intermédiaire entre vous et -les serveurs vidéos de Google.

-``` +**Invidious** est un projet libre sous licence AGPLv3 qui permet ne plus charger l’interface très obèse de YouTube et par effet de bord, de ne plus charger les trackers qu’on peut y trouver. Invidious est assez complet car il permet également de gérer des comptes utilisateurs **sans compte Google**, de faire des recherches, de s’abonner à des chaînes et de faire l'intermédiaire entre vous et les serveurs vidéos de Google. -```html -

Invidious

-``` +=> https://upload.deblan.org/u/2019-08/5d5d0729.jpg Invidious [IMG] -```html -

Pour autant, ce n’est pas totalement suffisant car si vous consultez une page -qui affiche une vidéo YouTube ou que quelqu’un vous partage un lien vers YouTube, -vous allez à nouveau afficher des pages obèses et pleines de trackers. Le -développeur Booteille a réalisé -une extension Firefox -destinée à résoudre cela. Une fois installée et activée, l’extension va automatiquement -remplacer l’Iframe de YouTube par un encart Invidious et rediriger les pages -YouTube vers une instance Invidious de votre choix. Voici à quoi ressemble une -vidéo affichée depuis une instance Invidious.

-``` +Pour autant, ce n’est pas totalement suffisant car si vous consultez une page qui affiche une vidéo YouTube ou que quelqu’un vous partage un lien vers YouTube, vous allez à nouveau afficher des pages obèses et pleines de trackers. Le développeur +=> https://gitlab.com/Booteille Booteille +a réalisé une +=> https://addons.mozilla.org/fr/firefox/addon/invidition/ extension Firefox +destinée à résoudre cela. Une fois installée et activée, l’extension va automatiquement remplacer l’Iframe de YouTube par un encart Invidious et rediriger les pages YouTube vers une instance Invidious de votre choix. Voici à quoi ressemble une vidéo affichée depuis une instance Invidious. ```html
``` -```html -

Après plusieurs semaines d’utilisation, retourner sur le site YouTube est presque -un calvaire car c’est vraiment lent. Invidious charge et affiche les contenus -plus rapidement et le lecteur fait extrêmement bien son boulot. Cependant, si -l’interface de YouTube vous manque un peu, vous pouvez installer le logiciel -FreeTube qui reprend ses codes et permet de -s’interfacer avec une instance Invidious.

-``` +Après plusieurs semaines d’utilisation, retourner sur le site YouTube est presque un calvaire car c’est vraiment lent. Invidious charge et affiche les contenus plus rapidement et le lecteur fait extrêmement bien son boulot. Cependant, si l’interface de YouTube vous manque un peu, vous pouvez installer le logiciel ** +=> https://freetubeapp.io/ FreeTube +** qui reprend ses codes et permet de s’interfacer avec une instance Invidious. -```html -

FreeTube

-``` +=> https://upload.deblan.org/u/2019-08/5d5d0cc5.jpg FreeTube [IMG] -```html -

Si vous avez envie de tester Invidious, vous pouvez accéder à -l'instance officielle et les -instances publiques -voire de l'installer localement -ou sur votre serveur.

-``` +Si vous avez envie de tester Invidious, vous pouvez accéder à +=> https://invidio.us/ l'instance officielle +et les +=> https://github.com/omarroth/invidious/wiki/Invidious-Instances instances publiques +voire de +=> https://github.com/omarroth/invidious#installation l'installer + localement ou sur votre serveur. diff --git a/blog/posts/575.gmi b/blog/posts/575.gmi index b9f99c5..b5697dd 100644 --- a/blog/posts/575.gmi +++ b/blog/posts/575.gmi @@ -3,35 +3,24 @@ * 2019-12-09 13:34:12 * Informatique -```html -

Fin avril dernier, j'ai publié un projet qui génère un -récapitulatif de la date d'expiration d'un ou plusieurs nom de domaines.

-``` +Fin avril dernier, j'ai publié un projet qui génère un +=> https://www.deblan.io/post/565/verifier-la-date-d-expiration-de-noms-de-domaine récapitulatif de la date d'expiration d'un ou plusieurs nom de domaines +. -```html -

Je publie aujourd'hui une mise à jour qui intègre un outil pour avoir un récapitulatif -des dates d'expirations des certificats SSL. C'est sur le même principe que pour les -noms de domaines avec une uniformisation des affichages.

-``` +Je publie aujourd'hui une mise à jour qui intègre un outil pour avoir un récapitulatif des **dates d'expirations des certificats SSL**. C'est sur le même principe que pour les noms de domaines avec une uniformisation des affichages. -```html -

Pour l'installation, rien ne change si ce n'est une dépendance à openssl :

-``` +Pour l'installation, rien ne change si ce n'est une dépendance à `openssl` : -```html -
$ git clone --recurse-submodules https://gitnet.fr/deblan/domain-expiration.git
+```{.language-bash data-title="Installation"}
+$ git clone --recurse-submodules https://gitnet.fr/deblan/domain-expiration.git
 $ cd domain-expiration
 $ composer install
-
``` -```html -

Les commandes varient un petit peu mais rien de bien méchant. Pour tester les -noms de domaines :

-``` +Les commandes varient un petit peu mais rien de bien méchant. Pour tester les noms de domaines : -```html -
./check domains google.com amazon.com facebook.com apple.com microsoft.com
+```{.language-bash data-title="Exemple sans couleur"}
+./check domains google.com amazon.com facebook.com apple.com microsoft.com
 +---------------+------+---------------------+
 | Domain        | Days | Date                |
 +---------------+------+---------------------+
@@ -41,15 +30,12 @@ noms de domaines :

| facebook.com | 3033 | 2028-03-30 04:00:00 | | google.com | 3201 | 2028-09-14 04:00:00 | +---------------+------+---------------------+ -
``` -```html -

Pour tester les certificats :

-``` +Pour tester les certificats : -```html -
./check https-certificates google.com amazon.com facebook.com apple.com microsoft.com 
+```{.language-bash data-title="Exemple sans couleur"}
+./check https-certificates google.com amazon.com facebook.com apple.com microsoft.com 
 +---------------+------+---------------------+
 | Domain        | Days | Date                |
 +---------------+------+---------------------+
@@ -59,15 +45,10 @@ noms de domaines :

| apple.com | 222 | 2020-07-19 13:25:52 | | microsoft.com | 543 | 2021-06-05 13:25:50 | +---------------+------+---------------------+ -
``` -```html -

Des options peuvent être ajoutées pour modifier le retour en simplifiant le tableau, -pour générer du JSON et pour ralentir le programme entre chaque test (très pratique -pour récupérer les whois sans être bloqué).

-``` +Des options peuvent être ajoutées pour modifier le retour en simplifiant le tableau, pour générer du JSON et pour ralentir le programme entre chaque test (très pratique pour récupérer les `whois` sans être bloqué). -```html -

C'est toujours libre et le code est disponible sur Gitnet.

-``` +C'est toujours libre et le code est disponible sur +=> https://gitnet.fr/deblan/domain-expiration Gitnet +. diff --git a/blog/posts/576.gmi b/blog/posts/576.gmi index c723239..7c87a5d 100644 --- a/blog/posts/576.gmi +++ b/blog/posts/576.gmi @@ -3,58 +3,40 @@ * 2020-01-09 10:30:54 * Divers -```html -

On est arrivé en 2020 depuis plusieurs jours et j’avais envie de faire le bilan de -2019. Cette année a été assez productive du coté des logiciels libres. J’ai pu contribuer avec -la réalisation de quelques projets :

-``` +On est arrivé en 2020 depuis plusieurs jours et j’avais envie de faire le bilan de 2019. Cette année a été assez productive du coté des logiciels libres. J’ai pu contribuer avec la réalisation de quelques projets : -```html - -``` +* +=> https://www.deblan.io/post/565/verifier-la-date-d-expiration-de-noms-de-domaine Un outil pour récapituler les dates d’expirations de nom de domaines -```html -

J’ai également publié d’autres projets sans en parler sur mon blog :

-``` +et sa +=> https://www.deblan.io/post/575/expiration-de-certificats-ssl mise à jour pour récapituler les dates d’expirations de certificats SSL -```html - -``` +* +=> https://www.deblan.io/post/569/generer-un-rapport-d-un-serveur-en-html-texte-dans-fichier-et-ou-un-mail Une refonte et la publication du code pour générer des rapports serveur +* +=> https://www.deblan.io/post/570/api-pour-recuperer-le-contenu-open-graph-d-une-page-web Une API pour récupérer les informations OpenGraph et les données générées par Graby +* +=> https://www.deblan.io/post/573/outil-de-creation-d-un-espace-web-apache-et-php Un générateur de configuration de vhost pour Apache -```html -

En enfin, j’ai maintenu des projets existants comme -Gist et -l’outil pour s’identifier sur Office 365 -(je cherche d’ailleurs des contributions pour implémenter la double -authentification). -Du côté de l’auto-hébergement, j’ai ajouté quelques services comme wallabag -et cyberchef. Au 31 décembre, 15 services -étaient proposés gratuitement avec un accès libre ou sur inscription et 36 -personnes m’ont fait une demande d’accès à un service restreint (hébergement web, -service mail, Nextcloud, …).

-``` +J’ai également publié d’autres projets sans en parler sur mon blog : -```html -

Cela fait maintenant plus de 10 ans que je m’auto-héberge -et j’héberge maintenant pas mal de monde. Ça tourne super bien et je suis très -content que de plus en plus de gens s'y intéressent. Je suis sollicité par des -associations qui veulent d'affranchir des GAFAM et c'est bien !

-``` +* +=> https://gitnet.fr/deblan/sms-sender Un script pour envoyer des SMS depuis un shell en s’appuyant sur KDEConnect +* +=> https://gitnet.fr/deblan/mattermost-bot Un outil de publication sur Mattermost de liens provenants de flux RSS -```html -

Tout cela demande de l'investissement mais c’est essentiel pour ne pas laisser -ses données n’importe où.

-``` +En enfin, j’ai maintenu des projets existants comme +=> https://gitnet.fr/deblan/gist Gist +et +=> https://gitnet.fr/deblan/office365-oauth2-authenticator l’outil pour s’identifier sur Office 365 +(je cherche d’ailleurs des contributions pour implémenter la double authentification). Du côté de l’auto-hébergement, j’ai ajouté quelques services comme +=> https://wallabag.org/fr wallabag +et +=> https://github.com/gchq/CyberChef cyberchef +. Au 31 décembre, 15 services étaient proposés gratuitement avec un accès libre ou sur inscription et 36 personnes m’ont fait une demande d’accès à un service restreint (hébergement web, service mail, Nextcloud, …). -```html -

On verra comment 2020 va se passer 😉

-``` +Cela fait maintenant plus de 10 ans que je m’auto-héberge et j’héberge maintenant pas mal de monde. Ça tourne super bien et je suis très content que de plus en plus de gens s'y intéressent. Je suis sollicité par des associations qui veulent d'affranchir des GAFAM et c'est bien ! + +Tout cela demande de l'investissement mais c’est essentiel pour ne pas laisser ses données n’importe où. + +On verra comment 2020 va se passer 😉 diff --git a/blog/posts/577.gmi b/blog/posts/577.gmi index 66e355e..14d5976 100644 --- a/blog/posts/577.gmi +++ b/blog/posts/577.gmi @@ -3,45 +3,22 @@ * 2020-01-31 21:21:49 * Futilités de Geek -```html -

La semaine dernière, mon quartier a subi une coupure électrique qui a rendu -inaccessible mon serveur auto-hébergé pendant 2 heures.

-``` +La semaine dernière, mon quartier a subi une coupure électrique qui a rendu inaccessible mon serveur auto-hébergé pendant 2 heures. -```html -

Il m'a fallu seulement quelques petites minutes pour me rendre compte qu'il y -avait un problème et pendant tout le temps de la panne, je me suis rendu compte -que la très grande majorité de mes outils étaient indisponibles :

-``` +Il m'a fallu seulement quelques petites minutes pour me rendre compte qu'il y avait un problème et pendant tout le temps de la panne, je me suis rendu compte que la très grande majorité de mes outils étaient indisponibles : -```html - -``` +* Mes mails +* Mes calendriers +* Mon gestionnaire de tâches +* Mes contacts téléphoniques +* Mes fichiers et mes partages +* Mes dépôts pour mes projets +* Mon lecteur de flux RSS et mon instance Wallabag qui m'aide aussi à partager ma veille +* Des outils de monitoring +* Et encore d'autres services… -```html -

C'est pénible mais ce n'est pas insurmontable quand on sait que rien n'est cassé -et que c'est juste un problème de courant. Cette une grosse centralisation de -données et services que j'aurais largement critiquée dans un autre contexte. -Cependant, comme tout est hébergé à la maison, ça ne me pose véritablement aucun -problème et il faut accepter des coupures de temps en temps.

-``` +C'est pénible mais ce n'est pas insurmontable quand on sait que rien n'est cassé et que c'est juste un problème de courant. Cette une grosse centralisation de données et services que j'aurais largement critiquée dans un autre contexte. Cependant, comme tout est hébergé à la maison, ça ne me pose véritablement aucun problème et il faut accepter des coupures de temps en temps. -```html -

Je crois que c'est une étape importante qui a été franchie avec la reprise en -main de toutes les données numériques qui m'appartiennent qui et ne devraient -pas stockées ailleurs.

-``` +Je crois que c'est une étape importante qui a été franchie avec la reprise en main de toutes les données numériques qui m'appartiennent qui et ne devraient pas stockées ailleurs. -```html -

Not bad

-``` +=> https://upload.deblan.org/u/2020-01/5e348a49.jpg Not bad [IMG] diff --git a/blog/posts/578.gmi b/blog/posts/578.gmi index 8a7e871..50eac89 100644 --- a/blog/posts/578.gmi +++ b/blog/posts/578.gmi @@ -3,43 +3,32 @@ * 2020-02-20 15:17:02 * Développement -```html -

Je travaille régulièrement sur des traitements de fichiers CSV. -J'apprécie beaucoup ce format de fichier car il se génère et se lit -facilement, qu'on soit informaticien ou non. J'ai d'ailleur écrit 2 -librairies PHP pour lire, générer et valider des CSV : -deblan/csv et deblan/csv-validator.

+Je travaille régulièrement sur des traitements de fichiers CSV. J'apprécie beaucoup ce format de fichier car il se génère et se lit facilement, qu'on soit informaticien ou non. J'ai d'ailleur écrit 2 librairies PHP pour lire, générer et valider des CSV : +=> https://gitnet.fr/deblan/csv deblan/csv +et +=> https://gitnet.fr/deblan/csv-validator deblan/csv-validator +. + +Lors des mes analyses, je me confronte parfois à des fichiers qui comportent beaucoup de colonnes et c'est un enfer d'utiliser un tableur pour visualiser et filtrer ces tableaux très larges. + +Après quelques recherches, j'ai découvert deux projets qui se complètent à merveille ! Le premier est un outil qui transforme un fichier CSV en une base de données SQLite : +=> https://pypi.org/project/csvs-to-sqlite/ csvs-to-sqlite +. Le second génère une interface web (avec un serveur web intégré) pour faire des requêtes SQL sur une base de données SQLite : +=> https://pypi.org/project/datasette/ datasette +. + +Ce sont des outils écrits en Python qui s'installent et s'utilisent en une poignée de secondes. + +```{.language-bash data-title="Installation"} +$ sudo pip3 install csvs-to-sqlite datasette ``` -```html -

Lors des mes analyses, je me confronte parfois à des fichiers qui -comportent beaucoup de colonnes et c'est un enfer d'utiliser un tableur pour -visualiser et filtrer ces tableaux très larges.

-``` +Pour illustrer, je vais traiter le fichier CSV de la base officielle des codes postaux disponible sur +=> https://www.data.gouv.fr/fr/datasets/base-officielle-des-codes-postaux/ data.gouv.fr +. -```html -

Après quelques recherches, j'ai découvert deux projets qui se complètent à merveille ! -Le premier est un outil qui transforme un fichier CSV en une base de données SQLite : csvs-to-sqlite. -Le second génère une interface web (avec un serveur web intégré) pour faire -des requêtes SQL sur une base de données SQLite : datasette.

-``` - -```html -

Ce sont des outils écrits en Python qui s'installent et s'utilisent en une poignée de secondes.

-``` - -```html -
$ sudo pip3 install csvs-to-sqlite datasette
-
-``` - -```html -

Pour illustrer, je vais traiter le fichier CSV de la base officielle des codes postaux -disponible sur data.gouv.fr.

-``` - -```html -
$ wget -O codes_postaux.csv https://datanova.legroupe.laposte.fr/explore/dataset/laposte_hexasmal/download/\?format\=csv\&timezone\=Europe/Berlin\&use_labels_for_header\=true
+```{.language-bash data-title="Installation"}
+$ wget -O codes_postaux.csv https://datanova.legroupe.laposte.fr/explore/dataset/laposte_hexasmal/download/\?format\=csv\&timezone\=Europe/Berlin\&use_labels_for_header\=true
 $ csvs-to-sqlite -s ";" codes_postaux.csv codes_postaux.db
 $ datasette serve codes_postaux.db
 Serve! files=('codes_postaux.db',) (immutables=()) on port 8001
@@ -47,31 +36,18 @@ INFO:     Started server process [8550]
 INFO:     Waiting for application startup.
 INFO:     Application startup complete.
 INFO:     Uvicorn running on http://127.0.0.1:8001 (Press CTRL+C to quit)
-
``` -```html -

On peut maintenant accéder à http://127.0.0.1:8001 depuis un navigateur et commencer -à analyer et traiter les données :

-``` +On peut maintenant accéder à +=> http://127.0.0.1:8001 +depuis un navigateur et commencer à analyer et traiter les données : -```html -

datasette

-``` +=> https://upload.deblan.org/u/2020-02/5e4e93b5.png datasette [IMG] -```html -

Et le plus intéressant pour moi, c'est de pouvoir écrire des requêtes SQL affiner -vraiment les données affichées :

-``` +Et le plus intéressant pour moi, c'est de pouvoir écrire des requêtes SQL affiner vraiment les données affichées : -```html -

datasette

-``` +=> https://upload.deblan.org/u/2020-02/5e4e93c1.png datasette [IMG] -```html -

Enfin, on peut générer un nouveau fichier CSV (ou JSON) avec les données filtrées.

-``` +Enfin, on peut générer un nouveau fichier CSV (ou JSON) avec les données filtrées. -```html -

Simple, rapide et efficace !

-``` +Simple, rapide et efficace ! diff --git a/blog/posts/579.gmi b/blog/posts/579.gmi index 839bfc4..ee6f56d 100644 --- a/blog/posts/579.gmi +++ b/blog/posts/579.gmi @@ -3,12 +3,9 @@ * 2020-02-26 08:31:00 * La toile, Quick links -```html -
-

Ils sont attirants, attachants … et rapidement indispensables. Les réseaux sociaux nous appâtent à coup de likes et nous bercent dans leurs "infinite scroll". Et rapidement leurs interfaces nous poussent à la consommation jusqu’à l’overdose. Et ce n’est pas un hasard. Ils ont bâti leurs empires sur notre addiction à la dopamine.

-``` - -```html -

Retrouvez toutes les sources de l'épisode sur : https://wiki.datagueule.tv/Réseaux_:flux_à_lier(EP.95)

-
-``` +> Ils sont attirants, attachants … et rapidement indispensables. Les réseaux sociaux nous appâtent à coup de likes et nous bercent dans leurs "infinite scroll". Et rapidement leurs interfaces nous poussent à la consommation jusqu’à l’overdose. Et ce n’est pas un hasard. Ils ont bâti leurs empires sur notre addiction à la dopamine. +> +> Retrouvez toutes les sources de l'épisode sur : +=> https://wiki.datagueule.tv/R%C3%A9seaux_:flux_%C3%A0_lier(EP.95) +=> https://wiki.datagueule.tv/R%C3%A9seaux_:flux_%C3%A0_lier(EP.95 +) diff --git a/blog/posts/580.gmi b/blog/posts/580.gmi index ab36b3b..26b69b5 100644 --- a/blog/posts/580.gmi +++ b/blog/posts/580.gmi @@ -3,47 +3,26 @@ * 2020-03-25 02:00:56 * Développement -```html -

Il y a quelques semaines, nous avons acheté un terrarium pour le pogona de ma chère -et tendre moitié. C'est un animal qui implique un environnement particulier avec -des températures de jour et de nuit à ne pas dépasser, et une hygrométrie -qui ne doit pas franchir le 50%.

-``` +Il y a quelques semaines, nous avons acheté un terrarium pour le pogona de ma chère et tendre moitié. C'est un animal qui implique un environnement particulier avec des températures de jour et de nuit à ne pas dépasser, et une hygrométrie qui ne doit pas franchir le 50%. -```html -

On a installé un thermomètre et un hygromètre analogiques mais les valeurs ne sont -pas précises à la lecture. Cela a été un bon prétexte pour jouer avec un Raspberry PI -et entreprendre l'installation d'une sonde pour mesurer la température et l'hygrométrie. -On a en profité pour ajouter une caméra infra-rouge. Nous pouvons donc avoir -des alertes quand les seuils sont dépassés et il est possible de quitter l'appartement -tout en gardant un œil sur le dinosaure 🦖

-``` +On a installé un thermomètre et un hygromètre analogiques mais les valeurs ne sont pas précises à la lecture. Cela a été un bon prétexte pour jouer avec un Raspberry PI et entreprendre l'installation d'une sonde pour mesurer la température et l'hygrométrie. On a en profité pour ajouter une caméra infra-rouge. Nous pouvons donc avoir des alertes quand les seuils sont dépassés et il est possible de quitter l'appartement tout en gardant un œil sur le dinosaure 🦖 -```html -

Le Raspberry PI utilisé est le modèle 4 avec 2Go de RAM muni de Raspbian Lite. -La vidéo s'appuie sur la caméra fisheyes à vision nocturne -et le logiciel Motion -combiné au frontend MotionEye. Le -capteur est un AM2302 -et mesure la température et l'hygrométrie.

-``` +Le Raspberry PI utilisé est le modèle 4 avec 2Go de RAM muni de Raspbian Lite. La vidéo s'appuie sur la +=> https://www.kubii.fr/cameras-accessoires/2333-raspberry-pi-camera-fisheye-grand-angle-5mp-kubii-3272496012561.html caméra fisheyes à vision nocturne +et le logiciel +=> https://motion-project.github.io/motion_config.html Motion +combiné au frontend +=> https://github.com/ccrisan/motioneye/wiki MotionEye +. Le capteur est un +=> https://www.kubii.fr/composants-raspberry-pi/2329-capteur-am2011-humidite-et-temperature-kubii-3272496012493.html AM2302 +et mesure la température et l'hygrométrie. -```html -

-``` +=> https://upload.deblan.org/u/2020-03/5e7aa606.jpg [IMG] +=> https://upload.deblan.org/u/2020-03/5e7aa73f.jpg [IMG] -```html -

Le Raspberry PI est dédié pour faire les mesures et gérer la caméra. Les mesures sont -envoyées vers une application web développée en PHP avec Symfony pour produire -de jolis graphiques 📈. Des enregistrements -vidéos sont également réalisés lorsqu'un mouvement est détecté. Les captures -sont récupérés périodiquement vers l'application web afin qu'on puisse les consulter -quand on veut 📽

-``` +Le Raspberry PI est dédié pour faire les mesures et gérer la caméra. Les mesures sont envoyées vers une application web développée en PHP avec Symfony pour produire de jolis graphiques 📈. Des enregistrements vidéos sont également réalisés lorsqu'un mouvement est détecté. Les captures sont récupérés périodiquement vers l'application web afin qu'on puisse les consulter quand on veut 📽 -```html -

Le résultat est plutôt pas mal cool et on apprécie vraiment l'aide que ça apporte !

-``` +Le résultat est plutôt pas mal cool et on apprécie vraiment l'aide que ça apporte ! ```html