deblan.io-gemini/blog/feed.xml
2022-08-18 13:36:51 +02:00

617 lines
56 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[Gitnet héberge vos pages statiques]]></title>
<link href="https://www.deblan.io/post/624/gitnet-heberge-vos-pages-statiques" type="text/html">https://www.deblan.io/post/624/gitnet-heberge-vos-pages-statiques</link>
<link href="gemini://deblan.io/posts/624.gmi" type="text/gemini" />
<description><![CDATA[<p><strong><a href="https://gitnet.fr">Gitnet</a> est la forge logicielle que je gère depuis quelques années et qui héberge la totalité de mes projets</strong>. Elle s'appuie sur l'excellentissime <strong><a href="https://gitea.io/">Gitea</a>, un logiciel libre pour faire son propre Github/Gitlab</strong> sans dépenser des fortunes en ressources matérielles.</p>
<p><a href="https://gitea.io/">Gitea</a> est un logiciel très complet mais une des fonctionnalités qui peut manquer à certain⋅e⋅s est <strong>la publication pages web statiques</strong> via la forge. <a href="https://codeberg.org/">Codeberg</a> a développé <a href="https://codeberg.org/Codeberg/pages-server">Codeberg/pages-server</a>, un projet écrit en GO qui permet de réaliser cette fonctionnalité. Il lance un serveur web et sert les fichiers qui sont récupérés via l'API. Après l'avoir forké pour le personnalisé, il est à présent déployé sur <a href="https://gitnet.page">Gitnet Pages</a>.</p>
<p>Pour commencer à publier, vous devez créer un dépot <code>pages</code> dans lequel vous déposerez y vos fichiers. Le contenu sera accessible via <code>https://votre-login.gitnet.page/{fichier}</code>.</p>
<p>Dans le cas où vous souhaitez intégrer des pages à un dépot existant, ajoutez une branche <code>pages</code> puis accédez à votre contenu via <code>https://votre-login.gitnet.page/le-depot/{fichier}</code> :</p>
<pre><code class="language-shell-session window">dev@project $ git switch --orphan pages
# Si vous avez des fichiers ignorés par git qui existent :
dev@project $ git rm --cached -r .
</code></pre>
<p>Et si vous désirez accéder à du contenu qui se trouve sur une autre branche, il faudra la spécifier de cette façon : <code>https://votre-login.gitnet.page/le-depot/@la-branche/{fichier}</code>.</p>
<p>Vous pouvez utiliser un générateur de site static mais il faudra ajouter un CI/CD. J'ai réalisé des tests avec <a href="https://gohugo.io/">Hugo</a> + <a href="https://woodpecker-ci.org/">Woordpecker</a> et ça marche bien ! On build la branche ou se trouve les sources, on copie le résultat dans la branche <code>pages</code> et on pousse le code sur <a href="https://gitnet.fr">Gitnet</a>. Voici la <a href="https://gitnet.fr/deblan/pages-ci/src/branch/master/.woodpecker.yml">configuration utilisée</a>.</p>
<p>Si toutefois le service venait à être pas mal utilisé, alors j'intégrerai des fonctionnalités plus avancées comme le nom de domaine personnalité. Tel qu'il est déployé actuellement, ce n'est pas possible.</p>
<p><img src="/uploads/content/624/screenshot-20220803-161712.jpg" alt="Gitnet Pages" /></p>
]]></description>
<guid isPermaLink="false">624</guid>
<pubDate>Sun, 31 Jul 2022 21:50:00 +0200</pubDate>
<category><![CDATA[Informatique]]></category>
</item>
<item>
<title><![CDATA[Gitea 1.17 intègre un registre de paquets]]></title>
<link href="https://www.deblan.io/post/623/gitea-1-17-integre-un-registre-de-paquets" type="text/html">https://www.deblan.io/post/623/gitea-1-17-integre-un-registre-de-paquets</link>
<link href="gemini://deblan.io/posts/623.gmi" type="text/gemini" />
<description><![CDATA[<p><strong>Gitea est l'une des briques majeures de mon informatique</strong> puisque c'est le logiciel qui gère l'ensemble de mes <a href="https://gitnet.fr/deblan">projets de développement</a>.</p>
<p>Dès la version 1.17, il sera possible d'<strong>utiliser Gitea comme registre de paquets</strong>. Ce registre est compatible avec les principaux gestionnaires de paquets du marché : composer, npm, pip, gem, conan, nuget, …</p>
<p>Cette nouvelle fonctionnalié est géniale car elle permet d'avoir un <strong>seul et unique outil qui fait office de registre</strong>, quelque soit le type de langage. Les paquets et le code source sont au même endroit donc on se disperse moins. Enfin, on contribue à <strong>décentraliser l'hébergement de paquets</strong>, ce qui peut radicalement <strong>réduire le coût énergétique et les ressources réseaux nécessaires</strong> pour tester/builder/installer/déployer un logiciel.<br />
Dans mon cas d'usage, j'ai des projets avec une CI/CD qui repose sur docker et des images persos. Pendant un build, les images seront téléchargées depuis mon réseau local donc ça sera bien plus vite.</p>
<p>J'ai testé plusieurs types de paquets et ça fonctionne très bien ! La <a href="https://docs.gitea.io/en-us/packages/overview/">documentation est disponible ici</a>.</p>
<p><img src="/uploads/content/623/gitea_package.png" alt="Package sur Gitea" /></p>
<p>Bravo aux développeur⋅euses de Gitea qui font un boulot monstrueux 💚</p>
]]></description>
<guid isPermaLink="false">623</guid>
<pubDate>Wed, 20 Jul 2022 12:50:00 +0200</pubDate>
<category><![CDATA[Développement]]></category>
</item>
<item>
<title><![CDATA[Un an d'utilisation de AdGuard comme DNS]]></title>
<link href="https://www.deblan.io/post/621/utilisation-adguard-dns" type="text/html">https://www.deblan.io/post/621/utilisation-adguard-dns</link>
<link href="gemini://deblan.io/posts/621.gmi" type="text/gemini" />
<description><![CDATA[<p>Au moment où j'ai commencé à utilisé <a href="https://www.deblan.io/post/599/mettre-en-place-un-vpn-avec-wireguard">Wireguard</a>, je me suis aperçu que le principal usage que j'en ferais serait le DNS.</p>
<p>Sur l'ensemble de mes périphériques (ordinateurs, smartphones, serveurs), <strong>j'apporte une grande attention à la protection de ma vie privée</strong>. Mon informatique n'est pas parfaite mais j'essaye de faire de mon mieux en ajustant <strong>la sécurité des services</strong>, <strong>la protection des données</strong> et <strong>le confort des outils</strong>.<br />
À ce titre, j'utilisais <a href="https://blokada.org/">Blockada</a> sur mon smartphone. Cette application permet (principalement) de modifier les DNS utilisés sur votre smartphone. Si on choisi un DNS qui opère du filtrage, alors on peut réduire l'affichage des publicités ou bloquer l'accès à des services malveillants. Mais je devais nécessairement passer par un DNS public que je ne peux pas configurer.</p>
<p>Lors de la configuration d'un accès via Wireguard, on peut spécifier un DNS à attribuer au périphérique. J'ai donc mis en place un DNS redondant dans mon réseau privé, accessible aussi via mon réseau VPN Wireguard. J'ai choisi d'utiliser l'application <a href="https://adguard.com/fr/welcome.html">AdGuard</a> et j'ai ajouté quelques listes pour réaliser du filtrage. Tout mon réseau privé et mes périphériques connectés au VPN bénéficient de ces DNS privés. Que je sois chez moi ou en itinérance, mes filtres DNS sont appliqués et mon traffic mobile passe systématiquement dans <strong>mon VPN</strong>.</p>
<p>En complément de ce DNS, j'utilise l'extension <a href="https://addons.mozilla.org/fr/firefox/addon/ublock-origin/">uBlock Origin</a> et je dois dire que la combo est vraiment efficace. C'est extrèment rare de voir de la publicité et ma navigation est selon moi plus sécurisée. Si toutefois uBlock ne bloque pas une requête, alors le DNS prend le relais et fait le reste du ménage.</p>
<p>Sur les 30 dernières jours, <strong>le DNS principal a réalisé 1,3 millions de résolutions et en a bloqué près de 43 milles</strong>. En moyenne, <strong>3 à 5% des requêtes DNS sont filtrées</strong>, ce qui représente environ 500 domaines qui délivrent majoritairement de la publicité et de la télémétrie.</p>
<p><img src="/uploads/content/621/adguard-dns.jpg?v=2" alt="Adguard" /></p>
]]></description>
<guid isPermaLink="false">621</guid>
<pubDate>Mon, 13 Jun 2022 11:00:00 +0200</pubDate>
<category><![CDATA[Informatique]]></category>
</item>
<item>
<title><![CDATA[Générer une page dans Murph]]></title>
<link href="https://www.deblan.io/post/620/generer-page-murph" type="text/html">https://www.deblan.io/post/620/generer-page-murph</link>
<link href="gemini://deblan.io/posts/620.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>.</p>
<p>Cet article fait partie d'une <a href="{{url://blog_menu_search?page=1&amp;tag=murph-tuto}}">série de tutoriaux pour présenter les fonctionnalités de Murph</a>.</p>
<p>Contrairement à pas mal de CMS, une page permet de rassembler des contenus qui pourront être réutilisés plusieurs fois dans une arborescence, là où certains CMS lient définitivement une page à un élément du menu.</p>
<p>Par ailleurs, une page ne contient que des données qui pourront être présentées comme on le veut. Autrement dit, la manière de rendre une page est indépendante de la façon de rédiger les contenus.</p>
<p>On va créer une nouvelle page <code>ExamplePage</code> avec ces contenus :</p>
<ul>
<li>un titre <code>title</code> qui sera un champ texte</li>
<li>un bloc de contenu <code>content</code> avec l'éditeur TinyMCE</li>
</ul>
<script id="asciicast-WilAMpb7iX9kM07Ida6xxceNf" src="https://asciinema.org/a/WilAMpb7iX9kM07Ida6xxceNf.js" async></script>
<p>On va ensuite enregistrer la page dans Murph et lui donner le nom <code>Page d'exemple</code>.</p>
<pre><code class="language-yaml yaml" data-title="config/packages/app.yaml">core:
site:
# ...
pages:
App\Entity\Page\ExamplePage:
name: "Page d'exemple"
templates:
- {name: "Default", file: "page/example/default.html.twig"}
</code></pre>
<p>Quand une page est créée, un template par défaut l'est aussi. Une page peut avoir autant de templates qu'on souhaite.</p>
<p>Éditons le template par défaut pour afficher simplement nos contenus :</p>
<pre><code class="language-twig html twig" data-title="templates/page/example/default.html.twig">{% extends 'base.html.twig' %}
{% block page %}
&lt;h1&gt;{{ _page.title.value }}&lt;/h1&gt;
{{ _page.content.value|raw }}
{% endblock %}
</code></pre>
<p>On peut à présent créer un nouvel élément dans le menu, lui attribuer une nouvelle page et commencer à saisir le contenu.</p>
<iframe title="Murph - Générer une page dans Murph" src="https://peertube.fr/videos/embed/36f155ac-deb0-49a0-92e7-24d4fc052e44" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups" style="aspect-ratio: 16 / 9; width: 100%; height: auto" frameborder="0"></iframe>
<p><a href="https://doc.murph-project.org/">La documentation complète est disponible sur doc.murph-project.org</a>.</p>
]]></description>
<guid isPermaLink="false">620</guid>
<pubDate>Mon, 16 May 2022 10:30:00 +0200</pubDate>
<category><![CDATA[Développement]]></category>
<category><![CDATA[Logiciel libre]]></category>
<category><![CDATA[Projets personnels]]></category>
</item>
<item>
<title><![CDATA[Générer un CRUD dans Murph]]></title>
<link href="https://www.deblan.io/post/619/generer-crud-murph" type="text/html">https://www.deblan.io/post/619/generer-crud-murph</link>
<link href="gemini://deblan.io/posts/619.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>.</p>
<p>Je vais entamer une <a href="{{url://blog_menu_search?page=1&amp;tag=murph-tuto}}">série de tutoriaux pour présenter les fonctionnalités de Murph</a>.</p>
<p>Cet article va pour expliquer comment utiliser Murph et générer des <a href="https://developer.mozilla.org/fr/docs/Glossary/CRUD">interfaces de CRUD</a> afin de créer, voir, mettre à jour et supprimer des entités.</p>
<p>Dans un premier temps, il faut créer une nouvelle entité <code>Example</code>. Si vous avez déjà réaliser cette opération, vous pouvez passer à l'étape suivante.</p>
<pre><code class="language-shell-session window">dev@project $ php bin/console make:entity Example
</code></pre>
<p>j'ai décidé d'ajouter ces attributs :</p>
<ul>
<li><code>label</code> de type <code>string</code> obligatoire</li>
<li><code>content</code> de type <code>text</code> obligatoire</li>
</ul>
<p>On doit maintenant éditer <code>App\Entity\Example</code> et implémenter l'interface <code>App\Core\Entity\EntityInterface</code> :</p>
<pre><code class="language-php php" data-title="src/Entity/Example.php">&lt;?php
namespace App\Entity;
use App\Core\Entity\EntityInterface;
use App\Repository\ExampleRepository;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=ExampleRepository::class)
*/
class Example implements EntityInterface
{
</code></pre>
<p>Puis il faut mettre à jour la base de données :</p>
<pre><code class="language-shell-session window">dev@project $ make doctrine-migration
</code></pre>
<p>Ensuite on va générer :</p>
<ul>
<li>le générateur de requête <code>App\Repository\ExampleRepositoryQuery</code></li>
<li>la fabrique <code>App\Factory\ExampleFactory</code></li>
<li>le formulaire d'édition <code>App\Form\ExampleType</code></li>
</ul>
<pre><code class="language-shell-session window">dev@project $ php bin/console make:repository-query ExampleRepository
dev@project $ php bin/console make:factory ExampleFactory Example
dev@project $ php bin/console make:form ExampleType Example
</code></pre>
<p>Générons à présent le CRUD :</p>
<pre><code class="language-shell-session window">dev@project $ php bin/console make:crud-controller \
ExampleAdminController \
Example \
ExampleRepositoryQuery \
ExampleFactory \
ExampleType
</code></pre>
<p>Enfin, ajoutons le lien dans le menu du backoffice :</p>
<pre><code class="language-twig html twig" data-title="templates/admin/menu.html.twig">{{ include('@Core/admin/module/_menu_section.html.twig', {label: 'My section'}) }}
&lt;ul class="nav flex-column"&gt;
{{ include('@Core/admin/module/_menu_item.html.twig', {
id: 'example',
label: 'Examples',
route: path('admin_example_index'),
icon: 'fa fa-pen'
}) }}
&lt;/ul&gt;
</code></pre>
<p>…et c'est terminé !</p>
<p>Vous pouvez commencer à personnaliser le CRUD en modifiant <code>ExampleAdminController</code> et sa methode <code>getConfiguration</code>. <a href="https://doc.murph-project.org/crud/configuration/">La documentation est ici</a>.</p>
<iframe title="Murph - Générer un CRUD dans Murph" src="https://peertube.fr/videos/embed/08422ab9-3ed8-4904-8b43-25a2aa7210f9" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups" style="aspect-ratio: 16 / 9; width: 100%; height: auto" frameborder="0"></iframe>
]]></description>
<guid isPermaLink="false">619</guid>
<pubDate>Tue, 10 May 2022 20:00:00 +0200</pubDate>
<category><![CDATA[Développement]]></category>
<category><![CDATA[Logiciel libre]]></category>
<category><![CDATA[Projets personnels]]></category>
</item>
<item>
<title><![CDATA[Le Conseil d'État sauve la reconnaissance faciale du fichier TAJ]]></title>
<link href="https://www.deblan.io/post/618/le-conseil-detat-sauve-la-reconnaissance-faciale-du-fichier-taj" type="text/html">https://www.deblan.io/post/618/le-conseil-detat-sauve-la-reconnaissance-faciale-du-fichier-taj</link>
<link href="gemini://deblan.io/posts/618.gmi" type="text/gemini" />
<description><![CDATA[<p>Mardi dernier, le Conseil d'État a rejeté nos arguments contre les opérations illégales de reconnaissance faciale réalisées par la police depuis 10 ans à partir du fichier TAJ.</p>
<p>Le décret du fichier TAJ (traitement des antécédents judiciaires) autorise la police à utiliser la reconnaissance faciale (RF) pour comparer les 9 millions de visages qu'il contient aux images captées par vidéosurveillance, smartphone ou sur internet.</p>
]]></description>
<guid isPermaLink="false">618</guid>
<pubDate>Tue, 03 May 2022 14:00:00 +0200</pubDate>
<category><![CDATA[Contenu externe]]></category>
<category><![CDATA[Politique]]></category>
</item>
<item>
<title><![CDATA[Les projets à Tinternet & Cie]]></title>
<link href="https://www.deblan.io/post/617/les-projets-a-tinternet-cie" type="text/html">https://www.deblan.io/post/617/les-projets-a-tinternet-cie</link>
<link href="gemini://deblan.io/posts/617.gmi" type="text/gemini" />
<description><![CDATA[<p >L'énergie qui anime <a href="https://www.tinternet.net/"></a><a><strong>Tinternet &amp; Cie</strong></a> est formidable et donne l'opportunité à l'équipe de faire beaucoup de projets !</p><p >Ce début dannée a été un véritable virage pour lassociation. En
effet, nous avons décidé de renforcer notre équipe dintervenants et d<strong>employer une coordinatrice</strong> et nous en sommes très fiers !</p><p >Cela a été notamment possible grâce à un projet monté conjointement avec le département. Plus de <strong>150 interventions</strong>
ont été planifiées ce premier semestre dans de nombreux collèges et
lycées. Nous abordons quatre grandes thématiques avec les élèves : la <strong>cyberdépendance</strong>, le <strong>cyberharcèlement</strong>, la <strong>désinformation</strong> et l'<strong>identité numérique</strong>.</p><p >Cest un projet fort, portant sur des sujets compliqués et nous
espérons accompagner à nouveau le département dès la rentrée prochaine,
mais aussi créer et travailler sur de nouveaux projets et partenariats
toujours plus utiles et efficaces.</p><p >En plus de cela, l'association a mis en place et continue d'animer une <strong>permanence numérique</strong> les <strong>2ème et 4ème mercredis de chaque mois au bar Le Pixel à Besançon</strong>. C'est un moment privilégié pour échanger sur <strong>un Internet plus ouvert, éthique et respectueux de la vie privée</strong>. Un véritable laboratoire, où la pratique de léducation populaire est plus que jamais de mise.
À ces occasions, un travail de fond est mené et permet dores et déjà de
répondre à bon nombre de questions au sujet des outils qui, selon nous,
peuvent répondre aux besoins communs des Internautes, quels quils
soient.</p><p >Enfin, vous le savez, le mois dernier, nous vous avions invité à suivre <strong>une conférence très particulière au sujet du Web 2.0</strong>. L'évènement était organisé à l'occasion du festival « <strong>D'Autres formes</strong>
» réalisé par La Rodia. La conférence a rencontré un réel succès. Nous
avons eu l'occasion de travailler avec des gens formidables et répondre à
de vrai challenges techniques. La conférence mêlait des séquences
vidéos enregistrées et du live sur fond vert dans le but de faire naitre
une interaction insoupçonnée avec le public.
Si vous avez loupé l'évènement, voici une courte vidéo avec les moments forts.</p><p >Bon visionnage !<br></p><p><a href="https://www.youtube.com/watch?v=lwpP_XtkEng"><img src="/uploads/content/617/festival-dautres-formes.jpg" alt="Tinternet &amp; Cie au festival « D'Autres Formes »" style="width: 100vw" /></a></p>]]></description>
<guid isPermaLink="false">617</guid>
<pubDate>Fri, 22 Apr 2022 12:30:00 +0200</pubDate>
<category><![CDATA[Informatique]]></category>
<category><![CDATA[Politique]]></category>
</item>
<item>
<title><![CDATA[Murph v1.13 intègre l'éditeur GrapesJS]]></title>
<link href="https://www.deblan.io/post/616/murph-v1-13-integre-lediteur-grapesjs" type="text/html">https://www.deblan.io/post/616/murph-v1-13-integre-lediteur-grapesjs</link>
<link href="gemini://deblan.io/posts/616.gmi" type="text/gemini" />
<description><![CDATA[<p>L'une des forces de Wordpress est sa ribambelle de plugins dont <a href="https://elementor.com/">Elementor</a> qui permet de créer des pages sans toucher au code.</p>
<p>Pour permettre d'éditer du contenu de la même façon, <strong><a href="https://grapesjs.com/">GrapesJS</a></strong> est maintenant nativement intégré dans <strong><a href="https://doc.murph-project.org/">Murph</a></strong> depuis la version v1.13. Les blocs permettent de créer n'importe quel contenu en s'appuyant sur les composants Bootstrap 4. La version de développement de Murph intègre d'ores et déjà d'autres outils comme les presets <a href="https://github.com/artf/grapesjs-preset-webpage">webpage</a> et <a href="https://github.com/artf/grapesjs-preset-newsletter">newsletter</a> pour se passer de Bootstrap.</p>
<p>Si vous voulez essayer, <strong><a href="https://demo.murph-project.org/">un site de démo</a></strong> a été mis en ligne 😏</p>
<p><img src="/uploads/content/616/grapesjs-murph.jpg" alt="GrapesJS dans Murph" /></p>
<p>Pour mettre à jour Murph, rien de plus simple :</p>
<pre><code class="language-bash">$ composer update
$ yarn upgrade
$ make build
</code></pre>
]]></description>
<guid isPermaLink="false">616</guid>
<pubDate>Mon, 18 Apr 2022 23:00:00 +0200</pubDate>
<category><![CDATA[Développement]]></category>
<category><![CDATA[Logiciel libre]]></category>
<category><![CDATA[Projets personnels]]></category>
</item>
<item>
<title><![CDATA[Tinternet & Cie au festival « d'autres FORMES », le 3 mars à 14h]]></title>
<link href="https://www.deblan.io/post/615/tinternet-cie-au-festival-dautres-formes-organise-par-la-rodia" type="text/html">https://www.deblan.io/post/615/tinternet-cie-au-festival-dautres-formes-organise-par-la-rodia</link>
<link href="gemini://deblan.io/posts/615.gmi" type="text/gemini" />
<description><![CDATA[<p >Lassociation <strong><a href="https://www.tinternet.net">Tinternet &amp; Cie</a></strong> participe au festival <strong>d'autres FORMES </strong>organisé par <strong><a href="https://larodia.com/">La Rodia</a></strong> avec une performance très particulière au sujet d'Internet.</p><p >Cette performance est ouverte au public et se tiendra le dimanche 3 avril à 14h.</p> <div class="ejs-link">
<a href="https://larodia.com/agenda/conference-le-web-2-0-au-service-des-usagers-par-la-cie-tinternet/" class="ejs-link--anchor ejs-link--anchor--with-image" target="_blank">
<div class="ejs-link-content">
<div class="ejs-link-content--title">Conférence - Le Web 2.0 au service des usagers ? par la Cie Tinternet | La Rodia, concerts et pôle des musiques actuelles à Besançon</div>
<div class="ejs-link-content--description"></div>
<div class="ejs-link-content--link">
<span class="deblan-icon deblan-icon-link"></span>https://larodia.com/agenda/conference-le-web-2-0-au-service-des-usagers-par-la-cie-tinternet/</div>
</div>
<div class="ejs-link--image" style="background-image: url('https://larodia.com/wp-content/uploads/2022/02/800px-internet-explorer-1011-logosvg.png')"></div>
</a>
</div>
<p >Pour réserver, rien de plus simple puisqu'il faut juste envoyer un mail à <strong>info@larodia.com</strong>.</p><p >On compte sur vous pour venir nombreuses et nombreux !</p><p><img src="/uploads/content/615/screenshot_20220329.png" alt="{{fattr://806e29ca355a8ccaea39a97eaa5b16a8a3515d8405d66b7ec11c05a9133bce87ccef00c7ee1272eabe04e8aa43145055/title}}"></p>]]></description>
<guid isPermaLink="false">615</guid>
<pubDate>Tue, 29 Mar 2022 15:30:00 +0200</pubDate>
<category><![CDATA[La toile]]></category>
</item>
<item>
<title><![CDATA[Nouveautés dans Murph v1.12]]></title>
<link href="https://www.deblan.io/post/614/nouveautes-dans-murph-v1-12" type="text/html">https://www.deblan.io/post/614/nouveautes-dans-murph-v1-12</link>
<link href="gemini://deblan.io/posts/614.gmi" type="text/gemini" />
<description><![CDATA[<p ><a href="https://doc.murph-project.org">Murph</a> est un <strong>framework open-source</strong> pour construire des CMS. 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>.</p><p >Voici un aperçu des changements depuis <a href="https://www.deblan.io/post/612/nouveautes-dans-murph-v1-7">la version 1.7</a> pour laquelle j'avais réalisé un article.</p> <div class="ejs-link">
<a href="https://gitnet.fr/murph" class="ejs-link--anchor ejs-link--anchor--with-image" target="_blank">
<div class="ejs-link-content">
<div class="ejs-link-content--title">murph</div>
<div class="ejs-link-content--description">Murph is an open-source CMF built on top of Symfony that helps you to build your own CMS. <br />
🔸 Documentation ➝ https://doc.murph-project.org/ <br />
🔹 Support ➝ https://matrix.to/#/#murph-project:neutralnetwork.org?via=neutralnetwork.org</div>
<div class="ejs-link-content--link">
<span class="deblan-icon deblan-icon-link"></span>https://gitnet.fr/murph</div>
</div>
<div class="ejs-link--image" style="background-image: url('https://gitnet.fr/avatars/21e80a97805d9129230f13ef8d87aa3b')"></div>
</a>
</div>
<h3 >Dépendances</h3><p >Dans un premier temps et c'est sans doute le changement le plus important, le <strong>core</strong> du projet a été migré vers un dépôt dédié. Par conséquent, le moteur de <strong>Murph</strong> peut être installée comme une dépendance classique via composer.</p><p >Ainsi, le fichier <code class="inline-code">composer.json</code> du projet <code class="inline-code">murph/murph-skeleton</code> a été réduit au strict nécessaire et permet de mettre à jour facilement Murph.</p><p >Dans cette même démarche à faciliter le développement et surtout la mise à jour des dépendances javascript, toutes les dépendances du fichiers <code class="inline-code">package.json</code> ont été migré vers un package node dédié.</p>
<ul >
<li>Projet squelette de Murph :&nbsp; <a href="https://gitnet.fr/murph/murph-skeleton">murph/murph-skeleton</a></li>
<li>Core de Murph :&nbsp; <a href="https://gitnet.fr/murph/murph-core">murph/murph-core</a></li>
<li>Projet de dépendances NPM :&nbsp; <a href="https://gitnet.fr/murph/murph-npm">murph/murph-npm</a></li>
</ul><p >À la suite de ces changements, mettre à jour une instance de Murph est très simple :</p><pre class="with-title">
<code class="window">composer update
yarn upgrade
make build</code>
</pre><h3 >Nouvelles fonctionnalités et correctifs</h3><p >Globalement, pas mal de petites corrections ont été apportées. Voici les fonctionnalités implémentées depuis la v1.7.<br></p><p >Le gestionnaire de fichiers permet à présent de renommer un fichier. Seule l'extension du fichier ne peut pas être modifiée pour des questions de sécurité. <br>Son affichage est également mieux géré dans le cas où plusieurs modales sont affichées (ajout d'un flou sur les modales du dessus).<br></p><p >Il est possible d'indiquer des rôles dans la configuration de Murph afin de définir des permissions sur des éléments d'un menu. Ainsi, une page pourra être restreinte à des utilisateur⋅trices spécifiques. </p><p >Afin de réaliser des liens dans un template Twig vers des éléments de la navigation, quatre nouvelles fonctions twig ont été ajoutées : <code class="inline-code">code_url</code>, <code class="inline-code">code_path</code>. Pour gérer les cas d'exceptions, vous pouvez également utiliser : <code class="inline-code">safe_code_url</code> et <code class="inline-code">safe_code_path</code>.<br>Ces fonctions prennent en paramètres le code du menu et le code du nœud. Le moteur va détecter la navigation courante pour générer le lien. Cette fonctionnalité est très pratique quand plusieurs navigations partagent une arborescence commune et qu'on souhaite faciliter le développement des templates.&nbsp; </p><p >Un nouveau maker symfony a été créé pour générer facilement une nouvelle page. Au même titre que pour générer une entité en ligne de commande, vous pourrez créer et paramétrer une page avec <code class="inline-code">php bin/console make:page</code>.<br></p><p >L'éditeur EditorJS a été ajouté dans Murph et ajoute approche complémentaire à TinyMce pour rédiger du contenu. Comme cet éditeur s'appuie sur l'idée de blocs, un nouvelle fonction twig permet de rendre un contenu édité avec EditorJS : <code class="inline-code">editorjs_to_html</code>. Cette fonction peut prendre un tableau de blocs autorisés à être rendus. Par ailleurs, bien que des vues par défaut existent pour rendre chaque bloc, vous pourrez paramétrer des vues spécifiques pour vos blocs. Cet article est d'ailleurs rédigé avec EditorJS.</p><p >La gestion du menu de l'administration de Murph a été simplifiée par l'utilisation de vues pour créer des sections et des éléments de menu.</p><p >Enfin, la version de Murph a été ajoutée dans l'interface d'administration en haut à droite.<br></p><h3 >Installation de Murph</h3><p >Pour installer et Murph et commencer à développer son CMS, le processus est ultra simple :</p><pre class="with-title">
<code class="window">composer create-project murph/murph-skeleton MonProjet # Installation du projet
cd MonProjet
cp .env .env.local
vim .env.local
make build # On génère les données du CMF (base de données, assets, etc.)
php bin/console murph:user:create # Création d&#039;un compte
symfony server:start -d # On lance le serveur web de dev</code>
</pre><p >J'espère que ça vous plaira ☺️</p>]]></description>
<guid isPermaLink="false">614</guid>
<pubDate>Sat, 26 Mar 2022 17:50:00 +0100</pubDate>
<category><![CDATA[Développement]]></category>
<category><![CDATA[Logiciel libre]]></category>
<category><![CDATA[Projets personnels]]></category>
</item>
<item>
<title><![CDATA[Nouveautés dans Murph v1.7]]></title>
<link href="https://www.deblan.io/post/612/nouveautes-dans-murph-v1-7" type="text/html">https://www.deblan.io/post/612/nouveautes-dans-murph-v1-7</link>
<link href="gemini://deblan.io/posts/612.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>.</p>
<p>Depuis la <a href="https://www.deblan.io/post/607/murph-la-version-v1-est-publiee">version v1.0 publiée fin janvier 2022</a>, pas mal de mises à jour sont arrivées. Certains sont visibles dans l'interface d'administration, d'autres sont ancrées dans le moteur du CMS. En voici quelques-unes :</p>
<ul>
<li>Un outils d'analyse web a été ajouté et permet, sur demande, d'activer un outil pour compter les pages vues, les <a href="https://fr.wikipedia.org/wiki/R%C3%A9f%C3%A9rent_(informatique)">référants</a> et le type de périphérique (mobile ou desktop)</li>
<li>Le gestionnaire de fichiers permet d'uploader un répertoire complet. On peut choisir chosir la manière d'afficher les fichiers selon leur nom ou la date de mise à jour</li>
<li>Un gestionnaire de redirection a été ajouté et permet de créer des règles fines</li>
<li>Le template par défaut a été réécrit et contient le nécessaire pour lancer un nouveau développement</li>
<li><code>node-sass</code> est remplacé par <code>sass</code> et il est nécessaire d'avoir une version de NodeJS >= 16</li>
<li>Les assets de Murph ont été déplacés dans le core ce qui permet de faciliter la mise à jour du CMS</li>
</ul>
<p>Conjoitement à tout ça, des dépendances ont été mises à jour ou remplacées et des bugs ont été corrigés !</p>
<p><img src="/uploads/content/612/v1.7.png" alt="Murph" /></p>
]]></description>
<guid isPermaLink="false">612</guid>
<pubDate>Thu, 03 Mar 2022 14:30:00 +0100</pubDate>
<category><![CDATA[Développement]]></category>
<category><![CDATA[Logiciel libre]]></category>
<category><![CDATA[Projets personnels]]></category>
</item>
<item>
<title><![CDATA[Tinternet & Cie au sujet du contrôle parental sur France Culture]]></title>
<link href="https://www.deblan.io/post/611/france-culture-tinternet-cie-controle-parental" type="text/html">https://www.deblan.io/post/611/france-culture-tinternet-cie-controle-parental</link>
<link href="gemini://deblan.io/posts/611.gmi" type="text/gemini" />
<description><![CDATA[<hr />
<h4>Journal de 8h de France Culture, 22/02/2022</h4>
<p>Je suis intervenu au nom de l'association Tinternet &amp; Cie au du projet de loi pour imposer aux fabriquant de matériels connectés l'installation d'un contrôle parental.</p>
<p>Si le contrôle parental est un outil plébiscité par l'association, les parents doivent être conscients des usages et doivent les comprendre pour mieux agir.</p>
]]></description>
<guid isPermaLink="false">611</guid>
<pubDate>Tue, 22 Feb 2022 09:00:00 +0100</pubDate>
<category><![CDATA[Informatique]]></category>
<category><![CDATA[Contenu externe]]></category>
<category><![CDATA[Politique]]></category>
</item>
<item>
<title><![CDATA[Administrer son serveur Matrix]]></title>
<link href="https://www.deblan.io/post/610/administrer-serveur-matrix" type="text/html">https://www.deblan.io/post/610/administrer-serveur-matrix</link>
<link href="gemini://deblan.io/posts/610.gmi" type="text/gemini" />
<description><![CDATA[<p>Au moment où j'écris cet article, j'administre 2 serveurs <a href="https://matrix.org/docs/projects/server/synapse">Matrix Synpase</a>. Pour rappel, <a href="https://matrix.org/">Matrix</a> est un protocole de messagertie instantannée très interopérable. Le projet <a href="https://matrix.org/docs/projects/server/synapse">Matrix Synpase</a> est un serveur écrit en python qui implémente ce protocole. Matrix Synpase fournit une API qui va communiquer avec nos clients de messageries favoris comme <a href="https://element.io/">Element</a>.</p>
<p>Afin d'administrer ces serveurs, j'avais besoin d'une interface web qui peut me permettre de réguler les accès. <a href="https://github.com/Awesome-Technologies/synapse-admin">Synapse-Admin</a> a complétement répondu à mon besoin. Cette interface n'est composées que de fichiers statics et se greffe sur les API des serveurs.</p>
<p>Avant d'installer <a href="https://github.com/Awesome-Technologies/synapse-admin">Synapse-Admin</a>, il faut s'assurer d'être administreur sur le serveur Matrix. Si vous travaillez avec SQLite, il suffira de faire comme suit mais la requête SQL sera la même si vous utilisez PostgreSQL.</p>
<pre><code class="window"># su - matrix-synapse -s /bin/bash
$ sqlite3 /var/lib/matrix-synapse/homeserver.db
sqlite&gt; UPDATE users SET admin = 1 WHERE name = '@identifiant:example.com';
sqlite&gt; .exit
</code></pre>
<p>Ensuite, vous avez juste à récupérer l'archive de <a href="https://github.com/Awesome-Technologies/synapse-admin">Synapse-Admin</a> depuis <a href="https://github.com/Awesome-Technologies/synapse-admin/releases">Github</a> et de la rendre accessible derrière un serveur HTTP local ou en ligne.</p>
<p><img src="/uploads/content/610/Screenshot%202022-02-07%20at%2012-26-37%20Synapse-Admin.png" alt="Synapse-Admin UI" /></p>
<p>Une fois identifié⋅e, vous pourrez administrer l'ensemble des comptes du serveurs, avoir une visibilité sur les salons créés et les médias. Bien sur, il n'est pas possible d'accéder aux données qui restent totalement chiffrées même pour l'administrateur.</p>
<p><img src="/uploads/content/610/Screenshot%202022-02-07%20at%2011-56-27%20Synapse-Admin.png" alt="Synapse-Admin UI" /></p>
]]></description>
<guid isPermaLink="false">610</guid>
<pubDate>Mon, 07 Feb 2022 12:30:00 +0100</pubDate>
<category><![CDATA[Informatique]]></category>
</item>
<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 window">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 window">./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[Logiciel libre]]></category>
<category><![CDATA[Projets personnels]]></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 window">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>
<category><![CDATA[Logiciel libre]]></category>
<category><![CDATA[Projets personnels]]></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[Contenu externe]]></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 mise en page dans le menu de navigation de Nextcloud. L'application permet de paramétrer 4 modes d'affichage du menu avec, à ce jour, une 40ène 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[Logiciel libre]]></category>
<category><![CDATA[Projets personnels]]></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[Informatique]]></category>
<category><![CDATA[Contenu externe]]></category>
<category><![CDATA[Logiciel libre]]></category>
</item>
</channel>
</rss>