Vue normale
Bcachefs Changes End Up Being Merged Into Linux 6.16, For 6.17: "We'll Be Parting Ways"
AMD Platinum Sponsor Of Debian's DebConf25 - Promoting ROCm
A Hat in Time gets a surprise update with DirectX 12 and Vulkan support
.
Read the full article on GamingOnLinux.
First-person dungeon-crawler Monomyth gets better Steam Deck and gamepad support
.
Read the full article on GamingOnLinux.
Linutop OS 25 un systĂšme complet pour les kiosques ou lâaffichage dynamique sur PC
Linutop OS 25 est basé sur Xubuntu 22.04 pour PC, il est dédié à l'affichage dynamique ou au kiosque sécurisé.
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.
- lien ná” 1 : Linutop OS 25
- lien nᔠ2 : Télécharger Linutop OS Free pour PC
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
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
Painkiller reboot confirmed for launch on October 9
.
Read the full article on GamingOnLinux.
-
GamingOnLinux
- Blending a comedy visual novel with pachinko, Jump the Track adds Linux and macOS support
Blending a comedy visual novel with pachinko, Jump the Track adds Linux and macOS support
.
Read the full article on GamingOnLinux.
Steam gets more fixes for Legion Go S, 8BitDo and the In-Game Overlay
.
Read the full article on GamingOnLinux.
VirtualBox 7.2 Beta 2 Preps Linux 6.16 Support, More Windows On ARM Enhancements
Rust 1.88 Released With Improvements For Naked Functions, Chaining Let Statements
Ubuntu Maker Canonical Generated Nearly $300M In Revenue Last Year
Steam Summer Sale 2025 is live - here's some top picks all under ÂŁ20
.
Read the full article on GamingOnLinux.
06/26 Univention 5.2-2
06/26 Kubuntu 25.10-snapshot2
06/26 Edubuntu 25.10-snapshot2
Mesa 25.2 RADV Driver Merges Support For AV1 Vulkan Video Encode
Ubuntu 25.10 Snapshot 2 is Now Available to Download
The second monthly snapshot of Ubuntu Questing Quokka (to become Ubuntu 25.10 when released in October 9) is now available.
You're reading Ubuntu 25.10 Snapshot 2 is Now Available to Download, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.
06/26 Ubuntu 25.10-snapshot2
Mir 2.21 Released With Cursor Scaling & Mouse Keys Support
Vulkan API developers try to address some developer frustrations with a new extension
.
Read the full article on GamingOnLinux.
Oracle Linux 10 Reaches GA, Available With Unbreakable Enterprise Kernel 8.1
-
GamingOnLinux
- 10 years after release Dying Light: Retouched is a nice upgrade for the Techland zombie game
10 years after release Dying Light: Retouched is a nice upgrade for the Techland zombie game
.
Read the full article on GamingOnLinux.
-
GamingOnLinux
- It took a while but the excellent co-op horror game R.E.P.O. just got a major content update
It took a while but the excellent co-op horror game R.E.P.O. just got a major content update
.
Read the full article on GamingOnLinux.
Humble Choice is getting another price increase
.
Read the full article on GamingOnLinux.
06/26 openKylin 2.0-SP2-beta1
Firefox 141 Beta Lowering RAM Use On Linux But Still Benchmarking Behind Chrome
Ubuntu 25.10 Snapshot 2 Released
Mecha BREAK now Steam Deck Verified and SteamOS Compatible ahead of release
.
Read the full article on GamingOnLinux.
Chroma Blasters is a challenging music-driven twin-stick arcade shooter
.
Read the full article on GamingOnLinux.
-
GamingOnLinux
- KDE devs disable potentially seizure inducing Plasma effect as accessibility work continues
KDE devs disable potentially seizure inducing Plasma effect as accessibility work continues
.
Read the full article on GamingOnLinux.
06/26 Tails 6.17
AMD CPUID Faulting Support Looks To Be Coming For Linux 6.17
Bochs DRM Panic Support, Panfrost Adds Mediatek MT8370 SoC For Linux 6.17
Blender 5.0 Introducing HDR Support On Linux With Vulkan + Wayland
Number Machine is an open-ended factory and automation game with math mechanics
.
Read the full article on GamingOnLinux.
Get Bioshock: The Collection and Mafia Trilogy in the latest Humble Bundle
.
Read the full article on GamingOnLinux.
Common Lisp ces deux derniÚres années: un monstre de l'évolution parmi nous
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.
- lien ná” 1 : Journal Ă lâorigine de la dĂ©pĂȘche
Sommaire
- Hacker News est passé de Racket à Common Lisp (SBCL)
- Câest quoi Common Lisp ?
- La communauté
- Documentation
- Les implémentations
- Industrie, offres dâemplois
- Projets cools
- Vidéos
- Conclusion
(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 :
- je suis impressionnĂ© par tout ce qui se passe autour de lâimplĂ©mentation SBCL (et des travaux en cours sur ECL et ClozureCL)
- 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
- plusieurs outils pour Ă©crire et exĂ©cuter des scripts plus rapidement que dâhabitude Ă©mergent, et sont nĂ©cessaires Ă mon avis.
Bonne découverte.
- article originel : https://lisp-journey.gitlab.io/blog/these-years-in-common-lisp-2023-2024-in-review/
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 :
- https://lisp-lang.org/
- les bons Ă©diteurs aujourdâhui : https://lispcookbook.github.io/cl-cookbook/editor-support.html (Emacs, Vim, Pulsar, Jupyter notebooks, VSCode, SublimeâŠ)
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 :
- ABCL 1.9.1
- 1.9.2
- nouvel outil : ABCL memory compiler
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. :
- Clojure VS Common Lisp (pas forcément trÚs partial)
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 :
- https://keepit.com/
- https://graphmetrix.com/Aconex
- https://blog.funcall.org/lisp%20psychoacoustics/2024/05/01/worlds-loudest-lisp-program/
- https://www.ravenpack.com/
- pour plus : awesome lisp companies
et des usages, moins dans lâactualitĂ© :
- comment pgloader est passé de Python à Common Lisp : https://tapoueh.org/blog/2014/05/why-is-pgloader-so-much-faster/
- Google : ITA Software (propulse les réservations de vols en ligne)
- http://www.siscog.pt/ (quand vous prenez le métro dans une capitale européenne telle que Londres ou Lisbonne, il y a un systÚme Lisp derriÚre)
- ScoreCloud: une application mobile (LispWorks) qui écrit la partition musicale de ce que vous jouez, chantez ou sifflotez
- etc.
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)
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:
- https://github.com/ocicl/ocicl « pour tirer parti du monde des containers »
- Ultralisp (basĂ© in-fine sur lâoutil Quicklisp, mais pas son mode de distribution), continue Ă Ă©voluer : https://github.com/ultralisp/ultralisp/
- Qlot évolue (pour des dépendances par répertoire, à la pip, npm etc, comme ocicl d'ailleurs) https://github.com/fukamachi/qlot/releases/tag/1.4.1
- un nouvel outil, qui permet de simplement âvendorerâ ses dĂ©pendances (les inclure, comme du code, dans son projet) : https://github.com/fosskers/vend
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 :
- ECS and metalinguistic abstractions
- un petit jeu : Nano Towers
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 :
- https://lispcookbook.github.io/cl-cookbook/web.html
- https://github.com/CodyReichert/awesome-cl/
- https://web-apps-in-lisp.github.io/
- https://dev.to/rajasegar/building-a-rentals-listing-web-application-in-common-lisp-4nn3
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).
Lâinfatigable lisper @mmontone se lance dans mold-desktop, un desktop pour le web, en suivant les principes de « moldable software ».
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.
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 :
- AudioVisual in CommonLisp (cl-collider, cl-visual) (screencast)
- Cheesy trailer for recent kons-9 3D graphics features.
- Drum N Bass in CommonLisp
- Drum and Bass with a Counterpoint - How to Tutorial - Opusmodus
- How Lisp is designing Nanotechnology (Developer Voices, with Prof. Christian Schafmeister) (Youtube)
- How to Package Common Lisp Software for Linux? EN Subs (alien-works-delivery, linux-packaging)
- Melodic Techno - How to Tutorial - Opusmodus
- The Opusmodus Studio - Everything I didn't know I needed - Subject Sound (YouTube)
- Welcome to Opusmodus (Youtube)
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
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.