<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <id>https://example.org/</id>
  <title>À l'asso bienveillant</title>
  <subtitle>Associatif, logiciels libres et numérique au service du collectif.</subtitle>
  <updated>2026-09-11T07:00:00+02:00</updated>
  <author>
    <name>Laurent Schwartz</name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://example.org/atom.xml"/>
  <link rel="alternate" type="text/html" href="https://example.org/"/>
  <entry xmlns="http://www.w3.org/2005/Atom">
    <id>tag:example.org,2026:bienvenue</id>
    <title>Bienvenue à l'asso bienveillant</title>
    <published>2026-09-11T07:00:00+02:00</published>
    <updated>2026-09-11T07:00:00+02:00</updated>
    <author>
      <name>Laurent Schwartz</name>
    </author>
    <category term="associatif"/>
    <category term="vie du site"/>
    <summary type="text">Pourquoi un blog sobre, statique et fondé sur Atom pour parler de projets associatifs et d'informatique.</summary>
    <content type="html">
      <div class="content">
        <p>
	    Ce blog a pour objectif de présenter, de manière simple et concise,
	    différents concepts liés au monde associatif, ainsi que des techniques
	    et notions informatiques.
	  </p>
        <p>
	    Les articles sont volontairement courts afin de proposer une lecture
	    rapide et accessible, tout en allant à l’essentiel.
	  </p>
        <p>
	    Si vous souhaitez voir un concept particulier abordé sur le blog,
	    n’hésitez pas à me contacter à l’adresse suivante :
	    <a href="mailto:contact@ethiciel.org">contact@ethiciel.org</a>.
	  </p>
        <p>Ce blog est généré par un petit programme C qui lit un flux atom et 
	  le transforme grâce à une feuille XSLT en HTML, markdown. 
	  Il gère aussi le format PDF mais en générant un fichier HTML par XSLT et 
	  en le convertissant en PDF (XSLT-FO aurait pu être utilisé mais cette option 
	  ne s'est pas imposée comme une évidence en C).
	  </p>
      </div>
    </content>
    <link rel="alternate" type="text/html" href="articles/bienvenue-a-l-asso-bienveillant.html"/>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom">
    <id>tag:laurent.ethiciel.org,2026:linux_et_le_modele_permissif</id>
    <title>Linux et le modèle permissif</title>
    <published>2026-09-11T07:35:00+02:00</published>
    <updated>2026-09-11T07:35:00+02:00</updated>
    <author>
      <name>Laurent Schwartz</name>
    </author>
    <category term="linux"/>
    <category term="défensif"/>
    <summary type="text">Et si Linux était défensif ?</summary>
    <content type="html">
      <div class="content">
        <p>
	    Linux repose largement sur un modèle permissif : un processus autorisé peut
	    lancer d’autres binaires via <code>execve</code>.
	  </p>
        <p>
	    SELinux, AppArmor, namespaces et conteneurs réduisent ces risques, mais au prix
	    d’une configuration complexe. D’où l’idée d’un Linux
	    <strong>« restrictif par défaut »</strong> : exécuté sur des ressources applicatives en liste blanche.
	  </p>
        <p>Aucun POC ni vérification du code noyau Linux n'ont été opérés pour le moment.
	  Cette affirmation est basée uniquement sur l'existance de la fonction execve
	  dans le noyau. Fonction qui est utilisé par plusieurs prototypes de fonctions glibc.</p>
        <p>
	  Plusieurs mécanismes dans le noyau et en dehors du noyau tentent de répondre à 
	  la maîtrise des ressources attribuées aux processus Linux. Néanmoins, les failles
	  récentes sur SUDO mais aussi BASH il y a quelques années, ont démontré que le système
	  attend sûrement un autre schéma de raisonnement pour rendre plus sûr le système Linux.
	  </p>
        <p> 
	  L'escalade permise par toute compromission d'une application ou d'un démon 
	  root pourrait être contrainte par l'application de règles défensives. 
	  Un programme qui n'a pas de raison d'accéder à execve qu'il soit lancé ou non par root
	  devrait pouvoir déclarer de façon signé qu'il ne peut pas le faire 
	  pour éviter tout dérrapage.
	  </p>
      </div>
    </content>
    <link rel="alternate" type="text/html" href="articles/linux-et-le-modele-permissif.html"/>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom">
    <id>tag:laurent.ethiciel.org,2026:atomicite_des_commandes_de_transfert</id>
    <title>L’atomicité des opérations de transfert de fichiers</title>
    <published>2026-09-11T07:55:00+02:00</published>
    <updated>2026-09-11T07:55:00+02:00</updated>
    <author>
      <name>Laurent Schwartz</name>
    </author>
    <category term="unix"/>
    <category term="atomicité"/>
    <summary type="text">L'atomicité des commandes de transfert comme cp et mv ?</summary>
    <content type="html">
      <div class="content">
        <p>
		  L’atomicité des opérations de transfert de fichiers, notamment via <code>mv</code>/<code>rename</code> 
		  ou un <code>cp</code> dans un répertoire temporaire suivi d’un renommage 
		  <a href="https://fr.wikipedia.org/wiki/Atomicit%C3%A9_(informatique)">atomique</a>, 
		  facilite le retour en arrière : une modification est appliquée entièrement 
		  ou pas du tout. Ce retour en arrière après un ctrl-break par exemple ne peut pas 
		  s’appliquer de façon atomique si l’opération traverse plusieurs filesystems.  
		  Un répertoire temporaire pour la copie de données devrait être disponible 
		  pour chaque partition.
		</p>
      </div>
    </content>
    <link rel="alternate" type="text/html" href="articles/atomicite-des-transferts-de-fichiers.html"/>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom">
    <id>tag:laurent.ethiciel.org,2026:shell_defensif_qui_aide</id>
    <title>Shell défensif qui aide ?</title>
    <published>2026-09-11T09:39:00+02:00</published>
    <updated>2026-09-11T09:39:00+02:00</updated>
    <author>
      <name>Laurent Schwartz</name>
    </author>
    <category term="shell"/>
    <category term="défensif"/>
    <summary type="text">Un shell défensif qui permet une saisie plus sécurisée et guidée et qui vérifie l'applicabilité 
  et la sécurité des commandes avant de les exécuter ?</summary>
    <content type="html">
      <div class="content">
        <p>Et si votre shell ne se contentait plus d’exécuter des commandes, 
	mais aidait à les comprendre avant validation ?
	</p>
        <p> 
	L’idée : décrire chaque commande par une grammaire et proposer une auto-complétion sur les arguments 
	avec aide contextuelle sur leur utilisation ou accès au man grâce à la touche &lt;TAB&gt;,   
	proposer une complétion contextuelle navigable, filtrer fichiers wildcardés (en sélectionnant 
	ceux que l'on veut vraiment dans la ligne de commande), 
	sélectionner le &lt;PID&gt;, &lt;UID&gt; ou &lt;GID&gt; ou &lt;DEV&gt; après une option qui nécessite un PID, UID ou GID, ou devices selon les droits, 
	explorer le filesystem quand l'option attend &lt;FILE&gt; | &lt;DIR&gt;, 
	rechercher l’historique par regexp et construire un AST sémantique pour évaluer par sa résolution l'acceptabilité
	de l'opération selon le mode activé (défensif ou non défensif). 
	</p>
        <p>
	Un mode défensif pourrait alors simuler cp, mv ou rm, estimer espace et atomicité, 
	détecter les risques également liés aux permissions et proposer retour en arrière, 
	corbeille ou transaction avant exécution.
	</p>
        <p>Ce projet d'extension de shell semble assez complexe à réaliser, cela demanderait sûrement le codage
	de nouvelles versions des commandes unix pour qu'elles répondent au schéma défensif proposé. Néanmoins
	le shell peut être étendu pour aider et guider l'administrateur ou l'utilisateur standard 
	à saisir des commandes sans erreur de saisie si les options de toutes les commandes accessibles 
	peuvent être définies dans une grammaire pour chacune d'elles.
	</p>
      </div>
    </content>
    <link rel="alternate" type="text/html" href="articles/shell-defensif-qui-aide.html"/>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom">
    <id>tag:laurent.ethiciel.org,2026:mail_a_stocker</id>
    <title>Email à stocker ?</title>
    <published>2026-09-11T10:23:00+02:00</published>
    <updated>2026-09-11T10:23:00+02:00</updated>
    <author>
      <name>Laurent Schwartz</name>
    </author>
    <category term="mail"/>
    <category term="distribué"/>
    <summary type="text">Mettre ces emails sur un stockage distribué et chiffré (mobile, ordi, nas, box internet etc.) permettrait à terme aux fournisseurs de mails de ne gérer qu'un cache en attendant nos relèves d'emails.</summary>
    <content type="html">
      <div class="content">
        <p>Et si l’email redevenait local ? 
		</p>
        <p>Ce projet imagine une messagerie où les fournisseurs d'emails ne servent plus qu’au transport. 
		Les messages sont récupérés, chiffrés, stockés, signés et répliqués sur les appareils 
		de l’utilisateur grâce par exemple à des serveurs de stockage sécurisés.
		</p>
        <p>
		L’antispam repose sur une confiance mutuelle via invitations mutuelle signées. 
		L'application mail utiliserait SMTP/POP3, stockage .eml, chiffrement et synchronisation.
		</p>
        <p>Ce projet n'a pas encore fait l'objet d'un poc. Ce qui est vraiment 
		important et intéressant, c'est l'espace de stockage local-first et signé 
		par PGP/GPG, distribué et synchronisé sur téléphones, tablettes, 
		ordinateurs à partir d'un protocole open source sécurisé par ssh 
		et multiplateformes (sftp,scp ?).
		</p>
      </div>
    </content>
    <link rel="alternate" type="text/html" href="articles/emails-a-stocker.html"/>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom">
    <id>tag:laurent.ethiciel.org,2026:vttk-concept</id>
    <title>Adapter toute application à tout type et à toute taille d'écran ?</title>
    <published>2026-09-11T10:37:00+02:00</published>
    <updated>2026-09-11T10:37:00+02:00</updated>
    <author>
      <name>Laurent Schwartz</name>
    </author>
    <category term="toolkit"/>
    <category term="META"/>
    <summary type="text">Un comportemet META qui permet aux applications de s'adapter à tout type et taille d'écran.</summary>
    <content type="html">
      <div class="content">
        <p>
			VTTK (View &amp; Terminal ToolKit) propose un raisonnement méta ou des algorithmes 
			aux propriétés connexes pour tous les types et tailles d'écran
			capables d’adapter automatiquement une application GTK, Qt ou Slint au terminal, 
			au type et à la taille d’écran disponible, sans modifier son API 
			et ainsi, si possible, maintenir la compatibilité ABI avec les versions Gtk, QT et Slint actuelles. 
		</p>
        <p>
			Pour la plupart des composants de saisie standards, ce n'est pas une question de taille d'écran 
			mais une question de présentation de la saisie des informations. Ce que l'on peut saisir 
			sur un grand écran peut l'être également sur un petit écran en une ou plusieurs étapes/écrans 
			car, généralement, il a des dimensions aujourd'hui assez acceptables pour les ordiphones 
			qui ont quelques années.
		</p>
        <p>
			Certaines applications comme les éditeurs audio pourrait demander un affichage en mande paysage 
			plutôt que portrait sur mobile. Cette difficulté reste à adresser.
		</p>
        <p>Ce projet a fait l'objet d'un POC sur Gtk4. Il a prouvé qu'une interception des ABI GTK4
		était possible sur des composants graphiques permettant ainsi de gérer une 
		sortie text/readline, text/tui, graphic/wayland, w3c/text et w3c/graphic de façon
		complètement transparente à l'application tant que l'interprétation de la représentation
		des composants graphiques est possible dans les contraintes de la sortie d'écran visée. 
		</p>
        <p>
		Si la sortie d'écran possède des limitations sémantiques pour les composants à afficher, 
		une erreur peut être remontée. Par exemple, une carte géographique ou une image 
		peut difficilement prendre place en mode texte. Mais un grand nombre d'adaptations sont
		possibles pour les saisies diverses et variées soit en un écran soit en plusieurs écrans.
		</p>
      </div>
    </content>
    <link rel="alternate" type="text/html" href="articles/vttk-concept.html"/>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom">
    <id>tag:laurent.ethiciel.org,2026:annonces-et-shell</id>
    <title>Des annonces et un shell en langage naturel.</title>
    <published>2026-09-11T11:11:00+02:00</published>
    <updated>2026-09-11T11:11:00+02:00</updated>
    <author>
      <name>Laurent Schwartz</name>
    </author>
    <category term="financement"/>
    <category term="annonces"/>
    <category term="shell"/>
    <summary type="text">Bénéficier d'annonces dans notre système et d'un shell en langage naturel</summary>
    <content type="html">
      <div class="content">
        <p>Deux fonctions pourraient enrichir les applications Linux, qu’elles soient en texte, 
	graphiques ou Web. Une barre de statut diffuserait des annonces fédérées de 255 caractères : 
	messages système, mises à jour, informations d’applications ou annonces choisies 			
	par l’utilisateur, avec lien court et possibilité de financement du système, des applications par les utilisateurs 
	ou de la part des annonceurs. 
	</p>
        <p>
	Un shell en langage naturel, propre à chaque application et optionnel, 
	permettrait aussi de lancer simplement des commandes applicatives adaptées à son contexte.
	Un nouveau lexeur et parseur serait développé pour simplifier la lecture du langage naturel avec possiblement 
	une lecture de grammaire basée sur BNF qui génèrerait un arbre AST adaptée aux besoins de l'application
	pour être traduit en actions.
	</p>
        <p>Un POC a été réalisé pour ce projet. Il a prouvé qu'une ligne proposant la saisie de commandes
	et une barre de statut avec annonce pouvaient être ajouté dynamiquement à une application gtk4 
	grâce à l'utilisation d'une lib lorsque le binaire Linux ELF est dynamique.
	</p>
      </div>
    </content>
    <link rel="alternate" type="text/html" href="articles/annonces-et-shell.html"/>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom">
    <id>tag:laurent.ethiciel.org,2026:linklive-un-ole-linux</id>
    <title>LinkLive, un OLE Linux avec une gouvernance adaptée.</title>
    <published>2026-09-11T11:38:00+02:00</published>
    <updated>2026-09-11T11:38:00+02:00</updated>
    <author>
      <name>Laurent Schwartz</name>
    </author>
    <category term="lien"/>
    <category term="ole"/>
    <category term="application"/>
    <summary type="text">Insérer un composant qui permet d'éditer un fichier audio ou une multipiste audio dans une applciation vidéo ? Avec LinkLive pourquoi pas ?</summary>
    <content type="html">
      <div class="content">
        <p>À l’image d’OLE sous Windows, Linux pourrait iémplémenter et adopter LinkLive : 
	un mécanisme reliant chaque type MIME à un composant fourni par l’application spécialisée. 
	Un document pourrait ainsi intégrer une image, une vidéo, un audio, un texte, un doucment ou un tableur, éditable sur place 
	ou via un bouton ouvrant l’outil associé. Les dépendances seraient déclarées au système. 
	Résultat : code réutilisé, logiciels spécialisés et efforts concentrés sur moins de projets, 
	à condition d’une gouvernance commune et adaptée.
	</p>
        <p>Un Proof Of Concept (POC) a été réalisé avec succès. Le POC implémente 
	un composant graphique de mise en forme de texte proposé par l'application A 
	sous forme d'une lib dynamique et lorsque le document 
	est modifié et enregistré, la mise en forme change sur l'application B automatiquement. 
	La communication entre les applications fonctionnent dans les deux sens.
	</p>
      </div>
    </content>
    <link rel="alternate" type="text/html" href="articles/linklive-un-ole-linux.html"/>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom">
    <id>tag:laurent.ethiciel.org,2026:applications-portables-code-et-donnees</id>
    <title>Des applications facilement portables avec le code et les données ?</title>
    <published>2026-09-11T11:54:00+02:00</published>
    <updated>2026-09-11T11:54:00+02:00</updated>
    <author>
      <name>Laurent Schwartz</name>
    </author>
    <category term="fichier"/>
    <category term="système de fichiers"/>
    <summary type="text">La portabilité est une chose mais embarquer ses données avec son application et les faire fonctionner sur n'importe quel ordinateur compatible Linux, est-ce une utopie ?</summary>
    <content type="html">
      <div class="content">
        <p>Linux permet de créer des fichiers contenant des systèmes de fichiers, 
	avec une taille physique parfois inférieure à leur taille virtuelle.
	L'image fichier contenant un système de fichiers serait un classique : 
	/etc, /usr, /var, /var/data, /tmp possiblement sur le même système.
	Une application et ses données dans un seul espace utilisateur deviendraient 
	alors un objet portable unique, déplaçable d’un disque local 
	ou réseau à un autre par un simple mv ou cp d'un seul fichier.
	</p>
        <p> Il pourrait même devenir
	multiplateformes grâce à l'utilisation de Podman qui permettrait de conteneuriser 
	l'application sous Linux ou de la démarrer dans une VM sous MacOS et Windows même 
	si elle présente du code compatible Linux.
	</p>
        <p>
	Grâce à l'utilisation d'un ISO Live Linux sur une clé USB, 
	on pourrait obtenir une application portable en quelques minutes sous 
	contraintes de pouvoir démarrer un système OS externe (sur clé USB) sur l'ordinateur cible.
	Cela demande aujourd'hui l'accès à l'interface 
	de paramétrage de la machine. Il faut généralement quelques connaissances 
	techniques pour y arriver.
	</p>
      </div>
    </content>
    <link rel="alternate" type="text/html" href="articles/systeme-de-fichiers-dans-fichier.html"/>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom">
    <id>tag:laurent.ethiciel.org,2026:extensions-applicatives</id>
    <title>Extensions d'applications augmentant le système</title>
    <published>2026-09-11T16:18:00+02:00</published>
    <updated>2026-09-11T16:18:00+02:00</updated>
    <author>
      <name>Laurent Schwartz</name>
    </author>
    <category term="extension"/>
    <category term="application"/>
    <summary type="text">Des extensions d'applications distribuées uniquement quand la gouvernance de l'application a les garanties nécessaires et augmentant le système.</summary>
    <content type="html">
      <div class="content">
        <p>Un shell en dessous de la barre de manu en langage naturel 
		pourrait devenir une interface universelle pour piloter les applications. 
		Chaque logiciel exposerait son état et ses fonctions sous forme d’actions, 
		getters, setters et structures de contrôle, décrites par une grammaire extensible qui, 
		une fois parsée, génèrerait un arbre AST sémantique. 
		</p>
        <p> 
		Des plugins validés par la gouvernance du projet ajouteraient actions, transformations, 
		menus, suite de tests, suite de performance et traitements batch. Les commandes seraient traduites en 
		AST puis en Python avec import API lib C applicative et interprété ou C et 
		compilé, afin d’automatiser des workflows, partager des macros et créer 
		des standards ouverts entre applications.	
		</p>
        <p>
		Enfin, le système shell pourrait être la somme de toutes les extensions applicatives 
		et pourrait permettre d'exécuter des choses du genre : 
		<pre>
		kdenlive(
			fais-moi un short à partir du projet toto 
			pour Pixelfed et téléverse-le sur mon compte laurent
		)
		</pre>
		</p>
        <p>Ce projet n'a pas fait l'objet d'un POC spécifique englobant tous 
		ses aspects mais la réunion de plusieurs
		grammaires BNF a été testée avec succès. 
		Il a aussi été vérifié que l'extension d'une application
		par l'utilisation d'une lib chargée dynamiquement est possible si le programme Linux ELF 
		le permet (firefox est statique et ne le permet donc pas par exemple).
		</p>
      </div>
    </content>
    <link rel="alternate" type="text/html" href="articles/extensions-d-applications.html"/>
  </entry>
</feed>
