↩ Accueil
❌

Vue normale

Reçu aujourd’hui — 27 juin 20254.1 🐧 Linux

NVIDIA Blackwell Support Coming Together For NVK Vulkan In Mesa

27 juin 2025 Ă  12:43
Merged for the current Linux 6.16 cycle was initial NVIDIA Blackwell GPU support with the Nouveau open-source driver. NVIDIA Blackwell GPU support was tacked onto the existing Nouveau kernel driver rather than having to wait for the new "NOVA" driver and like prior generations continuing to leverage the GSP firmware. For going along with that Nouveau support, the Mesa NVK Vulkan driver support for Blackwell continues being put together too...

Bcachefs Changes End Up Being Merged Into Linux 6.16, For 6.17: "We'll Be Parting Ways"

27 juin 2025 Ă  12:27
Last week was a Bcachefs pull request consisting of fixes and a new "journal_rewind" feature to aide as a disaster recovery tool for the file-system. But with that code being submitted as part of the ongoing Linux 6.16 release candidates, it drew criticism from Linus Torvalds and other kernel developers. However, one week later and that discussion having subsided a few days ago, Linus Torvalds ended up merging all of the code. But there is a concerning warning for the future of Bcachefs in the mainline Linux kernel...

Linutop OS 25 un systùme complet pour les kiosques ou l’affichage dynamique sur PC

27 juin 2025 Ă  10:45

Linutop OS 25 est basé sur Xubuntu 22.04 pour PC, il est dédié à l'affichage dynamique ou au kiosque sécurisé.

Linutop OS 25 pour PC

Linutop Kiosk Player d’Affichage Dynamique: permet de configurer simplement une « playlist Â» pour un affichage en plein Ă©cran (image, Gif, PDF, lien URL, page web, vidĂ©o HD, musique), il est compatible avec le systĂšme de diffusion Linutop.tv et peut fonctionner avec ou sans rĂ©seau.

L’usage en entreprise d’un mini PC avec linutop OS permet de configurer rapidement un affichage dynamique. Il s’appuie sur la version lĂ©gĂšre Xubuntu sous l’environnement graphique ‘XFCE’, complĂ©tĂ© par VLC Media player et les outils Linutop.

Linutop Configuration panel: Une interface graphique pour faciliter la configuration du systĂšme : langue clavier et fuseau horaire, configuration Ă©cran, dĂ©marrage d’un VNC ou SSH en un clic, ou la sĂ©curitĂ© qui permet de figer le systĂšme Ă  chaque redĂ©marrage pour minimiser sa maintenance.

Le systÚme démarre automatiquement sur sa playlist en plein écran et permet de mettre en veille l'écran si nécessaire.

Avantages:

  • Panneau de configuration graphique en français
  • La version gratuite permet d’utiliser VLC avec les derniers accĂ©lĂ©rateurs matĂ©riel.
  • Permet de construire un affichage dynamique local ou distant Ă  moindre coĂ»t.
  • Permet de configurer une borne sĂ©curisĂ© qui se remet Ă  zĂ©ro Ă  chaque redĂ©marrage.

Principaux usages:

  • Affichage dynamique : Ă©cole, musĂ©e, hĂŽtel, magasin, restaurants, mairie, usine, bureau.
  • Kiosque Internet : Salle d'attente, bureau, Ă©cole, borne d'accĂšs Internet publique.
  • SystĂšme pour usage multiple : Media player dĂ©diĂ©, un poste en libre service et plus.

note:
Le version free de linutop OS 25 permet d'afficher en plein écran une vidéo de feu de bois ou un aquarium afin d'agrémenter votre confort visuel en fonction de la température.

NdM: le tutoriel ne semble pas encore avoir été mis à jour et mentionne encore les infos de la précédente version basée sur Ubuntu 18.04 (au lieu de Xubuntu 22.04 pour Linutop OS 25 selon l'annonce), cf configuration matérielle ou compatibilité matérielle. Idem pour la FAQ sur les différences entre les versions Free et Pro.

Commentaires : voir le flux Atom ouvrir dans le navigateur

Incident du 26 juin 2025 ayant touché les serveurs de production et de développement

27 juin 2025 Ă  10:39

Ayant simultanément ressenti un trouble dans la force, vos administrateurs des serveurs LinuxFr.org ont noté un souci sur le site hier matin. Et d'autres personnes de l'équipe ont aussi signalé le problÚme (supervision efficace et réactive par le lectorat).

Le serveur hébergeant les conteneurs de production et de développement a redémarré (hors de toute opération planifiée) à 06h15 Paris le 26 juin 2025, et contrairement aux redémarrages habituels pour les mises à jour, cela a entraßné un changement des adresses IP internes des conteneurs de production et de développement, aprÚs redémarrage (06h18). Tous les services avaient bien redémarré, mais les accÚs aux sites web n'étaient plus possibles : le serveur web frontal ne pouvait plus joindre les adresses prévues, aboutissant à des réponses techniques 502 Bad Gateway.

La correction sur les adresses IP a été faite à 08h08 pour la production et 08h16 pour le développement.

Les deux autres serveurs hĂ©bergĂ©s au mĂȘme endroit n'ont pas Ă©tĂ© affectĂ©s.

    Changement d'adresses IP

    Les conteneurs de production et de dĂ©veloppement sont configurĂ©s en DHCP et gardent normalement les mĂȘmes adresses sur les redĂ©marrages.

    Exemple de redémarrage propre pour des mises à jours de sécurité :

    mai 24 10:06:08 oups dnsmasq-dhcp[1256]: DHCPREQUEST(lxc0) 192.168.0.2 aa:aa:aa:aa:aa:aa
    mai 24 10:06:08 oups dnsmasq-dhcp[1256]: DHCPACK(lxc0) 192.168.0.2 aa:aa:aa:aa:aa:aa prod
    mai 24 10:06:22 oups dnsmasq-dhcp[1256]: DHCPRELEASE(lxc0) 192.168.0.2 aa:aa:aa:aa:aa:aa
    ---redémarrage---
    mai 24 10:08:57 oups dnsmasq-dhcp[1228]: DHCPDISCOVER(lxc0) 192.168.0.2 bb:bb:bb:bb:bb:bb
    mai 24 10:08:57 oups dnsmasq-dhcp[1228]: DHCPOFFER(lxc0) 192.168.0.2 bb:bb:bb:bb:bb:bb
    mai 24 10:08:57 oups dnsmasq-dhcp[1228]: DHCPREQUEST(lxc0) 192.168.0.2 bb:bb:bb:bb:bb:bb
    mai 24 10:08:57 oups dnsmasq-dhcp[1228]: DHCPACK(lxc0) 192.168.0.2 bb:bb:bb:bb:bb:bb prod
    

    (les IP, MAC et interfaces ont été changées)
    On a demande et attribution de l'IP pour une adresse MAC donnĂ©e, puis elle est relĂąchĂ©e Ă  l'arrĂȘt de la machine, puis rĂ©attribuĂ©e au dĂ©marrage.

    Incident :

    juin 26 03:57:46 oups dnsmasq-dhcp[951195]: DHCPREQUEST(lxc0) 192.168.0.2 cc:cc:cc:cc:cc:cc
    juin 26 03:57:46 oups dnsmasq-dhcp[951195]: DHCPACK(lxc0) 192.168.0.2 cc:cc:cc:cc:cc:cc prod
    ---redémarrage---
    juin 26 04:18:42 oups dnsmasq-dhcp[1222]: DHCPREQUEST(lxc0) 192.168.0.2 dd:dd:dd:dd:dd:dd
    juin 26 04:18:42 oups dnsmasq-dhcp[1222]: DHCPNAK(lxc0) 192.168.0.2 dd:dd:dd:dd:dd:dd address in use
    juin 26 04:18:46 oups dnsmasq-dhcp[1222]: DHCPDISCOVER(lxc0) dd:dd:dd:dd:dd:dd
    juin 26 04:18:46 oups dnsmasq-dhcp[1222]: DHCPOFFER(lxc0) 192.168.0.100 dd:dd:dd:dd:dd:dd
    juin 26 04:18:46 oups dnsmasq-dhcp[1222]: DHCPREQUEST(lxc0) 192.168.0.100 dd:dd:dd:dd:dd:dd
    juin 26 04:18:46 oups dnsmasq-dhcp[1222]: DHCPACK(lxc0) 192.168.0.100 dd:dd:dd:dd:dd:dd prod
    

    On a demande et attribution de l'IP pour une adresse MAC donnĂ©e. Elle n'est pas relĂąchĂ©e Ă  l'arrĂȘt de la machine, n'est pas disponible au redĂ©marrage, et une autre est alors attribuĂ©e.

    Nature du redémarrage

    Le redĂ©marrage a Ă©tĂ© brutal, sans arrĂȘt propre des services. Il ne s'agit donc pas d'un arrĂȘt logiciel propre depuis le serveur.

    La cause possible peut donc ĂȘtre un souci d'instabilitĂ© Ă©lectrique, l'arrĂȘt/extinction physique sur le serveur, un bug ou une faille logicielle, ou encore le redĂ©marrage Ă©lectrique via la carte d'administration. Cette cause n'est actuellement pas connue.

    Mesures préventives et correctives

    Il pourrait ĂȘtre utile de figer les IP internes et/ou d'assurer la synchronisation/reconfiguration du frontal web.

    Il n'est pas prévu d'avoir de la redondance sur la production à court/moyen terme, donc un souci sur le conteneur de production continuera à avoir un effet visible.

    La supervision peut certainement ĂȘtre amĂ©liorĂ©e (et l'Ă©tat des services rendu visible depuis un simple navigateur web).

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    Reçu hier — 26 juin 20254.1 🐧 Linux

    Ubuntu Maker Canonical Generated Nearly $300M In Revenue Last Year

    26 juin 2025 Ă  20:22
    A decade ago Canonical did around $81 million in revenue (2014) with a head count of around 337 at the company behind Ubuntu Linux while their Linux desktop efforts were still gaining a footing with OEMs/ODMs pre-loads, within enterprise desktop environments, and the lucrative server/cloud space. Canonical recently filed their 2024 annual report and they are now up to almost $300 million USD in revenue and a headcount of more than 1,100...

    06/26 Univention 5.2-2

    26 juin 2025 Ă  19:50
    Univention Corporate Server is an enterprise-class distribution based on Debian GNU/Linux. It features an integrated management system for central administration of servers, Microsoft Active Directory-compatible domain services, and functions for parallel operation of virtualised server and desktop operating systems. UCS offers such features as a single sign-on portal and an app centre. One key component of UCS is the Identity and Access Management (IAM) utility which acts as a central solution for managing identities, roles, and groups. The integrated portal with Single Sign-On and self-service functions provides access to all IT services and applications and can work across blended Linux, Windows, and macOS networks.

    06/26 Kubuntu 25.10-snapshot2

    26 juin 2025 Ă  19:50
    Kubuntu is a free, user-friendly Linux distribution based on KDE's desktop software and on the Ubuntu operating system. It has a biannual release cycle. Besides providing an up-to-date version of the KDE desktop at the time of the release, the project also releases updated KDE packages throughout the lifetime of each release.

    06/26 Edubuntu 25.10-snapshot2

    26 juin 2025 Ă  19:50
    Edubuntu is a partner project of Ubuntu, a distribution suitable for classroom use. The aim is that an educator with limited technical knowledge and skill will be able to set up a computer lab, or establish an on-line learning environment, in an hour or less, and then administer that environment without having to become a fully-fledged Linux geek.

    06/26 Ubuntu 25.10-snapshot2

    26 juin 2025 Ă  17:50
    Ubuntu is a complete desktop Linux operating system, freely available with both community and professional support. The Ubuntu community is built on the ideas enshrined in the Ubuntu Manifesto: that software should be available free of charge, that software tools should be usable by people in their local language and despite any disabilities, and that people should have the freedom to customise and alter their software in whatever way they see fit. "Ubuntu" is an ancient African word, meaning "humanity to others". The Ubuntu distribution brings the spirit of Ubuntu to the software world.

    06/26 openKylin 2.0-SP2-beta1

    26 juin 2025 Ă  15:50
    openKylin is a Chinese desktop distribution which runs the Kylin and UKUI desktop environments. Both Wayland and X11 sessions are available out of the box. The project is a member of the Debian family and can use APT package management tools. It also features a custom package format which is combined with a custom, modern software centre. openKylin is also a proving ground for custom utilities which assist the user in managing the operating system.

    Ubuntu 25.10 Snapshot 2 Released

    26 juin 2025 Ă  13:47
    Last month Canonical announced plans for releasing monthly Ubuntu Linux development snapshots and was followed by the Questing Snapshot 1 release in the road toward Ubuntu 25.10. Out today is the Questing Snapshot 2 release for incorporating the latest Ubuntu 25.10 development changes...

    06/26 Tails 6.17

    26 juin 2025 Ă  13:50
    The Amnesic Incognito Live System (Tails) is a Debian-based live DVD/USB with the goal of providing complete Internet anonymity for the user. The product ships with several Internet applications, including web browser, IRC client, mail client and instant messenger, all pre-configured with security in mind and with all traffic anonymised. To achieve this, Incognito uses the Tor network to make Internet traffic very hard to trace.

    Common Lisp ces deux derniÚres années: un monstre de l'évolution parmi nous

    Par :dzecniv · vmagnin · BAud · Benoßt Sibaud
    26 juin 2025 Ă  11:00

    Le langage Common Lisp n’est pas un dinosaure Ă©teint. À l’instar de certains requins, c’est une bestiole qui n’a cessĂ© d’évoluer pour devenir un prĂ©dateur redoutable aujourd’hui. C’est un langage qui Ă©clate l’auteur du journal Ă  l’origine de cette dĂ©pĂȘche, dzecniv, au quotidien depuis des annĂ©es, avec lequel il dĂ©ploie certains services facilement (venant de Python, il apprĂ©cie le dĂ©ploiement), alors il a de nouveau rĂ©digĂ© un petit rĂ©capitulatif de ce qui s’est passĂ© dans cet Ă©cosystĂšme ces deux derniĂšres annĂ©es.

    Vous prendrez garde Ă  ne pas conclure que les bibliothĂšques et projets qui sont prĂ©sentĂ©s ici sont les seuls de leur domaine, ni que tous les nouveaux projets sont listĂ©s, ni qu’il s’agit d’un aperçu complet de l’écosystĂšme.

    Sommaire

    (NdM: dans la suite, l'auteur du journal Ă  l’origine de la dĂ©pĂȘche s'exprime Ă  la premiĂšre personne)

    Pour avoir un aperçu plus global de l'Ă©cosystĂšme, veuillez faire une petite recherche sur GitHub, surveillez reddit/r/lisp et reddit/r/common_lisp, utilisez un moteur de recherche, ou commencez par jeter un coup d’Ɠil sur la liste awesome-cl.

    Il me tient Ă  cƓur de faire cette liste, car de l’extĂ©rieur on ne se rend pas forcĂ©ment compte Ă  quel point, certes, le langage et l’écosystĂšme sont stables, mais qu’ils Ă©voluent Ă©galement.

    S’il fallait en choisir trois, je mettrais ces travaux en avant :

    1. je suis impressionnĂ© par tout ce qui se passe autour de l’implĂ©mentation SBCL (et des travaux en cours sur ECL et ClozureCL)
    2. j’adore l’éditeur Lem, et suis Ă©galement impressionnĂ© par tous les modules qu’il comporte dĂ©jĂ , par la qualitĂ© de sa base de code et par la facilitĂ© avec laquelle on peut l’explorer, ce qui est aussi rendu facile par l’interactivitĂ© du langage
    3. plusieurs outils pour Ă©crire et exĂ©cuter des scripts plus rapidement que d’habitude Ă©mergent, et sont nĂ©cessaires Ă  mon avis.

    Bonne découverte.

    Opus Modus v3

    Hacker News est passé de Racket à Common Lisp (SBCL)

    C’est une nouvelle plutĂŽt cool pour nous les publicitaires pro du langage. HN a Ă©tĂ© dĂ©veloppĂ© avec le dialecte de Lisp Arc, initialement implĂ©mentĂ© avec Racket, et pour des questions de performance ils l’ont rĂ©-implĂ©mentĂ© en Common Lisp, avec SBCL.

    Pour plus de contexte : Paul Graham (avec Robert Morris) crĂ©e Viaweb en 1995, le premier fournisseur d’applications en ligne (pour garder la terminologie de WikipĂ©dia, page Paul Graham), dĂ©veloppĂ© en Common Lisp, avec l’implĂ©mentation CLisp. Cette implĂ©mentation existe toujours et est lĂ©gĂšrement dĂ©veloppĂ©e, mais il est gĂ©nĂ©ralement conseillĂ© d’utiliser SBCL (qui colle mieux au standard, qui est plus performante, qui donne plus d’indications de typage pendant le dĂ©veloppement, etc.). “PG” vend Viaweb Ă  Yahoo en 1998 (pour ce qui devient Yahoo! Store), et fonde l’incubateur de start-ups YCombinator. PG n’était pas satisfait par Common Lisp, au tout au moins (lĂ , je n’ai pas les sources) voulait un dialecte plus succinct, qui permette d’écrire des applications web de maniĂšre plus compacte. Il Ă©bauche un dialecte de Lisp, appelĂ© Arc, et l’implĂ©mente avec Racket (MzScheme Ă  l’époque). Le site de Hacker News (gĂ©rĂ© par YCombinator) fut donc Ă©crit en Arc avec cette premiĂšre implĂ©mentation.

    Le responsable (ou un des responsables) du portage vers SBCL et modĂ©rateur d’Hacker News, dang, explique :

    [Clarc, l’implĂ©mentation en Common Lisp] est beaucoup plus rapide et permet de faire tourner HN sur plusieurs cƓurs. Ça a Ă©tĂ© un travail de fond de quelques annĂ©es, principalement parce que je ne trouve pas le temps pour travailler dessus.

    Les sources du site d’HN ne seront pas publiĂ©es pour ne pas dĂ©voiler de multiples mĂ©canismes anti-spam et anti-abus (les sĂ©parer du code source serait « beaucoup de travail Â»), mais les sources de Clarc pourraient l’ĂȘtre, avec un peu plus d’efforts pour les sĂ©parer du code d’HN.

    https://lisp-journey.gitlab.io/blog/hacker-news-now-runs-on-top-of-common-lisp/

    C’est quoi Common Lisp ?

    C’est un langage multi-paradigmes, et selon les implĂ©mentations, comme avec SBCL : compilation en code machine trĂšs performant, typage graduel, trĂšs interactif :

    • dĂ©bogueur interactif, permet de corriger une fonction, de la re-compiler et de reprendre l’exĂ©cution depuis la fonction boguĂ©e, sans devoir tout relancer de zĂ©ro (dĂ©mo youtube)
    • ne perd pas l’état du programme en cours quand on travaille avec un bon Ă©diteur
    • permet mĂȘme de contrĂŽler comment des instances sont mises Ă  jour lorsque la dĂ©finition d’une classe change (pas forcĂ©ment utile pour le quotidien on est d’accord, encore que, quand on sait le faire on en tire parti, mais c’est pensĂ© pour les systĂšmes Ă  longue durĂ©e de vie, qu’on peut patcher pendant qu’ils tournent),
    • un REPL avec beaucoup de fonctionnalitĂ©s (ne redĂ©marre jamais, on peut installer des bibliothĂšques depuis le REPL), extrĂȘmement utile et satisfaisant en tant que dĂ©veloppeur (j’en ai toujours un d’ouvert),
    • on compile fonction par fonction avec un raccourci clavier, SBCL nous donne beaucoup de warnings et d’erreurs de typage instantanĂ©ment (et pour du Haskell intĂ©grĂ© dans Common Lisp, cf. Coalton ci-dessous).

    Définir une fonction :

    (defun hello ()
      (print "hello!"))
    
    ;; Appeler la fonction:
    (hello)

    Compiler la fonction :

    • soit C-c C-c depuis tout bon Ă©diteur, sans quitter le programme, sans redĂ©marrer quoi que ce soit,
    • soit C-c C-k depuis l’éditeur, pour re-compiler le fichier,
    • soit sbcl --load hello.lisp depuis la ligne de commande (ce qu’on va donc faire rarement, seulement de temps en temps pour vĂ©rifier que ça passe, pour construire un binaire, pour dĂ©ployer depuis les sources
)

    Liens :

    La communauté

    Elle est active, il y a des Ă©vĂšnements IRL rĂ©guliers dans quelques villes, l’European Lisp Symposium chaque annĂ©e


    On peut voir les chiffres de la communautĂ© reddit/r/common_lisp (plus petite que le plus gĂ©nĂ©ral “lisp”),

    La communauté est présente sur reddit, Discord (lien: https://discord.gg/hhk46CE), IRC, Mastodon, LinkedIn


    Documentation

    On a la chance d’avoir de trĂšs bons livres sur CL, mais historiquement peu de doc en ligne. Ça Ă©volue.

    Les spĂ©cifications du langage ont Ă©tĂ© portĂ©es vers des sites beaucoup plus sympas Ă  l’utilisation que le site de rĂ©fĂ©rence, comme le Common Lisp Community Spec, site Ă©galement publiĂ© sous licence libre,

    Le Common Lisp Cookbook reçoit un bon nombre de contributions. On peut le trouver en EPUB : https://github.com/LispCookbook/cl-cookbook/releases/tag/2025-01-09

    Le livre PAIP est maintenant disponible en ligne : https://norvig.github.io/paip-lisp/#/

    J’ai sorti un nouveau site sur le dĂ©veloppement web en Common Lisp : https://web-apps-in-lisp.github.io/index.html

    FreeCodeCamp a publiĂ© un cours “complet” sur Youtube : https://www.reddit.com/r/Common_Lisp/comments/1i1e766/lisp_programming_language_full_course_for/

    cf. d’autres vidĂ©os sympas ici : https://www.cliki.net/Lisp%20Videos

    J’ai sorti neuf vidĂ©os (1h22) pour expliquer CLOS, le systĂšme objet : https://lisp-journey.gitlab.io/blog/clos-tutorial-in-9-videos-1h22min--read-the-sources-of-hunchentoot-and-kandria/

    Les implémentations

    Il s’en passe des choses.

    SBCL

    SBCL a toujours des sorties mensuelles : https://www.sbcl.org/news.html

    SBCL s’est vue dotĂ©e d’un nouveau GC.

    Entre autres choses, rapidement :

    • appeler SBCL comme une bibliothĂšque partagĂ©e depuis C ou Python, avec sbcl-librarian (par les mĂȘmes personnes derriĂšre Coalton) (recette sur le Cookbook),
    • compilation croisĂ©e pour Android
    • support pour Haiku
    • « memory allocation arenas Â» pour arm64
    • amĂ©liorations du module sb-simd
    • SBCL est portĂ© pour la Nintendo Switch, pour les besoins du jeu Kandria (cf plus bas)
    • installation facile sur Windows avec Chocolatey (non officiel)
    • ou des builds quotidiens pour MSYS2

    ABCL - CL pour Java

    ABCL a sorti des nouvelles versions :

    Et Clojure ? Je ne connais qu’à peine (ça reste du Java, ça reste gourmand en ressources, le REPL est moins riche en fonctionnalitĂ©s, le langage ne donne pas d’erreurs de type Ă  la compilation avec un C-c C-c), donc je peux juste citer d’autres lispers. cf. :

    CCL, LispWorks, Allegro, ECL, CLASP, SICL, LCL, Alisp, Medley

    Ces implémentations sont actives.

    ECL a un module pour WASM, en cours de développement mais qui permet déjà de lancer Maxima, un logiciel de calcul formel, dans un navigateur.

    Breaking news: ECL vient d'ĂȘtre acceptĂ© par NLNet pour justement travailler sur ce module.

    Pour info, on peut également utiliser Maxima via SageMath, avec KDE Cantor, avec l'interface graphique wxMaxima, sur Android, dans un "notebook" Jupyter, via Emacs avec le paquet "maxima-mode", et on peut faciliter son utilisation depuis un REPL Common Lisp et avec maxima-interface.

    CLASP, pour interfacer CL et C++ nativement, est toujours développé par une start-up en bio technologies :

    SICL est peut-ĂȘtre le futur de Common Lisp. C’est une nouvelle implĂ©mentation, modulaire. Des bouts sont dĂ©jĂ  utilisĂ©s dans d’autres implĂ©mentations.

    Medley est la rĂ©-incarnation de la Medley Interlisp Lisp Machine. Je ne l’ai pas connue, trop jeune. On peut la tester via un navigateur.

    LCL pour Lua Common Lisp est une nouvelle implémentation, Alisp est une nouvelle implémentation en cours de développement (en C).

    Industrie, offres d’emplois

    Il y a peu d’offres, publiques en tout cas, on voit des opportunitĂ©s passer de maniĂšre moins formelle sur les rĂ©seaux. Mais il y en a (cf. le lien original, par ex. une offre pour 3E Ă  Bruxelles).

    Et oui, certaines entreprises utilisent toujours Common Lisp, et certaines entreprises choisissent de leur plein grĂ© ce langage comme base de leurs nouveaux produits. On le voit surtout dans le domaine de l’informatique quantique, et toujours pour une certaine forme d’IA. Mais des boĂźtes plus classiques peuvent en tirer parti. On voit des logiciels de management de projet (Planisware, cocorico c’est une boĂźte française, dĂ©veloppĂ© avec l’implĂ©mentation Allegro), du dĂ©veloppement web, des bots internet


    Quelques exemples :

    et des usages, moins dans l’actualitĂ© :

    Projets cools

    Éditeurs

    Éditeurs pour Lisp : https://lispcookbook.github.io/cl-cookbook/editor-support.html (il y en a d’autres qu’Emacs, mais essayez donc !)

    Lem : https://lem-project.github.io/

    Construit en CL, il est donc extensible Ă  la volĂ©e en Lisp, comme Emacs. Contient un client LSP qui fonctionne pour de nombreux autres langages, et des modes syntaxiques plus classiques pour nombre d’autres.

    Quelques fonctionnalités de Lem :

    • mode vim et Emacs
    • interface Git interactive (opĂ©rations classiques, rebase interactive (sans les actions “edit” ou “reword”))
    • navigateur de fichiers
    • panneau de navigation
    • terminal via libvterm
    • curseurs multiples
    • pour le terminal (ncurses) et le bureau (SDL2), et une version “cloud” pour Ă©dition collaborative en chantier.
    • Tetris (en mode graphique)

    Lem filer

    Nouveau projet : Neomacs https://github.com/neomacs-project/neomacs basé sur Electron

    Coalton : comme Haskell, pour Common Lisp

    En les citant, Coalton c’est :

    the implementation of a static type system beyond Haskell 95. Full multiparameter type classes, functional dependencies, some persistent data structures, type-oriented optimization (including specialization and monomorphization). All integrated and native to CL without external tools.

    C’est une bibliothĂšque logicielle qu’on installe comme n’importe quelle autre, mais qui fournit un autre langage pour Ă©crire des programmes typĂ©s statiquement, tout en s’interfaçant de maniĂšre native avec son langage hĂŽte.

    Coalton est dĂ©veloppĂ© Ă  l’origine pour des boĂźtes dans l’informatique quantique. Cf le compilateur quilc.

    Ce n’est donc pas un jouet. Et si les dĂ©veloppeurs ne font pas un tonnerre de tous les diables pour montrer leur travail incroyable, c’est qu’ils bossent ;) (mais ils rĂ©pondront au FUD sur HN).

    Les gestionnaires de bibliothĂšques

    Depuis au moins 10 ans, le « package manager Â» qui rend de fidĂšles services est Quicklisp. Il sort des distributions de bibliothĂšques, qui ont Ă©tĂ© vĂ©rifiĂ©es pour charger correctement. La derniĂšre en date Ă©tait en octobre :

    Et oui, elle date un peu. Plusieurs explications Ă  cela, Ă  lire et discuter par ailleurs.

    Aujourd’hui, de nouveaux outils Ă©mergent:

    Développement de jeux

    Le meilleur exemple dans ce domaine est Kandria, qui est sorti sur Steam :

    • https://kandria.com/
    • retours d’expĂ©rience (anglais): oĂč oui, Common Lisp (ici SBCL) est assez performant pour faire tourner un jeu, y compris sur la Nintendo Switch, Ă  condition de surveiller la crĂ©ation d'objets en mĂ©moire.

    Son auteur augmente maintenant son moteur de jeu pour la 3D. On peut le suivre et voir une démo sur Mastodon.

    On trouvera d’autres ressources, par exemple :

    Une fonctionnalitĂ© incroyablement utile pour les dĂ©veloppeurs, est qu’on peut dĂ©velopper son jeu pendant qu’il tourne. Compiler une fonction avec C-c C-c, et voir le jeu changer. Sans tout relancer de zĂ©ro Ă  chaque fois.

    La communautĂ© organise 2 fois par an des « Lisp Game Jam Â». OĂč tous les dialectes de Lisp sont permis ;)

    Interfaces graphiques

    C’est un large sujet, et de multiples bibliothĂšques existent, plus ou moins faciles Ă  prendre en main, plus ou moins portables, etc. Mais voyez la capture d’écran d’Opus Modus en introduction : c’est bien un logiciel graphique multi-plateformes. Dans ce cas, dĂ©veloppĂ© avec LispWorks. Par ailleurs, LispWorks possĂšde un “runtime” pour Android et iOs.

    Je vais vous laisser voir awesome-cl ou l’article original.

    Le web, les web views, Electron

    Le web en Common Lisp c’est faisable (et je le fais), on a pas mal de bibliothĂšques pour divers besoins, on a quelques “frameworks”, minimalistes. Il faut ĂȘtre prĂȘt Ă  mettre les mains dans le cambouis, Ă  mieux connaĂźtre le web que lorsqu’on utilise des “frameworks” de haut niveau qui ont beaucoup de couches d’abstraction. Ceci dit, la mallĂ©abilitĂ© du langage, sa performance, son multi-threading, ses excellents outils de dĂ©veloppement, ses fonctionnalitĂ©s avancĂ©es, son dĂ©ploiement facile
 font que certaines choses compliquĂ©es dans un autre langage, ou qui nĂ©cessiteront une bibliothĂšque, se font en quelques lignes de maniĂšre native.

    Ce qui me plaĂźt, c’est la stabilitĂ© du langage et de l’écosystĂšme, l’efficience des programmes (de l’ordre de C ou Java, une comparaison parmi d'autres, retours Ă  trouver dans ses articles postĂ©rieurs et sur HN), et encore et toujours l’interactivitĂ© pendant le dĂ©veloppement, le fait que le serveur de dĂ©veloppement ne redĂ©marre jamais, ne me fait pas attendre et reste rĂ©actif, et comme je disais plus haut le dĂ©ploiement d’applications, facile : je peux gĂ©nĂ©rer un binaire de mon appli web, comprenant tous les fichiers statiques (templates HTML, le JavaScript, etc), le copier sur mon serveur, et c’est tout. Ou le vendre et ne pas devoir accompagner mon client pendant l’installation.

    C’est ce que dit aussi l’auteur de Screenshotbot (projet open-source d’automatisation de prise de captures d’écran). Quand sa concurrence fait installer ses solutions via npm, il livre un petit binaire qui fait tout. Et j’ai bien dit petit, donc ±10Mo pour le projet et toutes ses dĂ©pendances, car il utilise LispWorks, qui permet d’enlever le code mort de l’image finale, alors que SBCL ne permet pas (encore ?) cela et les binaires pĂšsent ±30Mo compressĂ©s, 80Mo non compressĂ©s. NĂ©anmoins, un binaire (compressĂ©) de 30Mo (c’est le cas pour une application Ă  moi qui inclue une douzaine de dĂ©pendances) contient le dĂ©bogueur, le compilateur
 ce qui permet de se connecter Ă  une application pendant qu’elle tourne et de charger du code Ă  la volĂ©e. On peut s’en servir pour observer ce qu’il se passe autant que pour faire des mises Ă  jour. Au choix ! Mais oui, on peut garder les bonnes pratiques de l’industrie.

    Pour démarrer sur le sujet :

    Comme outils moins classiques, on a CLOG (CL Omnificient GUI), qui permet le dĂ©veloppement d’applications web un peu comme une interface graphique, avec une grande interactivitĂ© pendant le dĂ©veloppement (via websockets).

    CLOG

    L’infatigable lisper @mmontone se lance dans mold-desktop, un desktop pour le web, en suivant les principes de « moldable software Â».

    mold-desktop

    Enfin, un article pour prĂ©senter les trois « web views Â» pour Common Lisp: webview, webui, Electron. On peut dĂ©livrer une application multi-plateformes Ă©crite avec les technologies du web.

    Une application web lancée en local dans un navigateur, avec webview

    Scripting

    En Common Lisp peut lancer un programme depuis les sources, ou bien générer un exécutable.

    Mais, par dĂ©faut, l’un ou l’autre sont un peu lourds Ă  l’usage et ne satisfont pas vraiment le dĂ©veloppeur pressĂ© qui souhaite lancer un petit script Ă©crit en Lisp. C’est aussi un peu pour cela qu’on reste tant dans le REPL, oĂč toute procĂ©dure une fois dĂ©finie est instantanĂ©ment appelable. On n’a pas vĂ©ritablement besoin de passer par le terminal.

    Mais des projets élargissent les possibilités.

    kiln: « Infrastructure for scripting in Common Lisp to make Lisp scripting efficient and ergonomic Â» - soit, pouvoir appeler du Lisp depuis le shell de maniĂšre lĂ©gĂšre.

    unix-in-lisp - il paraüt fou ce projet : on “monte” les utilitaires Unix dans son image Lisp.

    CIEL Is an Extended Lisp (discussion HN) - 100% Common Lisp, « batteries included Â»

    • une collection de bibliothĂšques pour rendre CL plus utile au quotidien aujourd’hui : inclue des bibliothĂšques pour le JSON, le web, le CSV, les expressions rĂ©guliĂšres

    • un moyen de lancer des scripts au dĂ©marrage rapide et sans Ă©tape de “build”, avec toutes les bibliothĂšques Ă  disposition.

    Vidéos

    Voici une petite sélection.

    Des dĂ©mos d’applications :

    Apprendre :

    De l’European Lisp Symposium 2024 :

    Conclusion

    C’était un compte-rendu Ă©courtĂ© qui vous aura, je l’espĂšre, donnĂ© envie d’en voir plus.

    En Common Lisp on s’éclate ET on dĂ©livre du logiciel, ce qui n’est pas donnĂ© Ă  tout le monde ;)

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    Firefox 141 Promises to Use Less Memory on Linux Systems, Beta Out Now

    25 juin 2025 Ă  20:01

    Firefox 141 Beta

    Firefox 141 open-source web browser is now available for public beta testing with various new features and improvements. Here’s what to expect!

    The post Firefox 141 Promises to Use Less Memory on Linux Systems, Beta Out Now appeared first on 9to5Linux - do not reproduce this article without permission. This RSS feed is intended for readers, not scrapers.

    ❌