Quotidien Shaarli

Tous les liens d'un jour sur une page.

Hier - August 20, 2026

Crowdsourced de-Googled Android apps status ratings | Plexus

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.

Sécuriser une application web : les leçons des hacks du service public - Agence LVLUP.fr

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.

Agent IA : Utiliser codex d'OpenAI avec un LLM Local (llama.cpp) - Wiki - Wiki

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.

HTML Can Do That · Chris Burnell

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.

PostgreSQL for Everything - Dr. Raphael A. Bauer, MBA | Fractional & Interim CTO | PE/VC Tech Strategy & Due Diligence | Berlin | London | Austin, Texas

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.

13 Balises et attributs HTML5 intéressants [MAJ 2026] - Warrior du Dimanche

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.

SQLite for Everything | JoeCode

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.

Timing Charts: A Blueprint For SMIL Animations — Smashing Magazine

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.

The Shifting Line Between CSS States and JavaScript Events | CSS-Tricks

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.