L’article explore comment les URLs, souvent sous-estimées, peuvent servir de conteneurs de state puissants et élégants dans les applications web modernes. L’auteur illustre ce concept avec l’exemple de PrismJS, où une URL encode toute la configuration (thème, langages, plugins) de manière partageable et récupérable, sans base de données ni stockage local. Il rappelle que les URLs offrent gratuitement des fonctionnalités clés : partage, marquage, historique, et liens profonds. L’article détaille comment structurer les URLs (segments de chemin, paramètres de requête, fragments) pour y stocker des états comme des filtres, des préférences ou des configurations, tout en évitant les pièges (données sensibles, états temporaires, surcharge). Des exemples concrets (GitHub, Google Maps, Figma) montrent leur utilité, et des bonnes pratiques (utilisation de URLSearchParams, gestion des défauts, debounce) sont proposées pour une implémentation efficace, notamment avec JavaScript ou React. Enfin, l’auteur souligne que les URLs bien conçues agissent comme des contrats clairs entre l’application et ses utilisateurs, améliorant l’expérience et la performance. Une lecture essentielle pour repenser la gestion d’état côté frontend
Une bookmarklet pour créer des URLs avec un fragment de texte sélectionné dans la page - pratique pour aller directement à la zone voulue
L'auteur raconte comment un contributeur du projet curl a soumis une demande de modification où il a remplacé une lettre ASCII par une alternative Unicode dans une URL, sans que personne ne le remarque. Cela a conduit l'équipe à renforcer leurs processus de révision pour détecter de tels changements invisibles à l'œil nu. GitHub, où le projet est hébergé, n'a pas réagi de manière significative à ce problème, ce qui a incité l'équipe à implémenter ses propres vérifications pour identifier les caractères Unicode ambigus. Ces mesures visent à prévenir les attaques potentielles exploitant des failles similaires dans le futur.
Il s'agit de portions de textes ajoutés à une URL utilisés par des systèmes de tracking (Google Analytics par exemple) à des fins d'analyse : d'où vient le trafic, le type de canal, etc.
L'auteur explique qu'il a récemment dû mettre à jour son API vers une nouvelle version tout en maintenant l'ancienne pour les clients existants. Il a d'abord pensé à utiliser /v1/products pour la version actuelle et /v2/products pour la nouvelle, mais cette approche viole les principes REST et complique la maintenance. Les URL versionnées créent un couplage serré avec les clients, rendant difficile la gestion des versions obsolètes et entraînant une duplication de code. Une alternative RESTful consiste à utiliser les en-têtes HTTP pour négocier les versions, ce qui permet de maintenir des URI stables et de faciliter la compatibilité ascendante. Cependant, cette méthode nécessite que les clients configurent les en-têtes, ce qui peut être non trivial avec certains outils ou bibliothèques.
Tout est dans le titre
Tout est dans le titre
Une méthode JavaScript pour déterminer si une chaine de caractères est une URL correcte
Tout est dans le titre
Tout est dans le titre
Les api en question :
- Process
- OS
- Util
- URL
- File System
- Events
- Streams
- Worker Threads
- Child Processes
- Clusters
Tout est dans le titre
Je cite le manuel de PHP : parse_str "analyse la chaîne de caractères string comme s'il s'agissait des paramètres passés via l'URL. Toutes les variables qu'elle y repère sont alors créées, avec leurs valeurs respectives (ou dans le tableau si result est fourni)."
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Petite astuce pour récupérer toutes les URLs d'un site