Category: Développement

Livre-vidéo interactif sur la combinatoire bijective : ABjC

2025-06-21

ABjC est un livre-vidéo en quatre parties sur la combinatoire bijective, chaque partie correspondant à un cours donné à l'IMSc. Présenté sous forme de vidéos avec un site web interactif pour une navigation facile, ABjC permet aux utilisateurs de localiser des sections et des horodatages spécifiques. Il couvre la combinatoire énumérative, algébrique et bijective, présentant de nouveaux résultats et des présentations originales de la théorie classique. Adapté aux étudiants de premier cycle, de troisième cycle et aux chercheurs, le livre-vidéo inclut des sections pour différents niveaux de compétence.

Développement livre-vidéo

Cosmoe : Améliorations de la stabilité et de la compatibilité nécessaires pour cette bibliothèque d'interface utilisateur BeOS

2025-06-21

Cosmoe, une bibliothèque d'interface utilisateur BeOS construite sur Wayland, nécessite des améliorations supplémentaires en termes de stabilité et de compatibilité malgré les progrès significatifs réalisés dans l'intégration des bibliothèques de classes BeOS avec Wayland. Des plantages et des comportements incorrects persistent, entravés par les complexités de Wayland. Cosmoe implémente actuellement environ 95 % de l'API BeOS, mais des fonctionnalités cruciales telles que les BBitmaps "hors écran" pour le dessin accéléré et BFilePanel (boîtes de dialogue Ouvrir/Enregistrer) sont toujours manquantes. Certaines classes liées aux fichiers ne sont que partiellement implémentées. De plus, les restrictions de sécurité de Wayland empêchent certaines actions sur les fenêtres, telles que le positionnement et le centrage. Consultez le fichier TODO du référentiel Cosmoe pour plus de détails.

Développement

Maîtriser TestFlight : Guide pour les tests d'applications bêta

2025-06-21
Maîtriser TestFlight : Guide pour les tests d'applications bêta

Envie de tester les dernières applications avant tout le monde ? TestFlight est votre solution ! Ce guide explique comment installer, tester et mettre à jour les applications bêta sur iOS, iPadOS, macOS, tvOS et visionOS. Rejoignez les tests via des invitations par e-mail ou des liens publics pour installer sur jusqu'à 30 appareils. Notez que les achats intégrés effectués pendant les tests bêta ne sont pas transférés vers la version App Store, et les versions bêta expirent après 90 jours. TestFlight prend également en charge les mises à jour automatiques et les tests de versions précédentes pour une collaboration simplifiée entre développeurs et testeurs.

Développement Tests bêta

Delta Chat : Messagerie Décentralisée et Sécurisée

2025-06-21
Delta Chat : Messagerie Décentralisée et Sécurisée

Delta Chat est une application de messagerie décentralisée et sécurisée offrant une messagerie instantanée fiable avec prise en charge de plusieurs profils et appareils. Les utilisateurs peuvent se connecter à des serveurs de chatmail rapides et sécurisés ou utiliser des serveurs de messagerie classiques. Des applications web interactives au sein des chats permettent les jeux et la collaboration. Le chiffrement de bout en bout audité protège contre les attaques réseau et serveur. Construit sur des principes open source et des normes Internet, Delta Chat évite les pièges des plateformes centralisées.

Risques de sécurité des analyseurs Go : exploitation des comportements inattendus dans JSON, XML et YAML

2025-06-21
Risques de sécurité des analyseurs Go : exploitation des comportements inattendus dans JSON, XML et YAML

Les analyseurs JSON, XML et YAML de Go présentent des risques de sécurité, permettant aux attaquants d'exploiter des comportements inattendus pour contourner l'authentification, éviter l'autorisation et exfiltrer des données sensibles. L'article détaille trois scénarios d'attaque : (1) (Dés)sérialisation de données inattendues : exposition de données que les développeurs souhaitaient garder privées ; (2) Différentiels d'analyseurs : les divergences entre les analyseurs permettent de contourner les contrôles de sécurité ; et (3) Confusion de format de données : exploitation de la gestion des charges utiles entre les formats. Les atténuations incluent l'utilisation de `DisallowUnknownFields` et de fonctions personnalisées pour compenser les vulnérabilités de la bibliothèque standard de Go.

Développement sécurité Go

Descente de bloc de sommet augmentée : une percée dans la simulation physique en temps réel

2025-06-21

Des chercheurs ont développé la descente de bloc de sommet augmentée (AVBD), une nouvelle méthode de simulation physique inconditionnellement stable, hautement parallélisable et offrant une convergence et une gestion des contraintes complexes considérablement améliorées. L’AVBD gère efficacement des scénarios complexes tels que l’empilement de corps rigides, la friction, les contraintes articulaires et les interactions rigides-souples. Une implémentation GPU atteint des performances en temps réel, en maintenant la stabilité même avec des millions d’objets interagissant par le biais de collisions. Comparée aux alternatives de pointe, l’AVBD démontre des performances, une convergence et une stabilité supérieures, avec une démonstration 2D en ligne disponible.

Développement simulation physique

Migration du système de build de Chromium vers Siso

2025-06-21

L'équipe d'infrastructure de build de Chrome annonce que le système de build de Chromium passe de Ninja à Siso, un remplacement direct de Ninja prenant en charge nativement l'exécution à distance. Les développeurs externes doivent simplement continuer à utiliser autoninja ; il utilisera automatiquement Siso après avoir exécuté `gn clean` la prochaine fois. En cas de problème, revenez à Ninja en définissant `use_siso=false` dans votre `args.gn`. La prise en charge de Ninja prend fin fin septembre, ainsi que la suppression de Reclient.

Développement

Panique parisienne : Un désastre de suppression en cascade en production

2025-06-21
Panique parisienne : Un désastre de suppression en cascade en production

Un ingénieur logiciel travaillant chez Joe AI, une startup immobilière parisienne, a accidentellement supprimé un enregistrement d'utilisateur dans la base de données de production, déclenchant une suppression en cascade qui a effacé trois mois de données cruciales. Bien que certaines données aient été récupérées en passant à un plan payant de Supabase, l'incident a mis en évidence les risques liés à la manipulation directe des bases de données de production et la nécessité critique de stratégies de sauvegarde robustes. Le désastre a finalement poussé l'équipe à améliorer son flux de travail de développement, en mettant en place des instances locales de Supabase, ce qui a entraîné une meilleure efficacité. L'expérience souligne l'importance d'apprendre de ses erreurs et d'adopter une culture de prise de risques et d'amélioration itérative.

Apprenez les corps de Galois pour le grand bien ! (Partie 00)

2025-06-21

Cette série propose une introduction progressive à l’algèbre abstraite, en se concentrant sur les corps de Galois (corps finis) et leurs applications en informatique. L’auteur aborde le manque de ressources accessibles aux informaticiens, en offrant une approche étape par étape avec des exemples pratiques de code Rust. Les sujets abordés incluent les codes de Reed-Solomon, le chiffrement AES et bien plus encore. L’accent est mis sur la compréhension, et non sur l’optimisation, ce qui le rend idéal pour les débutants.

AtomicOS : Un système d'exploitation éducatif privilégiant la sécurité

2025-06-21
AtomicOS : Un système d'exploitation éducatif privilégiant la sécurité

AtomicOS est un système d'exploitation éducatif créé de zéro, priorisant la sécurité au détriment des performances. Il utilise le langage de programmation déterministe Tempo et implémente une véritable protection de la mémoire, le chiffrement (AES-128, SHA-256) et une MMU complète. Bien qu'il manque actuellement de fonctionnalités telles qu'une pile réseau, un système de fichiers et des pilotes, sa conception et son implémentation axées sur la sécurité sont remarquables. Le projet est open-source, mais nécessite une attribution et la divulgation des modifications.

Développement

arXivLabs : Collaboration communautaire sur les fonctionnalités d'arXiv

2025-06-20
arXivLabs : Collaboration communautaire sur les fonctionnalités d'arXiv

arXivLabs est un nouveau cadre collaboratif permettant aux développeurs de créer et de partager de nouvelles fonctionnalités arXiv directement sur le site Web d'arXiv. Les individus et les organisations impliqués partagent les valeurs d'arXiv en matière 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 y adhèrent. Vous avez une idée pour améliorer la communauté arXiv ? En savoir plus sur arXivLabs !

Développement

Les LLM aggravent la sous-utilisation des bibliothèques

2025-06-20

Les bibliothèques sont sous-utilisées en raison de facteurs tels que le plaisir de coder par rapport à la lecture de la documentation, l'effet Dunning-Kruger sous-estimant la complexité de la bibliothèque et les projets internes en compétition avec les bibliothèques. Les LLM aggravent ce problème. Bien que le « vibe coding » avec les LLM soit amusant et efficace, la sortie est souvent inférieure à celle des bibliothèques éprouvées. Le code généré par les LLM est susceptible aux limitations de l'ingénierie des invites, tandis que les créateurs de bibliothèques ont une meilleure compréhension du problème et peuvent exploiter les LLM pour générer du code de meilleure qualité. Ironiquement, une dépendance excessive aux LLM pour la génération de code peut être perçue comme de l'innovation, créant des incitations perverses et exacerbant encore le problème. Pour les tâches complexes, il est crucial de privilégier les bibliothèques établies plutôt que l'utilisation directe des LLM.

Développement Bibliothèques

Preuve de la correction de la mémoïsation dans Lean : étude de cas

2025-06-20
Preuve de la correction de la mémoïsation dans Lean : étude de cas

Cet article de blog montre comment résoudre un problème de programmation dynamique en utilisant la mémoïsation dans le prouveur de théorèmes Lean et comment vérifier formellement sa correction. L’auteur aborde le problème des pièces d’or de Bytelandie, en présentant d’abord une solution mémorisée utilisant un HashMap. La difficulté de prouver directement sa correction est soulignée en raison des défis liés au raisonnement sur les invariants de structure de données. La solution utilise des sous-types et des paires dépendantes pour créer un `PropMap`, une table de mémoïsation qui stocke non seulement les valeurs calculées, mais aussi les preuves de leur correction. La correction de l’algorithme est ensuite prouvée de manière incrémentale au sein de sa propre implémentation récursive, aboutissant à une preuve de niveau supérieur triviale. Cette approche relie élégamment le code et la preuve, montrant une technique puissante pour vérifier formellement les algorithmes de programmation dynamique.

Développement programmation dynamique

Visualiseur et extracteur MSI : basé sur navigateur, sans téléchargement

2025-06-20

Cet outil interactif vous permet de visualiser le contenu des fichiers MSI et d'extraire leurs fichiers directement dans votre navigateur. Tout le traitement se fait sur votre appareil ; aucun fichier n'est téléchargé sur un serveur. Il utilise Pyodide pour exécuter pymsi en arrière-plan, fournissant des vues des fichiers, des tables, des informations sommaires et des flux.

Développement Visualiseur de fichiers

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

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

arXivLabs est un framework 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 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

Nouvelle technique anti-bloqueur de publicités de YouTube : fausse mise en mémoire tampon et comment la contourner

2025-06-20

YouTube a déployé une nouvelle série de mesures anti-bloqueurs de publicités, dont une consiste en une "fausse mise en mémoire tampon". Les vidéos subissent un buffering artificiellement long au début, proportionnel à la durée de la publicité. Cela est dû au fait que l’API InnerTube de YouTube, lorsqu’un bloqueur de publicités est détecté, renvoie des flux vidéo de GVS (Google Video Services) avec des délais. L’auteur a trouvé une solution en modifiant un filtre uBlock Origin pour ajouter la propriété `isInlinePlaybackNoAd : true` à la requête JSON. Cependant, YouTube a implémenté un script de verrouillage, nécessitant une solution de contournement en connectant Object.assign.

Développement

HashiCorp met fin à HCP Vault Secrets

2025-06-20
HashiCorp met fin à HCP Vault Secrets

HashiCorp a annoncé l'arrêt de son service HCP Vault Secrets à compter du 27 août 2025 pour les clients payant à l'utilisation. L'entreprise intégrera les améliorations d'utilisabilité de HCP Vault Secrets à HCP Vault Dedicated. Les utilisateurs existants sont invités à migrer vers HCP Vault Dedicated ou Vault Community. Les ventes prennent fin le 30 juin 2025 ; les clients existants peuvent ajouter de nouvelles applications jusqu'à la fin de vie du service. Les clients ayant un contrat Flex ne sont pas concernés.

Développement

Nxtscape : Le navigateur agentique open source - Votre assistant de productivité IA

2025-06-20
Nxtscape : Le navigateur agentique open source - Votre assistant de productivité IA

Nxtscape, un navigateur open source basé sur Chromium, offre une alternative privilégiant la confidentialité par rapport aux options propriétaires. Il permet aux utilisateurs d'exécuter des agents comme Manus localement, augmentant ainsi leur productivité grâce à un assistant IA. Contrairement à Chrome, Nxtscape conserve les fonctionnalités IA localement, priorisant la confidentialité de l'utilisateur. Sa vision est de réinventer l'expérience du navigateur, en résolvant des problèmes tels que la surcharge d'onglets et le fastidieux remplissage de formulaires. Les fonctionnalités futures incluent un store MCP et un bloqueur de publicités IA intégré. Le projet est open source et piloté par la communauté, encourageant la participation des utilisateurs.

Développement Navigateur Open Source

Échapper au cauchemar de la production en science des données : une solution Pythonique avec Marimo et Bauplan

2025-06-20
Échapper au cauchemar de la production en science des données : une solution Pythonique avec Marimo et Bauplan

Le passage des modèles d'apprentissage automatique du prototype à la production reste un obstacle majeur pour les scientifiques des données. Les approches traditionnelles reposent sur des notebooks Jupyter fragiles ou sur des transferts DevOps coûteux et longs. Cet article présente Marimo et Bauplan, une combinaison d'outils Pythoniques qui permet une transition transparente du prototype à la production, en maintenant l'ensemble du flux de travail au sein de l'écosystème Python. Marimo est un notebook open source moderne qui combine la flexibilité de Jupyter avec la maintenabilité des scripts, tandis que Bauplan est une plateforme de données cloud prenant en charge les workflows Pythoniques avec un contrôle de version des données intégré et des environnements déclaratifs. Grâce à ces outils, les scientifiques des données peuvent déployer directement le code de leurs notebooks en production sans refactorisation complexe ni collaboration entre équipes, simplifiant ainsi considérablement le processus de production et augmentant l'efficacité.

Développement

Moteur de différenciation automatique minimal en Rust

2025-06-20
Moteur de différenciation automatique minimal en Rust

Il s'agit d'un moteur de différenciation automatique minimal écrit en Rust. Il peut entraîner un petit perceptron multicouche pour apprendre la fonction XOR et afficher un graphe de calcul d'un seul perceptron dans graph.html. Le cœur du système est la structure Scalar, qui stocke la valeur, le gradient optionnel et une Edge décrivant l'opération qui l'a produite. Les surcharges d'opérateurs et les fonctions auxiliaires construisent un graphe acyclique dirigé, en mettant en cache la dérivée locale pour chaque arête. `backward()` propage récursivement les gradients depuis le nœud de sortie, en les accumulant dans les nœuds feuilles créés avec `Scalar::new_grad`. Le graphe peut être visualisé avec `plot::dump_graph`.

Klong : Un langage de tableaux concis

2025-06-20

Klong est un langage de tableaux concis, similaire à K, mais sans ambiguïté. Il utilise une notation mathématique pour la programmation, ce qui peut sembler simpliste pour ceux qui connaissent K ou APL, tandis que cela peut représenter un défi pour les débutants. Une documentation complète est disponible, incluant un manuel de référence, un guide d'introduction, une référence rapide et une comparaison entre Klong et K. Écrit en ANSI C pur, il est facile à compiler et à installer, et une version vectorisée appelée KlongPy est également disponible.

Développement programmation de tableaux

Phoenix.new : un agent de codage en ligne basé sur Elixir révolutionnant le développement d'applications en temps réel

2025-06-20
Phoenix.new : un agent de codage en ligne basé sur Elixir révolutionnant le développement d'applications en temps réel

Chris McCord, créateur du framework Phoenix, dévoile Phoenix.new, un agent de codage en ligne basé sur Elixir. S'exécutant dans une VM isolée avec un accès root au shell, l'agent peut installer des paquets, exécuter des programmes et interagir avec les applications. Intégré à un navigateur pour les tests et l'interaction front-end, Phoenix.new automatise le déploiement, s'intègre à Github et simplifie considérablement le flux de travail de développement. Il peut même générer des applications basées sur des schémas de bases de données. McCord suggère que cela représente un changement majeur dans le développement, le développement futur dépendant probablement davantage des agents travaillant dans des environnements CI.

(fly.io)
Développement

cursor : Explorateur de base de données PostgreSQL basé sur l'IA

2025-06-20
cursor : Explorateur de base de données PostgreSQL basé sur l'IA

cursor est une application de bureau locale qui utilise l'IA pour explorer votre base de données PostgreSQL en quelques secondes. Elle génère instantanément des requêtes conscientes du schéma, prend en charge n'importe quelle base de données PostgreSQL et vous permet d'utiliser votre propre clé OpenAI. Bien que des versions précompilées soient bientôt disponibles, les utilisateurs doivent actuellement la compiler à partir de la source.

ts-ssh : Un puissant outil SSH/SCP en ligne de commande pour Tailscale

2025-06-20
ts-ssh : Un puissant outil SSH/SCP en ligne de commande pour Tailscale

ts-ssh est un client SSH et SCP en ligne de commande simplifié qui utilise le réseau Tailscale. Il offre des opérations multi-hôtes puissantes, l'exécution de commandes par lots et une véritable intégration tmux, le tout sans nécessiter le démon Tailscale complet. Parfait pour les équipes DevOps qui ont besoin d'un accès SSH rapide et fiable sur leur infrastructure Tailscale, ts-ssh prend en charge plusieurs méthodes d'authentification, des sessions SSH interactives, une vérification sécurisée des clés d'hôte et des transferts SCP directs. Ses capacités multi-hôtes avancées incluent l'exécution de commandes par lots, l'exécution de commandes concurrentes et la distribution de fichiers multi-hôtes. Compatible avec plusieurs plates-formes et offrant une prise en charge de plusieurs langues, ts-ssh est essentiel pour une gestion efficace des réseaux.

Développement

Les pièges de la génération de code IA : ignorer l’architecture sous-jacente

2025-06-20
Les pièges de la génération de code IA : ignorer l’architecture sous-jacente

Cet article explore les risques liés à l’utilisation aveugle des méthodologies agiles et des outils de génération de code IA dans l’ingénierie logicielle. L’auteur soutient que les pratiques agiles actuelles surestiment la vitesse de développement des fonctionnalités, négligeant le travail sous-jacent de maintenance et d’architecture du système. Les outils de génération de code IA excellent dans la production rapide de fonctionnalités de surface, mais échouent à résoudre les problèmes d’architecture sous-jacents. Cela revient à construire une maison en se concentrant uniquement sur la décoration, en ignorant les fondations, ce qui conduit finalement à l’effondrement du système. L’auteur exhorte les dirigeants d’entreprise à valoriser le travail sous-jacent de l’ingénierie, à éviter de sacrifier la stabilité à long terme pour des gains à court terme et suggère d’apprendre les méthodes de comptabilité technique pour mieux comprendre et gérer les équipes d’ingénierie.

Développement

Meilleures pratiques pour écrire des Makefiles GNU robustes

2025-06-20

Ce guide complet décrit les meilleures pratiques pour créer des Makefiles GNU efficaces, faciles à maintenir et portables. Il couvre la structure de Makefile, l'utilisation des variables, les définitions des règles et des cibles et les stratégies pour gérer les grands projets et les compilations parallèles. Le guide met l'accent sur l'utilisation des variables automatiques, la prévention des erreurs courantes et fournit des techniques pour gérer divers scénarios tels que les tâches de nettoyage, la gestion des dépendances et le traitement de plusieurs fichiers. L'objectif final est de permettre aux développeurs d'écrire des Makefiles propres, compréhensibles et faciles à maintenir, augmentant ainsi l'efficacité du développement.

Développement

La révolution Wayland : l’accessibilité dans l’avenir du bureau Linux

2025-06-20

Avec la disparition imminente de X11, Wayland est sur le point de devenir l’avenir du bureau Linux. Cela représente un défi majeur pour les utilisateurs handicapés qui dépendent des technologies d’assistance, car les premières implémentations de Wayland présentaient de graves problèmes d’accessibilité. Cependant, la situation s’améliore. GNOME améliore activement le support d’accessibilité de Wayland, et les lecteurs d’écran comme Orca deviennent plus réactifs. Bien que des défis persistent, comme le support insuffisant des interfaces graphiques sans tête et les problèmes de compatibilité du compositeur, les développeurs s’efforcent de les résoudre et de construire un écosystème Wayland plus accessible. Cet article appelle à un effort collaboratif des développeurs et de la communauté pour garantir que l’avenir de Wayland ne laisse pas les utilisateurs handicapés pour compte.

Développement Technologies d'assistance

Compilations Rapides en Rust : Le Secret des CI en Moins de 10 Minutes

2025-06-20

Il est courant de se plaindre de la lenteur de compilation de Rust, mais l'auteur soutient que la plupart des projets Rust compilent beaucoup plus lentement qu'ils ne le devraient. Prenant rust-analyzer (200 000 lignes de code plus un million de lignes de dépendances) comme exemple, il a réussi à obtenir un pipeline CI de 8 minutes sur GitHub Actions. L'article détaille des stratégies pour optimiser les temps de compilation, notamment en tirant parti de la mise en cache CI, en divisant les tâches CI, en désactivant la compilation incrémentale et les informations de débogage, en réduisant les dépendances, en utilisant `cargo build -Z timings` pour le profilage, et en architecturant soigneusement le code pour éviter une instanciation excessive des génériques aux limites des crates. L'auteur souligne l'impact du temps de compilation sur la productivité des développeurs et recommande d'optimiser régulièrement les temps de compilation afin de maintenir les temps CI des grands projets Rust dans une fourchette raisonnable, par exemple, environ 10 minutes.

JavaScript : Le progrès qui a cassé le web

2025-06-20
JavaScript : Le progrès qui a cassé le web

Cet article critique l'utilisation excessive des frameworks JavaScript dans le développement web moderne. L'auteur soutient que la poursuite d'expériences similaires aux applications natives a conduit les développeurs à utiliser des frameworks et des outils excessivement complexes, entraînant des temps de chargement lents, une maintenance difficile et une expérience utilisateur et un référencement dégradés. De nombreuses fonctionnalités des sites web, affirme l'article, pourraient être réalisées avec un code plus simple, tandis que des architectures trop complexes réduisent l'efficacité. L'auteur appelle à un retour à la simplicité, en privilégiant l'expérience utilisateur et les performances plutôt que l'exhibitionnisme technique.

Développement

Maîtriser les Makefiles : Un guide complet

2025-06-20

Ce guide démystifie les Makefiles, en abordant leur syntaxe souvent confuse et leurs règles cachées. Il commence par les bases, en progressant à travers la syntaxe, les variables, les fonctions et les techniques avancées, le tout illustré par des exemples exécutables. Le guide se termine par un modèle de Makefile pratique pour les projets de taille moyenne, devenant ainsi une ressource précieuse pour les développeurs de tous niveaux.

Développement
1 2 55 56 57 59 61 62 63 214 215