Category: Développement

GNOME augmente sa dépendance à systemd : défis pour les environnements sans systemd

2025-06-11

L'environnement de bureau GNOME augmente sa dépendance à systemd, ce qui pose des défis aux environnements sans systemd, tels que les systèmes BSD. GNOME 49 supprimera le gestionnaire de services intégré de gnome-session et dépendra de userdb de systemd pour la gestion des utilisateurs. Cela nécessite que les distributions sans systemd implémentent des alternatives à systemd, telles que elogind et eudev, et fournissent le support nécessaire pour l'API userdb ; sinon, GNOME ne fonctionnera pas correctement. L'article détaille les composants systemd à remplacer et les stratégies d'atténuation correspondantes, en recommandant l'utilisation de systemd ou la régression vers la version GNOME 48.

Développement

Débogueurs : Plongeon au cœur de l’architecture d’un outil de débogage logiciel

2025-06-11
Débogueurs : Plongeon au cœur de l’architecture d’un outil de débogage logiciel

Ceci est le premier d’une série d’articles sur l’architecture des débogueurs. L’auteur, s’appuyant sur des années d’expérience dans le développement de débogueurs, explore les principes fondamentaux et l’importance de cet outil souvent négligé. Plus qu’un simple outil de correction de bogues, un débogueur fournit des informations détaillées sur l’exécution des programmes et permet de vérifier l’exactitude du code. L’article détaille le fonctionnement des débogueurs, notamment l’interaction avec le noyau, les fonctionnalités de débogage du processeur, la mise en œuvre des points d’arrêt et l’exécution pas à pas du code. Les articles suivants exploreront des sujets plus avancés et l’orientation du développement des débogueurs.

Développement

FreeBSD 14.3 publié : Améliorations de ZFS, des pilotes WiFi et plus encore

2025-06-11

FreeBSD 14.3, une version stable servant de tremplin à FreeBSD 15, est désormais disponible. Cette version intègre de nombreuses améliorations de FreeBSD 15, notamment : ZFS mis à jour vers OpenZFS 2.2.7 ; pilotes WiFi Realtek RTW88 et RTW89 fusionnés basés sur le noyau Linux 6.14 ; améliorations de LinuxKPI pour le déchargement cryptographique et la prise en charge des normes 802.11n/ac ; prise en charge du pilote Intel IX Ethernet pour les modules x550 1000BAS-BX SFP ; et mises à jour de XZ, OpenSSH, OpenSSL et de nombreux autres paquets. Le pilote de console hérité Syscons est obsolète.

Développement

Projet Sophie Germain Prime : Une base de données pour les nombres premiers spéciaux

2025-06-11

Le projet Sophie Germain Prime est une base de données dédiée à la collecte, à l'analyse et à la distribution des nombres premiers de Sophie Germain. Ces nombres premiers spéciaux p satisfont à la condition que 2p + 1 est également premier (un nombre premier sûr). Le projet catégorise également les nombres premiers sûrs ((p-1)/2 est également premier) et les nombres premiers de Blum (p ≡ 3 (mod 4)). Les nombres premiers de Sophie Germain sont largement utilisés en cryptographie à clé publique et dans les tests de primalité. Maintenu par Kamila Szewczyk, il soutient la recherche sur des algorithmes tels que le générateur de nombres aléatoires Blum-Blum-Shub. Une API permet aux utilisateurs de soumettre et d'interroger des nombres premiers, mais des limites de débit s'appliquent.

Développement

Mai : Contrôlez l'IA avec vos lunettes Meta via Messenger

2025-06-10
Mai : Contrôlez l'IA avec vos lunettes Meta via Messenger

Mai est une extension de navigateur qui vous permet de contrôler divers robots IA (ChatGPT, Claude, etc.) à l'aide de commandes vocales via vos lunettes intelligentes Meta Rayban ou l'application Messenger. Elle contourne intelligemment les limitations pour envoyer des messages à des modèles IA personnalisés. Les utilisateurs peuvent configurer plusieurs clés API, envoyer des messages et des images à différents services IA et même convertir les réponses en voix. Bien qu'encore en phase initiale, Mai montre le potentiel de la future intégration de l'IA avec les objets connectés.

Développement

arXivLabs : Projets expérimentaux avec des collaborateurs de la communauté

2025-06-10
arXivLabs : Projets expérimentaux avec des collaborateurs de la communauté

arXivLabs est un cadre qui permet aux collaborateurs de développer et de partager de nouvelles fonctionnalités d'arXiv directement sur notre site web. Les individus et les organisations qui travaillent avec arXivLabs ont adopté et accepté nos valeurs d'ouverture, de communauté, d'excellence et de confidentialité des données des utilisateurs. arXiv est engagé envers ces valeurs et ne travaille qu'avec des partenaires qui les respectent. Vous avez une idée de projet qui ajoutera de la valeur à la communauté d'arXiv ? En savoir plus sur arXivLabs.

Développement

XenevaOS : Un système d'exploitation open source créé de zéro

2025-06-10
XenevaOS : Un système d'exploitation open source créé de zéro

XenevaOS est un nouveau système d'exploitation créé de toutes pièces, prenant en charge les architectures x86_64 et ARM64. Son noyau, 'Aurora', possède une conception hybride. Ce projet open source accepte les contributions des développeurs. Les fonctionnalités actuelles incluent : prise en charge ACPI, noyaux x64 et arm64, mémoire complète de la moitié supérieure, chargement de pilotes DLL, USB3, audio haute définition, prise en charge multiprocesseur (le planificateur multiprocesseur n'est pas encore prêt), bibliothèque graphique Chitralekha, gestionnaire de fenêtres Deodhai, environnement de bureau Namdapha, divers supports de stockage, prise en charge réseau (IPv4, UDP/IP, TCP/IP, ICMP) et applications de base (lecteur audio, navigateur de fichiers, etc.). Le projet est actuellement construit sous Windows.

Développement

Hommage à Mikeal Rogers : Un phare de la communauté open source

2025-06-10
Hommage à Mikeal Rogers : Un phare de la communauté open source

Cet hommage émouvant se souvient de Mikeal Rogers, un contributeur clé de Node.js, décédé des suites d'un cancer agressif. L'auteur retrace leur parcours commun et l'impact profond de Mikeal sur la communauté open source. Le génie technique de Mikeal, sa pensée claire et son humanité authentique ont brillé, soulignant la connexion humaine au cœur du code. Il a défendu l'open source comme une promesse, pas seulement une licence, en mentorant les autres et en favorisant leur croissance. L'auteur s'engage à poursuivre l'héritage de Mikeal en construisant des communautés inclusives et ouvertes.

Développement

Ubuntu 25.10 abandonne le support Xorg pour GNOME, adopte exclusivement Wayland

2025-06-10
Ubuntu 25.10 abandonne le support Xorg pour GNOME, adopte exclusivement Wayland

Ubuntu 25.10, nom de code "Questing Quokka", apporte un changement significatif : l’environnement de bureau GNOME par défaut utilisera exclusivement Wayland, abandonnant le support de Xorg. Ce n’est pas une décision soudaine ; GNOME est en train de supprimer progressivement le support de Xorg, et Canonical s’adapte de manière proactive. Cela donne aux utilisateurs et aux développeurs un cycle de publication complet pour s’adapter avant la prochaine version LTS, Ubuntu 26.04, prévue pour l’année prochaine. Ce changement est motivé par la maturité de Wayland, l’amélioration du support des pilotes Nvidia, une meilleure gestion des écrans tactiles et des écrans haute résolution, et une simplification du développement en évitant la maintenance de deux serveurs d’affichage. Bien que certains utilisateurs dépendent de Xorg, il ne disparaîtra pas complètement ; il pourra toujours être installé et utilisé avec d’autres environnements de bureau. La plupart des applications X11 continueront de fonctionner via XWayland.

Développement

Pièges de la concurrence en Rust : un goulot d’étranglement dû à un compteur atomique

2025-06-10
Pièges de la concurrence en Rust : un goulot d’étranglement dû à un compteur atomique

La plateforme d’analyse de streaming de Conviva a subi un goulot d’étranglement de performance dû à un compteur atomique apparemment anodin dans un registre de types partagé globalement utilisant une table de hachage concurrente (Flashmap). Sous forte concurrence, les mises à jour du compteur atomique ont provoqué des rebonds de lignes de cache et des changements de contexte excessifs, entraînant un pic de latence P99. Le remplacement de Flashmap par Dashmap n’a pas résolu le problème. Le problème a finalement été résolu à l’aide d’ArcSwap, qui utilise un mécanisme de mise à jour de copie en lecture (RCU) pour éviter la contention de cache. Ce cas souligne l’importance du choix de la bonne structure de données pour les scénarios à forte concurrence, notamment dans les situations à forte lecture, où l’efficacité d’ArcSwap est optimale.

Développement

Logiciel Malléable : L’avenir de l’informatique est piloté par l’utilisateur

2025-06-10
Logiciel Malléable : L’avenir de l’informatique est piloté par l’utilisateur

Cet essai explore le concept de « logiciel malléable », un écosystème logiciel où les utilisateurs peuvent facilement adapter les outils à leurs besoins. Les auteurs soutiennent que la rigidité des logiciels actuels entrave l’autonomie et la créativité des utilisateurs, illustrant l’impact négatif par des exemples issus du secteur médical. Ils contrastent la malléabilité des environnements physiques avec l’inflexibilité des environnements numériques, proposant trois modèles de conception pour obtenir un logiciel malléable : une pente douce de personnalisation, des outils composables et une création communautaire. Les auteurs détaillent plusieurs prototypes de systèmes que leur équipe a construits, montrant le potentiel du logiciel malléable tout en reconnaissant les défis futurs, tels que la confidentialité, la sécurité et les modèles économiques. En fin de compte, l’essai plaide en faveur d’un écosystème informatique plus centré sur l’utilisateur.

Développement

arXivLabs : Projets expérimentaux avec les collaborateurs de la communauté

2025-06-10
arXivLabs : Projets expérimentaux avec les collaborateurs de la communauté

arXivLabs est un framework qui permet aux collaborateurs de développer et de partager de nouvelles fonctionnalités arXiv directement sur notre site web. Les individus et les organisations qui travaillent avec arXivLabs ont adopté et accepté nos valeurs d'ouverture, de communauté, d'excellence et de confidentialité des données utilisateur. arXiv s'engage à respecter ces valeurs et ne travaille qu'avec des partenaires qui les partagent. Vous avez une idée de projet qui apportera de la valeur à la communauté arXiv ? En savoir plus sur arXivLabs.

Développement

arXivLabs : Expérimentation et collaboration communautaire

2025-06-10
arXivLabs : Expérimentation et collaboration communautaire

arXivLabs est une plateforme permettant de collaborer et de déployer de nouvelles fonctionnalités arXiv directement sur le site web. Les participants doivent adhérer aux valeurs d'arXiv : ouverture, communauté, excellence et confidentialité des données utilisateur. Vous avez une idée pour améliorer la communauté arXiv ? Explorez arXivLabs !

Développement

Stanford intègre l'IA pour améliorer l'apprentissage en politique de sécurité nationale

2025-06-10
Stanford intègre l'IA pour améliorer l'apprentissage en politique de sécurité nationale

Le cours de politique internationale de Stanford, "Technologie, innovation et compétition des grandes puissances", a intégré des outils d'IA pour améliorer significativement l'apprentissage des étudiants. Les étudiants ont utilisé ChatGPT, Claude, Perplexity et d'autres outils d'IA pour résumer des documents, identifier des thèmes clés, analyser des contenus critiques et appliquer ces informations à des défis de sécurité nationale réels. Les projets d'équipe ont révélé des utilisations innovantes de l'IA, notamment la génération de questions d'entretien, la simulation d'entretiens et la création de présentations. Le cours démontre le potentiel de l'IA comme outil d'apprentissage puissant, accélérant l'apprentissage et approfondissant la compréhension.

Développement Analyse politique

Vulnérabilités d'injection de shell cachées dans les utilitaires Unix

2025-06-10
Vulnérabilités d'injection de shell cachées dans les utilitaires Unix

De nombreux utilitaires Unix utilisent la fonction `system(3)` pour exécuter des commandes externes, ce qui conduit à des vulnérabilités potentielles d'injection de shell. Cet article examine en détail ce problème, en analysant le comportement de `system(3)`, `sh -c` et de divers outils tels que `watch`, `ssh` et `i3`, en démontrant comment les métacaractères shell peuvent être utilisés pour contourner les mesures de sécurité. L'auteur préconise d'éviter `system(3)` et fournit des techniques d'atténuation, telles que l'utilisation de `exec --` et une citation et un échappement appropriés. En fin de compte, l'article appelle les développeurs à résoudre ces failles de sécurité dans leurs outils.

Développement injection de shell

Pydoll : Automatisation de navigateur sans Webdrivers

2025-06-10
Pydoll : Automatisation de navigateur sans Webdrivers

Dites adieu aux cauchemars de compatibilité des webdrivers ! Pydoll est une bibliothèque Python révolutionnaire qui se connecte directement au protocole Chrome DevTools, éliminant le besoin de drivers externes pour l'automatisation du navigateur. Elle offre un contournement natif des captchas (Cloudflare Turnstile et reCAPTCHA v3), des performances asynchrones, des interactions imitant le comportement humain et un système d'événements puissant. Sa simplicité, sa puissance et sa capacité à gérer les systèmes de protection modernes des sites web en font l'outil idéal pour les tests automatisés, le web scraping et l'automatisation des tâches répétitives.

Vulnérabilité critique dans OpenPGP.js permettant l'usurpation de signatures

2025-06-10
Vulnérabilité critique dans OpenPGP.js permettant l'usurpation de signatures

Codean Labs a découvert une vulnérabilité critique (CVE-2025-47934) dans la bibliothèque OpenPGP.js qui permet aux attaquants d'usurper des signatures arbitraires. En exploitant une signature valide et en ajoutant un paquet de données malveillant, les attaquants peuvent tromper les vérificateurs OpenPGP.js pour qu'ils acceptent les données malveillantes comme étant signées, falsifiant ainsi efficacement les signatures. Cette vulnérabilité affecte plusieurs clients de messagerie Web, représentant un risque critique. Les versions 5.11.3 et 6.1.1 corrigent cette vulnérabilité ; des mises à jour immédiates sont recommandées.

Développement usurpation de signature

Héritage de modèles C++ et construction par copie : un static_assert déroutant

2025-06-10
Héritage de modèles C++ et construction par copie : un static_assert déroutant

Cet article explore un problème troublant concernant les constructeurs de copie dans l’héritage de modèles C++. La classe `Derived` hérite de la classe `Base`, dont le constructeur de copie est supprimé. Cependant, `Derived` définit son propre constructeur de copie. Même si ce constructeur tente de copier l’objet `Base` non copiable, `std::is_copy_constructible` renvoie toujours vrai. Cela est dû au fait que le compilateur vérifie uniquement la présence d’un constructeur de copie non supprimé, et non sa capacité d’instanciation. L’auteur discute également des différences entre les constructeurs de copie explicitement définis et implicitement définis, ainsi que des implications du déplacement de la définition du constructeur de copie hors ligne.

Développement Construction par copie

patolette : Une bibliothèque de quantification des couleurs et de tramage basée sur l’ACP

2025-06-10
patolette : Une bibliothèque de quantification des couleurs et de tramage basée sur l’ACP

patolette est une bibliothèque C/Python pour la quantification des couleurs et le tramage, implémentant une variante pondérée du quantificateur basé sur l’ACP de Xiaolin Wu. Ses principales caractéristiques incluent la prise en charge des espaces colorimétriques CIEL*u*v* et ICtCp, la pondération optionnelle de la carte de saillance pour les zones visuellement proéminentes et un raffinement KMeans optionnel. Bien qu’elle soit encore en développement et qu’elle ne possède pas encore de package PyPI, elle est déjà utilisable. Une installation manuelle est nécessaire, avec la prise en charge de l’ensemble d’instructions AVX pour améliorer les performances. La bibliothèque ne gère pas le décodage/codage des images ; les utilisateurs doivent le faire eux-mêmes.

Algorithme de calcul de trajetorie sphérique 3D

2025-06-10
Algorithme de calcul de trajetorie sphérique 3D

Ce code implémente un algorithme pour calculer la trajectoire entre deux points sur une sphère 3D. Il convertit d'abord les vecteurs de départ et d'arrivée dans un système de coordonnées local, puis utilise l'interpolation de quaternions pour calculer plusieurs points sur la trajectoire, et enfin génère une courbe reliant les deux points. L'algorithme utilise intelligemment les propriétés des vecteurs 3D et des quaternions pour calculer efficacement une trajectoire sphérique lisse, adaptée à la planification de trajectoires et à l'animation dans les scènes 3D.

Paws-on-MCP : Serveur MCP unifié prêt pour la production

2025-06-10
Paws-on-MCP : Serveur MCP unifié prêt pour la production

Paws-on-MCP est un serveur complet du protocole de contexte de modèle (MCP) implémentant la dernière spécification MCP 2025-03-26. Il présente les capacités de MCP, notamment les outils, les ressources, les invites, les racines et l'échantillonnage amélioré avec les préférences du modèle. Le projet intègre les API HackerNews et GitHub avec une analyse basée sur l'IA via l'échantillonnage MCP avancé. La fonctionnalité MCP principale est prête pour la production, bien que certains tests aient échoué en raison de limitations de concurrence du framework.

Développement

Au-delà des Promises : Explorer la puissance des Thenables dans les opérations asynchrones JavaScript

2025-06-10

Cet article explore la puissance des Thenables en JavaScript, des objets disposant d'une méthode `.then()` pouvant être attendus à l'aide du mot clé `await`, même s'ils ne sont pas des objets Promise. L'article montre comment créer un Thenable simulant des opérations asynchrones et le compare à l'exécution différée de Prisma. Tout en soulignant la nature légère des Thenables pour les opérations asynchrones, l'auteur avertit que les Thenables complexes peuvent être plus difficiles à déboguer, recommandant l'utilisation de Promises natives lorsque cela est approprié.

Développement

Elastic Cloud Serverless : Débit instable et perte de paquets sur Azure AKS

2025-06-10
Elastic Cloud Serverless : Débit instable et perte de paquets sur Azure AKS

L'équipe SRE (Site Reliability Engineering) d'Elastic a observé un débit instable et une perte de paquets dans Elastic Cloud Serverless fonctionnant sur Azure Kubernetes Service (AKS). L'enquête a révélé que les principaux facteurs contributifs étaient les débordements du buffer annulaire RX et la saturation de la file d'attente d'entrée du noyau sur les interfaces SR-IOV. Pour résoudre ce problème, nous avons augmenté la taille des buffers RX et ajusté le backlog netdev, ce qui a considérablement amélioré la stabilité du réseau. Même avec du matériel hautes performances, l'ajustement des paramètres réseau au niveau du système d'exploitation est crucial pour des performances optimales.

Développement

Dévoiler le mystère de DOES> en Forth

2025-06-10

Cet article explore l'implémentation complexe du mot `DOES>` dans le langage de programmation Forth. `DOES>` permet de créer des « structures de données intelligentes » capables d'exécuter des actions personnalisées. L'auteur explique méticuleusement les trois aspects temporels de `DOES>` : la compilation, la définition et l'exécution. À l'aide des exemples de `SHAPE` et `MAN`, l'article illustre comment `DOES>` modifie l'adresse d'exécution des mots nouvellement créés pour atteindre sa fonctionnalité, exécutant finalement le code suivant `DOES>` lors de l'exécution. La complexité de l'implémentation de `DOES>` et les conflits potentiels avec la gestion de la mémoire des systèmes d'exploitation modernes sont également abordés.

Développement Conception de compilateur

Pourquoi les agents d'IA sont de mauvais programmeurs en binôme ?

2025-06-10
Pourquoi les agents d'IA sont de mauvais programmeurs en binôme ?

L'auteur partage son expérience de la programmation en binôme avec une IA, découvrant que la vitesse de l'IA dépasse la compréhension humaine, conduisant à des inefficacités. La solution proposée consiste à décomposer les tâches en composants plus petits et indépendants, à utiliser des flux de travail asynchrones et à réduire l'autonomie de l'IA. Cela inclut l'utilisation de modes d'édition tour par tour, l'augmentation de la communication et des étapes de confirmation, et la recherche d'un meilleur équilibre entre vitesse et qualité. L'objectif final est de faire de l'assistant IA un collaborateur humain plutôt qu'un générateur de code à haute vitesse.

Développement

container : outil de conteneur léger pour les Mac Apple Silicon

2025-06-09
container : outil de conteneur léger pour les Mac Apple Silicon

container est un outil basé sur Swift pour créer et exécuter des conteneurs Linux sur macOS comme des machines virtuelles légères. Il est compatible OCI, vous permettant d'extraire et d'exécuter des images de n'importe quel registre de conteneurs standard et de pousser les images créées. Il utilise les nouvelles fonctionnalités de macOS 26 Beta 1 et présente des limitations réseau sur macOS 15 ; la mise à niveau est recommandée. Téléchargez le programme d'installation sur la page des versions GitHub et utilisez le script uninstall-container.sh pour la suppression. Les données utilisateur peuvent être conservées lors de la désinstallation.

Développement

Prototypage d'un langage CodeCAD : À la recherche du "hygge" logiciel

2025-06-09

L'auteur a passé un mois à prototyper un langage CodeCAD, visant non pas des démonstrations impressionnantes, mais une sensation de "hygge" logiciel : chargement instantané, stabilité et facilité d'utilisation. L'article se concentre sur les défis de prototypage d'une fonctionnalité d'"édition bidirectionnelle", synchronisant une interface graphique avec un éditeur de code textuel en temps réel. De nombreux obstacles techniques sont abordés, notamment la réécriture du code, la synchronisation de l'éditeur et de l'interface utilisateur, et la mise en forme du code. L'auteur partage des ressources d'apprentissage et des réflexions sur la création d'une implémentation de langage intégrée et d'outils d'édition, ainsi que des discussions sur des projets existants.

Développement édition bidirectionnelle

Apple dévoile un framework d'IA hors ligne au WWDC2025

2025-06-09
Apple dévoile un framework d'IA hors ligne au WWDC2025

Apple a annoncé son nouveau framework "Foundation Models" lors du WWDC2025, permettant aux développeurs d'utiliser des modèles d'IA embarqués, hors ligne. Cela élimine les coûts d'API cloud et améliore la confidentialité des utilisateurs. En utilisant Swift, les développeurs peuvent accéder aux modèles Apple Intelligence avec un minimum de code, créant ainsi des expériences personnalisées. Par exemple, Kahoot peut générer des quiz personnalisés à partir des notes de l'utilisateur. Le framework est actuellement en test pour les développeurs, avec une version bêta publique disponible début du mois prochain.

Développement IA hors ligne

Exécution de conteneurs Linux sur Apple Silicon : Présentation de Containerization

2025-06-09
Exécution de conteneurs Linux sur Apple Silicon : Présentation de Containerization

Containerization est un projet basé sur Swift qui permet l'utilisation de conteneurs Linux sur Apple Silicon. Tirant parti de la virtualisation, il offre des API complètes pour la gestion des images OCI, l'interaction avec les registres distants, la création de systèmes de fichiers, la configuration du réseau, la gestion de VM légères et l'exécution de processus conteneurisés. Un mini système init, vminitd, gère les processus à l'intérieur de la VM. La compilation nécessite un Mac avec Apple Silicon, macOS 15 + et Xcode 26 Beta +. Une configuration optimisée du noyau Linux garantit des temps de démarrage rapides. La version 0.1.0 est sortie, et les contributions de la communauté sont les bienvenues.

Développement

Munal OS : Un système d'exploitation expérimental en Rust

2025-06-09
Munal OS : Un système d'exploitation expérimental en Rust

Munal OS est un système d'exploitation expérimental entièrement écrit en Rust, avec une conception unikernel, un ordonnancement coopératif et un modèle de sécurité basé sur le sandboxing WASM. Il se passe des composants traditionnels tels qu'un chargeur de démarrage, le mappage de pages, l'espace d'adressage virtuel et les interruptions. Au lieu de cela, le système d'exploitation entier est compilé en un seul binaire EFI, intégrant le noyau, le moteur WASM et toutes les applications. La communication avec QEMU se fait via des pilotes VirtIO, permettant une interface graphique, un pilote réseau et une pile TCP. Bien qu'actuellement limité à QEMU et sans support multi-cœur et interruptions, sa conception minimaliste et le sandboxing basé sur WASM offrent une nouvelle perspective sur la conception des systèmes d'exploitation.

Développement
1 2 63 64 65 67 69 70 71 214 215