Category: Développement

Migration du registre Docker Bitnami : mise à niveau de sécurité ou paywall ?

2025-08-28
Migration du registre Docker Bitnami : mise à niveau de sécurité ou paywall ?

Bitnami migre son registre d'images Docker public vers un nouveau registre Bitnami Legacy et déploie progressivement les images Bitnami Secure Images (BSI) plus sécurisées. La migration se fera par étapes, avec des interruptions temporaires du service d'images. Les utilisateurs peuvent choisir de migrer vers BSI (partiellement gratuit, mais les fonctionnalités complètes nécessitent un abonnement payant) ou vers le registre Bitnami Legacy (solution temporaire, avec des risques de sécurité). Bitnami explique ce changement comme un effort pour améliorer la sécurité et répondre à la menace croissante des vulnérabilités des logiciels open source et aux nouvelles réglementations. Cependant, ce changement a également suscité la controverse, certains arguant qu'il s'agit d'une stratégie pour passer de services gratuits à des services payants.

Développement images conteneurs

Packages nx malveillants sur npm : vol de credentiels et arrêt du système

2025-08-27
Packages nx malveillants sur npm : vol de credentiels et arrêt du système

Plusieurs versions du paquet npm « nx » (dont 21.5.0, 20.9.0, etc.) ont été compromises de manière malveillante. Un attaquant a utilisé un jeton npm volé pour publier des paquets contenant un code qui analyse le système de fichiers de l’utilisateur, collecte les informations d’identification (GitHub, mots de passe système, etc.) et télécharge ces informations dans un dépôt GitHub sur le compte de l’utilisateur. Le code malveillant modifie également les fichiers `.zshrc` et `.bashrc` de l’utilisateur pour exécuter `sudo shutdown -h 0` au lancement du terminal, ce qui peut entraîner l’arrêt du système. Les utilisateurs affectés doivent immédiatement mettre à jour leur paquet « nx » vers la dernière version et vérifier leur GitHub pour détecter les dépôts compromis. Nx a supprimé les paquets malveillants et mis en place des mesures de sécurité améliorées, notamment l’authentification à deux facteurs (2FA) obligatoire et le nouveau mécanisme Trusted Publisher pour tous les paquets npm.

Développement

Programmation orientée objet en C : services du noyau via pointeurs de fonction

2025-08-27
Programmation orientée objet en C : services du noyau via pointeurs de fonction

Cet article détaille comment l'auteur a implémenté un mécanisme de table virtuelle (vtable) dans son noyau de système d'exploitation en utilisant des pointeurs de fonction et des structures en C, imitant la programmation orientée objet. Cette approche permet une gestion unifiée des services du noyau, tels que le démarrage, l'arrêt et le redémarrage, et permet des changements flexibles de politique d'ordonnancement sans modification importante du code. L'auteur explique l'implémentation et l'application des vtables à l'aide d'exemples de pilotes de périphériques et de gestion des services, en discutant des avantages et des inconvénients. Bien que la syntaxe C conduise à un code légèrement verbeux, cette méthode améliore la lisibilité et la maintenabilité, améliorant ainsi la flexibilité et l'extensibilité du noyau.

Développement POO

Classificateur d'images TensorFlow Lite en Delphi

2025-08-27
Classificateur d'images TensorFlow Lite en Delphi

Ce code Delphi implémente un classificateur d'images simple utilisant TensorFlow Lite. Il charge un fichier de modèle, prétraite les données d'image provenant du composant Image1 et fournit les données à un interpréteur TensorFlow Lite pour l'inférence. Les résultats de l'inférence, les probabilités pour chaque classe, sont affichés dans un composant ListView1. Le code inclut la gestion des erreurs et des mécanismes de libération des ressources pour la stabilité.

Développement Classification d'images

Urgent : Kit de construction nx malveillant vole les clés GitHub

2025-08-27
Urgent : Kit de construction nx malveillant vole les clés GitHub

Une commande malveillante post-installation dans le populaire kit de construction nx a été découverte, créant un dépôt préfixé par 's1ngularity-repository' sur les comptes GitHub des utilisateurs affectés. Ce malware vole les portefeuilles, les clés API et les variables d'environnement, les stockant dans un fichier codé en base64. Intelligemment, il utilise des LLMs comme Claude Code CLI ou Gemini CLI pour décharger une grande partie de son code identifiable dans une invite, rendant la détection plus difficile. Les versions affectées de nx ont été supprimées de npm. Les utilisateurs doivent immédiatement vérifier leurs comptes GitHub, mettre à jour nx vers la dernière version sécurisée et faire pivoter tous les secrets compromis.

Ralentir intentionnellement les programmes : une amélioration surprenante de la précision des outils pour développeurs

2025-08-27
Ralentir intentionnellement les programmes : une amélioration surprenante de la précision des outils pour développeurs

La plupart des recherches sur les performances des langages de programmation se concentrent sur l’accélération des programmes, mais une nouvelle étude explore les avantages de les ralentir intentionnellement. En insérant des instructions NOP ou MOV dans les blocs de base des programmes, les chercheurs ont obtenu un contrôle précis de l’exécution du programme, ce qui a permis une détection plus précise des conditions de concurrence, une simulation d’accélération et une évaluation de la précision du profileur. Des expériences menées sur un Intel Core i5-10600 ont montré que les instructions NOP et MOV sont les mieux adaptées à cet usage, ouvrant de nouvelles voies pour les outils de développement avancés à l’avenir.

Sortie de QEMU 10.1 : support d’architectures amélioré et améliorations des performances

2025-08-27

QEMU 10.1 est disponible, avec un support amélioré pour de multiples architectures, notamment RISC-V, Arm et x86, ainsi que des améliorations de performances significatives. Un support pour de nouveaux jeux d’instructions (SME2, SVE2, etc.) a été ajouté, ainsi que de nouveaux modèles de cartes mères et des fonctionnalités de virtualisation. Les fonctionnalités existantes ont également été mises à jour, telles que l’émulation améliorée des exceptions à virgule flottante, les opérations optimisées des blocs de stockage et l’augmentation des performances du réseau. Il est à noter que le support de Rust a été amélioré, mais reste expérimental.

Développement Émulation système

Monodraw : Configuration système et FAQ

2025-08-27

Monodraw nécessite macOS 11 Big Sur ou version ultérieure. Les versions plus anciennes de macOS peuvent utiliser la v1.3 (macOS 10.10 Yosemite) ou la v1.5 (macOS 10.14 Mojave). L'outil de ligne de commande n'est inclus que dans les versions téléchargées directement depuis notre site web et achetées sur notre boutique, en raison des restrictions du bac à sable de l'App Store. Les commentaires peuvent être envoyés par e-mail ou tweetés à @Monodraw. Votre adresse e-mail ne sera pas partagée avec des tiers ; elle ne sera utilisée que pour les mises à jour importantes et les actualités des produits. Un kit de presse est disponible au téléchargement, et un tarif éducation est proposé. Monodraw ne collecte aucune donnée utilisateur.

Développement

FilterQL : Un mini-langage de requête pour filtrer les données structurées

2025-08-27
FilterQL : Un mini-langage de requête pour filtrer les données structurées

FilterQL est un langage de requête léger pour filtrer les données structurées. Il se compose d'une bibliothèque TypeScript et d'une spécification linguistique, les implémentations dans d'autres langages étant les bienvenues. Les utilisateurs définissent un schéma pour leurs données, puis utilisent une syntaxe concise pour filtrer, trier et limiter les résultats, comme `genre == Action` ou `year >= 2008 && rating >= 8.5 | SORT rating desc`. FilterQL prend en charge divers opérateurs de comparaison et logiques, et permet des opérations personnalisées pour étendre ses capacités.

Développement

WebLibre : Un navigateur axé sur la confidentialité entre en phase Alpha

2025-08-27
WebLibre : Un navigateur axé sur la confidentialité entre en phase Alpha

WebLibre est un projet de navigateur indépendant basé sur le moteur Gecko de Mozilla et les composants Android de Mozilla. Il offre un navigateur web complet avec prise en charge des modules complémentaires mobiles Firefox, en privilégiant la confidentialité et la convivialité. Actuellement en phase alpha, attendez-vous à des mises à jour fréquentes, des bogues et des changements importants. Seules les versions F-Droid sont exemptes de dépendances Google.

À l'ère de l'IA, les outils adaptables l'emporteront

2025-08-27
À l'ère de l'IA, les outils adaptables l'emporteront

À l'ère de l'IA, le succès ne dépend pas de l'adaptation aux outils, mais de la capacité des outils à s'adapter à vous. L'article compare Linear, un outil rigide, à Fibery, un outil flexible, illustrant leurs destins divergents. L'inflexibilité de Linear limite l'intégration de l'IA, tandis que Fibery utilise les LLMs pour transformer des configurations complexes en invites simples. Les LLMs déplacent l'accent de la conception de solutions à la définition des problèmes ; les utilisateurs décrivent leurs besoins en langage naturel, et l'IA gère la mise en œuvre. Cela souligne la puissance des logiciels malléables, où la configuration devient rapide et facile, permettant aux utilisateurs de s'adapter à l'évolution des besoins, tandis que les outils rigides sont laissés pour compte. L'article prédit que les logiciels malléables remplaceront progressivement leurs homologues rigides au cours des prochaines années, devenant le paradigme dominant.

Développement Logiciel malléable

Boucles de réessai élégantes : éviter la redondance et les attentes inattendues

2025-08-27

L'auteur explore comment écrire une boucle de réessai élégante qui limite clairement le nombre de tentatives, évite les attentes inutiles après la dernière tentative, signale l'erreur originale si la tentative échoue et évite la duplication de code. Plusieurs approches sont comparées, et finalement un boucle `try while` avec une limite supérieure est choisie pour garantir la terminaison, résolvant ainsi les problèmes de limites et les boucles infinies potentielles des solutions précédentes. Bien que la solution finale ne soit pas parfaite, elle représente une amélioration significative en termes de concision et de robustesse par rapport aux tentatives précédentes.

Développement

Async : Flux de travail de codage collaboratif alimenté par l'IA

2025-08-27
Async : Flux de travail de codage collaboratif alimenté par l'IA

Async est un outil de développement open source qui combine le codage par IA, la gestion des tâches et la revue de code en un flux de travail simplifié. Intégrant Claude Code, Linear et les PR GitHub, il recherche automatiquement les tâches de codage, exécute les modifications de code dans le cloud et divise le travail en sous-tâches révisables, gérant l'ensemble du flux de travail, du problème GitHub à la PR fusionnée. Async excelle avec les bases de code matures, imposant une planification préalable, éliminant le changement de contexte, simplifiant le suivi des tâches et offrant une revue de code intégrée. Construit avec FastAPI, Claude Code et Google Cloud Platform, il prend en charge les ordinateurs de bureau et les mobiles.

Développement

LiteLLM : Recrutement d'un Ingénieur Full-Stack Fondateur

2025-08-27
LiteLLM : Recrutement d'un Ingénieur Full-Stack Fondateur

LiteLLM, une passerelle LLM open source avec plus de 27 000 étoiles sur GitHub, utilisée par des entreprises comme la NASA et Adobe, se développe rapidement et recherche un ingénieur full-stack fondateur. Le rôle consiste à unifier le format d'appel de plus de 100 API LLM (OpenAI, Azure, Bedrock, etc.) en utilisant les spécifications OpenAI, en améliorant les performances et la fiabilité de la plateforme. La stack technologique inclut Python, FastAPI, JS/TS, Redis, Postgres, et plus encore. Les candidats doivent avoir 1 à 2 ans d'expérience en développement back-end ou full-stack, être à l'aise avec la maintenance d'infrastructures hautes performances et être passionnés par l'open source.

Développement

Sortie de spaCy 3.8 : Amélioration du PNL industriel

2025-08-27
Sortie de spaCy 3.8 : Amélioration du PNL industriel

spaCy 3.8 est sorti ! Cette bibliothèque avancée de traitement automatique du langage naturel (TALN) pour Python et Cython est basée sur les dernières recherches et conçue pour des applications réelles. Prenant en charge la tokenisation et l’entraînement pour plus de 70 langues, elle offre une vitesse et des modèles de réseaux neuronaux de pointe pour des tâches telles que la reconnaissance d’entités nommées, la classification de texte, et plus encore. Elle intègre l’apprentissage multitâche avec des transformateurs pré-entraînés comme BERT, un système d’entraînement prêt pour la production et une gestion simplifiée de l’empaquetage, du déploiement et du flux de travail. Consultez les notes de version pour plus de détails sur les améliorations.

Développement

Regolith : Une bibliothèque Regex à temps linéaire prévenant les attaques ReDoS

2025-08-27
Regolith : Une bibliothèque Regex à temps linéaire prévenant les attaques ReDoS

Regolith est une bibliothèque côté serveur TypeScript et JavaScript, construite avec Rust, pour prévenir les attaques par déni de service par expression régulière (ReDoS) en utilisant un moteur d'expressions régulières linéaire. Contrairement au RegExp par défaut dans TypeScript et JavaScript (qui a une complexité temporelle au pire des cas exponentielle), Regolith possède une complexité au pire des cas linéaire, atténuant efficacement les vulnérabilités ReDoS. Conçue comme un remplacement direct de RegExp, elle minimise l'effort de migration, permettant aux développeurs de créer facilement des logiciels résistants aux ReDoS. Encore en développement préliminaire, Regolith encourage les contributions de la communauté.

Développement

rv : Un gestionnaire de langage Ruby révolutionnaire

2025-08-27

Après dix ans de travail sur Bundler, l'auteur a enfin créé rv, un nouveau type d'outil de gestion Ruby. rv gère non seulement les dépendances gem, mais aussi les versions de Ruby, en installant des Rubies précompilées pour éliminer les longs temps de compilation. Plus important encore, rv rend triviale l'exécution de n'importe quel script ou outil Ruby, même s'il nécessite une version différente de Ruby. Inspiré par uv (un outil similaire pour Python), cargo et npm, rv offre vitesse, fiabilité et fonctionnalités innovantes comme `rv tool run` et `rv tool install`, simplifiant la gestion des environnements Ruby et augmentant considérablement la productivité des développeurs.

Développement

Artanis : Un framework web basé sur Guile, né d'un hackathon

2025-08-27

Artanis est un framework web écrit en GNU Guile. Sa création est née d'une discussion interne à GNU sur les langages de développement de sites web. L'auteur a proposé d'utiliser Guile et a reçu l'approbation de RMS. Plus tard, lors d'un hackathon de la communauté Guile, Artanis a été officiellement lancé et développé.

Développement

Partitionnement de hachage PostgreSQL 20 fois plus rapide : contournement des recherches de catalogue

2025-08-27
Partitionnement de hachage PostgreSQL 20 fois plus rapide : contournement des recherches de catalogue

Le partitionnement de hachage de PostgreSQL entraîne une surcharge de recherche de catalogue dans les applications à débit élevé. Cet article présente une technique d’optimisation qui contourne les recherches de catalogue de PostgreSQL en précalculant les index de partition dans la couche applicative. L’utilisation de la gemme Ruby `pg_hash_func` ou l’appel direct des fonctions de hachage de PostgreSQL peut accélérer les requêtes de plus de 20 fois, réduisant ainsi considérablement la latence. Cette approche convient aux scénarios critiques en termes de performances et offre davantage d’options pour équilibrer simplicité et performances.

Ingénierie inverse du GPU Apple M1 : les pilotes open source propulsent les jeux Linux

2025-08-27

En 2020, Hector Martin, étudiant en informatique à l'Université de Toronto, a lancé le projet Asahi Linux pour porter Linux sur la puce Apple M1. En collaboration avec un ingénieur de Collabora, il a procédé à l'ingénierie inverse du GPU du M1, obtenant progressivement l'accélération graphique et finalement la prise en charge complète d'OpenGL 4.6, Vulkan 1.4 et OpenCL 3.0, permettant ainsi les jeux Proton. Cela a non seulement réfuté le mythe selon lequel Vulkan ne convient pas au matériel Apple, mais a également fourni un pilote de haute qualité à la communauté open source, améliorant considérablement l'expérience de jeu Linux sur la puce M1.

Développement Pilote open source

Vérités inconfortables sur la vérification des développeurs Android de Google

2025-08-27

Cet article de blog soulève de sérieuses préoccupations concernant le prochain programme de vérification des développeurs Android de Google. En utilisant l'exemple du développeur de l'application ICEBlock, qui a subi des menaces après avoir révélé son identité, l'article soutient que le programme pourrait nuire aux développeurs ayant besoin d'anonymat. Cinq questions clés sont posées : comment les besoins légitimes d'anonymat des développeurs seront-ils traités ? Quelles organisations de la société civile ont été consultées et quels ont été les résultats ? Comment la politique de confidentialité de Google concernant le partage d'informations personnelles doit-elle être interprétée ? Comment le programme gérera-t-il les keystores de débogage et les noms de paquets dupliqués couramment utilisés dans le développement d'applications ? Quelles sont les implications pour ceux qui apprennent le développement Android ? L'article exhorte Google à participer à des discussions et fournit un formulaire de commentaires.

arXivLabs : Collaboration communautaire pour le développement des fonctionnalités d'arXiv

2025-08-26
arXivLabs : Collaboration communautaire pour le développement des fonctionnalités d'arXiv

arXivLabs est un nouveau cadre de collaboration permettant aux développeurs de créer et de partager de nouvelles fonctionnalités d'arXiv directement sur le site web d'arXiv. Les individus et les organisations participant à arXivLabs adhèrent aux valeurs d'arXiv : ouverture, communauté, excellence et confidentialité des données utilisateur. arXiv s'engage envers ces valeurs et ne travaille qu'avec des partenaires qui les partagent. Vous avez une idée de projet qui profiterait à la communauté arXiv ? En savoir plus sur arXivLabs !

Développement

TTY démystifié : Plongez au cœur de la console Linux

2025-08-26

Cet article fournit une explication complète du sous-système TTY de Linux. En retraçant son histoire des téléimprimeurs du XIXe siècle aux terminaux virtuels modernes, il détaille les rôles des pilotes UART, des disciplines de ligne, des pilotes TTY et de la gestion des signaux. L'article couvre également les états des processus, la gestion des travaux et des sessions, le contrôle de flux et les E/S bloquantes, à l'aide de diagrammes et d'exemples clairs. Il dévoile les complexités de la console Linux, offrant des informations précieuses aux développeurs et aux utilisateurs expérimentés.

Développement

La méthode John McPhee : Une plongée profonde dans l'écriture de non-fiction

2025-08-26

Cet article détaille le processus d'écriture du célèbre auteur John McPhee, en mettant l'accent sur une approche méticuleuse et en plusieurs étapes. Il commence par accumuler de nombreuses notes issues de recherches et d'entretiens, les organisant soigneusement en catégories thématiques. La structure est ensuite élaborée avec soin avant que la rédaction proprement dite ne commence. Cela évite le blocage de l'écrivain et permet un processus d'écriture plus fluide et plus efficace. L'auteur partage également son adaptation de la méthode McPhee, utilisant le mode org-mode d'Emacs pour une gestion simplifiée des notes.

Développement Organisation des notes

La fin de la gestion des certificats SSL (telle que nous la connaissons)

2025-08-26

La gestion des certificats SSL est en train de devenir un cauchemar. Ce qui était autrefois une tâche trimestrielle est maintenant une lutte hebdomadaire, alimentée par des exigences de validation de plus en plus strictes et des durées de vie des certificats drastiquement réduites, jusqu'à seulement 47 jours d'ici 2029 ! Cette charge croissante pousse les organisations vers une gestion des certificats intégrée à la plateforme ou des alternatives gratuites comme Let's Encrypt, ce qui pourrait perturber le marché des AC traditionnels. L'auteur s'interroge sur le fait que ces changements améliorent réellement la sécurité ou ajoutent simplement une surcharge inutile aux équipes informatiques déjà surchargées.

Développement gestion des certificats

Allocation de registres par balayage linéaire : gestion des trous de durée de vie

2025-08-26
Allocation de registres par balayage linéaire : gestion des trous de durée de vie

Cet article détaille les améliorations apportées à l'algorithme d'allocation de registres par balayage linéaire pour gérer les trous de durée de vie. L'auteur explique comment ces trous apparaissent lorsque le graphe de flot de contrôle est réduit à une séquence linéaire d'instructions, créant des discontinuités dans les durées de vie des registres virtuels. La solution consiste à modifier la structure de données d'intervalle pour prendre en charge plusieurs plages disjointes, permettant ainsi d'identifier et d'exploiter ces trous. L'algorithme de balayage linéaire est ensuite adapté pour prendre en compte ces trous lors de l'affectation des registres, ce qui améliore l'utilisation des registres. Cela améliore la capacité du compilateur à exploiter les ressources des registres, augmentant ainsi les performances du code.

Alignement des caractéristiques polynomiales avec la distribution des données : Le problème de l'attention-alignement en ML

2025-08-26
Alignement des caractéristiques polynomiales avec la distribution des données : Le problème de l'attention-alignement en ML

Cet article explore l'alignement des caractéristiques polynomiales avec la distribution des données pour améliorer les performances du modèle d'apprentissage automatique. Les bases orthogonales produisent des caractéristiques informatives lorsque les données sont distribuées uniformément, mais ce n'est pas le cas des données réelles. Deux approches sont présentées : une astuce de mapping, qui transforme les données en une distribution uniforme avant d'appliquer une base orthogonale ; et la multiplication par une fonction soigneusement choisie pour ajuster la fonction de poids de la base orthogonale afin qu'elle s'aligne sur la distribution des données. La première est plus pratique, réalisable avec le QuantileTransformer de Scikit-Learn. La seconde est plus complexe, nécessitant une compréhension mathématique plus approfondie et des réglages fins. Les expériences sur l'ensemble de données des logements en Californie montrent que les caractéristiques quasi-orthogonales de la première méthode surpassent le scaling min-max traditionnel dans la régression linéaire.

Conseils de carrière dangereux : un outil puissant pour les ingénieurs chevronnés

2025-08-26

Cet article soutient que des conseils de carrière efficaces, à l’instar d’outils tranchants, peuvent être extrêmement utiles ou incroyablement néfastes selon leur utilisation. La plupart des conseils de carrière sont superficiels et manquent d’application pratique. L’auteur encourage les ingénieurs à adopter des « conseils dangereux », à enfreindre les conventions pour gagner en efficacité. Bien que risqué, les récompenses surpassent les risques pour les ingénieurs expérimentés. L’auteur met en garde contre le fait que ce conseil ne convient pas aux ingénieurs moins expérimentés.

Développement

De Ruby à Python : l’évolution des préférences d’un programmeur

2025-08-26

Un programmeur expérimenté en Ruby partage son parcours d’évolution des préférences en matière de langages de programmation. Au départ, il appréciait l’élégance et la concision de Ruby, mais avec le temps, les améliorations de Python, notamment l’introduction des annotations de type et des correspondances de motifs, ont changé sa perspective. Il a découvert les avantages de Python en matière de collaboration d’équipe et l’a finalement choisi comme langage principal, soulignant l’importance de la praticité et de la dynamique d’équipe dans le choix du langage d’un programmeur.

Développement

timep : Un profileur Bash ultrarapide avec flamegraphs intégrés

2025-08-26
timep : Un profileur Bash ultrarapide avec flamegraphs intégrés

timep est un profileur basé sur les traps de pointe pour le code bash. Il génère des profils de temps d'exécution par commande, en enregistrant hiérarchiquement les temps d'exécution des commandes et les métadonnées en fonction de la profondeur d'imbrication des fonctions et des subshells. La dernière version (v1.3) est entièrement autonome, incluant un binaire compressé et un générateur de flamegraphs. Des refactorisations majeures ont considérablement amélioré les performances ; un test avec environ 67 000 commandes prend désormais 5 minutes (au lieu de 20 !). timep offre des profils détaillés et résumés, ainsi que des flamegraphs visuellement perspicaces, simplifiant l'analyse et l'optimisation du code Bash.

Développement profilage Bash
1 2 16 17 18 20 22 23 24 214 215