Category: Développement

Bun : Pourquoi l’installation de paquets est 7 fois plus rapide que npm ?

2025-09-11

Le gestionnaire de paquets Bun est réputé pour sa vitesse fulgurante, étant en moyenne ~7 fois plus rapide que npm, ~4 fois plus rapide que pnpm et ~17 fois plus rapide que yarn. Ce n’est pas de la magie ; Bun traite l’installation de paquets comme un problème de programmation système, et non comme un problème JavaScript. Il y parvient en minimisant les appels système, en mettant en cache les manifestes sous forme binaire, en optimisant l’extraction des tarballs, en tirant parti de la copie de fichiers native du système d’exploitation et en évoluant entre les cœurs de CPU. L’article explique en détail comment Bun, écrit en Zig, contourne les limitations de Node.js (pool de threads, boucle d’événements) pour réaliser des installations de paquets incroyablement rapides.

Développement

Décès de Gregg Kellogg, contributeur prolifique du W3C

2025-09-11

Le W3C annonce avec tristesse le décès de Gregg Kellogg, expert invité prolifique, samedi dernier. Pendant plus de 13 ans, Kellogg a apporté des contributions significatives, notamment en tant que co-président du groupe de travail JSON-LD et en dirigeant plusieurs groupes communautaires axés sur les données. Son travail a inclus la co-édition de nombreuses recommandations et spécifications du W3C, ainsi que la fourniture d'implémentations open source et de suites de tests. Ses contributions ont été déterminantes pour le succès de JSON-LD. Le W3C prévoit un hommage pour honorer sa mémoire et célébrer ses contributions amicales et brillantes.

Développement

Modules C++20 : Améliorations du temps de compilation et expériences pratiques

2025-09-11

Cet article partage l'expérience pratique de l'auteur utilisant les modules C++20, couvrant les choix de systèmes de build (Bazel, XMake, Build2, etc.), les améliorations du temps de compilation (25 % à 45 %), et les différences par rapport à PCH. L'auteur discute également des scénarios appropriés pour les modules C++20, des coûts (refactoring de code, stabilité du compilateur, prise en charge de la complétion de code, etc.), des wrappers de modules (styles export-using et extern "C++") et des techniques pour mélanger import et #include. L'article conclut par les futures améliorations possibles pour les modules C++20, telles que l'amélioration des systèmes de build, l'amélioration de l'intelligence du code, la résolution des problèmes de compatibilité multiplateforme et le potentiel de l'IA dans le développement d'outils de conversion de modules.

Développement

Piramidal recrute un ingénieur back-end pour sa plateforme de données neuronales

2025-09-11
Piramidal recrute un ingénieur back-end pour sa plateforme de données neuronales

Piramidal recherche un ingénieur logiciel pour construire et maintenir l'infrastructure et les systèmes back-end de sa plateforme phare de données neuronales. Le candidat idéal aura plus de 3 ans d'expérience dans des entreprises axées sur le produit, une maîtrise de Python et d'autres langages back-end, des technologies de conteneurisation et d'orchestration (par exemple, Kubernetes), des bases de données relationnelles (par exemple, Postgres/MySQL) et des technologies web (par exemple, JavaScript, React). Le rôle implique une collaboration étroite avec les ingénieurs ML pour itérer sur l'application des modèles les plus récents et travailler avec l'équipe produit et les clients internes pour comprendre leurs besoins et mettre en œuvre des solutions efficaces. Piramidal se consacre à la réorientation de la technologie pour maximiser le potentiel humain, avec une mission centrale de soutien à la liberté cognitive.

pgEdge Open Source ses composants principaux, intégrant l'écosystème PostgreSQL

2025-09-11

pgEdge, une entreprise spécialisée dans PostgreSQL distribué, a annoncé avoir re-licencié ses composants principaux – notamment le moteur de réplication Spock, le générateur de séquences Snowflake et l'extension de réplication logique d'objets volumineux Lolor – sous la licence PostgreSQL, les rendant ainsi open source ! Cette décision témoigne de l'engagement de pgEdge envers l'open source et de sa volonté de contribuer davantage à l'écosystème PostgreSQL. Les développeurs peuvent désormais accéder au code source de ces composants sur GitHub et participer à leur développement. pgEdge propose également des options de déploiement cloud, conteneurs et machines virtuelles pour faciliter l'accès des utilisateurs.

Développement

Reshaped : Cinq ans de voyage vers l'open source

2025-09-11
Reshaped : Cinq ans de voyage vers l'open source

Après cinq ans de développement, la bibliothèque de composants Reshaped est désormais entièrement open source ! Initialement un projet personnel répondant au besoin de bibliothèques de composants cohérentes pour React et Figma, Reshaped couvre 80 % des pratiques principales de conception web, en priorisant l'alignement entre la conception et l'ingénierie. L'auteur a d'abord rendu le package React gratuit, et met maintenant à disposition tout le code source, dans le but de promouvoir les meilleures pratiques en matière de conception et d'ingénierie. Les projets futurs incluent des composants premium avancés.

Ingénierie pure vs. impure : pourquoi les développeurs solo s'opposent aux grandes entreprises de technologie

2025-09-11

Cet article explore la différence entre l'ingénierie logicielle « pure » et « impure ». L'ingénierie pure se concentre sur la perfection technique, semblable à l'art ou à la recherche, tandis que l'ingénierie impure privilégie l'efficacité et la résolution de problèmes concrets. Les grandes entreprises technologiques ont besoin des deux, mais le marché actuel favorise l'ingénierie impure, ce qui conduit à des conflits entre ingénieurs purs et impurs. Le développement assisté par l'IA profite davantage à l'ingénierie impure, car il aide à traiter les problèmes moins nouveaux et soumis à des délais serrés, tandis que l'ingénierie pure repose davantage sur l'expertise individuelle. L'auteur soutient que les deux types exigent des compétences élevées, mais avec des points de vue différents.

Deep Code Bench : Un nouveau jeu de données de référence pour la recherche de code

2025-09-11
Deep Code Bench : Un nouveau jeu de données de référence pour la recherche de code

Qodo a publié Deep Code Bench, un nouveau jeu de données de référence composé de questions réelles issues de grands référentiels de code complexes. Contrairement aux benchmarks existants, ces questions nécessitent une recherche sur plusieurs fichiers, ce qui reflète les scénarios réels des développeurs. Le jeu de données, généré à partir de données de pull requests à l'aide de modèles linguistiques de grande taille (LLM), fournit une évaluation robuste des systèmes de recherche de code. L'agent de recherche approfondie de Qodo surpasse les autres en matière de rappel de faits, atteignant environ 76 % de précision.

Plongez dans la base de données tz : créez votre propre fuseau horaire

2025-09-11
Plongez dans la base de données tz : créez votre propre fuseau horaire

En travaillant avec Ruby, l’auteur a rencontré un problème de fuseau horaire, ce qui l’a conduit à la découverte de la base de données tz. Cet article fournit une explication claire de la base de données tz, y compris ses composants principaux : le compilateur zic, l’outil zdump et les fichiers sources de fuseau horaire. L’auteur montre comment personnaliser les règles de fuseau horaire en créant un fuseau horaire fictif, Hi_No_Kuni/Konoha, dans une image Alpine Docker. Le processus est illustré par des exemples pratiques, vérifiant les résultats. Cet article convient aux développeurs et fournit des informations sur la complexité et la standardisation derrière les fuseaux horaires.

Développement base de données tz

BCacheFS désactivé dans les noyaux openSUSE 6.17+

2025-09-11

L'équipe openSUSE a annoncé que le système de fichiers BCacheFS serait désactivé dans les noyaux 6.17 et suivants. Cela est dû au fait que BCacheFS est maintenu en externe depuis la version 6.17, et openSUSE ne maintiendra plus ni ne backportera les correctifs en aval. Actuellement, les versions 6.16 et antérieures ne sont pas affectées. Les utilisateurs doivent suivre les conseils en amont de BCacheFS pour l'installation et l'utilisation, ou préparer eux-mêmes un KMP. BCacheFS sera réactivé une fois que son mainteneur reprendra la maintenance en amont.

Développement

Surmonter l'obstacle des 10 000+ lignes de code : un workflow structuré pour les LLM dans les grands projets

2025-09-11
Surmonter l'obstacle des 10 000+ lignes de code : un workflow structuré pour les LLM dans les grands projets

Cet article détaille un workflow réussi pour utiliser les LLM dans les grands projets, dépassant les 10 000 lignes de code. L'auteur a découvert que générer un système entier directement avec un LLM est chaotique et sujet aux erreurs. Au lieu de cela, une approche structurée est présentée : rédiger manuellement des documents de conception et d'architecture en premier, puis utiliser le LLM comme outil de génération et de transformation de code, en itérant sur de petites tâches, en examinant et en corrigeant systématiquement le code et en mettant à jour en continu la documentation et les lignes directrices de codage. Cette méthode permet d'éviter avec succès les limites des LLM dans les grands projets, en maintenant la maintenabilité et la cohérence.

Développement

Dotter : Un gestionnaire de fichiers de configuration et un moteur de modèles puissant en Rust

2025-09-11
Dotter : Un gestionnaire de fichiers de configuration et un moteur de modèles puissant en Rust

Dotter est un gestionnaire de fichiers de configuration (dotfiles) et un moteur de modèles écrit en Rust, conçu pour simplifier la gestion et le déploiement des dotfiles. Il résout de nombreux inconvénients liés à la gestion manuelle des dotfiles, tels que le suivi de l'origine des fichiers, la configuration fastidieuse sur de nouvelles machines et la gestion des différences de configuration entre les machines. Dotter automatise la gestion des dotfiles grâce à une configuration flexible et à la création de modèles ou de liens symboliques automatiques. Il prend en charge l'installation via Homebrew, AUR et Scoop, et fournit également des binaires et l'installation via Cargo. Dotter offre également de nombreuses options de ligne de commande et des fonctions de hook pour les workflows définis par l'utilisateur.

Développement

Le tri par radix surpasse les tables de hachage : une comparaison de performances pour le comptage de valeurs uniques

2025-09-11
Le tri par radix surpasse les tables de hachage : une comparaison de performances pour le comptage de valeurs uniques

Pour le problème du comptage des valeurs uniques dans un grand tableau de uint64 principalement uniques, le tri par radix, lorsqu'il est bien optimisé, est généralement plus rapide que les tables de hachage. En utilisant efficacement la bande passante mémoire et en fusionnant intelligemment le hachage avec le processus de tri, le tri par radix atteint une accélération jusqu'à 1,5 fois supérieure à celle des tables de hachage optimisées pour des ensembles de données supérieurs à 1 Mo, et jusqu'à 4 fois plus rapide que les excellentes tables de hachage « Swiss Table » de Rust. Cependant, les performances du tri par radix diminuent avec des distributions de données non uniformes ; l'utilisation d'une fonction de hachage inversible prétraite les données pour maintenir l'efficacité. L'article compare les deux méthodes pour différentes tailles de données et fréquences d'accès, et discute de la stratégie de choix entre elles dans les applications du monde réel.

Développement tri par radix

Solution élégante de Clojure au problème de l'expression

2025-09-11
Solution élégante de Clojure au problème de l'expression

À la conférence Strange Loop, Chris Houser a présenté deux approches Clojure pour résoudre le problème de l'expression : les multimethods et les protocoles. La présentation a exploré les avantages et les inconvénients de chaque méthode, en montrant leur implémentation en Clojure. Houser, co-auteur de "The Joy of Clojure" et contributeur principal du langage, a démontré de manière puissante la flexibilité et l'expressivité de Clojure.

Développement Problème de l'expression

Une panne massive d'assistants de codage IA met en lumière les risques croissants de dépendance

2025-09-11
Une panne massive d'assistants de codage IA met en lumière les risques croissants de dépendance

Une panne récente affectant Claude Code d'Anthropic et d'autres assistants de codage IA a mis en évidence la forte dépendance du développement logiciel moderne à ces outils. Les développeurs se sont tournés vers des solutions alternatives, allant jusqu'à Stack Overflow, soulignant les dangers d'une dépendance excessive. La tendance émergente du « codage ambiance » (vibe coding), consistant à utiliser le langage naturel pour générer du code sans comprendre la logique sous-jacente, a conduit à des résultats désastreux, notamment la corruption de fichiers par Gemini CLI de Google et la suppression de bases de données par le service IA de Replit. Cette panne sert de rappel brutal des conséquences potentielles de la dépendance à l'IA et a suscité une réflexion sur l'équilibre entre vie professionnelle et vie privée.

Développement

TailGuard : connecter WireGuard à Tailscale avec un conteneur Docker

2025-09-11
TailGuard : connecter WireGuard à Tailscale avec un conteneur Docker

TailGuard est une application simple de conteneur Docker qui permet de connecter des serveurs WireGuard existants au réseau Tailscale, même sur des appareils verrouillés ou ne prenant pas en charge les binaires Tailscale. Elle fonctionne en exécutant un conteneur sur un VPS, créant un pont entre WireGuard et le réseau Tailscale, simplifiant ainsi la gestion des clés et permettant de passer facilement d'un appareil à un autre. Les utilisateurs téléchargent une configuration WireGuard, exécutent une commande Docker et se connectent. Des paramètres personnalisables et la prise en charge d'IPv6 facilitent la connexion aux réseaux Tailscale et WireGuard.

Développement

Dispatch multiple en C++ : défis et solutions

2025-09-11

Cet article explore les défis liés à la mise en œuvre du dispatch multiple en C++. Le dispatch multiple permet la sélection dynamique de fonctions en fonction des types d'exécution de plusieurs objets, ce qui est utile pour gérer les interactions entre des objets de types différents, comme le calcul des intersections de formes variées. L'article compare plusieurs approches, notamment le motif visiteur et les vérifications if-else par force brute, en analysant leurs avantages et inconvénients. Le motif visiteur, bien qu'efficace, est intrusif et difficile à maintenir ; la force brute est maintenable mais verbeuse et inefficace. L'article mentionne également brièvement une tentative de standardisation C++ proposant le dispatch multiple et prévisualise les articles suivants qui exploreront sa mise en œuvre dans d'autres langages de programmation.

Développement dispatch multiple

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

2025-09-11
arXivLabs : Projets expérimentaux avec des 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 des utilisateurs. arXiv s'engage envers ces valeurs et ne travaille qu'avec des partenaires qui les respectent. Vous avez une idée de projet qui apportera une valeur ajoutée à la communauté arXiv ? En savoir plus sur arXivLabs.

Développement

Desktop-TUI : Un environnement de bureau sans graphique

2025-09-11
Desktop-TUI : Un environnement de bureau sans graphique

Desktop-TUI est un environnement de bureau similaire à tmux, mais sans interface graphique. Il analyse les fichiers de raccourcis pour lancer des applications et des commandes, avec prise en charge du déplacement et du redimensionnement des fenêtres, des options de pavage et de la gestion des erreurs d'applications et des plantages d'applications GNU. Les utilisateurs peuvent sélectionner des fichiers ou des dossiers comme arguments d'applications ou de commandes. Il utilise actuellement ncurses (avec des problèmes de couleurs), et prévoit de passer à Crossterm. Installez-le via `cargo install desktop-tui` et exécutez-le avec `cargo run -- `. Les fichiers de raccourcis (ex: helix.toml) utilisent le format TOML pour définir les noms d'applications, les commandes et les arguments.

Développement

JiraTUI : Gestion des tâches Jira en ligne de commande

2025-09-11

JiraTUI est un puissant outil en ligne de commande qui simplifie la gestion des tâches Jira. Créez de nouvelles tâches Jira directement depuis votre terminal, en spécifiant facilement des détails tels que le titre, la description et la priorité. Passez moins de temps à naviguer dans les interfaces et plus de temps à travailler. Il permet également de commenter les tâches directement depuis le terminal, améliorant ainsi la communication et la collaboration au sein de l'équipe.

Développement

DataFrame léger dans MicroHs : Une aventure Haskell 2010

2025-09-11

En commençant par un projet Android en Frege (Haskell sur JVM) en 2015, le parcours de programmation fonctionnelle de l'auteur l'a mené à la quête de découpler sa bibliothèque DataFrame de GHC pour la compatibilité avec MicroHs. Cet article détaille l'implémentation des fonctionnalités principales de DataFrame : construction, expressions basiques, `filterWhere`, `derive` et rendu Markdown, en Haskell 2010, sans GADTs, familles de types ou réflexion. L'expérience montre que, bien que verbeux, les fonctionnalités principales restent viables, offrant une portabilité entre MicroHs (pour les petits CLIs ou les contextes embarqués) et GHC (pour la vitesse et l'accès à l'écosystème). Les binaires MicroHs sont environ 100 fois plus petits mais 5 à 10 fois plus lents ; un compromis intéressant pour de nombreuses tâches de manipulation de données, permettant un backend GHC pour les tâches lourdes.

Développement

KDE dévoile une version alpha de sa propre distribution Linux : KDE Linux

2025-09-11

Lors de l'Akademy 2025, le projet KDE a publié une version alpha de KDE Linux, une distribution conçue pour présenter le meilleur des offres de KDE en utilisant des technologies de pointe. Basée sur Arch Linux mais sans utiliser Pacman, elle utilise KDE Builder et Flatpak pour l'installation des logiciels. Bien qu'elle vise un usage domestique, professionnel et OEM, la version alpha est encore en développement. Les projets futurs incluent des éditions de test, pour les passionnés et une édition stable, avec un plan de fin de vie potentiel impliquant une migration vers une autre distribution.

Développement

Exécutez n'importe quelle application GUI dans votre terminal : term.everything❗

2025-09-11
Exécutez n'importe quelle application GUI dans votre terminal : term.everything❗

Imaginez jouer à des jeux et regarder des films directement dans votre terminal ! term.everything❗ est un exécuteur d'interface graphique basé sur Wayland qui rend les applications d'interface graphique dans votre terminal. La qualité dépend de la résolution de votre terminal, les résolutions plus élevées (comme kitty ou iterm2) offrant de meilleurs résultats. Bien qu'il soit encore en version bêta, certaines applications peuvent échouer, mais il prend déjà en charge des jeux comme Doom. Il est construit à l'aide de TypeScript et de Bun, avec une touche de C++.

Développement GUI terminal

Mux : Infrastructure vidéo pour les développeurs

2025-09-11
Mux : Infrastructure vidéo pour les développeurs

Mux démocratise la vidéo en s'attaquant aux problèmes complexes que rencontrent les développeurs lors de la création d'applications vidéo : encodage, streaming (Mux Video) et surveillance (Mux Data). L'équipe possède une expérience dans des entreprises telles que Google, YouTube et Twitch, et est soutenue par des investisseurs de premier plan tels que Coatue, Accel et Andreessen Horowitz. Ils ont créé une plateforme robuste utilisée par des entreprises allant des startups à des géants comme Reddit, Vimeo et Robinhood, dans le but d'améliorer l'expérience vidéo globale.

Développement

arXivLabs : Projets expérimentaux avec des collaborateurs communautaires

2025-09-10
arXivLabs : Projets expérimentaux avec des collaborateurs communautaires

arXivLabs est un cadre permettant 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 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é arXiv ? En savoir plus sur arXivLabs.

Développement

L'expérience corporelle de la programmation : une synesthésie du programmeur

2025-09-10
L'expérience corporelle de la programmation : une synesthésie du programmeur

L'auteur décrit les sensations viscérales évoquées par différents langages de programmation : les parenthèses imbriquées dans les langages de type C donnent l'impression de marcher sur un fil, la programmation fonctionnelle celle de ramper dans des grottes, et l'écriture de firmware celle d'un travail précis et contraint. Utiliser Copilot et TypeScript, c'est comme voler, tandis que revenir à Python non typé, c'est comme trébucher ivre. L'auteur soutient que cette synesthésie du code, bien que subtile, est courante et influence la compréhension du code et la conception du système. Bien que cette sensation n'améliore pas directement l'efficacité du codage, elle est incroyablement utile pour comprendre le fonctionnement des startups, aidant l'auteur à identifier les parties critiques et les connexions manquantes. L'auteur conclut en suggérant que les excellents éditeurs de code devraient tirer parti des intuitions sensorielles des excellents ingénieurs, en améliorant la manière dont le code est affiché pour améliorer l'expérience de programmation.

L'élément manquant dans PKM : faire resurgir les connaissances oubliées

2025-09-10
L'élément manquant dans PKM : faire resurgir les connaissances oubliées

L'auteur utilise plusieurs applications PKM telles qu'Obsidian et Things pour gérer de grandes quantités d'informations numériques, mais constate qu'il manque une fonctionnalité essentielle : aider les utilisateurs à réutiliser les informations capturées mais oubliées. Même de simples requêtes de base de données pourraient y parvenir, comme afficher les tâches de plus de six mois. L'auteur exhorte les développeurs d'applications PKM à ajouter ces fonctionnalités, peut-être inspirées de la page d'accueil de Spotify, pour permettre aux utilisateurs de retrouver d'anciennes notes, tâches, etc., et éviter que les informations ne deviennent un « trou noir de connaissances ».

Développement

git-down : Téléchargez efficacement les répertoires de référentiels Git

2025-09-10
git-down : Téléchargez efficacement les répertoires de référentiels Git

Fatigué de télécharger des répertoires uniques à partir de référentiels Git ? git-down est là pour vous aider ! Cet outil simple en ligne de commande vous permet de télécharger un ou plusieurs répertoires d’un référentiel Git sans cloner l’intégralité du référentiel. Il prend en charge GitHub, BitBucket, GitLab et SourceForge, et propose des raccourcis pour une utilisation plus facile. Contrairement au processus fastidieux de téléchargement d’archives, de clonage superficiel et de déplacement de fichiers, git-down améliore considérablement l’efficacité et vous fait gagner du temps. Bien qu’il nécessite une compilation personnelle (environnement Rust nécessaire), sa vitesse et sa commodité en font un outil indispensable pour les utilisateurs de Git.

Développement

Sauts de ligne sémantiques : pour une meilleure prose

2025-09-10
Sauts de ligne sémantiques : pour une meilleure prose

Cet article présente la spécification des sauts de ligne sémantiques (SemBr), une convention visant à améliorer la structure du texte en ajoutant des sauts de ligne après chaque unité de pensée significative. SemBr recommande des sauts de ligne après les phrases, les propositions indépendantes et avant les listes, améliorant ainsi la lisibilité et l’éditing sans affecter le rendu final. L’auteur discute de l’application de SemBr dans différents langages de balisage légers et de la manière de migrer un texte existant vers cette convention, soulignant les avantages pour les rédacteurs, les éditeurs et les lecteurs.

De Bash à Go : Guide pratique pour créer des outils CLI

2025-09-10
De Bash à Go : Guide pratique pour créer des outils CLI

Cet article est la deuxième partie d'une série introduisant les programmeurs Bash à Go, en se concentrant sur la création d'outils en ligne de commande. En commençant par un exemple simple de "bonjour le monde", il couvre progressivement l'écriture de tests, la gestion des entrées/sorties, l'utilisation de l'interface io.Writer, la prévention des pièges des variables globales et l'utilisation des modèles d'options et du package `flag` pour gérer les arguments et les drapeaux de ligne de commande. L'article aboutit à un outil CLI plus pratique : compter les lignes dupliquées dans un texte d'entrée.

Développement
1 2 6 7 8 10 12 13 14 214 215