Category: Développement

Pangolin : Proxy inverse tunnelé auto-hébergé Zero Trust

2025-07-11
Pangolin : Proxy inverse tunnelé auto-hébergé Zero Trust

Pangolin est un serveur proxy inverse tunnelé auto-hébergé avec contrôle d'identité et d'accès, conçu pour exposer en toute sécurité les ressources privées sur les réseaux distribués. Il agit comme un hub central, connectant les réseaux isolés - même ceux derrière des pare-feu restrictifs - via des tunnels chiffrés, permettant un accès facile aux services distants sans ouvrir de ports. Utilisant WireGuard, Pangolin offre des fonctionnalités robustes, notamment l'authentification centralisée (SSO, TOTP), le contrôle d'accès basé sur les rôles et des options de déploiement flexibles. Étendez ses fonctionnalités avec des plugins Traefik. Les cas d'utilisation incluent le contournement des restrictions de port, le déploiement d'applications d'entreprise et la gestion des réseaux IoT. Une alternative auto-hébergée à Cloudflare Tunnels.

Développement zéro confiance

Bouteille à la performance de PostgreSQL LISTEN/NOTIFY : Leçons tirées du traitement de millions d’heures de réunions

2025-07-11
Bouteille à la performance de PostgreSQL LISTEN/NOTIFY : Leçons tirées du traitement de millions d’heures de réunions

Recall.ai traite des millions d’heures de données de réunion chaque mois. Sa base de données PostgreSQL a subi des pannes dues à des écritures hautement concurrentes. L’enquête a révélé que la fonctionnalité LISTEN/NOTIFY acquiert un verrou global de la base de données lors de la validation de la transaction, ce qui sérialise toutes les validations et crée un goulot d’étranglement. La migration de cette logique vers la couche application a résolu le problème.

Développement

Google DeepMind publie GenAI Processors : simplification du développement d’applications LLM

2025-07-11
Google DeepMind publie GenAI Processors : simplification du développement d’applications LLM

Google DeepMind a publié GenAI Processors, une bibliothèque Python open source conçue pour simplifier le développement d’applications complexes de modèles linguistiques de grande taille (LLM). La bibliothèque utilise une interface Processor pour abstraire les différentes étapes de traitement des données et gère les entrées multimodales via le traitement de flux asynchrone, permettant une exécution concurrente pour une meilleure réactivité et une efficacité accrue. GenAI Processors s’intègre à l’API Gemini et fournit des exemples pour créer des applications en temps réel, telles que la transcription en direct et les agents conversationnels.

Développement

Générateur de formulaires alimenté par l'IA avec soumissions illimitées

2025-07-10
Générateur de formulaires alimenté par l'IA avec soumissions illimitées

Ce générateur de formulaires basé sur l'IA permet un nombre illimité de soumissions et propose un générateur de formulaires IA, l'exportation CSV/JSON, un support prioritaire et la création mobile. Il inclut également des analyses avancées, des analyses basées sur l'IA, et des fonctionnalités à venir telles que la collaboration d'équipe, les domaines personnalisés, le marquage des réponses, les intégrations, la prise en charge améliorée des webhooks, un générateur de logique, la récupération de données API, les champs d'entrée de temps, les téléchargements de fichiers et des options de personnalisation avancées des formulaires.

Red Hat lance une version gratuite de RHEL pour les développeurs d'entreprise

2025-07-10
Red Hat lance une version gratuite de RHEL pour les développeurs d'entreprise

Red Hat a lancé Red Hat Enterprise Linux for Business Developers, une distribution Linux de niveau entreprise gratuite conçue pour donner aux développeurs un accès rapide et facile au même système d'exploitation utilisé dans les environnements de production pour le développement et les tests d'applications professionnelles. Les développeurs bénéficient d'un accès direct et en libre-service, sans avoir besoin de l'approbation du service informatique, avec jusqu'à 25 déploiements d'instances. Cela vise à réduire les frictions entre les équipes de développement et d'exploitation et à répondre aux menaces croissantes pour la sécurité de la chaîne d'approvisionnement logicielle. Il inclut du contenu de développeur signé et organisé, tel que des langages de programmation, des outils open source et des bases de données, ainsi que l'outil de développement de conteneurs de Red Hat, Podman Desktop.

Développement Linux entreprise

Tududi : Gestion des tâches simplifiée

2025-07-10
Tududi : Gestion des tâches simplifiée

La plupart des applications de gestion de tâches ressemblent à des tableaux de bord avec une infinité de contrôles et de micro-options. Créer une nouvelle tâche implique souvent de naviguer dans un labyrinthe de sélecteurs de couleurs, de niveaux de priorité et de paramètres de répétition. Tududi propose une approche différente : un workflow simplifié. Il privilégie la rédaction de la tâche, en se concentrant sur le flux plutôt que sur les fonctionnalités. Au lieu de présenter une boîte à outils, Tududi offre de l'efficacité.

Développement

Optimisation extrême d'un analyseur d'expressions mathématiques en Rust : de 43 secondes à 0,98 seconde

2025-07-10
Optimisation extrême d'un analyseur d'expressions mathématiques en Rust : de 43 secondes à 0,98 seconde

Cet article détaille le processus d'optimisation par l'auteur d'un analyseur d'expressions mathématiques en Rust, passant d'un temps d'exécution de 43 secondes à un temps impressionnant de 0,98 seconde. Grâce à une série d'optimisations, notamment l'évitement des allocations mémoire inutiles, le traitement direct des flux d'octets, la suppression de l'itérateur `Peekable`, l'utilisation d'instructions multithreading et SIMD, et l'emploi de fichiers mappés en mémoire, une amélioration spectaculaire des performances a été obtenue. L'article explique minutieusement les principes et les méthodes de mise en œuvre de chaque étape d'optimisation, étayées par des graphiques de flamme et des données de performance. Il s'agit d'une étude de cas convaincante sur l'optimisation des performances, mettant en lumière une programmation méticuleuse et une utilisation intelligente des fonctionnalités de Rust.

Thunderbird 140 “Eclipse” publié : une expérience de messagerie plus sombre et plus fluide

2025-07-10
Thunderbird 140 “Eclipse” publié : une expérience de messagerie plus sombre et plus fluide

Thunderbird 140 “Eclipse”, la dernière version à support étendu (ESR), est arrivée ! S’appuyant sur la version 128 et intégrant les récentes mises à jour mensuelles, cette version propose une messagerie sombre adaptative, des contrôles visuels améliorés et un centre de comptes simplifié. Les utilisateurs peuvent facilement personnaliser les paramètres d’apparence, utiliser les notifications natives du système d’exploitation et profiter de l’ajout de comptes et du tri des dossiers simplifiés. Des fonctionnalités supplémentaires incluent la prise en charge native expérimentale d’Exchange, l’exportation de code QR mobile, le défilement horizontal en vue tableau et des milliers de corrections de bogues et d’améliorations de performances. Les mises à jour manuelles sont disponibles dès maintenant pour Windows, Linux et macOS, les mises à jour automatiques seront déployées prochainement.

Développement

cmdk : Le nouveau meilleur ami de votre terminal (accès à tout avec ⌘-k)

2025-07-10
cmdk : Le nouveau meilleur ami de votre terminal (accès à tout avec ⌘-k)

Fatigué des commandes interminables `cd` et `ls` dans votre terminal ? cmdk révolutionne la navigation de fichiers ! Appuyez sur ⌘-k pour accéder instantanément à n’importe quel fichier ou répertoire de votre système de fichiers, avec des aperçus avant ouverture. Tirant parti de fzf pour la recherche floue, cmdk ouvre intelligemment les fichiers en fonction de leur type (texte dans vim, images dans Aperçu, etc.). Installation simple, fonctionnalité puissante : découvrez un accès similaire à Notion/Slack dans votre terminal.

Développement

CockroachDB 25.2 : Sécurité au niveau des lignes pour un contrôle amélioré des données

2025-07-10
CockroachDB 25.2 : Sécurité au niveau des lignes pour un contrôle amélioré des données

La version 25.2 de CockroachDB introduit la sécurité au niveau des lignes (RLS), une fonctionnalité puissante permettant un contrôle d'accès granulaire au niveau des lignes directement dans la base de données. Cela répond aux limites des autorisations traditionnelles au niveau des tables, particulièrement crucial pour les déploiements multi-locataires et multi-régions. L'article détail l'implémentation de la RLS à travers des cas d'utilisation multi-locataires et multi-régions, en montrant ses avantages en matière d'isolement des données, de conformité réglementaire et de simplification de la logique d'application. La combinaison de la RLS avec la fonctionnalité Regional By Row (RBR) de CockroachDB offre un contrôle d'accès basé sur la localisation géographique, garantissant le respect des lois sur la résidence des données.

Amélioration de la quantification des couleurs CIELAB avec la formule de distance HyAB

2025-07-10

Cet article explore une méthode améliorée de quantification des couleurs CIELAB utilisant une nouvelle formule de distance appelée HyAB, remplaçant la distance euclidienne traditionnelle. HyAB utilise la différence absolue pour la luminosité et la distance euclidienne pour la chromaticité, montrant un meilleur alignement avec la perception humaine lors d'expériences. L'auteur l'applique à l'algorithme k-means, optimisant davantage les résultats en remplaçant le calcul de la moyenne du composant L par le calcul de la médiane. Bien que HyAB puisse améliorer la qualité de l'image dans certains cas, l'auteur note que la conception générale du système et les techniques de post-traitement, telles que le tramage, ont un impact plus important sur le résultat final.

Développement

Prédiction de branchements : une clé pour l'optimisation des performances du CPU

2025-07-10
Prédiction de branchements : une clé pour l'optimisation des performances du CPU

Les instructions de branchement sont le mécanisme principal par lequel un CPU prend des décisions dans un programme. Cet article explore les types d'instructions de branchement (conditionnel/inconditionnel, direct/indirect) et comment la prédiction de branchement affecte les performances du CPU. Bien que les techniques de prédiction de branchement puissent améliorer significativement l'efficacité, les branchements fréquents créent toujours des goulots d'étranglement de performance. L'article suggère d'optimiser le code en simplifiant les instructions conditionnelles, en intégrant des fonctions, en évitant les appels excessivement imbriqués, en utilisant les branchements indirects avec prudence et en utilisant des instructions de déplacement conditionnel pour réduire le nombre d'instructions de branchement et améliorer les performances du programme.

Du Permissif au Copyleft : Un Changement dans les Licences Open Source

2025-07-10

L'auteur réfléchit sur l'évolution de ses préférences en matière de licences open source, passant d'une préférence pour les licences permissives (comme la MIT) pour privilégier une adoption maximale à une préférence pour les licences copyleft (comme la GPL). Ce changement est motivé par trois facteurs principaux : l'open source est devenu mainstream, facilitant son adoption par les entreprises ; l'espace crypto est devenu plus compétitif et mercenaire, rendant le partage « amical » insuffisant ; et les arguments économiques de Glen Weyl suggérant qu'une promotion active de l'open source est optimale avec des rendements croissants à l'échelle. L'auteur soutient que le copyleft, en exigeant le partage du code source des œuvres dérivées, favorise efficacement la diffusion des connaissances et le partage technologique, évitant le monopole des ressources par quelques-uns.

Développement

Petrichor : Un lecteur de musique hors ligne pour macOS

2025-07-10
Petrichor : Un lecteur de musique hors ligne pour macOS

Petrichor est un lecteur de musique hors ligne puissant pour macOS offrant toutes les fonctionnalités que vous attendez : navigation organisée de la bibliothèque musicale, gestion interactive des playlists et de la file d’attente de lecture, navigation par vue de dossiers, accès rapide aux favoris dans la barre latérale, navigation facile, intégration native macOS (contrôles dans la barre de menus et le Dock, prise en charge du mode sombre), recherche puissante et playlists intelligentes. Créé par un développeur qui regrettait les fonctionnalités de Swinsian et souhaitait apprendre le développement d’applications Swift et macOS, il est entièrement construit avec Swift et SwiftUI et utilise une base de données SQLite pour gérer les informations des fichiers musicaux.

Développement

DNS à horizon divisé flexible avec Tailscale et Pi-hole

2025-07-10
DNS à horizon divisé flexible avec Tailscale et Pi-hole

Cet article détaille la configuration de Pi-hole pour obtenir un DNS à horizon divisé utilisant Tailscale. L'auteur utilise le réseau maillé de Tailscale pour fournir différentes résolutions DNS aux clients LAN et Tailscale. Cela résout les problèmes d'accès causés par les services ne disposant pas d'une authentification secondaire et par le blocage géographique. Le processus a impliqué le dépannage du réseau Docker et de la liaison d'interface de Pi-hole, finalement résolus en utilisant les réseaux host et en ajustant les paramètres de Pi-hole. La solution améliore la sécurité et simplifie la gestion du réseau.

Développement DNS à horizon divisé

Optimisation du Théorème de l'Axe Séparateur avec la Traversée de la Carte de Gauss

2025-07-10
Optimisation du Théorème de l'Axe Séparateur avec la Traversée de la Carte de Gauss

Cet article présente un algorithme optimisé de détection de collision pour les polyèdres convexes. En reformulant le Théorème de l'Axe Séparateur (SAT) comme un problème d'optimisation sur une sphère, l'auteur révèle que le minimum se trouve aux intersections de grands cercles sur une carte de Gauss. Un algorithme de parcours de graphe évite les calculs répétés de la fonction de support, ne nécessitant qu'une seule évaluation complète au départ. L'algorithme met ensuite à jour efficacement le point de support en parcourant la carte de Gauss, ce qui entraîne des gains de performance significatifs. Les tests montrent une accélération de 5 à 10 fois par rapport au SAT traditionnel.

Extrait de code Clojure : création d’un index de genres de films

2025-07-10
Extrait de code Clojure : création d’un index de genres de films

Cet extrait de code Clojure crée élégamment un index de genres de films. À partir d’une map contenant des informations sur les films (titre, genres et note Rotten Tomatoes), il utilise les fonctions `reduce` et `zipmap` pour catégoriser les films par genre, produisant finalement une map où les clés sont les genres et les valeurs sont des listes de films appartenant à ce genre. Cet index facilite la recherche de films par genre et leur tri par note. Par exemple, il permet de trouver facilement tous les films de suspense et de les trier par leur note Rotten Tomatoes. Le code est concis et efficace, illustrant l’élégance de la programmation fonctionnelle.

Développement

Interfaces Génériques en Go : Utilisation astucieuse des interfaces génériques pour des structures d'arborescence efficaces et adaptatives

2025-07-10

Cet article explore l'utilisation avancée des interfaces génériques en Go, notamment comment gérer élégamment les contraintes de type lors de la construction de structures de données telles que les arbres de recherche binaires en utilisant des interfaces génériques auto-référentielles. Prenant une structure d'arbre comme exemple, il compare trois approches d'implémentation : l'utilisation de `cmp.Ordered`, une fonction de comparaison personnalisée et une interface générique auto-référentielle. Enfin, l'article approfondit la combinaison de contraintes `comparable` pour construire des ensembles ordonnés et éviter les complexités liées aux récepteurs de pointeur, en recommandant de privilégier la simplicité et la lisibilité dans la conception.

(go.dev)
Développement Génériques Go

Serveur MCP d'Anna's Archive : Recherche et Téléchargement de Documents

2025-07-10
Serveur MCP d'Anna's Archive : Recherche et Téléchargement de Documents

Il s'agit d'un serveur MCP permettant de rechercher et de télécharger des documents depuis Anna's Archive. Il permet de rechercher des documents correspondant à des termes spécifiés et de télécharger des documents spécifiques précédemment retournés par l'outil de recherche. Le logiciel décline explicitement toute approbation de l'acquisition non autorisée de contenu protégé par des droits d'auteur et doit être considéré uniquement comme un utilitaire. Les utilisateurs sont invités à respecter les droits de propriété intellectuelle. Nécessite deux variables d'environnement : ANNAS_SECRET_KEY (clé API) et ANNAS_DOWNLOAD_PATH (chemin de téléchargement).

Erreur d'affichage du site Web due à JavaScript désactivé

2025-07-10
Erreur d'affichage du site Web due à JavaScript désactivé

Lors de la visite d'un site Web, un message est apparu : « JavaScript has been disabled in your browser ». Cela a entraîné un affichage anormal, ne montrant que des éléments de base tels que la navigation, la recherche, le contenu, le pied de page et les informations de contact. Le site Web dépend de JavaScript pour son rendu et ses fonctionnalités. Il est recommandé d'activer JavaScript dans les paramètres du navigateur pour une expérience complète du site Web.

Développement Erreur de site Web

Les LLMs ont du mal avec le code de droite à gauche : le cas de q/kdb+

2025-07-09
Les LLMs ont du mal avec le code de droite à gauche : le cas de q/kdb+

Les grands modèles de langage (LLM) rencontrent des difficultés lorsqu'ils écrivent du code en q/kdb+, un langage avec un ordre d'évaluation de droite à gauche et sans priorité d'opérateurs. L'auteur montre que les LLM ont du mal à générer du code correct en suivant ces règles, mélangeant souvent la syntaxe de Python et de q. L'article explore pourquoi les LLM trouvent la programmation de droite à gauche difficile et propose Qython comme solution. Qython est un langage semblable à Python qui compile en q, tirant parti de l'expertise des LLM en Python pour contourner les difficultés de la syntaxe unique de q. Un exemple pratique montre l'efficacité de Qython.

Développement

Ruby 3.4 : Transition progressive vers les littéraux de chaînes congelés

2025-07-09
Ruby 3.4 : Transition progressive vers les littéraux de chaînes congelés

Ruby 3.4 entame une transition sur plusieurs versions vers des littéraux de chaînes congelés par défaut. Actuellement, Ruby 3.4 propose des avertissements activables lorsque les avertissements d'obsolescence sont activés, garantissant la compatibilité descendante. Les avertissements seront activés par défaut dans Ruby 3.7, les littéraux de chaînes congelés devenant la valeur par défaut dans Ruby 4.0. Ce changement promet des gains de performances grâce à la déduplication des chaînes, réduisant la collecte des ordures et l'utilisation de la mémoire. L'article détaille comment activer les avertissements, corriger les problèmes et migrer le code existant, préconisant une approche de mise à niveau progressive.

Développement Chaînes

Astro : Un framework web qui redéfinit la vitesse

2025-07-09
Astro : Un framework web qui redéfinit la vitesse

Lancé en 2021, Astro est un changement de paradigme dans les frameworks web. Il privilégie le contenu et le rendu côté serveur, ne fournissant aucun JavaScript par défaut pour des temps de chargement extrêmement rapides. Son architecture « insulaire » ne charge JavaScript que pour les composants interactifs, laissant le reste en HTML statique. Cela se traduit par des sites significativement plus rapides, améliorant ainsi le référencement et l'expérience utilisateur. Il est incroyablement polyvalent, vous permettant d'intégrer React, Vue ou d'autres frameworks de manière transparente. Si vous construisez des sites riches en contenu, Astro offre une alternative convaincante, en privilégiant la vitesse et la satisfaction du développeur.

Développement

Conférence API Platform 2025 : L'IA au cœur du développement d'API

2025-07-09
Conférence API Platform 2025 : L'IA au cœur du développement d'API

La conférence API Platform revient les 18 et 19 septembre 2025 à Lille (France) et en ligne ! Cet événement de deux jours présente les dernières tendances, les meilleures pratiques et des études de cas concernant API Platform et son écosystème (PHP, Symfony, JavaScript, IA, FrankenPHP, performances, outils). Avec près de 30 présentations en anglais et en français, la conférence est un événement incontournable pour les entreprises innovantes, les chefs de projet et les développeurs expérimentés. Développeurs, CTO et décideurs spécialisés dans ces technologies, cet événement est fait pour vous ! L'appel à communications est ouvert jusqu'au 23 mars. Les intervenants finaux seront annoncés à partir du 14 mai. Soumettez votre proposition et rejoignez-nous pour cette édition anniversaire spéciale !

Développement

La vérité sur les API REST : au-delà de CRUD

2025-07-09

Cet article explore l’essence du style architectural REST, en révélant son principe central : l’hypermédia comme moteur de l’état de l’application (HATEOAS). De nombreuses API dites « RESTful » se limitent aux opérations CRUD, négligeant la contrainte essentielle de HATEOAS, ce qui entraîne un couplage étroit entre le client et le serveur, nuisant à la maintenabilité et à l’évolutivité. À travers les arguments et les exemples de Roy Fielding, l’article explique comment de véritables API REST guident l’interaction du client via des liens hypermédia, permettant la découverte dynamique des ressources et les transitions d’état, pour construire en fin de compte des systèmes distribués faiblement couplés et évolutifs. L’article examine également les compromis pratiques qui conduisent souvent à des approches plus simples, de type RPC.

Développement

RN Maps Clustering : Une bibliothèque de clustering de cartes React Native performante

2025-07-09
RN Maps Clustering : Une bibliothèque de clustering de cartes React Native performante

RN Maps Clustering est une bibliothèque de clustering de cartes moderne, performante et entièrement typée pour React Native. Construite sur supercluster, elle fournit une API déclarative simple pour ajouter un clustering de marqueurs efficace et esthétique à vos composants react-native-maps. Personnalisez le rendu des clusters, gérez les événements de pression et profitez de fonctionnalités telles que la dispersion automatique des marqueurs et des performances élevées. Elle améliore considérablement l'efficacité du développeur.

Développement Clustering de Cartes

500 Miles d'e-mail : Une collection organisée d'histoires absurdes de bugs logiciels

2025-07-09

500 Mile Email est une liste organisée d'histoires étranges de bugs logiciels, mise à jour chaque semaine. Des serveurs de bases de données qui tombent en panne mystérieusement au Wi-Fi qui ne fonctionne que sous la pluie, en passant par des applications qui plantent après avoir bu du Coca-Cola, ces anecdotes sont à la fois hilarantes et stimulantes. Le site présente des contributions de développeurs, d'ingénieurs et d'utilisateurs du monde entier, mettant en lumière les moments humoristiques et perspicaces du développement logiciel.

Le bot de documentation LLM de Shopify : des conjectures plutôt que des faits ?

2025-07-09
Le bot de documentation LLM de Shopify : des conjectures plutôt que des faits ?

Le bot de documentation pour développeurs de Shopify, alimenté par LLM, a fourni une syntaxe Liquid incorrecte pour détecter les articles Shopify Collective dans les e-mails de confirmation de commande. Bien que le bot ait fourni une réponse rapide, le code n'a pas fonctionné en pratique car la balise Shopify Collective est ajoutée après la génération de l'e-mail. L'auteur remet en question la valeur de ce bot de documentation « à devinettes », arguant que le coût d'un mauvais conseil dépasse largement le bénéfice d'une aide rapide. Il suggère de se fier à la documentation officielle plutôt qu'à un bot potentiellement inexact.

Développement Bot de documentation

Sortie de Thunderbird 140 : mode sombre, synchronisation facile des paramètres et prise en charge d’Exchange

2025-07-09

La version 140 du client de messagerie Thunderbird est disponible, avec plusieurs nouvelles fonctionnalités. Le "mode sombre des messages" permet d’adapter le contenu des messages au mode sombre. Elle inclut également le transfert facile des paramètres du bureau vers le client mobile Thunderbird, la prise en charge expérimentale de Microsoft Exchange et des contrôles globaux pour l’enchaînement et l’ordre de tri des messages. Il s’agit d’une version à support étendu (ESR) avec 12 mois de support, bien que Thunderbird encourage les utilisateurs à passer au canal de publication mensuel. Un déploiement progressif pour les utilisateurs existants permet de détecter les bogues avant un déploiement généralisé, mais les mises à niveau manuelles sont possibles via Aide > À propos. Consultez les notes de version pour une liste complète des modifications.

Développement client de messagerie

Le nouvel outil de gestion des abonnements de Gmail : désencombrez votre boîte de réception

2025-07-09
Le nouvel outil de gestion des abonnements de Gmail : désencombrez votre boîte de réception

Google a annoncé une nouvelle fonctionnalité Gmail pour aider les utilisateurs à gérer leurs abonnements et à nettoyer leurs boîtes de réception. L'outil « Gérer les abonnements », déployé sur le Web, Android et iOS, permet aux utilisateurs de consulter et de se désabonner des abonnements indésirables en un seul endroit. Gmail envoie des demandes de désabonnement au nom de l'utilisateur. Cela s'appuie sur la fonctionnalité de désabonnement en un clic de l'année dernière. Le déploiement commence le 10 juillet, et la disponibilité totale est prévue dans les 15 jours.

1 2 44 45 46 48 50 51 52 214 215