↩ Accueil

Vue normale

Reçu avant avant-hier

Open Source Experience : REX de l'édition 2024 et appels en cours pour #OSXP2025

4 juin 2025 à 16:03

Open Source Experience (OSXP), a lancé son appel à conférence pour sa 5e édition autour du thème « L’open source, clé de l’autonomie stratégique de l’Europe ». Profitons-en aussi pour faire l'appel à stand du village associatif ainsi qu'un (petit) retour sur la quatrième édition qui s'est tenue les 4 et 5 décembre derniers au Palais des Congrès de Paris. L'événement était cette fois couplé à DevOpsREX qui a fait son grand retour. Et encore une fois, nous étions là pour vous rencontrer, interagir avec la communauté et vous faire plaisir !

banière OSXP 2025

Cette année, Open Source Experience déménage à la Cité des Sciences et de l'Industrie, porte de la Villette (toujours à Paris) et se tiendra les 10 et 11 décembre 2025. Cela nous permettra d'avoir quelques stands de plus pour le village associatif !

Sommaire

Présentation de l’événement

Pour les anciennes et les anciens, Open Source Experience (OSXP) est l’événement qui a remplacé le Paris Open Source Summit, qui lui-même était la fusion de l’Open World Forum et Solutions Linux (qui était l’ancien Linux Expo) !

Dans la continuité de ses prédécesseurs, OSXP se veut un événement européen professionnel sur l’Open Source, le Libre et le Numérique ouvert, combinant une grande partie exposition, dans laquelle nous retrouverons toutes les entreprises du secteur ainsi que le village des associations, mais aussi un cycle d’une centaine de conférences, tables rondes et ateliers sur les deux jours.

Et il sera de nouveau accolé à DevOps Rex, série de conférences et présentations sur les applications concrètes de la méthodologie devops en entreprise, ses bénéfices, mais aussi ses contraintes et ses limites. Il y a aussi une partie exposition dédiée.

L’inscription gratuite ouvre l’accès à la partie exposition conjointe et aux conférences d’Open Source Experience. L’accès au cycle de conférences de DevOps REX est quant à lui payant.

Appel à conférences 2025

Le comité de programme, présidé cette année par Ludovic Dubost, PDG de XWiki, a lancé son appel à conférences, ouvert jusqu’au 22 juin 2025 à 23:00 CEST. Les thématiques de l’année sont

  • Modèles économiques et gouvernance pour des stratégies ouvertes durables
  • Intelligence Artificielle et calcul scientifique au service de l’analyse des données
  • Architecture cloud & virtualisation pour un futur autonome
  • Outils collaboratifs et applications métier : reprendre son autonomie numérique
  • Développement : l’innovation logicielle en action
  • Cybersécurité & chaîne de production logicielle : l’open source comme socle de confiance

Et pour les anglophones ? Un fil rouge (track) international dédié. C’est une des nouveautés de cette édition : une salle internationale accueillera les meilleures conférences en anglais, toutes thématiques confondues. Si vous proposez une intervention en anglais, vous serez automatiquement considéré pour cette track, en plus de votre thématique d’origine.

Chaque thématique cherche des

  • Retours d’expériences montrant les succès de l’offre Open Source en production,
  • Innovations montrant l’excellence technologique de l’Open Source européen,
  • Présentations sur la mise en œuvre et des outils permettant la migration de solutions propriétaires,
  • Présentations afin d’aider la filière à se développer sur les problématiques business, financement et gouvernance de l’open source.

📢 Appel à stands 2025 pour le village associatif

Le village associatif rempile de nouveau cette année. Le déménagement à la cité des Sciences à la Villette permet de gagner quelques stands (+3), soit une dizaine cette année. Pour obtenir un stand, il faut répondre aux critères ci-dessous et postuler sur le formulaire dédié avant le 24 août 2025 à 23:59 :

  • être une fondation ou une association à but non lucratif et non adossé à une entreprise (pour les entreprises, c’est sur cette page) ;
  • œuvrer pour l’Open Source et le Logiciel Libre (🦉 O RLY?) ;
  • à vocation nationale 🇫🇷 ou internationale 🇺🇳 (vers l’infini et au-delà) ;
  • disposer d’un important réseau de contacts permettant de relayer l’événement en amont (📊 sortez vos stats) ;
  • s’engageant à se mobiliser sur le stand sur une ou deux journées (fini les stands vides 😉). En effet, au vu du nombre limité de places, il sera possible de partager temporellement le stand si vous n’êtes disponible qu’une seule journée.

Les organisateurs présélectionneront une dizaine d'associations répondant le mieux aux critères de sélection. Seront privilégiées les associations indépendantes de toute organisation privée, disposant de moyens financiers limités. Soyez rassurés, Bookynette est encore et toujours impliquée dans l’organisation de ce village. Un grand merci à elle !

LinuxFr cochant toutes les cases, nous postulerons à nouveau 🤞. Nous verrons si nous pouvons encore vous faire gagner des Raspberry Pi, livres, abonnements, bières, Fairphone, Legos, etc. comme les années passées lors de notre animation façon Burger Quiz.

Retour sur l’édition 2024

Petit compte-rendu textuel et visuel, partial et partiel, de ces deux jours intenses fin 2024.

Quelques photos

Voici une petite sélection de photo, l’ensemble des photos (amateurs) sont disponibles dans ce répertoire.

le Stand LinuxFr.org la veillele Stand LinuxFr.org la veille Pierre, notre doyen de la modération !Notre doyen de la modération ! Tirage au sort des livres sur le standTirage au sort des livres sur le stand Des vedettes passent nous voirDes vedettes passent nous voir
Livraison de crème glacée (merci Creme)Livraison de crème glacée Les adminsys sur le standLes adminsys sur le stand Moment Quiz lors du temps fort associatifQuiz lors du temps fort associatif KPTN Live !KPTN Live !

Photo des autocollants. Plein de cadeaux pour vous

Les cadeaux gagnés !

Même si nos 25 ans sont passés et ont été fêtés dignement lors de l’édition précédente, cette année encore, grâce à nos soutiens habituels, mais aussi d’autres plus ponctuels, vous avez pu repartir avec les meilleurs cadeaux de l’événement.

Des livres et abonnements

Livres à gagner

Au total 27 livres gagnés parmi 22 références de nos partenaires habituels : les éditions ENI, les éditions Eyrolles et les éditions D-Booker mais aussi deux abonnements Linux Magazine et Linux Pratique !

Logo éditions ENI Logo éditions Eyrolles Logo éditions B-BookeR Logo éditions Diamond
       
L'AssoLution, le temps fort associatif

Le second jour sur la pause déjeuner, nous avions prévu avec les organisateurs notre désormais rituel temps fort associatif, appelé l’AssoLution cette année (nous sortions juste de la dissolution en France et il fallait bien trouver La Solution au gouvernement démissionnaire de l’époque !). Nous avons fêté les 20 ans de Framasoft, avec KPTN qui a assuré la partie musicale avec deux de ses chansons parmi les plus récentes. Enfin, le quiz façon burger quiz a été l’occasion de vous faire gagner un tas de cadeaux. Il ne fallait pas chercher sur les stands pros, les meilleurs étaient chez nous :

  • un Fairphone 5 vert (de chez Murena avec /e/OS dessus) ;
  • un casque audio Fairbuds XL vert ;
  • un kit de démarrage Raspberry Pi 5 ;
  • le jeu de société « Les Aventuriers du Rail : Légendes de l’Ouest » ;
  • une boîte de Lego architecture Notre-Dame de Paris vu qu’elle va rouvrir sous peu !
  • des abonnements à GNU/Linux Magazine France et à Linux Pratique ;
  • et des abonnements à la bibliothèque numérique des éditions ENI (en plus des livres, voir plus loin).

Liste des lots pour le quiz comprenant un Fairphone 5 vert (smartphone durable), un casque audio Fairbuds XL vert, un kit de démarrage Raspberry Pi 5, le jeu de société « Les Aventuriers du Rail : Légendes de l’Ouest », et une boîte LEGO représentant la cathédrale Notre-Dame de Paris dans la collection Architecture.

On remercie encore les sponsors de l’année passée qui ont participé à leur financement :

Merci Passbolt Merci Admantic

Vous pouvez tout revisionner si vous avez 45 minutes devant vous.

Au plaisir de vous y retrouver cette année !

Commentaires : voir le flux Atom ouvrir dans le navigateur

Nouvelle version de NumCalc, la calculatrice scientifique en ligne de Fabrice Bellard

3 juin 2025 à 12:55

Fabrice Bellard vient de mettre à jour NumCalc, sa calculatrice scientifique et graphique en ligne, qui utilise maintenant un nouveau code indépendant de QuickJS (je vous renvoie à la dépêche qui abordait cette question).

capture d'écran de Numcalc

Le nouveau code est un mix entre Javascript, Python et Julia. Le code Javascript utilise la bibliothèque LibBF (MIT). L'interface a été retravaillée mais reste minimaliste pour être pratique et légère. Elle est devenue responsive et s'affiche très bien sur un mobile. Elle accepte maintenant des entrées en syntaxe Calc et Javascript.

NumCalc est rapide, ça m'a impressionné. La réactivité vient aussi du navigateur et de l'ordinateur puisque tout se passe sur votre poste, rien n'est envoyé au serveur. C'est surtout une sensation. Par exemple l'application Qalculate! me parait moins nerveuse, comme on dit d'une voiture. Bref, NumCalc est agréable.

Les deux précédentes versions sont toujours disponibles.

Commentaires : voir le flux Atom ouvrir dans le navigateur

Photos et traces gps dans un blog statique

2 juin 2025 à 13:51

Cette dépêche va présenter une méthode pour afficher sur un site personnel les traces, récits et photographies de balades (pédestres, cyclistes par exemple).

Comme le contenu à afficher est diversifié (texte, photographies, cartes), la solution retenue sera un blog. Dans un soucis de sobriété numérique, le site sera sans base de données.

Pour l'aspect esthétique, la barre de navigation et les cartes seront situées dans la partie gauche des pages et surtout, la carte ne bougera pas avec la navigation dans la page.

    Sommaire

    N'ayant pas trouvé d'alternative libre à Polarstep, la solution retenue se base sur les briques logicielles libres suivantes :

    • un moteur de blog static : pelican (AGPL v3.0)
    • des thèmes pour le blog
    • des bibliothèques cartographiques : leaflet (BSD 2)

    1 - Préparation de pelican

    Pelican propose d'écrire chaque billet de blogs dans un fichier texte indépendant (au format markdown ou reStructuredText).

    Pelican les convertit en html et l'organisation du site ainsi généré (catégories, mots-clefs, archivage) se fait par le biais de gabarits (qui sont dans un sous-répertoire templates)

    a) Le moteur

    L'installation ne sera pas développée ici, pelican étant disponible dans de nombreuses distributions.

    Il faut créer la structure de travail (dans le répertoire personnel de notre choix) :

    pelican-quickstart
    

    b) Installation du thème graphique

    En allant sur le dépôt des thèmes de pelican, il est possible de trouver le style graphique qui nous convient le mieux.

    Nous allons utiliser le thème pelican-blue (sous licence MIT 2.0), qui a l'avantage d'être simple, et commençons son installation :

    • création du répertoire theme dans notre structure de travail
    • décompression de l'archive du thème dans le répertoire « theme »
    • modification du fichier pelicanconf.py pour configurer notre site. Il faut adapter quelques variables :
    SITENAME = 'Mon blog'
    SITEDESCRIPTION = 'Mes souvenirs de vacances'
    THEME = "./theme/pelican-blue"
    STATIC_PATHS = ['images', 'gpx']
    
    • modifications propres au thème. Souvent l'auteur d'un thème propose de le personnaliser à partir de variables déclarées dans le fichier de configuration.

    c) Écriture du premier billet

    On va créer notre premier billet

    Title: Première sortie
    Date: 2025-05-01
    Modified: 2025-05-01
    Category: Lieux
    Slug: depart
    Tags: bonjour, balade
    
    Bonjour tout le monde ! Quelle chouette sortie j'ai faite.
    

    d) Génération de notre site

    On lance la première compilation :

    make clean
    make html
    

    On peut voir le résultat :

    • soit en ouvrant directement le fichier index.html (présent dans le répertoire output)
    • soit en lançant un mini serveur web (make serve) et lancer son navigateur web à l'adresse http://localhost:8000/

    Pour plus de renseignements sur pelican, je vous invite à vous rendre sur la documentation du projet.

    2 - Peaufinage de base

    On va maintenant nettoyer le code des gabarits, en supprimant les choses que l'on trouve inutiles ou qui nous déplaisent. Tout se passe dans le répertoire templates de notre thème.

    • il y a les fichiers analytics.html et disqus.html
    • une recherche par mot nous informe des éventuelles références à Google, Twitter, Facebook

    On supprime les parties qui ne nous conviennent pas.

    3 - Gestion cartographique

    Nous attaquons désormais notre objectif : rendre visibles sur des cartes des fichiers de trace.

    a) Gestion des cartes

    On va maintenant configurer la gestion des cartes, par l'intermédiaire de leaflet. Comme l'indique sa page wikipédia, leaflet est très largement utilisé et très pratique.

    On va donc

    • le télécharger,
    • le décompresser dans le répertoire static de notre thème
    • modifier les entêtes de nos gabarits (cela se fait le plus souvent dans le fichier base.html) pour y ajouter au niveau <head> les références à leaflet :
        <link rel="stylesheet" href="{{ SITEURL }}/theme/leaflet/leaflet.css"   integrity="sha256-p4NxAoJBhIIN+hmNHrzRCf9tD/miZyoHS5obTRR9BMY="  crossorigin=""/>
        <script src="{{ SITEURL }}/theme/leaflet/leaflet.js"  integrity="sha256-20nQCchB9co0qIjJZRGuk2/Z9VM+kNiyxNV1lvTlZBo="  crossorigin=""></script>

    Comme on a récupéré en local les fichiers, on met des chemins propres à notre arborescence (via {{ SITEURL }}/theme/).

    b) Gestion des fichiers de trace (gpx)

    Elle va se faire par l’intermédiaire d'un module supplémentaire https://github.com/mpetazzoni/leaflet-gpx (BSD 2).

    De la même manière qu'on a intégré dans nos entêtes l'intégration de leaflet, nous allons ajouter une ligne pour faire référence à leaflet-gpx (bien vérifier le nom du fichier javascript) :

    <script src="{{ SITEURL }}/theme/leaflet-gpx/gpx.js"></script>

    Par rapport à la documentation officielle, on retire l'attribut defer (puisque nous utilisons les fichiers locaux et non distants).

    Pour tester notre environnement, on va déposer dans notre répertoire gpx un fichier de trace, puis on va ajouter dans notre billet les éléments de cartographie de notre voyage :

    <div id="map" style="width: 600px; height: 400px;"></div>
    <script>
            var map = L.map('map');
            L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
              attribution: 'Carte et données : <a href="http://www.osm.org">OpenStreetMap</a>'
            }).addTo(map);
            var gpx = '/gpx/FICHIER.gpx';
            new L.GPX(gpx, {async: true}).on('loaded', function(e) {
                map.fitBounds(e.target.getBounds());
            }).addTo(map); 
    </script>

    On regénère notre site web, et on peut visualiser notre billet

    Première version de notre billet

    Globalement, ça fait le boulot.

    Mais on peut améliorer la chose : on peut par exemple cacher les marques de début et de fin d'itinéraire en insérant la ligne suivante après le async: true

    markers: {startIcon: null, endIcon: null, }

    Mais surtout, nous souhaitons que pelican génère automatiquement la partie consacrée au fichier de trace (alors que dans notre test, nous avons dû l'ajouter nous-même) !

    c) Modification des gabarits

    Si l'on veut simplement ajouter notre fichier de trace et que notre gabarit le traite, on va ajouter cette information dans les entêtes de notre fichier markdown ! En effet pelican permet de créer des variables qui seront utilisables dans nos gabarits.

    Nous allons donc créer et utiliser une variable (qui s'appellerait… Gpx par exemple), qui stockera le nom du fichier gpx à afficher (les chemins sont relatifs à notre site web)

    Title: Première sortie
    Date: 2025-05-01
    Modified: 2025-05-01
    Category: Lieux
    Gpx: /gpx/monfichier.gpx
    Slug: depart
    Tags: bonjour, balade

    Nous modifions ensuite notre gabarit article.html pour qu'il génère la carte à partir de notre variable.

    Pelican est très souple : basé sur Jinja2, il permet les boucles, les conditions et les variables.

    Tous les éléments qu'il utilise sont insérés dans des accolades. Le fonctionnement est facilement lisible et compréhensible.

    On va donc conditonner (avec if) l'insertion de leaflet.

    {% if article.gpx %}
        <div id="map" style="width: 600px; height: 400px;"></div>
    <script>
        var map = L.map('map');
        L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
          attribution: 'Carte et données : <a href="http://www.osm.org">OpenStreetMap</a>'
        }).addTo(map);
    
        var gpx = '{{ article.gpx }}';
        new L.GPX(gpx, {async: true,
                           markers: {startIcon: null, endIcon: null, }
          }).on('loaded', function(e) {
             map.fitBounds(e.target.getBounds());
          }).addTo(map); 
    
    </script>
    {% endif %}

    Bien entendu, nous supprimons ces références du fichier markdown correspondant à notre billet de test.

    On regénère notre site web, et on peut visualiser notre billet… qui n'a pas changé : tout fonctionne. Pour chacune de nos sorties, il suffit donc d'indiquer le fichier de trace dans les entêtes pour que la carte soit insérée automatiquement dans notre billet.

    Passons maintenant à l'intégration de nos photos.

    4 - Gestion des photographies associées à notre cartographie

    Nous avons besoin :

    • d'une image
    • de ses coordonnées géographiques (latitude et longitude)

    Pour cela, nous allons procéder de la même manière que pour le fichier trace : nous allons créer et utiliser des variables dans les entêtes des fichiers markdown.

    a) Fichier des billets

    Nous modifions encore une fois les entêtes en ajoutant autant d'informations (image, latitude et longitude) que de photos à afficher en miniatures.

    Title: Première sortie
    Date: 2025-05-01
    Modified: 2025-05-01
    Category: Lieux
    Gpx: /gpx/monfichier.gpx
    Slug: depart
    Img: /images/image1.jpg
    Lat: 49.895517
    Lon: 2.295983
    Img: /images/image2.jpg
    Lat: 49.89443
    Lon: 2.30137
    Tags: bonjour, balade
    

    On remarque ici que l'on a mis plusieurs images avec les mêmes noms de variables.

    b) Modification des gabarits

    Nous allons ensuite modifier les gabarits de pelican pour qu'ils positionnent des miniatures des photos sur notre trajet.

    Nous allons à nouveau modifier notre fichier article.html, en y ajoutant (à la suite de notre précédente modification, dans la condition {% if article.gpx %}) le code suivant :

    Nous commençons par indiquer l'icône qui s'affichera sur la carte à chaque photo mise en valeur

    var MonIcone = L.icon({
        iconUrl: '/images/app-photo.png',
        iconSize: [36, 36]
    });
    

    Puis nous codons l'affichage du marqueur (qui sera géré par leaflet).

    {% if article.img %}
      {% if article.img is string %}
         imageTxt = 'Description';
         L.marker([{{ article.lat }}, {{ article.lon }}], {icon: MonIcone}).bindPopup(imageTxt + '<br><img src="{{ article.img }}" width="200px"><a href="#bal5">plus de détail</a>').addTo(map);    
      {% else %}
        {% for n in range(article.img| length) %}
           imageTxt = 'Description';
           L.marker([{{ article.lat[n] }}, {{ article.lon[n] }}], {icon: MonIcone}).bindPopup(imageTxt + '<br><img src="{{ article.img[n] }}" width="200px"><a href="#bal5">plus de détail</a>').addTo(map);
        {% endfor %}    
      {% endif %}
    

    La difficulté réside dans la gestion des éléments répétitifs :

    • s'ils sont plusieurs, on peut utiliser les méthodes python des listes.
    • s'il n'y en a qu'un seul, cette méthode renvoie toutes les lettres de notre variable ! Il a donc fallu tester si celle-ci est une chaine de caractères ou une liste.

    Les choix sont ici purement personnels ou démonstatifs :

    • on a laissé une variable imageTxt en dur, elle pourrait être passée dans les entêtes de nos fichiers markdown
    • le texte du popup peut être adapté (on pourrait y ajouter un lien direct vers notre image par exemple)
    • le lien (ancre) est à créer dans notre fichier markdown
    • la taille de l'image du popup est en dur (on peut passer par une feuille de style css)

    On regénère notre site web, et on peut visualiser notre billet :

    Carte avec icones indiquant des lieux visités

    Et lorsqu'on clique sur une icône d'appareil photo, on voit bien notre popup :

    Popup avec la miniature

    c) Gestion des photographies

    Comme indiqué plus haut, la taille des miniatures affichées peut se gérer :

    • par CSS
    • ou créer des miniatures (avec imagemagick) pour diminuer la charge de notre serveur (afficher une photo de 3000 pixels à 200 pixels n'est pas optimal). Dans ce cas, il suffira d'adapter notre gabarit pour lui indiquer où aller chercher les petites images (/images/miniatures/ par exemple)

    Par contre, le point le plus compliqué est la gestion des coordonnées des photographies : il faut les rentrer à la main !

    • Pour les photographies qui n'intègrent pas les coordonnées dans leurs métadonnées, il n'y a pas d'autre solution que d'aller chercher sur une carte (openstreetmap par exemple) et de trouver le lieu de la prise de vue et de repérer les coordonnées.

    • Pour les photographies qui contiennent leurs coordonnées géographiques, on peut utiliser l'outil exiftool pour les récupérer. On peut éventuellement faire un script bash qui affiche les lignes d'entête pour notre billet (on n'a plus qu'à les recopier ou les rediriger vers un fichier texte) :

        for photo in $(ls ./content/images);
        do
            echo ""
            echo "Img: /images/"$photo
            LAT=$(exiftool -n -s3  -gpslatitude ./content/images/$photo)
            echo "Lat: "$LAT
            LONG=$(exiftool -n -s3  -gpslongitude ./content/images/$photo)
            echo "Lon: "$LONG
        done

    Nous avons utilisé les options -n qui affichent les valeurs numériques au format décimal (celui utilisé par openstreetmap pour les coordonnées) et -s3 pour avoir la valeur du champ sans le nom de son attribut.

    5) Dernières modifications

    Nous venons de voir les différentes techniques qui permettent d'avoir le rendu que nous souhaitions. Et le résultat est déjà agréable à regarder.

    Nous pourrions nous arrêter ici, mais vous voulons que la carte reste en permanence dans le menu latéral. La solution est de la mettre dans une balise <aside>.

    a) Modifier les gabarits

    Notre thème comporte déjà une telle balise : elle est dans le fichier base.html… ce qui signifie qu'il ne peut pas voir les informations sur les articles (donc nos entêtes) !

    La solution va donc consister à déplacer, à l'intérieur du fichier article.html, tout notre code dans une section (que nous appellerons mamap :

    {% block mamap %}
        Mettre ici tout le code sur notre gestion cartographique
    {% endblock %}
    

    Et dans le fichier base.html, on va insérer à l'intérieur des balises <aside> son appel (qui ne tient que sur deux lignes) :

    {% block mamap %}
    {% endblock %}
    

    b) Ajuster les feuilles de style

    Il faut surcharger le comportement de la carte gérée par leaflet :

        .leaflet-container {
            width: 400px;
            height: 300px;
            max-width: 100%;
            max-height: 100%;
            margin: auto;
        }

    Et vérifier que les largeurs de la carte, et de <aside> soient compatibles.

    Le résultat avec nos dernières modifications est désormais le suivant

    Site avec la carte à gauche

    6) Conclusion

    Il est temps de finir cette dépêche, dans laquelle nous avons pu découvrir la souplesse et la richesse des gabarits gérés avec jinja2, ainsi que la facilité d'utilisation de leaflet.

    Désormais, dans notre flux de travail, nos répertoires sont organisé ainsi :

    content 
        + gpx : les fichiers de trace
        + images : les photos que l'on veut afficher sur notre blog
        fichierXX.md : les billets
    output : notre site web (généré par pelican)
    theme
        + pelican-blue  : le thème choisi
            + static
                + css
                + leaflet
                + leaflet-gpx
            + templates
    

    Et la rédaction de nos billets consiste à :

    • ajouter le fichier gpx de notre trace dans les entêtes
    • ajouter les informations sur chaque photo que l'on veut voir (toujours dans les entêtes)
    • écrire notre billet normalement (en y ajoutant éventuellement d'autres photos ou des ancres de navigation)

    Cette dépêche démontre qu'il est possible d'avoir, avec les outils actuels, un rendu intéressant pour partager ses sorties. Et totalement utilisable en auto-hébergement.

    Les outils utilisés sont très personnalisables et je vous invite à lire leurs documentations ou à parcourir leurs extensions respectives et de vous les approprier selon votre usage.

    Malheureusement, la solution présentée ne conviendra qu'à une minorité d'utilisateurs. En effet, elle se base sur des éléments qui sont le plus souvent rendus invisibles (site web, transfert de fichiers, métadonnées) et elle est inutilisable sur téléphone.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    Not so Common Desktop Environment (NsCDE), un paradigme différent

    Not so Common Desktop Environment reproduit fidèlement Common Desktop Environment dit CDE, classique des Unix des années 90. Mais pourquoi puisque CDE est libre ? Eh bien pour faire mieux ! NsCDE est plus léger, plus complet, plus souple.

    NsCDE est sorti en version 2.3 le 20 juin 2023. C'est un petit projet qui s'appuie sur un thème pour FVWM et quelques utilitaires de son cru. Le reste, c'est un thème pour les applications GTK et Qt. Poussant le mimétisme jusqu'à reproduire le script shell du premier démarrage, NsCDE vous demande quels doivent être votre terminal, votre gestionnaire de fichier, votre éditeur, etc. Ce n'est pas mal de pouvoir choisir ! Comme c'est assez abouti il n'y a pas eu de nouveaux développements depuis.

    Impressions après quelques jours d'utilisation

    J'ai trouvé l'ensemble agréable et cohérent, certes un peu brutal visuellement, mais on n'est pas devant un thème, c'est un paradigme de fonctionnement différent. Avec un peu d'habitude on peut bosser sans surprises.

    Un exemple sur la gestion des fenêtres, différente du monde Win/Mac qui est le paradigme habituel sur la plupart des bureaux Linux :

    Elles se déplacent encore par la barre de titre, mais pour le reste les trois clics de souris sont utilisés. 
    Le bouton de gauche est trois choses à la fois : un menu déroulé par un clic gauche, un menu étendu déroulé par un clic droit et une boite de dialogue affichée par un clic centre ; la fenêtre se ferme avec un deuxième-clic rapproché dans le temps (clic gauche ou droit) ou un double clic aussi.
    À droite, un bouton agrandit la fenêtre avec beaucoup de possibilités selon le clic gauche, centre ou droit et selon la séquence de clics ; un deuxième bouton réduit la fenêtre : clic gauche pour l'icônifier, clic droit pour l'enrouler. Icônifiée, un clic droit l'agrandit, les clics gauche et centre ouvrent des menus.

    NsCDE ne propose qu'un minimum d'utilitaires, il ne s'agit pas de tout intégrer façon KDE ou Gnome, mais plutôt de fournir un environnement de travail pour interagir avec vos programmes préférés. Testez-le pour découvrir autre chose que le fonctionnement habituel. Le libre vous permet de choisir, sortez des sentiers battus.

    En tout cas ne l'installez pas pour sa légèreté, Liam Proven l'utilisant avec des composants XFCE l'a trouvé plus léger que les autres, mais il est plus lourd que KDE 3.

    image à remplacer

    L'influence de CDE à travers des anecdotes

    C'est moche, hein ? Et pourtant le design de CDE a influencé d'autres environnements de bureau :

    • Le présentation manager d'OS/2 a influencé l'aspect de Win 3 et CDE, mais réciproquement le LaunchPad d'OS/2 v3 reproduit le lanceur CDE.
    • XFCE 3 reproduisait le lanceur CDE : XFCE 3 avec le thème Motif
    • Et même KDE, dont le nom serait un jeu de mots avec Kool Desktop Environment (personne ne s'en souvient vraiment, on trouve d'autres explications).
    • À la même époque, Silicon Graphics avait pris un chemin différent avec IRIX Interactive Desktop. D'après mon cousin, qui passait de la PAO sur Mac à la 3D sous Irix, c'était très ergonomique et ça valait bien le Mac. Il n'a jamais eu besoin d'ouvrir un terminal. Irix

    Installation

    NsCDE propose quelques paquets tout prêt pour Fedora, Suse, Ubuntu, Debian et Slackware ainsi qu'un gros Tarball à décompresser dans /opt.

    Je vous recommande de l'utiliser sous un compte de test, sinon NsCDE va pourrir votre bureau habituel avec ses boites de dialogue et ses thèmes Firefox, LibreOffice, etc. En plus, NsCDE n'a pas de script de désinstallation, il sauvegarde vos paramètres Gtk et Qt, mais seulement jusqu'aux versions 4 et 5.

    Évitez d'y lancer des applications Gnome à cause des menus et fenêtres, sauf si vous installez gtk3-nocsd (no client side decoration). Préférer les applications légères et simples de LXDE/LXQt, Mate, XFCE, … Ou encore les applis Motifs/X11, le thème NsCDE leur ira comme un gant.

    Tester CDE

    Si vous tenez à essayer le vrai CDE pour voir comment c'était, il y a un CD Live sous Debian.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    Sortie du gestionnaire d'archives PeaZip 10.4.0

    28 mai 2025 à 09:08

    PeaZip n'a jamais été abordé dans ces colonnes jusqu'à présent, alors qu'il fait partie des outils multi-plateformes permettant une transition en douceur vers le libre. Il a presque dix ans. Sortie le 14 avril, la version 10.4 continue la série 10.0 commencée en octobre 2024.

    PeaZip Linux thème sombre sous Wayland
    PeaZip affiché avec son thème sombre dans Wayland

    Giogio Tani, le développeur de PeaZip publie plusieurs versions chaque année. Le logiciel évolue par petites touches largement testées via les fonctions "expérimentales" des versions précédentes.

    icone de PeaZip

    Je trouve beaucoup d'atouts à PeaZip

    Il est libre, multi-plateformes, multi-architecture, portable (nomade), écrit en FreePascal avec Lazarus, ouvre et écrit plusieurs formats d'archives. Il est rapide et assez léger pour un tout-en-un (11,2 MB). Il est bien maintenu, l'auteur est transparent sur la sécurité, documentation et tutoriels sont conséquents et pédagogiques. L'interface est travaillée, sobre, ergonomique, thémable, configurable, jolie, … N'en jetez plus ! Ah si encore : il est dispo en Gtk et Qt sous X11 et Wayland, et l'auteur l'empaquête à tout va.

    C'est un humble logiciel très bien foutu, très travaillé, utile pour installer des outils libres sur les systèmes proprios afin de les amener en douceur vers Linux ou *BSD (il ne fonctionne pas encore sous Haïku).

    Architectures et systèmes

    • Linux x86_64, x86, ARM, aarch64 ;
    • Windows, ReactOS, Wine ;
    • Darwin, macOS Intel et aarch64 (Apple Silicon), la famille BSD.

    PeaZip propose des fonctions peu courantes

    • Le moteur de scriptage intégré permet de convertir vos opérations graphiques pour les automatiser et les étendre avec des options en ligne de commande ;
    • un chiffrement solide est disponible, avec authentification à double facteur ;
    • l'interface graphique est unifiée sur tous les systèmes et architectures pris en charge, même pour les formats moins courant (zpaq, brotli, zstandard) ;
    • le gestionnaire de fichiers avancé facilite, par exemple, la vérification des sommes de contrôles, la déduplication, la conversion de formats d'archives, la recherche, etc ;
    • c'est un outil portable et nomade qu'on peut copier sur une clé usb, sur le net ou partager en réseau sans l'installer ;
    • PeaZip dispose d'une transparence et des options de suivi pour la vie privée et la sécurité.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    NOALYSS : campagne de financement

    19 mai 2025 à 21:58

    spark développe NOALYSS, serveur de comptabilité et ERP totalement libre (GNU GPL2) depuis plus de 20 ans. Cette dépêche est une conversion de son journal. Noalyss a fait partie des solutions comptables présentées dans un article-bilan récent concernant la comptabilité d'entreprise.

    Afin de rester à jour, il faut développer la facturation électronique, obligatoire en Belgique à partir de 2026 qui doit suivre le format UBL3.0 et pour développer cela, il faut du financement. Et malheureusement le modèle économique du libre, ne génère pas énormément d’argent pour la majorité des projets. Une campagne de financement est donc lancée pour NOALYSS.

    Si NOALYSS récolte suffisamment de fonds, il sera possible de tout conserver en libre, sans avoir à réaliser un module payant. Cela concerne le module facturation (génération de factures) mais aussi Document (vidéo d'une saisie rapide de factures) afin de pré-compléter l’opération d’achat.

    Nous comptons aussi améliorer NOALYSS dans le mouvement, par exemple pour avoir la double authentification (avec courriel, OTP), l’export en fichier Calc.

    En échange d’un versement, une facture pour « Développement e-invoice » sera envoyée afin que les contributeurs puissent le déduire fiscalement ; seuls les auto-entrepreneurs, indépendants, PME, etc. pourront le déduire de leurs impôts comme frais professionnels : ils paient un développement de logiciel, qui sera déclaré et taxé comme revenus chez nous. Une page présente la procédure.

    Voilà donc à vos bons cœurs de libristes :-)

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    Campagne de dons : Yunohost a besoin de vous !

    19 mai 2025 à 09:55

    Cher·es ami·es, cher·es camarades, nos amours, nous lançons aujourd’hui une campagne d’appel à dons.

    Car vous en avez probablement conscience : si notre activité est essentiellement bénévole et que YunoHost est offert à qui veut l’employer, notre activité a un coût. Or sur cette trajectoire et à ce rythme, nous ne pourrons couvrir que la moitié de nos dépenses projetées pour boucler notre budget.

    page d'accueil Yunohost

    Notre situation financière n’est pas alarmante à ce stade : la générosité de notre communauté nous permet d’ores et déjà de financer notre infrastructure. Mais nous aimerions être en capacité de faire mieux : prendre soin du collectif, maintenir et développer des fonctionnalités, nous rencontrer et faire connaître YunoHost.

    Dans le cadre de cette campagne de dons, nous avons réalisé deux pages pour expliquer comment nous utilisons l'argent et ce que nous souhaiterions réaliser cette année :

    N’hésitez pas à relayer ces messages, voire à rédiger les vôtres et nous les partager : votre aide est la bienvenue ! Qu’il s’agisse de témoigner de votre usage, de parler de votre implication voire de faire un don, tous les coups de main sont très appréciés !

    Grand merci pour vos contributions et votre enthousiasme !

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    QuickJS version 2025-04-26 et QuickJS-NG version 0.10

    16 mai 2025 à 10:27

    Finalement Fabrice Bellard est comme tout le monde, lui aussi numérote ses versions avec des dates, c'est plus simple. Voici donc la version annuelle de QuickJS (licence MIT), son moteur JavaScript incorporable et compact (le binaire Linux 64 bits fait 757 kiB). QuickJS est compatible avec ECMAScript 2023 — sauf pour les appels tails que les auteurs ne trouvent pas indispensables — et passe presque toute la suite de tests ECMAScript (en sélectionnant ES2023).

    En 2023, pour revivifier un développement un peu dormant, la fourche QuickJS-NG a été lancée (par un des contributeurs de Jitsi). QuickJS-NG est intéressant pour ceux qui veulent utiliser cmake et compiler le projet sous Windows avec le compilateur C Microsoft. Il intègre aussi le support de quelques fonctionnalités récentes de la norme JavaScript que QuickJS ne supporte pas encore. (Je cite Fabrice Bellard). Les différences ne sont pas énormes. La version 0.10 est toute neuve.

    Ci-après, Fabrice Bellard m'a très gentiment expliqué les principaux changements de QuickJS.

    Changements les plus importants dans QuickJS 2025-04-26

    Les explications viennent de Fabrice Bellard :

    • La suppression d'extensions non standardisées que j'avais ajoutées pour avoir des nombres flottants en précision arbitraire et la surcharge des opérateurs. Précision historique : j'ai créé QuickJS au début afin d'avoir une calculatrice avec une syntaxe compatible JavaScript. L'idée était de pouvoir manipuler des entiers ou des nombres flottants en précision arbitraire, des polynômes ou des matrices tout en utilisant une syntaxe familière. D'où des extensions au langage JavaScript présentes dans QuickJS. Mais ces extensions étaient compliquées et source de bugs, donc j'ai décidé de les supprimer. La calculatrice est maintenant un projet à part1.
    • L'implémentation des BigInt se reposait sur la librairie libbf que j'ai supprimée avec les extensions non standardisées. Il y a donc une nouvelle implémentation des BigInt, plus rapide et plus simple.
    • La réimplémentation des "weak references" avec le support de fonctions présentes dans ES2023. QuickJS-NG les supportait déjà mais avec une implémentation qui utilise plus de mémoire, est moins efficace et surtout potentiellement incorrecte en présence de cycles.
    • La concaténation de petites chaînes de caractères est plus rapide grâce à l'utilisation de "ropes". Beaucoup de programmes fabriquent de longues chaînes de caractères en concaténant des petites chaînes de caractères avec une grosse s = ""; for(i=0;i<n;i++) s += "a". C'est une méthode déconseillée car inefficace, mais les moteurs JavaScript comme V8, SpiderMonkey ou JavaScriptCore l'optimisent donc elle est très utilisée.
    • Ajout des numéros de colonne dans les erreurs. QuickJS-NG le faisait déjà mais la méthode ne me convenait pas. Celle utilisée dans QuickJS est plus simple et (normalement) plus précise.
    • Les nombres flottants sont maintenant analysés et convertis en chaînes de caractères sans utiliser la librairie C. Cela est nécessaire pour être complètement compatible avec la norme JavaScript et accroître la portabilité du code.

    Principaux changements de QuickJS-NG 0.10

    • Implémentation de Array.fromAsync
    • supporte os.Worker sur Windows
    • ajout du mode de build parserless
    • ajout de os.exePath()
    • ajouts des hooks Promise
    • correction des Promise non gérés
    • nouvelle implémentation de BigInt par Fabrice Bellard (voir ci-dessus)
    • et divers…

    Sous-projets

    QuickJS héberge des bibliothèque C qu'on peut utiliser pour d'autres projets :

    • libregexp : une bibliothèque Regexp petite et rapide, totalement conforme aux spécifications Javascript ES2023.
    • libunicode : une petite bibliothèque Unicode supportant les conversions de casse, la normalisation unicode, les requêtes unicode scriptées, les requêtes unicode de catégorie générale et toutes les propriétés unicode binaires.
    • dtoa : une petite bibliothèque pour l'impression et l'analyse syntaxique en float64.

    Téléchargements

    Les binaires sont dispos avec jsvu (JavaScript Version Updater, de Google) ou esvu (ECMAScript Version Updater, projet communautaire), ainsi qu'en téléchargement depuis les sites respectifs. Fabrice Bellard a aussi préparé des binaires QuickJS construits avec la Libc Cosmopolitan pour Linux, Mac, Windows, FreeBSD, OpenBSD, NetBSD tant sur les architectures ARM64 que x86_64.


    1. NumCalc n'est pas encore indépendant de QuickJS, mais c'est le but. Pour l'instant la nouvelle calculatrice (bfcalc) n'est disponible qu'en ligne de commande. 

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    LXQt 2.2.0

    16 mai 2025 à 09:28

    Le bureau LXQt est sorti le 17 avril 2025 en version 2.2.0. Comme prévu depuis la version 2.0, le développement est centré sur le confort : améliorations du support Wayland et ergonomie.
    Pour mémoire, LXQt est un environnement de bureau fondé sur Qt, issu du rapprochement de deux projets, Razor-qt et LXDE, et publié sous licence GPL.

    Le support de Wayland est encore meilleur, particulièrement en multi-écrans où on utilise des noms d’écrans plutôt que des nombres (appelez vos écrans mieux ça fera sourire Miou-Miou). En outre vous pourrez utiliser les dernières versions stables des compositeurs Wayland.

    Niveau ergonomie, le gestionnaire de fichiers PCManFM-Qt accepte les terminaux personnalisés, le terminal QTerminal est encore plus lisible et tous les deux améliorent plein de petits trucs puisque c’est dans les détails que ça se cache. Dernier point notable, les utilisateurs de portables peuvent créer des profils d’énergie pour mieux gérer la batterie.

    Pendant ce temps-là LXDE est abandonné.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    Sortie de Lazarus 4.0, l'IDE pour Free Pascal

    Par :orfenor
    10 mai 2025 à 15:12

    Le 5 mai, jour qui se prête aux manipulations numériques, l'environnement de développement Lazarus est sorti en version 4.0. Lazarus est écrit en Pascal et permet de développer en Pascal Objet, c'est à dire en Delphi. Il accompagne le compilateur libre Free Pascal.

    Le langage Pascal est toujours très utilisé, l'index TIOBE de mai 2025 le classe en neuvième position (et ça progresse), loin devant PHP ou Rust. Et si on en parle peu malgré ses qualités c'est peut-être parce qu'il n'est pas porté par de grandes corporations.

    Lazarus 4.0 est dispo sur Linux, *BSD, Macos, Windows, il y a même des paquets debian pour RapsberryPi. Il est compilé avec FreePascal 3.2.2. La LCL (Lazarus component library) fournit des widgets graphiques multi-plateformes pour

    • Linux/FreeBSD (GTK2, Qt4, Qt5 and Qt6)
    • Windows depuis Windows 2000 (y compris WinCE)
    • macOS (Cocoa, Carbon, GTK2, Qt4, Qt5, Qt6)

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    ❌