<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>Portail Ezvan</title><link>https://www.ezvan.fr/</link><description></description><lastBuildDate>Mon, 10 Nov 2025 20:00:00 +0100</lastBuildDate><item><title>Fin du service RSS</title><link>https://www.ezvan.fr/fin-tt-rss.html</link><description>&lt;p&gt;J'ai décidé de suspendre le service RSS proposé sur Ezvan.fr par le biais de &lt;a href="https://tt-rss.org/"&gt;Tiny Tiny RSS&lt;/a&gt;. En effet le &lt;a href="https://packages.debian.org/sid/tt-rss"&gt;paquet Debian&lt;/a&gt; n'est plus à jour et a été supprimé de la dernière version stable de Debian "Trixie", rendant la maintenance compliquée.&lt;/p&gt;
&lt;p&gt;Je compte désactiver le service dans un mois environ. &lt;/p&gt;
&lt;p&gt;Vous pouvez exporter votre liste d'abonnement RSS en allant dans "Configuration/OPML" et en cliquant sur "Exporter en OPML". Cela permet d'exporter votre liste d'abonnement vers d'autres lecteurs RSS.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paul</dc:creator><pubDate>Mon, 10 Nov 2025 20:00:00 +0100</pubDate><guid isPermaLink="false">tag:www.ezvan.fr,2025-11-10:/fin-tt-rss.html</guid><category>Actualités</category><category>Services</category><category>RSS</category></item><item><title>Firefox, économiseur d'écran et Xfce</title><link>https://www.ezvan.fr/economiseur-ecran-xfce.html</link><description>&lt;p&gt;&lt;em&gt;Comment un bogue énervant m'a conduit à contribuer à Firefox.&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;Contexte&lt;/h3&gt;
&lt;p&gt;J'ai la fâcheuse manie de changer l'environnement de bureau de mon ordinateur tous les 6 mois à peu près. À cette occasion, j'utilise régulièrement &lt;a href="https://xfce.org/"&gt;Xfce&lt;/a&gt; dont la simplicité et légèreté me plaisent.&lt;/p&gt;
&lt;p&gt;Lors de mon dernier essai, je remarque un comportement fâcheux : l'écran se met en veille lorsque je visionne une vidéo Youtube avec Firefox. Encore une fâcheuse manie !&lt;/p&gt;
&lt;h3&gt;On creuse&lt;/h3&gt;
&lt;p&gt;Je profite de l'occasion pour creuser le problème et voir si je peux le résoudre. Après quelques recherches, je trouve un &lt;a href="https://gitlab.xfce.org/xfce/xfce4-power-manager/-/issues/42"&gt;rapport de bogue&lt;/a&gt; similaire à mon problème, lié au composant &lt;em&gt;xfce4-power-manager&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Le mainteneur de projet suggère que Firefox n'appelle pas la bonne interface &lt;em&gt;D-Bus&lt;/em&gt; lorsqu'il veut inhiber la mise en veille de l'écran. &lt;em&gt;D-Bus&lt;/em&gt; est un démon qui permet de faire communiquer différents programmes entre eux, via des interfaces pré-définies. Le problème n'apparait pas avec Chromium, qui doit certainement faire quelque chose de différent !&lt;/p&gt;
&lt;h3&gt;Hacker Firefox&lt;/h3&gt;
&lt;p&gt;Je plonge donc dans les entrailles de Firefox. Je trouve le fichier qui s'occupe de cette fonctionnalité : &lt;a href="https://hg.mozilla.org/mozilla-central/file/tip/widget/gtk/WakeLockListener.cpp"&gt;WakeLockListener.cpp&lt;/a&gt;. Je compare avec le code qui remplit la même fonction chez Chromium pour avoir une meilleure idée de ce qui peut mal fonctionner : &lt;a href="https://chromium.googlesource.com/chromium/src/+/a8498df479418cae7b379aca518d04d0648f3a68/device/power_save_blocker/power_save_blocker_x11.cc"&gt;power_save_blocker_x11.cc&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Je remarque que Chromium appelle toutes les fonctions D-Bus connues comme désactivant la mise en veille en même temps. Par contre, Firefox les appelle dans l'ordre, et s'arrête dès qu'un appel est concluant.&lt;/p&gt;
&lt;p&gt;De plus, Firefox n'appelle pas l'interface utilisée par le composant &lt;em&gt;xfce4-power-manager&lt;/em&gt;, celle-ci étant : &lt;strong&gt;org.freedesktop.PowerManagement.Inhibit&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;J'essaie donc de modifier le comportement de Firefox pour ajouter cet appel. Comme changer le comportement de Firefox pour suivre celui de Chromium me semble un trop grand changement, j'essaie plus simplement d'ajouter le bon appel.&lt;/p&gt;
&lt;p&gt;J'arrive à faire fonctionner et tester la modification sur mon ordinateur. Je soumets un &lt;a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1733796"&gt;rapport de bogue&lt;/a&gt; à Firefox ainsi qu'une &lt;em&gt;pull request&lt;/em&gt; avec &lt;a href="https://phabricator.services.mozilla.com/D127363"&gt;ma modification&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Un des mainteneurs de Firefox demande quelques modifications, que j'effectue. Il valide ensuite mon changement et l'intègre dans la branche principale. Hourra !&lt;/p&gt;
&lt;h3&gt;Déception&lt;/h3&gt;
&lt;p&gt;J'attends que la version 95 de Firefox soit publiée, qui contiendra alors mon changement. Et là, patatras ! Il manque quelque chose, mon écran s'éteint toujours lorsque je regarde une vidéo. J'ai raté quelque chose lors de mes tests !&lt;/p&gt;
&lt;p&gt;Je me replonge dans le problème. Il me semble qu'il manque quelque chose dans &lt;em&gt;xfce4-power-manager&lt;/em&gt;. En effet, le démon reçoit bien la demande d'inhibition de l'écran. Mais il manque l'appel pour inhiber l'écran dans la fonction qui gère la demande !&lt;/p&gt;
&lt;p&gt;Je crée donc une nouvelle &lt;em&gt;pull request&lt;/em&gt;, cette fois pour &lt;em&gt;xfce4-power-manager&lt;/em&gt;, afin d'&lt;a href="https://gitlab.xfce.org/xfce/xfce4-power-manager/-/merge_requests/22"&gt;ajouter cet appel manquant&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Tout est bien qui finit bien&lt;/h3&gt;
&lt;p&gt;Finalement tout fonctionne chez moi ! Mais encore faut-il attendre que ma &lt;em&gt;pull request&lt;/em&gt; soit acceptée et une nouvelle version de Xfce soit publiée avec le correctif.&lt;/p&gt;
&lt;p&gt;Après quelques modifications, la pull request est acceptée. Elle est intégrée dans la version 4.18 de Xfce, qui sortira 11 mois plus tard.&lt;/p&gt;
&lt;p&gt;Tout semble fonctionner dorénavant, et il ne semble pas avoir cassé quelque chose. Quelqu'un se serait plaint sinon !&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paul</dc:creator><pubDate>Sun, 08 Jan 2023 18:00:00 +0100</pubDate><guid isPermaLink="false">tag:www.ezvan.fr,2023-01-08:/economiseur-ecran-xfce.html</guid><category>Blog</category><category>Linux</category><category>Libre</category><category>Firefox</category><category>Xfce</category></item><item><title>Interpréteur BASIC</title><link>https://www.ezvan.fr/interpreteur-basic.html</link><description>&lt;p&gt;Papa a profité de sa retraite pour porter sous Windows l’interpréteur &lt;em&gt;BASIC&lt;/em&gt;, dénommé &lt;a href="https://sbasic.org/"&gt;&lt;strong&gt;SBASIC&lt;/strong&gt;&lt;/a&gt;, qui était fourni avec les ordinateurs GOUPIL sous FLEX et MS/DOS. Si la plupart des BASIC sont devenus des compilateurs, &lt;a href="https://sbasic.org/"&gt;SBASIC&lt;/a&gt; est resté un interpréteur très performant.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://sbasic.org/"&gt;&lt;strong&gt;SBASIC&lt;/strong&gt;&lt;/a&gt; profite des avantages d’un interpréteur : mode immédiat (exécution immédiate des instructions saisies au clavier) et mode programme, édition d’un programme durant son exécution, exécution d’instructions définies dynamiquement dans des chaines de caractères, auto-modification du programme, mise au point interactive, etc.&lt;/p&gt;
&lt;p&gt;La compatibilité avec les programmes existants est conservée. Ainsi les fonctionnalités avancées du &lt;a href="https://sbasic.org/"&gt;SBASIC&lt;/a&gt;, comme les tableaux à dimensions multiples, les tableaux virtuels, les étiquettes, les appels de fonctions avec paramètres, les variables locales sont supportés. &lt;a href="https://sbasic.org/"&gt;SBASIC&lt;/a&gt; sous Windows profite cependant des apports du 32 bits avec :  variables entières sur 32 bits, taille mémoire programme et données jusqu’à 2 Giga-octets, nombre d’éléments d’un tableau et nombre d’enregistrements dans un fichier jusqu’à 2^31, longueur chaines de caractères limitée par la mémoire disponible.&lt;/p&gt;
&lt;p&gt;Sous Windows, &lt;a href="https://sbasic.org/"&gt;SBASIC&lt;/a&gt; profite de nouvelles fonctionnalités : dimensionnement des fenêtres texte et graphique, copie d’un rectangle graphique en format BMP depuis et vers une chaine de caractères, sauvegarde et restauration d’une chaine de caractères dans un fichier, appel de fonctions dans une librairie dynamique (DLL), exécution en pas à pas.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://sbasic.org/"&gt;SBASIC&lt;/a&gt; est disponible en deux versions : fenêtre Windows ou ligne de commande. Sur le site &lt;a href="https://sbasic.org/"&gt;sbasic.org&lt;/a&gt; vous trouverez la documentation, &lt;a href="https://sbasic.org/telechargement/"&gt;les exécutables&lt;/a&gt;, des exemples, des jeux ainsi que des DLLs avec leur source.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dominique</dc:creator><pubDate>Sun, 02 Jan 2022 22:00:00 +0100</pubDate><guid isPermaLink="false">tag:www.ezvan.fr,2022-01-02:/interpreteur-basic.html</guid><category>Actualités</category><category>Logiciels de Papa</category><category>SBASIC</category></item><item><title>Utiliser pg_dump avec Docker</title><link>https://www.ezvan.fr/docker-pgdump.html</link><description>&lt;p&gt;Je suis en train de migrer Tiny Tiny RSS depuis AWS vers un serveur dédié. Pour ce faire j'essaie d'&lt;a href="https://www.postgresql.org/docs/current/backup-dump.html"&gt;effectuer un dump de la base de donnée&lt;/a&gt; (stockée dans RDS) depuis une machine Debian Buster. Malheureusement &lt;code&gt;pg_dump&lt;/code&gt; échoue car la version fournie par Debian est trop ancienne !&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;%&lt;span class="w"&gt; &lt;/span&gt;pg_dump&lt;span class="w"&gt; &lt;/span&gt;-h&lt;span class="w"&gt; &lt;/span&gt;db2.ezvan.fr&lt;span class="w"&gt; &lt;/span&gt;-U&lt;span class="w"&gt; &lt;/span&gt;ttrss&lt;span class="w"&gt; &lt;/span&gt;-W&lt;span class="w"&gt; &lt;/span&gt;ttrss&lt;span class="w"&gt; &lt;/span&gt;&amp;gt;&lt;span class="w"&gt; &lt;/span&gt;ttrss-20220102.sql
Password:&lt;span class="w"&gt; &lt;/span&gt;
pg_dump:&lt;span class="w"&gt; &lt;/span&gt;server&lt;span class="w"&gt; &lt;/span&gt;version:&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;12&lt;/span&gt;.7&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;pg_dump&lt;span class="w"&gt; &lt;/span&gt;version:&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;11&lt;/span&gt;.14&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;Debian&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;11&lt;/span&gt;.14-0+deb10u1&lt;span class="o"&gt;)&lt;/span&gt;
pg_dump:&lt;span class="w"&gt; &lt;/span&gt;aborting&lt;span class="w"&gt; &lt;/span&gt;because&lt;span class="w"&gt; &lt;/span&gt;of&lt;span class="w"&gt; &lt;/span&gt;server&lt;span class="w"&gt; &lt;/span&gt;version&lt;span class="w"&gt; &lt;/span&gt;mismatch
zsh:&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;exit&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="w"&gt;     &lt;/span&gt;pg_dump&lt;span class="w"&gt; &lt;/span&gt;-h&lt;span class="w"&gt; &lt;/span&gt;db2.ezvan.fr&lt;span class="w"&gt; &lt;/span&gt;-U&lt;span class="w"&gt; &lt;/span&gt;ttrss&lt;span class="w"&gt; &lt;/span&gt;-W&lt;span class="w"&gt; &lt;/span&gt;ttrss&lt;span class="w"&gt; &lt;/span&gt;&amp;gt;&lt;span class="w"&gt; &lt;/span&gt;ttrss-20220102.sql
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h3&gt;Docker à la rescousse&lt;/h3&gt;
&lt;p&gt;Je pourrais mettre à jour ma version de Debian pour obtenir un version plus récente de &lt;code&gt;pg_dump&lt;/code&gt;, mais une telle migration serait chronophage. Une solution plus simple est d'utiliser Docker pour exécuter la version de &lt;code&gt;pg_dump&lt;/code&gt; qui convient.&lt;/p&gt;
&lt;h4&gt;Installation de Docker&lt;/h4&gt;
&lt;p&gt;Attention sous Debian le nom du paquet Docker est &lt;code&gt;docker.io&lt;/code&gt; !&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;sudo&lt;span class="w"&gt; &lt;/span&gt;apt&lt;span class="w"&gt; &lt;/span&gt;install&lt;span class="w"&gt; &lt;/span&gt;docker.io
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;J'ajoute mon utilisateur au groupe docker. Je me reconnecte ensuite afin d'utiliser les nouvelles permissions.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;sudo&lt;span class="w"&gt; &lt;/span&gt;usermod&lt;span class="w"&gt; &lt;/span&gt;-aG&lt;span class="w"&gt; &lt;/span&gt;docker&lt;span class="w"&gt; &lt;/span&gt;user
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Je démarre le démon Docker.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;sudo&lt;span class="w"&gt; &lt;/span&gt;systemctl&lt;span class="w"&gt; &lt;/span&gt;start&lt;span class="w"&gt; &lt;/span&gt;docker
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h3&gt;Lancer pg_dump&lt;/h3&gt;
&lt;p&gt;Je lance &lt;code&gt;pg_dump&lt;/code&gt; dans un conteneur Docker. J'utilise l'image &lt;code&gt;postgres&lt;/code&gt; en spécifiant la version 12. Vous pouvez trouver la documentation de l'image sur &lt;a href="https://hub.docker.com/_/postgres/"&gt;Docker Hub&lt;/a&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;docker&lt;span class="w"&gt; &lt;/span&gt;run&lt;span class="w"&gt; &lt;/span&gt;-i&lt;span class="w"&gt; &lt;/span&gt;--rm&lt;span class="w"&gt; &lt;/span&gt;postgres:12&lt;span class="w"&gt; &lt;/span&gt;pg_dump&lt;span class="w"&gt; &lt;/span&gt;-h&lt;span class="w"&gt; &lt;/span&gt;db2.ezvan.fr&lt;span class="w"&gt; &lt;/span&gt;-U&lt;span class="w"&gt; &lt;/span&gt;ttrss&lt;span class="w"&gt; &lt;/span&gt;-W&lt;span class="w"&gt; &lt;/span&gt;ttrss&lt;span class="w"&gt; &lt;/span&gt;&amp;gt;&lt;span class="w"&gt; &lt;/span&gt;ttrss-20220102.sql
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;J'utilise le paramètre &lt;code&gt;-i&lt;/code&gt; pour pouvoir entrer un mot de passe si nécessaire. Attention, ne pas utiliser le paramètre &lt;code&gt;-t&lt;/code&gt;, car cela peut faire échouer le dump car les caractères fin de ligne (EOL) sont interprétés et bloquent la commande.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paul</dc:creator><pubDate>Sun, 02 Jan 2022 19:00:00 +0100</pubDate><guid isPermaLink="false">tag:www.ezvan.fr,2022-01-02:/docker-pgdump.html</guid><category>Blog</category><category>PostgreSQL</category><category>Debian</category><category>Libre</category><category>conteneurs</category></item><item><title>Podman, volume et SELinux</title><link>https://www.ezvan.fr/podman-volume-selinux.html</link><description>&lt;p&gt;En ce moment j’expérimente avec &lt;a href="https://www.rust-lang.org/"&gt;Rust&lt;/a&gt;, le langage de programmation à la mode. Ayant compilé mon programme expérimental sur mon système &lt;a href="https://getfedora.org/"&gt;Fedora&lt;/a&gt;, je l’envoie à un ami. Quelle déception quand il me dit que mon programme répond mal : &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;/lib/x86_64-linux-gnu/libc.so.6:&lt;span class="w"&gt; &lt;/span&gt;version&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;GLIBC_2.32&lt;span class="err"&gt;&amp;#39;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;not&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;found
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Rust compile avec la version de la librairie &lt;a href="https://www.gnu.org/software/libc/"&gt;glibc&lt;/a&gt; de mon système, qui est trop récente et pas compatible avec &lt;a href="https://ubuntu.com/"&gt;Ubuntu&lt;/a&gt;. Je dois donc compiler avec un système plus ancien. Pas de panique les conteneurs sont parfaits pour ça !&lt;/p&gt;
&lt;p&gt;Comme je travaille avec &lt;a href="https://getfedora.org/"&gt;Fedora&lt;/a&gt;, j’utilise &lt;a href="https://podman.io/"&gt;Podman&lt;/a&gt; qui est un équivalent à &lt;a href="https://www.docker.com/"&gt;Docker&lt;/a&gt; pour créer mon conteneur.&lt;/p&gt;
&lt;p&gt;Je tente ainsi, mais c’est l’échec :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;%&lt;span class="w"&gt; &lt;/span&gt;podman&lt;span class="w"&gt; &lt;/span&gt;run&lt;span class="w"&gt; &lt;/span&gt;--rm&lt;span class="w"&gt; &lt;/span&gt;-v&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&lt;/span&gt;&lt;span class="nv"&gt;$PWD&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&lt;/span&gt;:/usr/src/&lt;span class="w"&gt; &lt;/span&gt;-w&lt;span class="w"&gt; &lt;/span&gt;/usr/src/&lt;span class="w"&gt; &lt;/span&gt;rust&lt;span class="w"&gt; &lt;/span&gt;cargo&lt;span class="w"&gt; &lt;/span&gt;build&lt;span class="w"&gt; &lt;/span&gt;--release&lt;span class="w"&gt; &lt;/span&gt;
error:&lt;span class="w"&gt; &lt;/span&gt;could&lt;span class="w"&gt; &lt;/span&gt;not&lt;span class="w"&gt; &lt;/span&gt;find&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;Cargo.toml&lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;in&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;/usr/src&lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;or&lt;span class="w"&gt; &lt;/span&gt;any&lt;span class="w"&gt; &lt;/span&gt;parent&lt;span class="w"&gt; &lt;/span&gt;directory
zsh:&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;exit&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;101&lt;/span&gt;&lt;span class="w"&gt;   &lt;/span&gt;podman&lt;span class="w"&gt; &lt;/span&gt;run&lt;span class="w"&gt; &lt;/span&gt;--rm&lt;span class="w"&gt; &lt;/span&gt;-v&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&lt;/span&gt;&lt;span class="nv"&gt;$PWD&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&lt;/span&gt;:/usr/src/&lt;span class="w"&gt; &lt;/span&gt;-w&lt;span class="w"&gt; &lt;/span&gt;/usr/src/&lt;span class="w"&gt; &lt;/span&gt;rust&lt;span class="w"&gt; &lt;/span&gt;cargo&lt;span class="w"&gt; &lt;/span&gt;build&lt;span class="w"&gt; &lt;/span&gt;--release
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;D’où vient cette erreur ? Je tente de lire le répertoire depuis le conteneur :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;%&lt;span class="w"&gt; &lt;/span&gt;podman&lt;span class="w"&gt; &lt;/span&gt;run&lt;span class="w"&gt; &lt;/span&gt;--rm&lt;span class="w"&gt; &lt;/span&gt;-v&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&lt;/span&gt;&lt;span class="nv"&gt;$PWD&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&lt;/span&gt;:/usr/src/&lt;span class="w"&gt; &lt;/span&gt;rust&lt;span class="w"&gt; &lt;/span&gt;ls&lt;span class="w"&gt; &lt;/span&gt;/usr/src
ls:&lt;span class="w"&gt; &lt;/span&gt;cannot&lt;span class="w"&gt; &lt;/span&gt;open&lt;span class="w"&gt; &lt;/span&gt;directory&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;/usr/src&amp;#39;&lt;/span&gt;:&lt;span class="w"&gt; &lt;/span&gt;Permission&lt;span class="w"&gt; &lt;/span&gt;denied
zsh:&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;exit&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;2&lt;/span&gt;&lt;span class="w"&gt;     &lt;/span&gt;podman&lt;span class="w"&gt; &lt;/span&gt;run&lt;span class="w"&gt; &lt;/span&gt;--rm&lt;span class="w"&gt; &lt;/span&gt;-v&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&lt;/span&gt;&lt;span class="nv"&gt;$PWD&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&lt;/span&gt;:/usr/src/&lt;span class="w"&gt; &lt;/span&gt;rust&lt;span class="w"&gt; &lt;/span&gt;ls&lt;span class="w"&gt; &lt;/span&gt;/usr/src
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Je ne peux pas lire le répertoire partagé dans un volume par Podman.&lt;/p&gt;
&lt;p&gt;Mais pourquoi donc ? J’utilise Fedora, et donc &lt;a href="https://selinuxproject.org/"&gt;SELinux&lt;/a&gt; est activé par défaut. SELinux est un module de sécurité qui permet de définir des politiques de contrôle d’accès aux éléments du système. Il peut, entre autre, restreindre les accès au système du fichier en fonction du contexte. Il faut donc donner permission au conteneur d’accéder au volume !&lt;/p&gt;
&lt;p&gt;Pour ce faire il suffit d’ajouter une option &lt;strong&gt;:z&lt;/strong&gt; ou &lt;strong&gt;:Z&lt;/strong&gt; à la configuration du volume. L’option &lt;strong&gt;z&lt;/strong&gt; permet à plusieurs conteneurs de partager le volume. L’option &lt;strong&gt;Z&lt;/strong&gt; ne permet l’accès qu’à un seul conteneur. Tous les détails sont donnés dans &lt;code&gt;man podman-run&lt;/code&gt; !&lt;/p&gt;
&lt;p&gt;Je n’ai pas besoin de partager le volume, j’opte donc pour &lt;strong&gt;:Z&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Voici le résultat:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;%&lt;span class="w"&gt; &lt;/span&gt;podman&lt;span class="w"&gt; &lt;/span&gt;run&lt;span class="w"&gt; &lt;/span&gt;--rm&lt;span class="w"&gt; &lt;/span&gt;-v&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&lt;/span&gt;&lt;span class="nv"&gt;$PWD&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&lt;/span&gt;:/usr/src/:Z&lt;span class="w"&gt; &lt;/span&gt;-w&lt;span class="w"&gt; &lt;/span&gt;/usr/src/&lt;span class="w"&gt; &lt;/span&gt;rust&lt;span class="w"&gt; &lt;/span&gt;cargo&lt;span class="w"&gt; &lt;/span&gt;build&lt;span class="w"&gt; &lt;/span&gt;--release
&lt;span class="w"&gt;    &lt;/span&gt;Updating&lt;span class="w"&gt; &lt;/span&gt;crates.io&lt;span class="w"&gt; &lt;/span&gt;index
&lt;span class="w"&gt; &lt;/span&gt;Downloading&lt;span class="w"&gt; &lt;/span&gt;crates&lt;span class="w"&gt; &lt;/span&gt;...
&lt;span class="w"&gt;    &lt;/span&gt;Finished&lt;span class="w"&gt; &lt;/span&gt;release&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;optimized&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;target&lt;span class="o"&gt;(&lt;/span&gt;s&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;in&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;24&lt;/span&gt;.60s
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Cette fois cela fonctionne, j’ai bien compilé mon programme à l’aide du &lt;a href="https://hub.docker.com/_/rust/"&gt;conteneur rust&lt;/a&gt; !&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paul</dc:creator><pubDate>Mon, 26 Apr 2021 20:00:00 +0200</pubDate><guid isPermaLink="false">tag:www.ezvan.fr,2021-04-26:/podman-volume-selinux.html</guid><category>Blog</category><category>Libre</category><category>Linux</category><category>Podman</category><category>SELinux</category></item><item><title>Date d’expiration du certificat SSL d’un serveur XMPP</title><link>https://www.ezvan.fr/certificat-ssl-expiration-xmpp.html</link><description>&lt;p&gt;Voici une astuce rapide pour vérifier la date d’expiration du certificat SSL d’un serveur XMPP. On utilise le client openssl en lançant &lt;code&gt;openssl s_client&lt;/code&gt; pour initier une connexion TLS au serveur, pour cela on lui donne &lt;code&gt;-starttls xmpp&lt;/code&gt; comme paramètre pour lui indiquer le protocole à utiliser.&lt;/p&gt;
&lt;p&gt;On transmet le résultat via un pipe &lt;code&gt;|&lt;/code&gt; à la commande &lt;code&gt;openssl x509&lt;/code&gt; qui permet d’analyser le certificat fourni. &lt;a href="https://fr.wikipedia.org/wiki/X.509"&gt;X.509&lt;/a&gt; est en effet la norme établissant le format de ces certificats. Le paramètre &lt;code&gt;-dates&lt;/code&gt; indique spécifiquement d’afficher les dates de validité du certificat.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;~%&lt;span class="w"&gt; &lt;/span&gt;openssl&lt;span class="w"&gt; &lt;/span&gt;s_client&lt;span class="w"&gt; &lt;/span&gt;-connect&lt;span class="w"&gt; &lt;/span&gt;mail.ezvan.fr:5222&lt;span class="w"&gt; &lt;/span&gt;-starttls&lt;span class="w"&gt; &lt;/span&gt;xmpp&lt;span class="w"&gt; &lt;/span&gt;-xmpphost&lt;span class="w"&gt; &lt;/span&gt;ezvan.fr&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;openssl&lt;span class="w"&gt; &lt;/span&gt;x509&lt;span class="w"&gt; &lt;/span&gt;-noout&lt;span class="w"&gt; &lt;/span&gt;-dates
&lt;span class="nv"&gt;depth&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;2&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;O&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;Digital&lt;span class="w"&gt; &lt;/span&gt;Signature&lt;span class="w"&gt; &lt;/span&gt;Trust&lt;span class="w"&gt; &lt;/span&gt;Co.,&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;CN&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;DST&lt;span class="w"&gt; &lt;/span&gt;Root&lt;span class="w"&gt; &lt;/span&gt;CA&lt;span class="w"&gt; &lt;/span&gt;X3
verify&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;:1
&lt;span class="nv"&gt;depth&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;C&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;US,&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;O&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;Let&lt;span class="err"&gt;&amp;#39;&lt;/span&gt;s&lt;span class="w"&gt; &lt;/span&gt;Encrypt,&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;CN&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;R3
verify&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;:1
&lt;span class="nv"&gt;depth&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;CN&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;ezvan.fr
verify&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;:1
&lt;span class="nv"&gt;notBefore&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;Mar&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;31&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;07&lt;/span&gt;:08:59&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;2021&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;GMT
&lt;span class="nv"&gt;notAfter&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;Jun&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;29&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;07&lt;/span&gt;:08:59&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;2021&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;GMT
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paul</dc:creator><pubDate>Wed, 31 Mar 2021 09:00:00 +0200</pubDate><guid isPermaLink="false">tag:www.ezvan.fr,2021-03-31:/certificat-ssl-expiration-xmpp.html</guid><category>Blog</category><category>SSL</category><category>Jabber</category></item><item><title>Apple, ARM and open platforms</title><link>https://www.ezvan.fr/en/apple-arm-plateforme-ouverte.html</link><description>&lt;p&gt;New Apple M1 based computers are getting reviewed by hardware websites. There is no doubt: it is a big slap in the face of their venerable x86 competitors in terms of performance and efficiency.&lt;/p&gt;
&lt;h3&gt;A revolution&lt;/h3&gt;
&lt;p&gt;Is it the beginning of a new era in which our smartphones and personal computers would use the same &lt;a href="futur-arm.html"&gt;ARM&lt;/a&gt; technology, which has powered smartphones since their beginnings?&lt;/p&gt;
&lt;p&gt;Smartphones have taken over our world. They are everywhere, and required by more and more operations : validating banking transactions, payments, private and public transportation, etc.&lt;/p&gt;
&lt;p&gt;It is a bigger revolution than the personal computer, which brought Internet and computing to mostly everybody.&lt;/p&gt;
&lt;h3&gt;History repeats&lt;/h3&gt;
&lt;p&gt;However there is a major difference in how they get there to what happened with personal computers.&lt;/p&gt;
&lt;p&gt;At their beginnings many companies, such as Amiga, Apple or Atari, were competing with different operating systems and processor architectures. Platforms were not compatible with each other, you couldn't run an Amstrad program on an Apple computer. Then the PC platform started to take off.&lt;/p&gt;
&lt;p&gt;PC strength was that it is an open platform. An operating system and its software, running on a given PC compatible computer, would run on any other PC computer. Today the majority of personal computers are PC compatible, with the big exception of Apple hardware.&lt;/p&gt;
&lt;p&gt;This enabled the success of Windows and then Linux. Other less common PC systems are able to run on wide range of PC computers, such as various Unix and BSDs.&lt;/p&gt;
&lt;h3&gt;A closed world...&lt;/h3&gt;
&lt;p&gt;ARM is a different world in which there is no platform definition. It is difficult if not impossible to run an Iphone's system on an Android phone, or vice versa. It is even difficult to run a Samsung phone system on another brand's phone, even if both are Android based.&lt;/p&gt;
&lt;p&gt;This makes it very challenging to build alternative smartphone operating systems. Projects such as &lt;a href="https://lineageos.org/"&gt;LineageOS&lt;/a&gt; are trying to provide alternatives to the manufacturer ones, but they require a large porting work for each device.&lt;/p&gt;
&lt;p&gt;As well initiatives such as &lt;a href="https://postmarketos.org/"&gt;postmarketOS&lt;/a&gt;, which allows running a real Linux system on a smartphone exist, but the porting challenge is so huge that only a handful of devices are supported.&lt;/p&gt;
&lt;h3&gt;For a locked future ?&lt;/h3&gt;
&lt;p&gt;Apple went down the same road with its Macbooks, providing hardware and software in an integrated platform. Installing something else than MacOS on a recent Macbook is possible, but requires a lot of effort.&lt;/p&gt;
&lt;p&gt;Iphones are completely locked. You can't install any other system on them. There is even no way you can install apps which are not approved by Apple on an Iphone. Will Apple take advantage of the ARM transition on its Macbooks to impose the same restrictions?&lt;/p&gt;
&lt;p&gt;If it does, will we trade the freedom of running the software we want with much better performance and efficiency? Will the fully locked down smartphone model overtake the open PC platform one?&lt;/p&gt;
&lt;p&gt;Will we allow only fully locked systems become essential tools of our lives?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paul</dc:creator><pubDate>Thu, 19 Nov 2020 21:00:00 +0100</pubDate><guid isPermaLink="false">tag:www.ezvan.fr,2020-11-19:/en/apple-arm-plateforme-ouverte.html</guid><category>Blog</category><category>Libre</category><category>CPU</category><category>ARM</category><category>Apple</category></item><item><title>ARM is the future</title><link>https://www.ezvan.fr/en/futur-arm.html</link><description>&lt;p&gt;ARM processors are everywhere! There are the heart of the smartphones, TVs, Wifi routers, 5G networks, etc.&lt;/p&gt;
&lt;p&gt;However in our personal computers, x86 based processor still largely prevail, even if x86 was invented more than fifty years ago. It is also the case in the datacenter world, nicely called cloud nowadays.&lt;/p&gt;
&lt;p&gt;Times are changing. Major actors such as Amazon and Apple are embracing ARM to put their dependency on Intel to an end. As ARM only defines the architecture of the CPU, many companies are competing in building ARM powered chips. That allows breaking Intel's near monopoly on personal and datacenter computers.&lt;/p&gt;
&lt;p&gt;Are we at the dawn of a new era, where ARM would fully replace the good old x86?&lt;/p&gt;
&lt;p&gt;An another precursor has joined the game, as Ezvan.fr was migrated to ARM recently. Faster and cheaper, is there more to ask for?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paul</dc:creator><pubDate>Thu, 19 Nov 2020 20:00:00 +0100</pubDate><guid isPermaLink="false">tag:www.ezvan.fr,2020-11-19:/en/futur-arm.html</guid><category>Blog</category><category>Services</category><category>CPU</category><category>ARM</category></item><item><title>Apple, ARM et plateforme ouverte</title><link>https://www.ezvan.fr/apple-arm-plateforme-ouverte.html</link><description>&lt;p&gt;Les nouveaux ordinateurs Apple basés sur le processeur M1 commencent à être testés par différents sites spécialisés en hardware. Le verdict est sans appel : c'est une claque de performance et efficacité sans précédent pour ses vénérables concurrents.&lt;/p&gt;
&lt;h3&gt;Une révolution ?&lt;/h3&gt;
&lt;p&gt;Est-ce l'avènement d'une nouvelle ère où nos smartphones et ordinateurs personnels utiliseront tous la même technologie &lt;a href="futur-arm.html"&gt;ARM&lt;/a&gt;, que les smartphones utilisent depuis leurs débuts ?&lt;/p&gt;
&lt;p&gt;Les smartphones ont envahi notre monde. Ils sont partout, et nécessaires pour de plus en plus d'opérations : validation d'opérations bancaires, paiements, tickets de transport, services de transport urbain, etc.&lt;/p&gt;
&lt;p&gt;C'est une révolution encore plus forte que celle de l'ordinateur personnel, qui a généralisé l'accès à l'informatique et à Internet.&lt;/p&gt;
&lt;h3&gt;L'histoire bégaie&lt;/h3&gt;
&lt;p&gt;Il y a pourtant une différence majeure avec les ordinateurs personnels.&lt;/p&gt;
&lt;p&gt;Au début de ceux-ci, de nombreux fabricants étaient en compétition, comme Amiga, Apple et Atari, avec des architectures et systèmes différents. Il n'y avait que peu d'interopérabilité entre les différents ordinateurs disponibles. Puis a emergé la plateforme PC, qui devint rapidement un standard de facto.&lt;/p&gt;
&lt;p&gt;La grosse force de cette plateforme est son ouverture. Un système fonctionnant sur PC peut fonctionner sur tous les ordinateurs compatibles PC. La majorité des ordinateurs sont compatibles PC à l'exception notable des machines Apple.&lt;/p&gt;
&lt;p&gt;Cela a permis le succès de Windows puis Linux. D'autres systèmes compatibles PC pourtant moins répandus peuvent ainsi fonctionner sur de nombreux ordinateurs, comme les différents Unix et BSD.&lt;/p&gt;
&lt;h3&gt;Un monde fermé&lt;/h3&gt;
&lt;p&gt;Le monde ARM est très différent, car il n'y a pas de plateforme définie. Il est très difficile voire impossible de faire fonctionner le système d'un iPhone sur un téléphone Android, et vice-versa. Il est de même très difficile de faire fonctionner le système d'un téléphone Samsung sur un téléphone d'une autre marque.&lt;/p&gt;
&lt;p&gt;C'est une grande difficulté pour créer des systèmes alternatifs fonctionnant sur des smartphones. Il existe des projets comme &lt;a href="https://lineageos.org/"&gt;LineageOS&lt;/a&gt; proposant des systèmes Android alternatifs pouvant remplacer celui fourni par le constructeur, mais ils nécessitent un important travail de portage pour chaque téléphone.&lt;/p&gt;
&lt;p&gt;De même il existe des initiatives telles que &lt;a href="https://postmarketos.org/"&gt;postmarketOS&lt;/a&gt; permettant de faire fonctionner un vrai système Linux sur son smartphone, mais de grandes difficultés de portage ne permettent de le faire que sur une liste réduite de téléphones pour lesquels un long travail a été nécessaire.&lt;/p&gt;
&lt;h3&gt;Pour un futur verrouillé ?&lt;/h3&gt;
&lt;p&gt;Apple avec ses Macbook s'est engagé dans la même voie, fournissant matériel et logiciel dans une plateforme liée. Installer un autre système sur un Macbook récent est possible, mais requiert beaucoup d'efforts.&lt;/p&gt;
&lt;p&gt;Ses Iphones sont complètements verrouillés. Impossible d'y installer un autre système. Impossible d'y installer des applications non autorisées par Apple. Apple va-t-il profiter du passage à ARM sur ses Macbook pour y imposer les mêmes contraintes ?&lt;/p&gt;
&lt;p&gt;S'il le fait, échangerons-nous de meilleures performances contre la liberté de choisir ses logiciels ? Le modèle du smartphone fermé finira-t-il par vaincre celui du PC ouvert ?&lt;/p&gt;
&lt;p&gt;Laisserons-nous des systèmes complètement fermés être des outils indispensables à nos vies ?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paul</dc:creator><pubDate>Tue, 17 Nov 2020 20:00:00 +0100</pubDate><guid isPermaLink="false">tag:www.ezvan.fr,2020-11-17:/apple-arm-plateforme-ouverte.html</guid><category>Blog</category><category>Libre</category><category>CPU</category><category>ARM</category><category>Apple</category></item><item><title>ARM le futur</title><link>https://www.ezvan.fr/futur-arm.html</link><description>&lt;p&gt;Les &lt;a href="https://fr.wikipedia.org/wiki/Architecture_ARM"&gt;processeurs ARM&lt;/a&gt; sont partout ! Ils sont au cœur de nos smartphones, télévisions, box Internet, antennes 5G, etc.&lt;/p&gt;
&lt;p&gt;Pourtant dans nos ordinateurs personnels, ils sont toujours largement dominés par le bon vieux &lt;a href="https://fr.wikipedia.org/wiki/X86"&gt;x86&lt;/a&gt;, inventé par Intel il y a plus de cinquante ans. C'est également le cas dans le monde des serveurs, joliment appelé cloud de nos jours.&lt;/p&gt;
&lt;p&gt;Mais les temps changent. De très gros acteurs comme &lt;a href="https://aws.amazon.com/fr/ec2/graviton/"&gt;Amazon&lt;/a&gt; et &lt;a href="https://www.apple.com/newsroom/2020/06/apple-announces-mac-transition-to-apple-silicon/"&gt;Apple&lt;/a&gt; embrassent l'ARM pour ne plus dépendre d'Intel. En effet ARM ne définit que l'architecture du processeur, de nombreux constructeurs produisent des puces l'utilisant. Cela permet donc de s'affranchir du quasi monopole d'Intel sur les processeurs de PC et serveurs.&lt;/p&gt;
&lt;p&gt;Serait-on à l'aube d'une nouvelle ère, où ARM remplacerait totalement le vénérable x86 ?&lt;/p&gt;
&lt;p&gt;Signe avant-coureur, un autre acteur majeur, Ezvan.fr a effectué sa migration vers ARM récemment. Plus rapide et moins cher, que demander de plus ? &lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paul</dc:creator><pubDate>Sat, 14 Nov 2020 00:00:00 +0100</pubDate><guid isPermaLink="false">tag:www.ezvan.fr,2020-11-14:/futur-arm.html</guid><category>Blog</category><category>Services</category><category>CPU</category><category>ARM</category></item></channel></rss>