Plexus est une plateforme collaborative qui évalue la compatibilité des applications Android sur des appareils dé-Googlés, en s’appuyant sur les contributions de la communauté. Elle recense plus de 10 000 applications, notées selon leur fonctionnement sans dépendre des services Google : Gold pour un usage parfait, Silver pour des problèmes mineurs, Bronze pour des limitations notables, et Broken pour les applications inutilisables. Une distinction est également faite pour les appareils utilisant microG, une alternative open-source aux services Google Play.
Les statistiques montrent une majorité d’applications bien notées (12 517 Gold en dé-Googlé), mais un nombre significatif reste problématique (1 088 Broken). La plateforme permet aux utilisateurs de partager leurs retours pour améliorer la compatibilité des logiciels avec ces environnements alternatifs.
Développée par Techlore, Plexus propose des liens vers son code source, des téléchargements et des ressources complémentaires, tout en restant accessible via une API pour les développeurs.
Cette page de Chris Burnell illustre la puissance croissante du HTML natif, qui permet désormais des interactions dynamiques autrefois réservées à JavaScript. Elle présente des fonctionnalités comme les popovers, les modales <dialog>, les groupes <details> ou encore les attributs loading="lazy" et hidden until-found, démontrant comment le navigateur gère seul des comportements complexes sans code supplémentaire.
L’auteur souligne cependant les limites d’implémentation et d’accessibilité de certaines de ces fonctionnalités, comme le popover ou le hidden until-found, qui peuvent poser problème selon les navigateurs ou les outils d’assistance. Il encourage à les tester tout en veillant à les rendre accessibles.
Enfin, des éléments comme command et commandfor ouvrent la voie à des interactions encore plus poussées, bien que leur support reste partiel. La page sert à la fois de démonstration et de rappel sur l’évolution continue des standards web.
L’article de JoeCode défend l’idée que SQLite, souvent sous-estimé, peut remplacer de nombreux outils spécialisés grâce à ses fonctionnalités étendues et sa simplicité. L’auteur souligne sa stabilité exceptionnelle, illustrée par un historique de 25 ans, une couverture de test quasi parfaite et une adoption massive dans des environnements critiques comme les smartphones ou les avions. Contrairement aux bases de données traditionnelles, SQLite se distingue par son absence de dépendances, son intégration native dans de nombreux langages et systèmes, et son modèle public domain, garantissant une liberté d’utilisation sans contraintes.
L’auteur met en avant la polyvalence de SQLite, capable de servir de moteur de recherche full-text, de base de données JSON, de file d’attente, de base de données vectorielle pour l’IA, ou même de système de cache, réduisant ainsi la complexité des architectures IT. Son installation et son déploiement sont quasi instantanés, car il est déjà présent sur la plupart des systèmes, et son utilisation en mémoire (:memory:) simplifie grandement les tests unitaires. Pour les environnements serveurs, SQLite s’exécute directement sans configuration supplémentaire, bien que ses performances verticales (sur un seul serveur) soient limitées par le matériel.
Enfin, l’article souligne que SQLite évolue constamment avec des fonctionnalités modernes comme les window functions ou le support JSONB, tout en restant rétrocompatible. Bien que l’auteur plaisante sur sa capacité à remplacer même une PlayStation 5, il reconnaît que son véritable atout réside dans sa fiabilité et son intégration transparente, faisant de lui un choix judicieux pour des applications où la simplicité et la robustesse priment.
L’article défend l’idée que PostgreSQL peut remplacer de nombreux outils spécialisés grâce à ses fonctionnalités étendues. L’auteur, Raphael Bauer, souligne sa stabilité, sa facilité d’installation et de scalabilité, ainsi que sa capacité à simplifier les infrastructures IT en intégrant des fonctions comme la recherche full-text, le stockage JSON, le traitement de séries temporelles ou même le caching. Il évoque aussi son rôle potentiel dans les workflows d’IA ou comme base pour des microservices.
L’auteur partage son expérience depuis 2003, comparant PostgreSQL à MySQL de l’époque, plus limité en fonctionnalités malgré sa popularité. Il illustre son propos par des cas concrets, comme l’utilisation de TimescaleDB pour l’analyse de données web dans son outil Privatracker, évitant ainsi la maintenance de systèmes multiples.
Enfin, Bauer met en avant la maturité de PostgreSQL, soutenu par une communauté active qui enrichit régulièrement le logiciel sans compromettre sa stabilité. Il recommande des ressources complémentaires, comme les travaux de Stephan Schmidt ou Hazel Bachrach, pour approfondir les possibilités de cet outil polyvalent.
L’article analyse les hacks récents ayant ciblé des services publics français en 2026, soulignant que trois des quatre attaques ont exploité des comptes légitimes sans nécessiter de compétences techniques avancées. Il met en avant l’importance de la défense en profondeur : pare-feu, cloisonnement, double authentification et contrôle strict des droits d’accès, tout en rappelant que la minimisation des données (RGPD) limite les risques de fuite. L’exemple de la DGFIP illustre un retard de six semaines dans la détection de l’exfiltration de données, malgré une coupure immédiate des accès, soulignant l’importance de surveiller à la fois l’intrusion et la sortie des informations.
Les attaques se divisent en deux catégories : les cibles spécifiques (phishing, mots de passe volés, comptes obsolètes) et les scans automatisés exploitant des failles connues dans des logiciels populaires. L’article cite l’exemple d’une faille de conception (IDOR) sur le portail ANTS, où une simple modification d’URL permettait d’accéder à des dossiers non sécurisés. Les robots malveillants, eux, ciblent indistinctement les serveurs vulnérables, souvent en quelques secondes après l’enregistrement d’un nom de domaine.
Enfin, l’auteur insiste sur la nécessité d’une approche globale, combinant prévention (mises à jour, configuration par défaut restrictive) et détection rapide des intrusions ou fuites. Il rappelle que le RGPD impose une notification rapide des victimes, mais que certains organismes peinent à identifier une exfiltration de données, retardant ainsi les mesures correctives.
L’article de Smashing Magazine explore l’utilisation de SMIL (Synchronized Multimedia Integration Language) pour animer des SVG, une alternative méconnue aux animations CSS ou JavaScript. SMIL permet d’animer intégralement un SVG, y compris via la balise <img>, sans recourir à JavaScript, bien que certaines propriétés comme viewBox ne disposent pas encore d’équivalents CSS. L’auteur souligne que SMIL, malgré sa syntaxe verbeuse, offre une solution native pour des animations complexes, notamment lorsque JavaScript est bloqué.
Pour simplifier la gestion des animations SMIL, souvent alourdies par des balises répétitives (une par propriété et élément), l’auteur propose de planifier les animations à l’avance en utilisant des timing charts (diagrammes de timing). Ces diagrammes, inspirés de segments de ligne, aident à visualiser les séquences, chevauchements et synchronisations entre animations, facilitant ainsi leur conception et leur maintenance. Une approche visuelle qui rappelle les principes de parallélisme et de séquencement en animation.
Cette page présente treize balises et attributs HTML5 méconnus ou sous-utilisés, avec des exemples concrets et leur niveau de compatibilité. Parmi les éléments mis en avant, la balise <details> permet d’afficher un contenu masqué par défaut, avec la possibilité de créer un accordéon via l’attribut name pour gérer l’ouverture exclusive d’un seul élément à la fois. L’attribut popover, récemment ajouté, simplifie l’affichage de fenêtres modales sans JavaScript, tandis que <data> facilite l’association entre une valeur lisible par l’humain et un identifiant machine.
D’autres fonctionnalités comme <meter> et <progress> offrent des solutions natives pour représenter visuellement des proportions ou des avancements, bien que leur affichage doive être géré manuellement. Les attributs comme loading="lazy" optimisent le chargement des ressources en différé, et poster permet de définir une image de prévisualisation pour les vidéos. Enfin, les types d’input natifs (date, color, range, etc.) améliorent l’expérience utilisateur sans recourir à des bibliothèques externes.
Ce tutoriel explique comment configurer Codex, l'agent IA d'OpenAI, pour l'utiliser avec un modèle de langage local (LLM) hébergé via llama.cpp. L'idée principale est d'éviter les abonnements payants des plateformes cloud en auto-hébergeant le LLM, tout en conservant les fonctionnalités de Codex. L'auteur insiste sur l'importance d'installer Codex sur une machine dédiée pour limiter les risques liés à son accès au système.
L'installation de Codex se fait via un téléchargement manuel depuis GitHub, suivi de son déplacement dans /usr/local/bin. L'outil bubblewrap est requis pour sécuriser l'exécution de Codex en mode bac à sable. La configuration repose sur un fichier config.toml où l'utilisateur définit le fournisseur de modèle (llamacpp), un nom personnalisé et l'URL locale de l'API de llama.cpp.
L’article explore l’évolution des pseudo-classes CSS qui, bien que conçues pour gérer des états, peuvent parfois imiter le comportement des écouteurs d’événements JavaScript. L’auteur souligne que des pseudo-classes comme :hover, :active, :focus ou :checked réagissent à des interactions utilisateur (clic, survol, focus), offrant une alternative à JavaScript pour des cas simples. Par exemple, :focus-visible utilise des heuristiques pour déterminer si un élément doit afficher un indicateur de focus, une logique difficile à reproduire efficacement en JavaScript.
L’auteur aborde aussi des pseudo-classes plus avancées comme :focus-within et :has(), qui permettent de cibler des éléments parents en fonction de l’état de leurs enfants, réduisant ainsi le besoin de scripts. Ces fonctionnalités illustrent comment CSS gagne en expressivité, notamment avec des spécifications émergentes comme les Animation Triggers, qui pourraient un jour permettre de déclencher des animations via des événements. Cependant, ces innovations restent encore en développement.
Enfin, l’article mentionne des pseudo-classes liées aux formulaires (:valid, :invalid, etc.), qui simplifient la gestion des états de validation sans recourir à JavaScript. L’auteur conclut que, malgré ces avancées, CSS et JavaScript restent complémentaires, chacun ayant ses forces pour gérer les interactions et la logique applicative.
Cette page présente une sélection de ressources pour la réparation électronique, à la fois pour les particuliers et les professionnels. Elle met en avant des plateformes collaboratives comme iFixit, qui propose des tutoriels et pièces détachées, ainsi que des services spécialisés comme Murfy pour la réparation d’électroménager à domicile.
Elle recense également des acteurs professionnels tels qu’AdExcel pour la maintenance électronique industrielle ou Repturn, spécialisé dans la réparation de composants électroniques. Les liens sont soumis à modération avant publication sur OpenNews, qui compte plus de 12 000 références partagées.
L’article souligne que l’IA facilite la génération de code, mais que la véritable difficulté réside dans la production de code de qualité, maintenable et évolutif. L’auteur, développeur expérimenté, rappelle que les problèmes actuels (logique dispersée, tests inefficaces, architectures mal conçues) existaient déjà avant l’IA, simplement amplifiés par son usage massif. Il insiste sur l’importance des bonnes pratiques d’ingénierie logicielle, comme l’abstraction, le découplage et la responsabilité métier, plutôt que sur l’outil utilisé.
L’article de Romain Lanz explore une méthode pour utiliser efficacement l’IA dans le développement logiciel sans déléguer la réflexion stratégique. Il souligne que, contrairement à une idée reçue, déléguer l’écriture du code à l’IA ne signifie pas renoncer à la maîtrise du processus, à condition d’adopter une approche structurée.
L’auteur détaille trois concepts clés : le modèle (le LLM utilisé), le contexte (les informations fournies pour guider la réponse) et le harness (l’environnement technique qui encadre l’IA). Il insiste sur l’importance de limiter le contexte, car un excès d’informations dégrade la qualité des réponses, et sur le rôle du harness, qui agit comme un intermédiaire entre le modèle et les outils concrets (lecture/écriture de fichiers, exécution de commandes).
Enfin, Lanz rappelle que l’IA reste un outil prédictif, incapable d’agir sans ces extensions techniques. Sa méthode vise à optimiser l’interaction avec ces outils pour en tirer le meilleur parti tout en conservant le contrôle sur les décisions techniques.
La suppression de la revue de code est parfois perçue comme une simplification justifiée par l’efficacité, mais l’auteur souligne que cette approche repose sur des raisonnements erronés. Si l’IA et les outils automatisés accélèrent la production, ils ne remplacent pas l’expertise humaine pour détecter des erreurs d’intention, de logique ou de cohérence dans le code. Une revue superficielle ou simulée, où les développeurs se contentent d’approuver sans analyser, crée une fausse sécurité et aggrave les risques en production.
L’écart entre la vitesse de production et la capacité de relecture humaine est devenu ingérable. Un relecteur ne peut examiner que quelques centaines de lignes par heure, tandis qu’un agent IA génère des milliers en quelques secondes. Cette asymétrie rend la revue traditionnelle caduque, poussant les équipes soit à ralentir le processus avec des revues longues et inefficaces, soit à adopter une approbation de complaisance, pire que l’absence totale de contrôle.
L’auteur propose une alternative : assumer l’absence de revue pour forcer l’équipe à trouver des solutions alternatives, comme des outils de validation automatisée ou des tests renforcés. Plutôt que de supprimer la revue par facilité, il faudrait repenser son rôle et ses méthodes pour qu’elle reste pertinente dans un contexte où l’IA domine la production de code.
L’auteur explique avoir réduit le nombre d’agents IA qu’il utilise simultanément après avoir constaté que cette pratique créait une surcharge décisionnelle. Malgré une méthode de travail structurée (spécifications, tests d’acceptation), il a progressivement lancé plusieurs agents en parallèle, se retrouvant submergé par leurs questions et incapable de prioriser efficacement.
Il illustre ce problème avec la théorie des contraintes, soulignant que multiplier les tâches en amont d’un goulot d’étranglement (ici, sa capacité à arbitrer) ne fait qu’accumuler du stock invisible (branches ouvertes, PR en attente) sans améliorer la productivité. La fatigue décisionnelle qui en résulte affecte la qualité du travail, notamment la relecture de code généré par IA.
L’auteur conclut que cette dérive, bien que non imposée, révèle un défaut de gestion des priorités, aggravé par l’illusion de productivité offerte par les agents. Il compare cette situation à l’effet contre-productif d’ajouter des développeurs à un projet déjà en retard.
Ce journal de Jérôme Flesch, publié sur LinuxFr.org, explore les interfaces utilisateur (frontends) pour interagir avec des grands modèles de langage (LLM) auto-hébergés. L’auteur, après avoir abordé les principes généraux, le matériel et l’optimisation des LLM, se concentre ici sur les outils pratiques pour les utiliser au quotidien. Il souligne que ce domaine évolue rapidement, rendant certaines informations potentiellement obsolètes en moins d’un an.
L’article détaille plusieurs solutions comme Open WebUI et OpenCode, en expliquant leur installation, configuration et fonctionnalités, notamment la gestion des agents, des outils intégrés et des plugins. Il aborde aussi des concepts techniques comme les sous-agents, la génération augmentée par récupération (RAG) ou encore l’intégration avec des services comme Home Assistant. L’auteur met en garde contre les pièges courants, comme les problèmes liés au RAG ou aux licences controversées.
Enfin, le journal propose des exemples concrets de configuration, incluant des fichiers Docker et des paramètres pour optimiser l’utilisation des LLM. Il se termine par des mentions hors-sujet sur de nouveaux modèles d’IA, illustrant l’actualité et la dynamique du secteur.
L’article explique comment détecter des pages web similaires, même si leur contenu n’est pas strictement identique, en utilisant l’algorithme SimHash. Contrairement aux fonctions de hachage classiques comme MD5, qui produisent des empreintes radicalement différentes dès qu’un caractère change, SimHash génère des signatures numériques proches pour des contenus proches. Cela permet de repérer des doublons partiels, comme des fiches produits identiques avec une seule ville modifiée.
L’auteur détaille le fonctionnement de SimHash, inspiré d’une méthode publiée en 2002 et popularisée par Google en 2007 pour dédupliquer des milliards de pages. L’algorithme repose sur une "élection" de 64 questions binaires, où chaque mot du texte "vote" en fonction de son propre hachage. Le résultat final est une empreinte de 64 bits reflétant la similarité globale du contenu.
Enfin, l’article propose une implémentation en PHP sans dépendances, adaptée à des comparaisons en base de données pour des millions de pages. Cette approche évite le recours coûteux à des modèles de langage (LLM) tout en restant efficace pour des cas comme le crawler de redirection.io.
L’auteur explique comment persister la mémoire et la configuration personnalisée de Claude Code dans une sandbox Docker (sbx) pour éviter de tout perdre après suppression. Il utilise des kits mixin pour créer un lien symbolique vers un dossier .claude-project/ sur l’hôte, où sont stockés l’historique, les transcripts et les fichiers de config (comme CLAUDE.md ou les hooks). Cette méthode permet de conserver les données entre les sessions, même après un sbx rm.
L’article détaille aussi la configuration du kit via un fichier spec.yaml, exécuté au démarrage de la sandbox pour automatiser la création du lien et l’exclusion du dossier de la gestion Git. L’auteur partage son implémentation pour ceux qui souhaitent éviter de configurer manuellement ces éléments. La solution repose sur la version v2 des kits, compatible avec sbx 0.38.0.
CineLibre propose une sélection de films gratuits en replay, référencés depuis des plateformes officielles comme Arte, France.tv, M6+, TF1+, NOVO19, TV5Monde+ et HENRI. Le site permet de rechercher des films par titre, réalisateur ou acteur, et les classe par diffuseur, genre, langue originale ou décennie. Il facilite ainsi l’accès à des œuvres variées, issues de sources légales.
Parmi les films mis en avant, Fenêtre sur cour d’Alfred Hitchcock (1954) est un thriller où un photographe immobilisé observe son voisin et soupçonne un meurtre. Django unchained de Quentin Tarantino (2012), disponible sur M6+, mêle drame et western dans l’Amérique d’avant-guerre de Sécession. D’autres titres comme Call me by your name (2017) ou The Usual suspects (1995) complètent la sélection, avec des durées, notes et genres indiqués pour chaque œuvre.
La plateforme archive également des films via Internet Archive et met en avant des réalisateurs ou acteurs populaires. Les films sont présentés avec leur durée, année, note et plateforme de diffusion, offrant une vue d’ensemble pratique pour les spectateurs.
Ce billet explique comment moderniser un firewall iptables vieillissant sans perturber Docker, en prenant l’exemple d’un serveur exposé directement sur Internet. L’auteur souligne que les règles doivent refléter le chemin réel des paquets, qui a évolué depuis 2017, notamment avec l’intégration de Docker. Il revient sur quatre articles précédents pour montrer comment Fail2ban, SYNPROXY, ipset et CrowdSec ont été adaptés, tout en corrigeant des pratiques obsolètes comme le filtrage sur eth0 ou l’absence de gestion des connexions Docker.
L’article détaille les pièges rencontrés, comme l’impact de conntrack et SYNPROXY sur les connexions SSH, ou la nécessité de réviser les règles pour éviter de bloquer l’accès aux ports 22, 80 et 443. L’auteur insiste sur l’importance de maintenir des outils comme Fail2ban, CrowdSec et AbuseIPDB de manière complémentaire, plutôt que redondante, et partage des bonnes pratiques pour sécuriser le serveur dans un environnement "à peine agressif".
Enfin, le texte propose une mise à jour des règles iptables pour 2026, en intégrant les évolutions récentes comme la gestion des ipset, la rotation des clés API et une meilleure validation des données externes. L’objectif est de concilier sécurité renforcée et compatibilité avec Docker, tout en évitant les erreurs d’architecture qui pourraient rendre le serveur inaccessible.
Cette page propose neuf méthodes pour optimiser l’apprentissage grâce à l’IA, en s’appuyant sur des principes pédagogiques éprouvés comme la récupération active, l’espacement et la pratique exigeante. L’idée centrale est d’utiliser l’IA comme un coach plutôt que comme une simple machine à réponses, en évitant de déléguer entièrement le travail cognitif à l’outil. Par exemple, transformer l’IA en tuteur socratique, qui pose des questions et guide l’utilisateur vers la compréhension plutôt que de fournir des solutions toutes faites, maximise la rétention des connaissances.
L’article insiste sur une règle fondamentale : l’IA doit assister l’effort d’apprentissage sans le remplacer, car c’est l’effort personnel qui renforce la mémoire. Les techniques proposées, comme la création de flashcards automatisées suivies de révisions espacées, illustrent cette approche en combinant gain de temps et efficacité pédagogique. L’accent est mis sur l’interaction active avec le contenu, plutôt que sur la consommation passive d’informations.
Enfin, le texte met en garde contre les limites de l’IA, notamment ses erreurs potentielles, et recommande de croiser ses réponses avec d’autres sources pour éviter les biais. Destiné aux apprenants de tous niveaux, l’article encourage à appliquer ces méthodes immédiatement sur un sujet précis, en adaptant les prompts fournis pour une utilisation concrète.