commit df39bdeec9d6834375d3229348ff8ca6c324aec6 Author: Simon Vieille Date: Sat Nov 28 17:15:52 2020 +0100 update diff --git a/blog/index.gmi b/blog/index.gmi new file mode 100644 index 0000000..cde15cb --- /dev/null +++ b/blog/index.gmi @@ -0,0 +1,27 @@ +# Simon Vieille +## [FR] DevOp animé par la culture du libre et du hacking +## [EN] Devop driven by the culture of free and hacking + + +Derniers articles / Latest posts + +=> posts/592.gmi [FR] Le PDG de FaceBook, Mark Zuckerberg, malmené lors de son audition au Sénat américain (17/11/20) (2020-11-19 22:39:23) +=> posts/591.gmi [FR] Mail RSS : transformer des mails en flux RSS (2020-11-12 18:04:42) +=> posts/589.gmi [FR] Cohabitation de Collabora Online et OnlyOffice sur Nextcloud (2020-10-20 11:58:23) +=> posts/590.gmi [FR] La liberté d'expression encore menacée (2020-10-17 15:13:52) +=> posts/588.gmi [FR] Menu personnalisé dans Nextcloud 🎨 (2020-10-14 19:14:20) +=> posts/587.gmi [FR] Tinternet & cie vous recommande le documentaire "Derrière nos écrans de fumée" (2020-10-04 11:34:46) +=> posts/586.gmi [FR] J'ai essayé de migrer de Firefox (2020-08-24 11:07:42) +=> posts/585.gmi [FR] Festival Le 1er jour d'après - Le numérique (2020-05-05 15:13:01) +=> posts/584.gmi [FR] L'association La Furieuse lance un "Festival 100% local et virtuel pour inventer Le 1er jour d'après" (2020-04-27 12:50:31) +=> posts/581.gmi [FR] Application Nextcloud : nouvel emplacement pour le menu (2020-04-07 13:53:45) +=> posts/583.gmi [FR] "On est en pleine guerre informatique" : après le coronavirus, faut-il s'attendre à une autre crise ? (2020-04-06 15:04:31) +=> posts/582.gmi [FR] Tous surveillés - 7 milliards de suspects | ARTE (2020-04-01 12:46:59) +=> posts/580.gmi [FR] Monitoring d'un terrarium (2020-03-25 02:00:56) +=> posts/579.gmi [FR] Réseaux sociaux : flux à lier - #DATAGUEULE 95 (2020-02-26 08:31:51) +=> posts/578.gmi [FR] Analyser efficacement un fichier CSV (2020-02-20 15:17:02) +=> posts/577.gmi [FR] Je suis critique pour moi-même (2020-01-31 21:21:49) +=> posts/576.gmi [FR] Bilan de l’année 2019 (2020-01-09 10:30:54) +=> posts/575.gmi [FR] Expiration de certificats SSL (2019-12-09 13:34:12) +=> posts/574.gmi [FR] Contourner les trackers de YouTube (2019-08-21 11:44:53) +=> posts/573.gmi [FR] Outil de création d’un espace web Apache et PHP (2019-08-01 13:25:45) diff --git a/blog/posts/573.gmi b/blog/posts/573.gmi new file mode 100644 index 0000000..926359b --- /dev/null +++ b/blog/posts/573.gmi @@ -0,0 +1,12 @@ +Dans mon activité personnelle et professionnelle, je suis amené à créer des espaces d’hébergement de sites web principalement écrits en PHP. + +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. + +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. + +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. + +=> https://www.deblan.io/~simon/vhost-manager/vhost-manager2.gif vhost-manager [IMG] + +=> 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 new file mode 100644 index 0000000..27b1a27 --- /dev/null +++ b/blog/posts/574.gmi @@ -0,0 +1,29 @@ +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. + +**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. + +=> https://upload.deblan.org/u/2019-08/5d5d0729.jpg Invidious [IMG] + +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 +
+``` + +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. + +=> https://upload.deblan.org/u/2019-08/5d5d0cc5.jpg FreeTube [IMG] + +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 new file mode 100644 index 0000000..e85d3c8 --- /dev/null +++ b/blog/posts/575.gmi @@ -0,0 +1,49 @@ +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 +. + +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. + +Pour l'installation, rien ne change si ce n'est une dépendance à `openssl` : + +```{.language-bash data-title="Installation"} +$ git clone --recurse-submodules https://gitnet.fr/deblan/domain-expiration.git +$ cd domain-expiration +$ composer install +``` + +Les commandes varient un petit peu mais rien de bien méchant. Pour tester les noms de domaines : + +```{.language-bash data-title="Exemple sans couleur"} +./check domains google.com amazon.com facebook.com apple.com microsoft.com ++---------------+------+---------------------+ +| Domain | Days | Date | ++---------------+------+---------------------+ +| apple.com | 438 | 2021-02-20 05:00:00 | +| microsoft.com | 510 | 2021-05-03 04:00:00 | +| amazon.com | 1787 | 2024-10-31 04:00:00 | +| facebook.com | 3033 | 2028-03-30 04:00:00 | +| google.com | 3201 | 2028-09-14 04:00:00 | ++---------------+------+---------------------+ +``` + +Pour tester les certificats : + +```{.language-bash data-title="Exemple sans couleur"} +./check https-certificates google.com amazon.com facebook.com apple.com microsoft.com ++---------------+------+---------------------+ +| Domain | Days | Date | ++---------------+------+---------------------+ +| google.com | 49 | 2020-01-27 13:25:53 | +| facebook.com | 56 | 2020-02-03 13:25:52 | +| amazon.com | 112 | 2020-03-31 13:25:52 | +| apple.com | 222 | 2020-07-19 13:25:52 | +| microsoft.com | 543 | 2021-06-05 13:25:50 | ++---------------+------+---------------------+ +``` + +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é). + +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 new file mode 100644 index 0000000..91459e8 --- /dev/null +++ b/blog/posts/576.gmi @@ -0,0 +1,37 @@ +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 : + +* +=> 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 + +et sa +=> https://www.deblan.io/post/575/expiration-de-certificats-ssl mise à jour pour récapituler les dates d’expirations de certificats SSL + +* +=> 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 + +J’ai également publié d’autres projets sans en parler sur mon blog : + +* +=> 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 + +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, …). + +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 new file mode 100644 index 0000000..90032ee --- /dev/null +++ b/blog/posts/577.gmi @@ -0,0 +1,19 @@ +La semaine dernière, mon quartier a subi une coupure électrique qui a rendu inaccessible mon serveur auto-hébergé pendant 2 heures. + +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 : + +* 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… + +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. + +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. + +=> https://upload.deblan.org/u/2020-01/5e348a49.jpg Not bad [IMG] diff --git a/blog/posts/578.gmi b/blog/posts/578.gmi new file mode 100644 index 0000000..c3e8fa3 --- /dev/null +++ b/blog/posts/578.gmi @@ -0,0 +1,48 @@ +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 +``` + +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 +. + +```{.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 +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) +``` + +On peut maintenant accéder à +=> http://127.0.0.1:8001 +depuis un navigateur et commencer à analyer et traiter les données : + +=> https://upload.deblan.org/u/2020-02/5e4e93b5.png datasette [IMG] + +Et le plus intéressant pour moi, c'est de pouvoir écrire des requêtes SQL affiner vraiment les données affichées : + +=> https://upload.deblan.org/u/2020-02/5e4e93c1.png datasette [IMG] + +Enfin, on peut générer un nouveau fichier CSV (ou JSON) avec les données filtrées. + +Simple, rapide et efficace ! diff --git a/blog/posts/579.gmi b/blog/posts/579.gmi new file mode 100644 index 0000000..776f215 --- /dev/null +++ b/blog/posts/579.gmi @@ -0,0 +1,6 @@ +> 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 new file mode 100644 index 0000000..05b4755 --- /dev/null +++ b/blog/posts/580.gmi @@ -0,0 +1,28 @@ +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%. + +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 🦖 + +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. + +=> https://upload.deblan.org/u/2020-03/5e7aa606.jpg [IMG] +=> https://upload.deblan.org/u/2020-03/5e7aa73f.jpg [IMG] + +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 résultat est plutôt pas mal cool et on apprécie vraiment l'aide que ça apporte ! + +```html + +``` diff --git a/blog/posts/581.gmi b/blog/posts/581.gmi new file mode 100644 index 0000000..61ce00d --- /dev/null +++ b/blog/posts/581.gmi @@ -0,0 +1,13 @@ +En ces temps de confinement, j'essaye de travailler sur les quelques idées de projet de ma todo list 📘 + +Aujourd'hui j'ai publié une application destinée à Nextcloud et qui permet de modifier l'affichage du menu principal pour en faire un panneau qui s'ouvre sur la gauche de l'interface : +=> https://apps.nextcloud.com/apps/side_menu Side menu +. Cette application est plutôt adaptée aux instances qui activent beaucoup d'outils 🔨 + +Pour l'installer, vous pouvez passer par le gestionnaire d'application de Nextcloud ou vous pouvez l'installer manuellement en suivant les instructions (en anglais) disponibles dans le +=> https://gitnet.fr/deblan/side_menu/releases dépot du projet +🧪 + +Une fois installée, la liste des applications du menu supérieur sera masquées et une bouton va apparaître à gauche du logo. C'est depuis ce bouton que vous pourrez afficher le menu. Fonctionne sur bureau, tablette et mobile 📱 + +=> https://upload.deblan.org/u/2020-03/5e81b219.jpg Application side_menu Nextcloud [IMG] diff --git a/blog/posts/582.gmi b/blog/posts/582.gmi new file mode 100644 index 0000000..16b327f --- /dev/null +++ b/blog/posts/582.gmi @@ -0,0 +1 @@ +Des caméras de Nice à la répression chinoise des Ouïghours, cette enquête dresse le panorama mondial de l'obsession sécuritaire, avec un constat glaçant : le totalitarisme numérique est pour demain. diff --git a/blog/posts/583.gmi b/blog/posts/583.gmi new file mode 100644 index 0000000..bd82611 --- /dev/null +++ b/blog/posts/583.gmi @@ -0,0 +1,2 @@ +> La "guerre" contre le coronavirus Covid-19 met le système de santé et les +institutions à l'épreuve et paralyse l'économie. Mais au-delà de la crise sanitaire, doit-on également craindre une crise informatique ? Réponses et réflexions, avec des spécialistes. diff --git a/blog/posts/584.gmi b/blog/posts/584.gmi new file mode 100644 index 0000000..fd23f5f --- /dev/null +++ b/blog/posts/584.gmi @@ -0,0 +1,6 @@ +> Le "Festival 100% local et virtuel pour inventer Le 1er jour d'après", +> c’est réfléchir ensemble, imaginer et inventer un autre monde ainsi +> que recenser ce qui existe déjà, à notre échelle. C’est trouver et +> valoriser des solutions collectives, adaptées, à développer et mettre en +> place sans attendre. +J'interviendrai à 19h25 pour parler du numérique 😊 diff --git a/blog/posts/585.gmi b/blog/posts/585.gmi new file mode 100644 index 0000000..3f5290c --- /dev/null +++ b/blog/posts/585.gmi @@ -0,0 +1,15 @@ +Le "Festival 100% local et virtuel pour inventer Le 1er jour d'après", c’est réfléchir ensemble, imaginer et inventer un autre monde ainsi que recenser ce qui existe déjà, à notre échelle locale. C’est trouver et valoriser des solutions collectives, adaptées, à développer et mettre en place sans attendre. Événement organisé par +=> https://www.lepixel-besancon.fr/fr/page/lassociation-la-furieuse l'association La Furiseuse +, gérante du café-resto associatif et culturel Le Pixel à Besançon. + +Festival 100% local et virtuel pour inventer Le 1er jour d'après - Organisé par +=> https://www.lepixel-besancon.fr/fr/page/lassociation-la-furieuse La Furiseuse et Le Pixel + +Le numérique est un enjeu sociétal important. Nous réalisons plusieurs constats qui doivent mener à une prise de conscience collective et permettre de changer en profondeur notre compréhension et nos usages du numérique. +Nous proposons quelques pistes de réflexions pour créer un numérique plus éthique et plus juste. + +Participants : Alexis Gabry, Benjamin Lavigne, Fabien Normand, Simon Vieille + +L'ensemble du festival est disponible sur +=> https://www.youtube.com/watch?v=DJs5f-AOs4o Youtube +. diff --git a/blog/posts/586.gmi b/blog/posts/586.gmi new file mode 100644 index 0000000..78f292f --- /dev/null +++ b/blog/posts/586.gmi @@ -0,0 +1,27 @@ +Mozilla Corporation, la société filiale de la fondation Mozilla ne se porte pas très bien. Il y a eu pas mal de licenciements et l’équipe de réponse aux incidents de sécurité a volé en éclats. C'est problématique car mon navigateur joue un rôle centrale dans mon informatique. J'ai alors commencé à réfléchir à une migration vers un nouveau navigateur. + +Avant tout, cela fait un moment que j'ai intégré la gestion de mes mots de passes en dehors du navigateur en m'appuyant sur +=> https://apps.nextcloud.com/apps/passwords passwords +. Mes marques pages sont duppliqués vers +=> https://apps.nextcloud.com/apps/bookmarks bookmarks +. et mes lectures différées sont gérées avec +=> https://github.com/wallabag/wallabag wallabag +. Tous ces outils possèdent des extensions compatibles avec les "autres" navigateurs. + +Passons maintenant au "choix" du potentiel remplaçant. En dehors de Firefox, tous s'appuient sur chromium, le Internet Explorer du 21ème siècle. Je n'ai pas voulu faire le mec ultra borné donc j'ai fais un choix dans la maigre liste des navigateurs qui tiennent la route. Je me suis arrêté sur Vivaldi : il est possible de synchroniser son profil avec un compte Vivaldi et les données sont chiffrées. Les extensions que j'utilise tous les jours fonctionnent avec et Vivaldi ne semble pas collecter mes données. En terme de licence, le code de l'interface n'est pas accessible mais le moteur et les modifications le sont ( +=> https://fr.vivaldi.net/vivaldi-et-open-source/ source +). + +Donc j'ai installé Vivaldi, j'ai synchronisé mes marques pages, j'ai retrouvé mes mes mots de passe et mes extensions favorites sont paramétrées. Chouette. + +=> https://upload.deblan.org/u/2020-08/5f438202.jpg Vivaldi [IMG] + +…mais en navigant à tout casser 3 minutes, je me suis posé cette question : où sont mes +=> https://support.mozilla.org/fr/kb/onglets-contextuels-avec-les-containers conteneurs comme chez Firefox +? Spoiler : ils n'existent pas et aucun navigateur ne le propose. Donc j'ai ravalé ma salive et je me suis demandé s'il y avait un +=> https://support.mozilla.org/en-US/kb/use-primary-password-protect-stored-logins-and-pas Master Password +pour sécuriser les mots de passe collectés ? Spoiler : il n'existe pas non plus… + +Du coup, je suis revenu sur Firefox et +=> https://donate.mozilla.org/fr/ j'ai fais un don à Mozilla +, en espérant que d'autres feront comme moi et que Firefox survivra encore longtemps. diff --git a/blog/posts/587.gmi b/blog/posts/587.gmi new file mode 100644 index 0000000..cf80153 --- /dev/null +++ b/blog/posts/587.gmi @@ -0,0 +1,3 @@ +Entre documentaire et drame, ce film donne la parole à des experts qui nous mettent en garde contre leurs inventions et décrient l'impact dangereux des réseaux sociaux. + +Ce film réalisé par Jeff Orlowski et produit par Larissa Rhodes a pour objectif de nous faire prendre conscience que derrière un post Facebook ou Instagram, qu'autour d'un e-mail affiché sur Gmail ou pendant que vous regardez un contenu sur YouTube, des algorithmes font leur possible pour accaparer votre temps. diff --git a/blog/posts/588.gmi b/blog/posts/588.gmi new file mode 100644 index 0000000..498c410 --- /dev/null +++ b/blog/posts/588.gmi @@ -0,0 +1,38 @@ +Depuis avril dernier, l'application ** +=> https://apps.nextcloud.com/apps/side_menu Custom menu +** (anciennement *Side menu*) a beaucoup évoluée et pas moins de 46 versions ont déjà été publiées. +=> https://apps.nextcloud.com/apps/side_menu Custom menu +est complet et très stable. + +=> https://nextcloud.com/ Nextcloud +est une plateforme web qui se compose d'applications pour faire tout et n'importe quoi. On peut héberger et partager des documents, gérer ses calendriers et ses contacts, enregistrer ses marque-pages, lire des flux RSS, réaliser des sondages, etc. + +Selon moi, quand on active beaucoup d'applications, un des problèmes principaux est le menu qui n'est pas du tout adapté. + +=> https://upload.deblan.org/u/2020-10/5f872888.jpg Nextcloud [IMG] + +Pour résoudre ce problème, j'ai entrepris le développement d'une application dédiée à la gestion de ce menu et j'ai +=> https://www.deblan.io/post/581/application-nextcloud-nouvel-emplacement-pour-le-menu publiées les premières versions +pendant le confinement du début d'année. + +=> https://apps.nextcloud.com/apps/side_menu Custom menu +est totalement personnalisable. On peut modifier l'emplacement du menu selon trois dispositions : dans un panneau latéral, affiché en permanance comme le menu d'Ubuntu ou via un panneau qui s'ouvre sur le dessus. Vous pouvez bien sur choisir les couleurs de tous les éléments, afficher votre logo, la photo de profil de l'utilisateur ou rien du tout, choisir la taille du texte celle des icônes, etc. + +On peut aussi désigner des applications qui doivent rester affichées dans le menu original, choisir lesquelles doivent s'ouvrir dans un nouvel onglet et si l'administrateur le permet, alors chaque utilisateur pourra faire sa propre organisation. + +=> https://apps.nextcloud.com/apps/side_menu Custom menu +est compatible avec +=> https://apps.nextcloud.com/apps/apporder AppOrder +de manière à pouvoir choisir l'ordre d'affichage des applications. + +=> https://upload.deblan.org/u/2020-10/5f8adaae.png Custom menu [IMG] + +Si vous êtes curieux, n'hésitez pas à tester +=> https://apps.nextcloud.com/apps/side_menu Custom menu +et si vous avez des idées pour faire évoluer l'application ou que vous rencontrez un bug alors je vous invite à +=> https://gitnet.fr/deblan/side_menu ouvrir un ticket sur le dépot du projet +. + +Enfin, si vous désirez soutenir mon travail, vous avez la possibilité de +=> https://www.buymeacoffee.com/deblan m'offrir un café + 😀 diff --git a/blog/posts/589.gmi b/blog/posts/589.gmi new file mode 100644 index 0000000..f82b1bb --- /dev/null +++ b/blog/posts/589.gmi @@ -0,0 +1,75 @@ +J'utilise énormément mon instance Nextcloud et dans certaines situations, j'ai besoin d'éditer soit des fichiers Open Document Format (format natif de LibreOffice) ou soit des fichiers Open XML (format natif de la suite office de Microsoft). + +L'an passé, j'utilisais exclusivement +=> https://www.onlyoffice.com/fr/ OnlyOffice +via son +=> https://apps.nextcloud.com/apps/onlyoffice connecteur Nextcloud +et une instance installée sur un serveur dédié. Puis, lors d' +=> https://github.com/ONLYOFFICE/DocumentServer/issues/805 un déboire au sujet de l'édition depuis un terminal mobile +, j'ai décidé de migrer vers +=> https://www.collaboraoffice.com/fr/code/ Collabora Online +via son +=> https://apps.nextcloud.com/apps/richdocuments connecteur Nextcloud +et une instance installée sur un serveur (presque) dédié. + +Le problème est que si Collabora Online sait très bien traiter les fichiers ODF, il galère un peu plus avec les fichiers Open XML. Aussi, force est de constater que OnlyOffice reste très performant pour jouer avec Open XML. J'ai donc décidé de les installer ensemble. Collabora Online est donc l'éditeur ouvert pour les documents ODF tandis que OnlyOffice le sera pour les fichiers Open XML. + +=> https://upload.deblan.org/u/2020-10/5f8eb3c9.png Collabora Online et OnlyOffice [IMG] + +Afin de les discerner dans le menu pour créer un nouveau document, j'ai développé un bout de javascript que vous pouvez injecter via +=> https://apps.nextcloud.com/apps/jsloader JSLoader +. Je pense d'ailleurs que cela sera une bonne idée de forker cette application afin d'en reprendre la maintenance. + +=> https://upload.deblan.org/u/2020-10/5f8eb3b3.png Cohabitation de Collabora Online et OnlyOffice sur Nextcloud [IMG] + +Alors ce n'est sans doute pas le code le plus élégant mais il fonctionne bien. + +```{.language-js data-title="Code à insérer dans JS Loader"} +try { + setInterval(function() { + var elements = { + 'docx': 'onlyofficeDocx', + 'xlsx': 'onlyofficeXlsx', + 'pptx': 'onlyofficePpts', + }; + + for (var i in elements) { + var selector = 'a.menuitem[data-action="' + elements[i] + '"] .displayname'; + var span = document.querySelector(selector); + + if (!span) { + return; + } + + if (span.innerHTML.indexOf(i) !== -1) { + continue; + } + + span.innerHTML = (i !== 'docx' ? 'Nouvelle ' : 'Nouveau ') + span.innerHTML.toLowerCase() + ' (' + i + ')'; + } + + elements = { + 'odt': 'add-odt', + 'ods': 'add-ods', + 'odp': 'add-odp', + }; + + for (var i in elements) { + var selector = 'a.menuitem[data-action="' + elements[i] + '"] .displayname'; + var span = document.querySelector(selector); + + if (!span) { + return; + } + + if (span.innerHTML.indexOf(i) !== -1) { + continue; + } + + span.innerHTML = span.innerHTML + ' (' + i + ')'; + } + }, 100); +} catch (e) { + +} +``` diff --git a/blog/posts/590.gmi b/blog/posts/590.gmi new file mode 100644 index 0000000..8364ac6 --- /dev/null +++ b/blog/posts/590.gmi @@ -0,0 +1,13 @@ +> Ou comment instrumentaliser à des fins politiques un événement tragique qui n'a aucun rapport pour relancer une loi anticonstitutionnelle : La loi AVIA +### Pourquoi la loi Avia est liberticide et inutile ? + +L'appareil législatif contient déjà tous les outils pour lutter contre les contenus manifestement illicites tels que les incitations à la haine, les injures à caractère raciste ou anti-religieuses. + +Les contenus terroristes ou pédopornographiques doit être considérés comme tel **par un juge** et non par l'appréciation de l'administration. Les plateformes privées ne doivent pas jouer le rôle d'organe de censure et encore moins l'automatiser. +Le conseil constitutionnel s'est déja prononcé en indiquant que « **le législateur porte une atteinte à la liberté d'expression** qui n'est ni adaptée, ni proportionnée au but poursuivi ». Il persiste « **le risque que les opérateurs soient incités à retirer tous les contenus contestés, y compris ceux qui sont licites** » [ +=> https://www.vie-publique.fr/loi/268070-loi-avia-lutte-contre-les-contenus-haineux-sur-internet 1 +]. + +Si un contenu devait être supprimé, cela veut donc dire qu'il a été nécessairement publié donc le mal est déjà fait. Mais sous couvert de la lutte contre l'anonyma sur Internet (qui n'est qu'une idée reçue), la loi Avia va permettre de museler les personnes qui dérangent, ceux qui ont des idées en marge, les mouvements contestataires, ceux qui militent pour un état de droit et non pas pour un état policier en imposant une suppression pure et dure de leurs contenus sans l'accord d'un juge. + +Cette loi est la porte ouverte vers une énième derive totalitaire où l'état va nous imposer son idéologie. diff --git a/blog/posts/591.gmi b/blog/posts/591.gmi new file mode 100644 index 0000000..c815f07 --- /dev/null +++ b/blog/posts/591.gmi @@ -0,0 +1,73 @@ +J'essaye de plus en plus de réduire le volume de mails que je reçois. Du coup, quand une newsletter m'intéresse et que les auteurs ne fournissent pas de flux RSS, cela me donne un prétexte pour écrire un nouveau projet : +=> https://gitnet.fr/deblan/mail-rss Mail RSS +. + +=> https://upload.deblan.org/u/2020-11/5fad64ef.png [IMG] + +### Comment ça marche ? + +L'idée est assez simple : en utilisant +=> https://linux.developpez.com/formation_debian/serveur-mail2.html#AEN7717 les alias de mail dans Postfix +, on peut faire en sorte qu'un mail qui arrive sur le serveur soit traité par une commande. J'ai décidé de rediriger les mails dans un répertoire précis du serveur et je demande à **Mail RSS** de les lire et de les importer. + +Prenons la newsletter de +=> https://www.techtrash.fr/ TechTrash +comme exemple. + +#### Configuration du serveur de mail + +Il faut ajouter un alias qui va générer des fichiers. + +```{.language-bash data-title="/etc/aliases"} +techtrash: "| cat > /var/lib/mailrss/techtrash-$(date +%s) && chmod o+rw /var/lib/mailrss/techtrash-$(date +%s)" +``` + +Au préalable, j'ai créé le répertoire `/var/lib/mailrss` et je me suis assuré que mon application pouvait lire et écrire dedans, de même que Postfix (`nobody:nogroup`). + +#### Configuration de l'application + +On doit générer un mailing pour TechTrash. Quand on va importer les mails de TechTrash, on pourra les associer au mailing via son identifiant (`ID`). On pourra ensuite accéder au flux RSS via le lien généré à sa création. Évidement, on peut créer autant de mailing que l'on veut, les modifier et les supprimer. + +```{.language-bash data-title="Configuration du mailing"} +$ php bin/console mailing:new "TechTrash" +$ php bin/console mailing:list + ------------ -------------------------------------- ------------------------------------------------------------------------ --------------------- --------------------- + Label ID Feed Created at Updated at + ------------ -------------------------------------- ------------------------------------------------------------------------ --------------------- --------------------- + Tech Trash xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx https://exemple.fr/mailing/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/rss 2020-11-12 13:37:00 2020-11-12 13:37:00 + ------------ -------------------------------------- ------------------------------------------------------------------------ --------------------- --------------------- +``` + +Enfin, il faut un script qui va traiter les fichiers de `/var/lib/mailrss` en les important dans le mailing correspondant et qui les supprime du serveur. + +```{.language-bash data-title="Script lancé periodiquement"} +#!/bin/sh + +cd "/path/to/exemple.fr" + +import_mails() { + LABEL="$1" + MAILING_ID="$2" + + find /var/lib/mailrss -name "${LABEL}-*" | while read MAIL; do + php bin/console mail:import "${MAILING_ID}" -f "$MAIL" && rm "$MAIL" + done +} + +import_mails "techtrash" "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" +``` + +Quand un mail est importé, les données récupérées sont : + +* Le sujet du mail +* La date du mail +* Le contenu HTML +* Le contenu texte +* Les pièces jointes + +Toutes ces données seront accessibles à la consultation. + +=> (https://gitnet.fr/deblan/mail-rss) L'application +s'appuie sur Symfony (en version de développement) et +=> (https://gitnet.fr/deblan/mail-rss) le code + est totalement libre 😄 diff --git a/blog/posts/592.gmi b/blog/posts/592.gmi new file mode 100644 index 0000000..97b8105 --- /dev/null +++ b/blog/posts/592.gmi @@ -0,0 +1 @@ +Le PDG de FaceBook, Mark Zuckerberg, malmené par le sénateur Josh Hawley lors de son audition au Sénat américain. le 17 novembre 2020.