deblan.io-gemini/blog/feed.xml
2022-02-04 10:02:16 +01:00

706 lines
53 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
<title>Blog - Simon Vieille</title>
<link>https://www.deblan.io/</link>
<description>DevOp animé par la culture du libre et du hacking</description>
<language>fr</language>
<item>
<title><![CDATA[Installer un proxy SMTP transparent]]></title>
<link href="https://www.deblan.io/post/609/installer-un-proxy-smtp-transparent" type="text/html">https://www.deblan.io/post/609/installer-un-proxy-smtp-transparent</link>
<link href="gemini://deblan.io/posts/609.gmi" type="text/gemini" />
<description><![CDATA[<p>Il y a quelques temps. j'expliquais que des applications métiers qui envoient du mail n'arrivaient plus à ouvrir de connexion vers les serveurs SMTP de Microsoft : <strong><a href="{{url://blog_menu_post?post=604&amp;slug=microsoft-365-probleme-connexion-smtp}}">Microsoft 365 - Problème de connexion aux serveurs SMTP</a></strong>.<br />
La solution de contournement avait été de placer en liste verte la plage IP des serveurs qui hébergent ces applications.</p>
<p>Deux mois et demi sont passés et ça ne fonctionne plus. Évidemment, toujours pas d'explication du pourquoi du comment. Je travaille avec Microsoft depuis 5 ans et je ne m'y suis toujours pas habitué 🤬</p>
<p>Après quelques heures de tests et de bidouilles, j'ai décidé d'installer un proxy qui fera l'intermédiaire entre les applications bloquées et Microsoft. Pour ne pas avoir à gérer d'avantages d'accès, ce proxy sera totalement transparent.</p>
<p>Il n'existe (à priori) pas beaucoup de logiciels qui font ça et s'ils le font, <a href="https://github.com/jnorell/smtpprox">ils ne sont plus maintenus</a>. On retrouve beaucoup d'articles sur Nginx et Haproxy mais ils ne conviennent pas. Nginx n'est pas un proxy SMTP transparent et mes tests avec Haproxy ont échoués.<br />
J'ai réussi à dénicher <a href="https://github.com/tuck1s/go-smtpproxy"><code>tuck1s/go-smtpproxy</code></a>. Bien qu'il n'est pas reçu de mise à jour depuis 2 ans, il ne fait qu'utiliser une librairie qui elle a un développement actif : <a href="https://github.com/emersion/go-smtp"><code>emersion/go-smtp</code></a>.</p>
<p><strong>Contexte / Prérequis :</strong></p>
<ul>
<li>Le serveur tourne avec <strong>Debian 11</strong></li>
<li>Nom de domaine du proxy : <strong>relais-smtp.exemple.com</strong></li>
<li>Il y a un certificat SSL généré par <strong>Let's Encrypt</strong></li>
<li>Le serveur va écouter sur le port <strong>587</strong> avec la couche <strong>STARTTLS</strong></li>
</ul>
<p>Pour compiler le projet, il suffit d'installer <a href="https://go.dev/">Go</a>, récupérer les sources et lancer le build. À l'issue du build, le binaire <code>proxy</code> sera généré dans le répertoire <code>go/src/github.com/tuck1s/go-smtpproxy</code>.</p>
<pre><code class="language-bash">apt update
apt install golang
go get github.com/emersion/go-smtp-proxy
go get gopkg.in/natefinch/lumberjack.v2
go get github.com/tuck1s/go-smtpproxy
cd go/src/github.com/tuck1s/go-smtpproxy
./build.sh
</code></pre>
<p>Il ne reste plus qu'à lancer le proxy :</p>
<pre><code class="language-bash">./proxy
-certfile /etc/letsencrypt/live/relais-smtp.exemple.com/fullchain.pem \
-privkeyfile /etc/letsencrypt/live/relais-smtp.exemple.com/privkey.pem \
-in_hostport 0.0.0.0:587 \
-insecure_skip_verify \
-out_hostport smtp.office365.com:587 \
-verbose
</code></pre>
<p>Coté application, le serveur SMTP change de <code>smtp.office365.com</code> à <code>relais-smtp.exemple.com</code>. Si on envoie un mail, le proxy va afficher du log et on pourra s'assurer que ça fonctionne.
Il faut également améliorer tout ça avec un compte utilisateur dédié au proxy, gérer son démarrage avec un service Systemd/SysvInit/OpenRC/Whatever, etc.</p>
<p>On verra combien de temps ça dure 🧐</p>
]]></description>
<guid isPermaLink="false">609</guid>
<pubDate>Thu, 03 Feb 2022 18:50:00 +0100</pubDate>
<category><![CDATA[Informatique]]></category>
</item>
<item>
<title><![CDATA[Jouer à Motus dans Matrix]]></title>
<link href="https://www.deblan.io/post/608/jouer-motus-matrix" type="text/html">https://www.deblan.io/post/608/jouer-motus-matrix</link>
<link href="gemini://deblan.io/posts/608.gmi" type="text/gemini" />
<description><![CDATA[<p>Je reconnais que ce titre peut générer un gros mind fuck mais laissez moi vous expliquer !</p>
<p>Depuis quelques temps, je joue quotidiennement à <strong><a href="https://sutom.nocle.fr/">Sutom</a></strong>, une copie du jeu vieux jeu télévisé <strong>Motus</strong>. Le principe du jeu est simple : nous devons découvrir un mot avec comme indices sa taille et la première lettre qui le compose. On peut faire maximum 6 propositions qui permettent de découvrir les lettres. Une lettre découverte sera affichée dans un carré rouge, une lettre découverte mais mal placée sera dans un rond jaune. Les autres lettres resteront en bleu. Seuls des mots du dictionnaire peuvent être proposés.</p>
<p><strong><a href="https://sutom.nocle.fr/">Sutom</a></strong> est addictif...mais pas tant que ça car il n'y a qu'un seul mot à découvrir par jour !</p>
<p>Cela m'a donné un bon prétexte pour monter un nouveau projet : écrire un <strong>bot</strong> avec lequel je pourrai jouer via <strong>Matrix</strong>, ma messagerie instantanée. Le bot se connecte avec un compte utilisateur créé pour l'occasion puis accepte les invitations à rejoindre une conversation. Le bot va ensuite lire les messages qu'on envoit et va réagir quand c'est nécessaire. Ainsi on peut lancer ou relancer une partie et tester des mots. À chaque proposition, on retrouve un affichage comme dans Motus 🥸</p>
<p><a href="https://gitnet.fr/deblan/matrix-motus-bot">Le code source du projet est dispo ici</a>, c'est vraiment sans prétention !</p>
<p><img src="/uploads/content/608/screenshot_20220201_1.png" alt="Motus sur Matrix" /></p>
]]></description>
<guid isPermaLink="false">608</guid>
<pubDate>Tue, 01 Feb 2022 17:45:00 +0100</pubDate>
<category><![CDATA[Développement]]></category>
<category><![CDATA[Futilités de Geek]]></category>
</item>
<item>
<title><![CDATA[Murph, la version v1.0 est publiée]]></title>
<link href="https://www.deblan.io/post/607/murph-la-version-v1-est-publiee" type="text/html">https://www.deblan.io/post/607/murph-la-version-v1-est-publiee</link>
<link href="gemini://deblan.io/posts/607.gmi" type="text/gemini" />
<description><![CDATA[<p>Murph est un <strong>framework open-source pour construire des CMS</strong>. Il est développé à l'aide de <strong>Symfony</strong> et permet de gérer des sites web avec <strong>plusieurs noms de domaines et en plusieurs langues</strong>. Il possède un gestionnaire de navigations et de menus, il met à diposition un générateur de CRUD et intègre quelques outils indispensables comme un gestionnaire de fichiers, un gestionnaire de tâches, un panneau de configuration, la double authentification, etc.</p>
<p>La procédure d'installation est simple et rapide. Toutes les informations essentielles sont sur la <a href="https://doc.murph-project.org/">documentation</a> et les <a href="https://gitnet.fr/murph/murph-skeleton">sources sont sur gitnet</a>.</p>
<pre><code class="language-bash">composer create-project murph/murph-skeleton MonProjet ^1 # Installation du projet
cp .env .env.local
vim .env.local
make doctrine-migration # Configuration de la base de données
make asset # Création des assets
php bin/console murph:user:create # Création d'un compte
symfony server:start -d # On lance le serveur web de dev
</code></pre>
<p>À partir de là, Murph est opérationnel. L'interface d'administration est accessible sur <a href="https://127.0.0.1:8080">https://127.0.0.1:8080</a>.<br />
Tout le reste du travail s'articule dans la conception de votre CMS via du code. Je vous invite à lire la <a href="https://doc.murph-project.org/">documentation du projet</a>.</p>
<p>L'idée générale de Murph se résume dans ces quelques points :</p>
<ul>
<li>Une installation de Murph contient une ou plusieurs navigations représentées par des noms de domaines et des langues</li>
<li>Une navigation contient des menus dans lesquels on ajoute des nœuds</li>
<li>Un nœud peut représenter une URL et peut s'associer à une page ou un autre nœud</li>
<li>Une page contient des blocs de contenu</li>
<li>À coté de ça, on peut générer des CRUD pour éditer des données métiers (exemple : les articles d'un blog)</li>
</ul>
<p>Beaucoup de travail a été mené et Murph peut couvrir beaucoup de cas d'usages rencontrés par les développeurs de sites web sur-mesure. J'ai par exemple réalisé mon blog, un site de recrutement, un outil pour s'inscrire à un évènement et un site qui présente les services d'un hôtel dont voici quelques images du backoffice :</p>
<p><img src="/uploads/content/607/murph_bo.gif" alt="Murph" /></p>
]]></description>
<guid isPermaLink="false">607</guid>
<pubDate>Wed, 26 Jan 2022 08:25:00 +0100</pubDate>
<category><![CDATA[Développement]]></category>
</item>
<item>
<title><![CDATA[Les drones policiers autorisés par le Conseil constitutionnel]]></title>
<link href="https://www.deblan.io/post/606/les-drones-policiers-autorises-par-le-conseil-constitutionnel" type="text/html">https://www.deblan.io/post/606/les-drones-policiers-autorises-par-le-conseil-constitutionnel</link>
<link href="gemini://deblan.io/posts/606.gmi" type="text/gemini" />
<description><![CDATA[<p>Le Conseil constitutionnel vient de rendre sa décision sur la loi « responsabilité pénale et sécurité intérieure ». Ce texte, adopté le 18 novembre 2021 par le Parlement, prévoyait notamment de ré-autoriser les drones policiers. Si les drones avaient été interdits à quatre reprises depuis 2020 (deux fois par le Conseil dÉtat, une fois par la CNIL et une fois par le Conseil constitutionnel), lentêtement du gouvernement a porté ses fruits. Après deux années dillégalité, les drones vont ré-occuper le ciel et restaurer la surveillance de masse.</p>
<p>Cette mauvaise nouvelle ne vient pas seule : le Conseil constitutionnel valide aussi les caméras embarquées sur les véhicules de police (hélicoptères, voitures…) ainsi que la vidéosurveillance des cellules de garde-à-vue.</p>
]]></description>
<guid isPermaLink="false">606</guid>
<pubDate>Fri, 21 Jan 2022 16:00:00 +0100</pubDate>
<category><![CDATA[Quick links]]></category>
</item>
<item>
<title><![CDATA[Nouvelle version majeure de Custom Menu]]></title>
<link href="https://www.deblan.io/post/605/nouvelle-version-majeure-de-custom-menu" type="text/html">https://www.deblan.io/post/605/nouvelle-version-majeure-de-custom-menu</link>
<link href="gemini://deblan.io/posts/605.gmi" type="text/gemini" />
<description><![CDATA[<p>La version <a href="https://gitnet.fr/deblan/side_menu/releases/tag/v2.3.2">v2.3.2</a> de <strong>Custom Menu</strong> a été publiée il y a quelques jours. Cette version contient des <strong>mises à jours importantes qui rendent l'application à présent très complète</strong>.</p>
<p><img src="/uploads/content/605/nc2.png" alt="" /></p>
<p>Pour rappel, <strong>Custom Menu</strong> est une application qu'on installe dans <strong>Nextcloud</strong>. Elle permet de corriger un manque cruel de la mise en page du menu de navigation de Nextcloud. L'application permet de paramétrer 4 modes d'affichage du menu avec, à ce jour, une 40ène de de paramètres.</p>
<p>Parmis les dernières mises à jour, on retrouve la capacité de l'application à s'adapter aux couleurs de Nextcloud dès son installation. Mais le plus gros du travail s'est concentré autour la gestion des catégories. En effet, les applications sont organisées dans des catégories gérées par les développeurs Nextcloud. <strong>Custom Menu</strong> permet maintenant de créer de nouvelles catégories (dans toutes les langues utilisées dans votre Nextcloud) et de les affecter aux applications qui sont installées.</p>
<p><img src="/uploads/content/605/nc.png" alt="" /></p>
]]></description>
<guid isPermaLink="false">605</guid>
<pubDate>Fri, 14 Jan 2022 20:45:00 +0100</pubDate>
<category><![CDATA[Développement]]></category>
<category><![CDATA[Informatique]]></category>
</item>
<item>
<title><![CDATA[Microsoft 365 - Problème de connexion aux serveurs SMTP]]></title>
<link href="https://www.deblan.io/post/604/microsoft-365-probleme-connexion-smtp" type="text/html">https://www.deblan.io/post/604/microsoft-365-probleme-connexion-smtp</link>
<link href="gemini://deblan.io/posts/604.gmi" type="text/gemini" />
<description><![CDATA[<p>Quand Microsoft change de nom (Office 365 → Microsoft 365), les devops doivent aussi en profiter pour la changer configuration de leurs serveurs de mail…et rien de plus normal que de bloquer les connexions des applicatifs qui ne sont pas estampiller Microsoft.</p>
<p>Depuis plusieurs semaines, j'ai en effet détecté de grandes difficultés à émettre des mails depuis des applicatifs non Microsoft. Les connexions vers les serveurs SMTP d'Office 365 (smtp.office365.com) échouaient très souvent jusqu'à être complétement bloquées sur une 40ène de bureaux à distance où se trouve une application métier.</p>
<p>Pour contourner ce problème (intolérable selon moi), une des solutions est de placer en liste verte les IP depuis lesquelles on se connecte. C'est stupide mais rien de surprenant venant de Microsoft.</p>
<p>Pour réaliser cette opération, je me suis dirigé vers le <em>Centre d'administration Exchange</em> accessible depuis le <a href="https://admin.microsoft.com">portail d'administration</a>.</p>
<p><img src="/uploads/content/604/screenshot_20211110.jpg" alt="Centre d'administration Exchange" /></p>
<p>J'ai complété cette configuration par l'édition de la <em>Stratégie de filtre de connexion</em> qu'on retrouve dans les <em><a href="https://security.microsoft.com/antispam">Paramètres anti-courrier indésirable</a></em>.</p>
<p><img src="/uploads/content/604/screenshot_20211110_2.jpg" alt="Stratégie de filtre de connexion" /></p>
<p>Après un moment, les envois de mail on pu reprendre et je n'ai pas encore eu de retour qui indiqueraient de nouvelles difficultés de connexion.</p>
]]></description>
<guid isPermaLink="false">604</guid>
<pubDate>Wed, 10 Nov 2021 10:30:00 +0100</pubDate>
<category><![CDATA[Informatique]]></category>
</item>
<item>
<title><![CDATA[Repars avec ton Claude]]></title>
<link href="https://www.deblan.io/post/603/repars-avec-ton-claude" type="text/html">https://www.deblan.io/post/603/repars-avec-ton-claude</link>
<link href="gemini://deblan.io/posts/603.gmi" type="text/gemini" />
<description><![CDATA[<p>Les membres de l'association Tinternet &amp; Cie te proposent une journée conviviale et créative le samedi 6 décembre 2021, au FabLab à Besançon ! Le but ? Fabriquer et repartir avec ton serveur personnel basé sur un RaspberryPi pour héberger et partager tes données. Pourquoi ? Car l'auto-hébergement de nos données et l'un des enjeux majeurs liés à notre usage des outils numériques.</p>
<p>En plus de la création personnalisé de ton serveur, la journée sera rythmée par des conférences/discussions sur le fonctionnement de linternet, lauto-hébergement, logiciels et licences libres...</p>
]]></description>
<guid isPermaLink="false">603</guid>
<pubDate>Sat, 06 Nov 2021 14:00:00 +0100</pubDate>
<category><![CDATA[La toile]]></category>
<category><![CDATA[Divers]]></category>
<category><![CDATA[Informatique]]></category>
<category><![CDATA[Quick links]]></category>
</item>
<item>
<title><![CDATA[Supprimer les mots de passe d'un fichier Excel]]></title>
<link href="https://www.deblan.io/post/602/supprimer-les-mots-de-passes-dun-fichier-excel" type="text/html">https://www.deblan.io/post/602/supprimer-les-mots-de-passes-dun-fichier-excel</link>
<link href="gemini://deblan.io/posts/602.gmi" type="text/gemini" />
<description><![CDATA[<p>Dans le cadre de mon travail, je vais devoir supprimer les mots de passe définis dans plusieurs dizaines de fichiers Excel.</p>
<p>Un fichier Excel, ainsi que n'importe quel type de fichier généré par la suite Office, est ni plus ni moins qu'une archive Zip contenant des répertoires et des fichiers XML. Les mots de passe ne chiffrent aucune donnée dans le cas d'une protection simple (le comportement par défaut). Par conséquant, et uniquement dans ce cas de figure, le mot de passe est un artifice pour bloquer l'accès à du contenu. Dans le cas d'un chiffrement des données, il n'est pas possible de supprimer le mot de passe comme je vais le faire.
Les données sont stockées au format XML, il est donc très simple de retirer les mots de passe d'un classeur et de ses feuilles.</p>
<p>Afin d'industrialiser les modifications, j'ai écris un script qui fait toutes les modifications automatiquement : <a href="https://gitnet.fr/deblan/excel-password-terminator">Excel password terminator</a>.</p>
<p>Pour l'installer, il suffit simplement de clôner le projet ou de télécharger une archive de dépots. Les dépendances sont très peu nombreuses : zip, unzip, grep et sed.</p>
<p><a href="https://asciinema.org/a/l0ad6iPloGIlkmTCG8A0dGD3y"><img src="https://asciinema.org/a/l0ad6iPloGIlkmTCG8A0dGD3y.svg" alt="asciicast" /></a></p>
]]></description>
<guid isPermaLink="false">602</guid>
<pubDate>Tue, 27 Apr 2021 00:00:00 +0200</pubDate>
<category><![CDATA[Développement]]></category>
</item>
<item>
<title><![CDATA[Le Conseil d'État valide durablement la surveillance de masse]]></title>
<link href="https://www.deblan.io/post/601/le-conseil-detat-valide-durablement-la-surveillance-de-masse" type="text/html">https://www.deblan.io/post/601/le-conseil-detat-valide-durablement-la-surveillance-de-masse</link>
<link href="gemini://deblan.io/posts/601.gmi" type="text/gemini" />
<description><![CDATA[<p>Une fois de plus, la France signe pour le totalitarisme. Des articles des lois pour protéger la police de sa population, une surveillance de masse actée, la liberté d'expression abrogée en dehors de tout contexte terroriste.</p>
<p>La France est un état policier qui braque sa législation contre son peuple et le droit Européen.</p>
]]></description>
<guid isPermaLink="false">601</guid>
<pubDate>Wed, 21 Apr 2021 04:00:00 +0200</pubDate>
<category><![CDATA[Quick links]]></category>
</item>
<item>
<title><![CDATA[Loi sécurité globale adoptée : résumons]]></title>
<link href="https://www.deblan.io/post/600/loi-securite-globale-adoptee-resumons" type="text/html">https://www.deblan.io/post/600/loi-securite-globale-adoptee-resumons</link>
<link href="gemini://deblan.io/posts/600.gmi" type="text/gemini" />
<description><![CDATA[<p>La loi sécurité globale a été définitivement adoptée hier par l'Assemblée nationale, à 75 voix contre 33, au terme d'un débat soumis aux exigences de la police et dont nous n'attendions plus grand chose.</p>
]]></description>
<guid isPermaLink="false">600</guid>
<pubDate>Sun, 18 Apr 2021 10:20:00 +0200</pubDate>
<category><![CDATA[Quick links]]></category>
</item>
<item>
<title><![CDATA[Mettre en place un VPN avec Wireguard]]></title>
<link href="https://www.deblan.io/post/599/mettre-en-place-un-vpn-avec-wireguard" type="text/html">https://www.deblan.io/post/599/mettre-en-place-un-vpn-avec-wireguard</link>
<link href="gemini://deblan.io/posts/599.gmi" type="text/gemini" />
<description><![CDATA[<p>Les VPN ont le vent en poupe depuis quelques temps. Rares sont les vidéastes qui n'auront pas fait l'éloge de services comme NordVPN. Cependant, avant de permettre de visualiser le contenu US de Netflix, un VPN permet de créer un réseau entre plusieurs machines au travers d'autres réseaux comme Internet. Ainsi, quand des machines sont connectées au même réseau VPN, elles peuvent communiquer de la même façon que dans un réseau local. C'est donc très intéressant lorsque l'ont souhaites isoler une application d'internet en la rendant tout de même accessible dans ce réseau isolé.</p>
<p><img src="https://upload.deblan.org/u/2021-04/606cc06e.png" alt="VPN" /></p>
<p>Il existe tout un tas de solutions pour réaliser son VPN. La plus connue est certainement OpenVPN mais je lui préfère Wireguard pour sa très grande simplicité d'installation.</p>
<p>Dans mon cas d'usage, j'ai un serveur Wireguard sous Debian et des clients qui tournent principalement sur Debian mais aussi Windows et Android.</p>
<p>Sous Debian 10, il est nécessaire d'utiliser les dépots backports pour insaller Wireguard.</p>
<pre><code class="language-bash">echo "deb http://deb.debian.org/debian buster-backports main contrib non-free" \
| sudo tee /etc/apt/sources.list.d/buster-backports.list
</code></pre>
<p>Une fois le dépot ajouté, il suffit de mettre à jour la liste des paquets et d'installer Wireguard.</p>
<pre><code class="language-bash">sudo apt update &amp;&amp; sudo apt install wireguard
</code></pre>
<p>Sur d'autres distributions, il faudra installer <code>wireguard-tools</code> mais je vous laisse vous référer à <a href="https://www.wireguard.com/install/">la page d'installation</a> pour plus d'informations.</p>
<p>En complément de Wireguard, je vous invite à installer <code>iptables</code> et <code>resolvconf</code> sur le serveur <sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup> et uniquement <code>resolvconf</code> sur vos clients <sup id="fnref2:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup> linux. <code>iptables</code> va permettre de realiser le routage des paquets tandis que <code>resolvconf</code> va permettre de gérer les DNS via la connexion VPN.</p>
<p>Une fois l'installation terminée, on va générer un couple de clés sur le serveur.</p>
<pre><code class="language-bash">cd /etc/wireguard
umask 077
wg genkey | tee privateKey | wg pubkey &gt; publicKey
</code></pre>
<p>Suite à ces commandes, 2 nouveaux fichiers ont été générés : <code>privateKey</code> contient la clé privée et <code>publicKey</code> contient la clé publique. Il faudra conserver la clé privée secrète tandis que la clé publique va permettre d'identifier le serveur auprès des clients. Son contenu sera donc partagé sur d'autres machines. Vous pouvez réaliser la même opération sur vos machines clientes qui seront elles aussi identifiées avec leur clé publique. Les interfaces graphiques de Wireguard réaliseront la générations des clés automatiquement. Bien sur, vous pouvez créer autant de clés que vous le désirez. Je recommande de créer un couple de clé par serveur VPN.</p>
<p><img src="https://upload.deblan.org/u/2021-04/606cd5c8.jpg" alt="Exemples" /></p>
<p>Nous allons ensuite générer le fichier <code>/etc/wireguard/wg0.conf</code> où <code>wg0</code> désigne le nom de l'interface réseau qui sera créée par wireguard. Selon vos besoins, vous pourrez en ajouter autant que vous le désirez.</p>
<pre><code class="language-bash">[Interface]
Address = 10.0.0.1/24
SaveConfig = false
PostUp = sysctl -w net.ipv4.ip_forward=1; iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -s 10.0.0.1/24 -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -s 10.0.0.1/24 -o eth0 -j MASQUERADE
ListenPort = 51820
PrivateKey = clé_privée_du_serveur
</code></pre>
<p>Dans cette configuration, je définie la page IP du réseau (<code>10.0.0.1/24</code>) et l'IP du serveur (<code>10.0.0.1</code>). Veillez à modifier le nom de l'interface connectée à Internet (ici <code>eth0</code>). Insérer également le contenu de la clé privée à la dernière ligne. <code>SaveConfig</code> à <code>false</code> indique que le fichier pourra être modifié pendant que le serveur est lancé. Enfin, on indique que le serveur écoute sur le port <code>51820</code>.
Vous pourrez répéter cette opération sur vos client mais vous devrez omettre les lignes avec <code>PostUp</code>, <code>PostDown</code> et <code>ListenPort</code>. Vous devrez également changer <code>Address</code> en incrémentant l'ip et en fixant la page à 32 (exemple : <code>10.0.0.2/32</code>, <code>10.0.0.3/32</code>, etc.).</p>
<p>Enfin, il faudra renseigner la liste des clients du réseau VPN en utilisant leur clé publique et l'adresse IP qu'ils auront configurée.</p>
<pre><code class="language-bash">[Interface]
...
[Peer]
PublicKey = clé_publique_du_client_1
AllowedIPs = 10.0.0.2/32
[Peer]
PublicKey = clé_publique_du_client_2
AllowedIPs = 10.0.0.3/32
</code></pre>
<p>Coté client, il faudra renseigner le serveur :</p>
<pre><code class="language-bash">[Interface]
...
[Peer]
PublicKey = clé_publique_du_server
AllowedIPs = 10.0.0.0/24
Endpoint = ip.du.serveur.vpn:51820
PersistentKeepalive = 20
</code></pre>
<p>Dans cet exemple, j'ai définie que seuls les paquets à destination du réseau VPN seront routés dans le VPN : <code>AllowedIPs = 10.0.0.0/24</code>. Si vous voulez router tout votre traffic, saisissez <code>AllowedIPs = 0.0.0.0/0</code> <sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup>. Pour ajouter plusieurs plages, il suffit de les séparer par des virgules.
Dans le bloc <code>[Interface]</code> des clients, vous avez la possibilté d'ajouter une propriété <code>DNS</code> afin de paramétrer un ou plusieurs serveurs DNS. Les serveurs DNS devront être accessibles par le serveur VPN ou le client selon le paramétrage de <code>AllowedIPs</code>. Attention, les DNS seront paramétrés comme des DNS classiques et ils seront sollicités pour résoudre tous les noms.</p>
<p>Une fois les configuration effectuée, vous pourrez démarrer ou arrêter la connexion VPN avec <code>sudo wg-quick up wg0</code> et <code>wg-quick down wg0</code> sur le serveur et sur les clients. Vous pourrez monitorer les connexions avec la commande <code>sudo wg</code>.</p>
<div class="footnotes" role="doc-endnotes">
<hr />
<ol>
<li id="fn:1">
<p>Techniquement, chaque pair (ou peer) est à la fois client et serveur. Quand je parle de "serveur", je fais référence à la machine qui va jouer le rôle de routeur pour les différents pairs du VPN. Techniquement, un pair peut s'interconnecter à autant d'autres pairs qui lui est possible de joindre (cf la <a href="https://www.wireguard.com/quickstart/">doc officielle</a> et la <a href="https://wiki.archlinux.org/index.php/WireGuard">doc Archlinux</a>).&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#8617;&#xFE0E;</a> <a href="#fnref2:1" class="footnote-backref" role="doc-backlink">&#8617;&#xFE0E;</a></p>
</li>
<li id="fn:2">
<p>Que ce soit sur un "serveur" ou un "client", <code>AllowedIPs</code> indique pour quelle(s) plage(s) IP le pair sera emprunté pour router les paquets. Sur le serveur, on souhaite que chaque pair reçoivent exclusement les paquets qui leur sont destinés (IP du pair/32) tandis que sur le client, 2 cas d'usages classiques seront généralement retenus : soit on utilise le serveur pour router que le traffic du réseau VPN (<code>10.0.0.0/24</code>) soit on veut que le serveur serve de proxy et tout le traffic réseau passera par lui (<code>0.0.0.0/0</code>).&#160;<a href="#fnref:2" class="footnote-backref" role="doc-backlink">&#8617;&#xFE0E;</a></p>
</li>
</ol>
</div>
]]></description>
<guid isPermaLink="false">599</guid>
<pubDate>Wed, 07 Apr 2021 10:30:00 +0200</pubDate>
<category><![CDATA[Informatique]]></category>
</item>
<item>
<title><![CDATA[Migration de blog vers Murph]]></title>
<link href="https://www.deblan.io/post/597/migration-de-blog-vers-murph" type="text/html">https://www.deblan.io/post/597/migration-de-blog-vers-murph</link>
<link href="gemini://deblan.io/posts/597.gmi" type="text/gemini" />
<description><![CDATA[<p>Mon blog a été mon premier vrai projet quand j'ai commencé de faire du développement web et il me suit toujours aujourd'hui.</p>
<p>Beaucoup de versions ont été réalisées car elles suivent mon évolution et les technologies que j'utilise. La précédente mouture était basée sur Trinity, un <a href="https://fr.wikipedia.org/wiki/Content_management_framework">CMF</a> basé sur Symfony 2, développé par <a href="https://www.webetdesign.com/">web&amp;design</a> et sur lequel j'ai beaucoup travaillé. Trinity est puissant mais la conception n'est plus d'actualité et la migration vers une version récente de Symfony est impossible.<br />
Je travaille sur la refonte du site web de l'association <a href="https://www.tinternet.net/">Tinternet &amp; cie</a> et s'est rapidement posée la question du CMS. Cela m'a permis d'entreprendre l'écriture de Murph, un <a href="https://fr.wikipedia.org/wiki/Content_management_framework">CMF</a> qui repose sur Symfony 5 et qui reprend les bonnes idées de Trinity avec une conception qui tient plus la route.</p>
<p>Tandis que <code>Trinity</code> était un hommage à Matrix, <code>Murph</code> est tout droit tiré d'Interstellar, un film pour lequel j'ai une affection très particulière. Voici quelques images du backoffice.</p>
<p><img src="https://upload.deblan.org/u/2021-03/606429c7.png" alt="" /></p>
<p><img src="https://upload.deblan.org/u/2021-03/606429b4.png" alt="" /></p>
<p>Si le projet vous intéresse, le <a href="https://gitnet.fr/deblan/deblan.io-murph">code source du blog est disponible ici</a> et celui du <a href="https://gitnet.fr/deblan/murph-skeleton">squelette de Murph se trouve là</a>.</p>
]]></description>
<guid isPermaLink="false">597</guid>
<pubDate>Wed, 31 Mar 2021 10:08:00 +0200</pubDate>
<category><![CDATA[Le blog]]></category>
<category><![CDATA[Développement]]></category>
</item>
<item>
<title><![CDATA[Mon thème pour ZSH]]></title>
<link href="https://www.deblan.io/post/595/mon-theme-pour-zsh" type="text/html">https://www.deblan.io/post/595/mon-theme-pour-zsh</link>
<link href="gemini://deblan.io/posts/595.gmi" type="text/gemini" />
<description><![CDATA[<p>Cela fait des années que j'utilise ZSH comme interpréteur de commande. En complément,
j'utilise également des plugins disponibles via l'excellent projet <a href="https://ohmyz.sh/">oh-my-zsh</a>.</p>
<p>J'ai harmonisé l'ensemble des configurations sur mes différents accès. Pour ce faire,
j'ai principalement travaillé sur le prompt et je publie aujourd'hui le code de mon thème.</p>
<p>Voici une capture d'écran qui décrit l'ensemble des fonctionnalités de mon thème :</p>
<ul>
<li>Une gestion des codes de sortie avec différentes couleurs et éventuellement le code</li>
<li>L'affichage de l'heure</li>
<li>L'affichage de l'utilisateur et de la machine</li>
<li>Changement de couleur si l'utilisateur⋅trice est privilégié⋅e</li>
<li>Le chemin courant avec un retour à la ligne s'il dépasse une certaine longueur</li>
<li>Intégration de GIT (nécessite <a href="https://github.com/olivierverdier/zsh-git-prompt">olivierverdier/zsh-git-prompt</a>)</li>
</ul>
<p><img src="https://upload.deblan.org/u/2021-02/60266e22.jpg" alt="Mon thème pour ZSH" title="Mon thème pour ZSH" style="padding: 10px; background: #031019"></p>
<p>Le code source est disponible sur <a href="https://gitnet.fr/deblan/gists/src/branch/master/zsh/themes/deblan/deblan.zsh-theme">cette page</a>
et il est totalement libre.</p>
]]></description>
<guid isPermaLink="false">595</guid>
<pubDate>Fri, 12 Feb 2021 13:09:02 +0100</pubDate>
<category><![CDATA[Développement]]></category>
</item>
<item>
<title><![CDATA[Google démantèle son éthique (et tout le monde s'en fout...)]]></title>
<link href="https://www.deblan.io/post/596/google-de-mante-le-son-e-thique-et-tout-le-monde-s-en-fout" type="text/html">https://www.deblan.io/post/596/google-de-mante-le-son-e-thique-et-tout-le-monde-s-en-fout</link>
<link href="gemini://deblan.io/posts/596.gmi" type="text/gemini" />
<description><![CDATA[<p>En 2 mois, Google a licencié ses deux co-directrices de l'éthique des IA, Timnit
Gebru et Margarett Mitchell. Pendant ce temps, Google a aussi développé, et probablement bientôt
déployé, des algorithmes entraînés sur d'immenses quantités de données non-sécurisées,
de manière extrêmement opaque, ce qui avait été critiqué par les deux co-directrices
dans un article de recherche.</p>
<p>Le déploiement précipité d'algorithmes très dangereux sans aucune audit interne
ni externe, sur les téléphones de milliards d'humains, me semble absolument terrifiant.
Mais le plus effrayant, c'est que cette histoire est complètement ignorée par le grand
public, les médias, l'industrie de la tech et le monde académique...</p>
]]></description>
<guid isPermaLink="false">596</guid>
<pubDate>Fri, 12 Feb 2021 00:11:00 +0100</pubDate>
<category><![CDATA[Quick links]]></category>
</item>
<item>
<title><![CDATA[Bilan tech de l'année 2020]]></title>
<link href="https://www.deblan.io/post/594/bilan-tech-de-l-annee-2020" type="text/html">https://www.deblan.io/post/594/bilan-tech-de-l-annee-2020</link>
<link href="gemini://deblan.io/posts/594.gmi" type="text/gemini" />
<description><![CDATA[<p>Cette année très particulière m'a quand même permis de consacrer plus de
temps pour le logiciel libre que l'an passé.</p>
<p>Mes efforts se sont naturellement dirigés vers les outils que j'utilise et c'est
Nextcloud et son écosystème sur lesquels je me suis concentré.</p>
<p>Mon plus gros projet de 2020 est <a href="https://apps.nextcloud.com/apps/side_menu">Custom menu</a>, une application pour Nextcloud qui
permet de modifier le menu par défaut en proposant d'autres affichages. Je suis
très content du résultat et beaucoup d'administrateurs ont décidé de l'installer
sur leur instance. En effet, toutes versions confondues, <a href="https://apps.nextcloud.com/apps/side_menu">Custom menu</a> a été
téléchargé plus de 102 mille fois et les dernières versions sont installées sur
environ 9000 instances.</p>
<p>J'ai réalisé du code pour faire évoluer l'application <a href="https://apps.nextcloud.com/apps/forms">Forms</a> on y ajoutant de
nouveaux types de champ. Cela n'a pas du tout été évident d'échanger avec
l'équipe de développement mais j'espère voir arriver ces évolutions dans une
prochaine version.</p>
<p>Ensuite, j'ai traduis <a href="https://apps.nextcloud.com/apps/analytics">Analytics</a> en français même si je ne suis pas satisfait.
Je vais faire de nouvelles traductions l'année prochaine ! Cette application
permet de mettre en graphique des données stockées sur Nextcloud ou accessibles
depuis une API. C'est encore relativement basique mais c'est tout de même très pratique.</p>
<p>Même si le développement n'est pas très actif, j'utilise l'application <a href="https://apps.nextcloud.com/apps/printer">Printer</a>
et j'ai proposé du code pour gérer les permissions et réduire les risques
d'injection de code.</p>
<p>Dans un contexte très différent de Nextcloud, j'ai apporté un correctif au
projet <a href="https://pdnsmanager.org/">PDNS Manager</a>, une interface web qui permet de gérer les enregistrements
d'un serveur <a href="https://www.powerdns.com">Powerdns</a>.</p>
<p>J'ai récemment publié <a href="https://www.deblan.io/post/591/mail-rss-transformer-des-mails-en-flux-rss">Mail RSS</a>, une application pour transformer des
emails en flux RSS. Enfin, un peu plus tôt cette année, j'ai mis en ligne les sources du
site web qui permet de <a href="https://www.deblan.io/post/580/monitoring-d-un-terrarium">monitorer le terrarium</a> de la maison.</p>
<p>Je crois avoir fait le tour de mon activité en espérant poursuivre en 2021 !</p>
]]></description>
<guid isPermaLink="false">594</guid>
<pubDate>Tue, 22 Dec 2020 10:00:00 +0100</pubDate>
<category><![CDATA[Divers]]></category>
</item>
<item>
<title><![CDATA[Décrets PASP : fichage massif des militants politiques]]></title>
<link href="https://www.deblan.io/post/593/decrets-pasp-fichage-massif-des-militants-politiques" type="text/html">https://www.deblan.io/post/593/decrets-pasp-fichage-massif-des-militants-politiques</link>
<link href="gemini://deblan.io/posts/593.gmi" type="text/gemini" />
<description><![CDATA[<blockquote>
<p>Après la loi sécurité globale et la loi séparatisme, le gouvernement poursuit
son offensive généralisée visant à museler toute opposition politique.
Mercredi dernier, les trois fichiers de « sécurité publique » (PASP, GIPASP et EASP)
ont été largement étendus par trois décrets (ici, ici et là). Ils</p>
</blockquote>
<p>On y est, on peut maintenant être fiché pour nos opinions politiques,
nos convictions philosophiques, religieuses ou notre appartenance syndicale.</p>
<p>Alors pour reprendre un vieux débat sur la protection des données où on me répondait "je n'ai rien à cacher",
ma réponse était systématiquement :</p>
<ul>
<li>Bien sur que si, tu as des choses à cacher car ta vie privée est par définition privée</li>
<li>Dans un futur plus ou moins proche, on pourra te reprocher quelque chose encore toléré aujourd'hui.</li>
</ul>
<p>Ce futur est maintenant le présent.</p>
<p>En dehors de toute activité, nos simples opinions seront inscrites dans un fichier
d'état. C'est très grave et nous avons avançons encore vers un état totalitaire.
Je pense que le point de non retour à été atteint.</p>
]]></description>
<guid isPermaLink="false">593</guid>
<pubDate>Wed, 09 Dec 2020 09:46:52 +0100</pubDate>
<category><![CDATA[Divers]]></category>
</item>
<item>
<title><![CDATA[Le PDG de FaceBook, Mark Zuckerberg, malmené lors de son audition au Sénat américain (17/11/20)]]></title>
<link href="https://www.deblan.io/post/592/le-pdg-de-facebook-mark-zuckerberg-malmene-lors-de-son-audition-au-senat-americain-17-11-20" type="text/html">https://www.deblan.io/post/592/le-pdg-de-facebook-mark-zuckerberg-malmene-lors-de-son-audition-au-senat-americain-17-11-20</link>
<link href="gemini://deblan.io/posts/592.gmi" type="text/gemini" />
<description><![CDATA[<p>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.</p>
]]></description>
<guid isPermaLink="false">592</guid>
<pubDate>Thu, 19 Nov 2020 10:39:00 +0100</pubDate>
<category><![CDATA[Quick links]]></category>
</item>
<item>
<title><![CDATA[Mail RSS : transformer des mails en flux RSS]]></title>
<link href="https://www.deblan.io/post/591/mail-rss-transformer-des-mails-en-flux-rss" type="text/html">https://www.deblan.io/post/591/mail-rss-transformer-des-mails-en-flux-rss</link>
<link href="gemini://deblan.io/posts/591.gmi" type="text/gemini" />
<description><![CDATA[<p>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 : <a href="https://gitnet.fr/deblan/mail-rss">Mail RSS</a>.</p>
<p><img src="https://upload.deblan.org/u/2020-11/5fad64ef.png" alt="" /></p>
<h3>Comment ça marche ?</h3>
<p>L'idée est assez simple : en utilisant <a href="https://linux.developpez.com/formation_debian/serveur-mail2.html#AEN7717">les alias de mail dans Postfix</a>,
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 à <strong>Mail RSS</strong> de les lire et de les importer.</p>
<p>Prenons la newsletter de <a href="https://www.techtrash.fr/">TechTrash</a> comme exemple.</p>
<h4>Configuration du serveur de mail</h4>
<p>Il faut ajouter un alias qui va générer des fichiers.</p>
<pre><code class="language-bash" data-title="/etc/aliases">techtrash: "| cat &gt; /var/lib/mailrss/techtrash-$(date +%s) &amp;&amp; chmod o+rw /var/lib/mailrss/techtrash-$(date +%s)"
</code></pre>
<p>Au préalable, j'ai créé le répertoire <code>/var/lib/mailrss</code> et je me suis assuré que mon application
pouvait lire et écrire dedans, de même que Postfix (<code>nobody:nogroup</code>).</p>
<h4>Configuration de l'application</h4>
<p>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 (<code>ID</code>). 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.</p>
<pre><code class="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
------------ -------------------------------------- ------------------------------------------------------------------------ --------------------- ---------------------
</code></pre>
<p>Enfin, il faut un script qui va traiter les fichiers de <code>/var/lib/mailrss</code> en les important
dans le mailing correspondant et qui les supprime du serveur.</p>
<pre><code class="language-bash line-numbers" 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" &amp;&amp; rm "$MAIL"
done
}
import_mails "techtrash" "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
</code></pre>
<p>Quand un mail est importé, les données récupérées sont :</p>
<ul>
<li>Le sujet du mail</li>
<li>La date du mail</li>
<li>Le contenu HTML</li>
<li>Le contenu texte</li>
<li>Les pièces jointes</li>
</ul>
<p>Toutes ces données seront accessibles à la consultation.</p>
<p><a href="https://gitnet.fr/deblan/mail-rss">L'application</a> s'appuie sur Symfony (en version de développement) et <a href="https://gitnet.fr/deblan/mail-rss">le code</a> est
totalement libre 😄</p>
]]></description>
<guid isPermaLink="false">591</guid>
<pubDate>Thu, 12 Nov 2020 18:04:42 +0100</pubDate>
<category><![CDATA[Développement]]></category>
<category><![CDATA[Informatique]]></category>
</item>
<item>
<title><![CDATA[Cohabitation de Collabora Online et OnlyOffice sur Nextcloud]]></title>
<link href="https://www.deblan.io/post/589/cohabitation-de-collabora-online-et-onlyoffice-sur-nextcloud" type="text/html">https://www.deblan.io/post/589/cohabitation-de-collabora-online-et-onlyoffice-sur-nextcloud</link>
<link href="gemini://deblan.io/posts/589.gmi" type="text/gemini" />
<description><![CDATA[<p>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).</p>
<p>L'an passé, j'utilisais exclusivement <a href="https://www.onlyoffice.com/fr/">OnlyOffice</a> via
son <a href="https://apps.nextcloud.com/apps/onlyoffice">connecteur Nextcloud</a> et une instance
installée sur un serveur dédié. Puis, lors d'<a href="https://github.com/ONLYOFFICE/DocumentServer/issues/805">un déboire au sujet de l'édition
depuis un terminal mobile</a>, j'ai décidé
de migrer vers <a href="https://www.collaboraoffice.com/fr/code/">Collabora Online</a> via
son <a href="https://apps.nextcloud.com/apps/richdocuments">connecteur Nextcloud</a> et une instance
installée sur un serveur (presque) dédié.</p>
<p>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.</p>
<p><img src="https://upload.deblan.org/u/2020-10/5f8eb3c9.png" alt="Collabora Online et OnlyOffice" /></p>
<p>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 <a href="https://apps.nextcloud.com/apps/jsloader">JSLoader</a>.
Je pense d'ailleurs que cela sera une bonne idée de forker cette application
afin d'en reprendre la maintenance.</p>
<p><img src="https://upload.deblan.org/u/2020-10/5f8eb3b3.png" alt="Cohabitation de Collabora Online et OnlyOffice sur Nextcloud" /></p>
<p>Alors ce n'est sans doute pas le code le plus élégant mais il fonctionne bien.</p>
<pre><code class="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) {
}
</code></pre>
]]></description>
<guid isPermaLink="false">589</guid>
<pubDate>Tue, 20 Oct 2020 11:58:23 +0200</pubDate>
<category><![CDATA[Développement]]></category>
<category><![CDATA[Divers]]></category>
</item>
<item>
<title><![CDATA[La liberté d'expression encore menacée]]></title>
<link href="https://www.deblan.io/post/590/la-liberte-d-expression-encore-menacee" type="text/html">https://www.deblan.io/post/590/la-liberte-d-expression-encore-menacee</link>
<link href="gemini://deblan.io/posts/590.gmi" type="text/gemini" />
<description><![CDATA[<blockquote>
<p>Ou comment instrumentaliser à des fins politiques un événement tragique qui n'a aucun rapport pour relancer une loi anticonstitutionnelle : La loi AVIA</p>
</blockquote>
<h3>Pourquoi la loi Avia est liberticide et inutile ?</h3>
<p>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.</p>
<p>Les contenus terroristes ou pédopornographiques doit être considérés comme tel
<strong>par un juge</strong> 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.<br />
Le conseil constitutionnel s'est déja prononcé en indiquant que
« <strong>le législateur porte une atteinte à la liberté d'expression</strong> qui n'est ni adaptée,
ni proportionnée au but poursuivi ». Il persiste « <strong>le risque que les opérateurs
soient incités à retirer tous les contenus contestés, y compris ceux qui sont licites</strong> » [<a href="https://www.vie-publique.fr/loi/268070-loi-avia-lutte-contre-les-contenus-haineux-sur-internet">1</a>].</p>
<p>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.</p>
<p>Cette loi est la porte ouverte vers une énième derive totalitaire où l'état va nous
imposer son idéologie.</p>
]]></description>
<guid isPermaLink="false">590</guid>
<pubDate>Sat, 17 Oct 2020 15:13:52 +0200</pubDate>
<category><![CDATA[Divers]]></category>
</item>
</channel>
</rss>