OpenFreeMap est une solution open-source d'hébergement de cartes qui permet d'afficher des cartes personnalisées sur des sites web et des applications gratuitement. Développé à partir de l'infrastructure de MapHub, OpenFreeMap utilise des serveurs dédiés pour fournir des services de cartographie sans dépendre du cloud. Il offre une intégration facile avec des styles de cartes personnalisables et est conçu pour être simple à utiliser, avec des guides rapides pour aider à l'intégration. OpenFreeMap est particulièrement utile pour les développeurs cherchant une alternative économique et flexible aux services de cartographie traditionnels.
L'article soutient que les fonctionnalités modernes du CSS, telles que l'API View Transitions et les Speculation Rules, ont éliminé les principaux avantages des Single Page Applications (SPAs). Ces innovations permettent des transitions fluides entre les pages, une navigation instantanée et de meilleures performances sans la complexité et la surcharge de JavaScript associées aux SPAs. Alderson argue que les navigateurs modernes peuvent désormais gérer des expériences riches et fluides de manière native, rendant obsolètes les SPAs pour la plupart des sites web. Il encourage les développeurs à utiliser le rendu côté serveur, des pages réelles, des animations CSS et à réduire l'usage de JavaScript pour construire des sites web plus performants et maintenables.
Biome est présenté comme un outil révolutionnaire pour les développeurs front-end, remplaçant efficacement ESLint et Prettier. Il combine les fonctionnalités d'un formatter, d'un linter, et d'un analyseur statique en un seul binaire, offrant une solution plus rapide et moins complexe. Biome simplifie la configuration, réduit le besoin de multiples outils, et améliore la cohérence du code. Il est particulièrement apprécié pour sa rapidité et sa facilité d'intégration, notamment dans des projets Symfony via le bundle kocal/biome-js-bundle. Bien qu'il ne couvre pas 100% des cas d'utilisation d'ESLint, il est efficace dans 90% des situations courantes. Biome impose également des conventions strictes pour des pratiques de codage cohérentes, comme l'utilisation de points-virgules et de virgules finales. En résumé, Biome est une solution tout-en-un qui simplifie le développement et améliore la productivité.
L'article explore comment concevoir des citations en bloc et des citations extraites pour refléter l'identité visuelle d'une marque et aider à raconter son histoire. L'auteur explique comment styliser l'élément HTML blockquote
en utilisant des bordures, des guillemets décoratifs, des formes personnalisées et d'autres propriétés inattendues. Des exemples interactifs montrent comment des bordures simples, des guillemets stylisés et des formes variées peuvent transformer des citations en éléments de design expressifs et distinctifs, renforçant ainsi la personnalité et la voix d'une marque.
Le lien explique les redirections de terminal à travers des exemples de commandes. Il montre comment rediriger la sortie d'une commande vers un fichier avec >
, ajouter à un fichier avec >>
, envoyer un fichier en entrée avec <
, et gérer les erreurs avec 2>
. Il aborde aussi les pièges courants, comme la suppression accidentelle de fichiers et les problèmes de permissions avec sudo
. Enfin, il compare l'utilisation de cat
et <
pour les entrées, et mentionne des raccourcis comme &>
pour rediriger à la fois la sortie standard et les erreurs.
Le lien explique le rôle du shell dans le terminal, qui est essentiel pour démarrer des programmes. Il présente les trois shells les plus populaires : bash, le shell par défaut sur Linux ; zsh, le shell par défaut sur Mac depuis 2025 ; et fish, connu pour être plus convivial. Le zine mentionne également que bash et zsh sont des "POSIX shells", suivant un standard pour les shells Unix, bien qu'il existe des différences entre eux. Il fournit des informations sur l'emplacement des fichiers de configuration pour chaque shell : ~/.bashrc
ou ~/.bash_profile
pour bash, ~/.zshrc
pour zsh, et ~/.config/fish/config.fish
pour fish. Enfin, il offre un conseil pour déterminer quel fichier de configuration bash utilise.
La page explique comment gérer plusieurs programmes, ou "jobs", dans un même onglet de terminal. Les programmes peuvent s'exécuter au premier plan, en arrière-plan ou être arrêtés (mis en pause). En utilisant &
, un programme peut être exécuté en arrière-plan, ce qui est utile pour des tâches parallèles comme la conversion de fichiers. La commande jobs
permet de lister les tâches en arrière-plan ou arrêtées, et vous pouvez les manipuler en les ramenant au premier plan avec fg
, en les tuant avec kill
, ou en les détachant avec disown
. Lorsque vous fermez un onglet de terminal, toutes les tâches sont tuées par un signal SIGHUP
, mais cela peut être évité avec disown
ou nohup
. Un conseil est donné pour tuer les programmes récalcitrants : utilisez Ctrl+Z
pour les arrêter, puis kill
pour les terminer
Le lien explique le rôle d'un émulateur de terminal, qui consiste principalement à convertir les actions de l'utilisateur (comme la frappe et le clic) en octets pour les envoyer, et à recevoir des octets pour les afficher visuellement. Il aborde brièvement l'histoire des terminaux, mentionnant qu'ils étaient autrefois des machines distinctes dans les années 80, et explique que les octets échangés peuvent être du texte, des codes d'échappement pour les couleurs, ou des caractères de contrôle. L'émulateur de terminal gère également des fonctions comme le copier-coller et la gestion des couleurs et des polices, offrant souvent une bibliothèque de thèmes pour personnaliser l'apparence. Enfin, il mentionne comment les combinaisons de touches comme Ctrl-X
sont traduites en octets.
La page explique comment les émulateurs de terminal utilisent 16 couleurs configurables, connues sous le nom de "couleurs ANSI". Ces couleurs peuvent être personnalisées via les paramètres de l'émulateur de terminal ou en exécutant un script qui utilise des codes d'échappement. Les programmes peuvent utiliser ces couleurs en imprimant des codes d'échappement spécifiques, comme illustré par l'exemple echo -e "\033[34m blue text"
. Cependant, les couleurs ANSI par défaut souffrent souvent de problèmes de contraste, rendant le texte difficile à lire. La solution recommandée est d'utiliser un émulateur de terminal avec une fonctionnalité de "contraste minimum", comme iTerm ou Kitty, pour améliorer la lisibilité. De plus, les programmes désactivent généralement les couleurs lorsqu'ils écrivent dans un pipe pour éviter les problèmes d'affichage.
Le lien explique comment les clics de souris dans un terminal peuvent être gérés soit par l'émulateur de terminal, soit par le programme en cours d'exécution. L'émulateur de terminal est utile pour des actions comme copier du texte, tandis que certains programmes, comme tmux ou vim, peuvent prendre le contrôle de la souris pour des fonctionnalités spécifiques, comme redimensionner des panneaux ou naviguer dans des menus. Ce processus, appelé "mouse reporting", permet aux programmes de recevoir des codes d'échappement pour localiser les clics de souris. L'article mentionne également des astuces pour forcer l'émulateur de terminal à reprendre le contrôle de la souris et discute du comportement de la molette de défilement dans différents programmes.
La page explique que différents émulateurs de terminal utilisent divers codes d'échappement pour effectuer des actions comme effacer l'écran. Les systèmes disposent d'une base de données appelée "terminfo" qui contient ces codes d'échappement, permettant aux programmes de savoir comment interagir avec le terminal. La variable d'environnement TERM
est utilisée pour identifier le type de terminal, mais cela peut poser problème lors de l'utilisation de SSH avec des systèmes anciens et des émulateurs modernes. Des solutions sont proposées pour résoudre ces problèmes, comme installer le fichier terminfo approprié ou utiliser un émulateur de terminal différent. Autre possibilité : définir TERM=xterm-256color fonctionne assez souvent
L'article explique pourquoi l'édition de texte dans un REPL (Read-Eval-Print Loop) ne fonctionne pas toujours de manière intuitive. Contrairement aux attentes, chaque programme doit implémenter ses propres fonctionnalités d'édition de texte, ce qui signifie que les touches fléchées peuvent ne pas fonctionner automatiquement. Cependant, certaines fonctionnalités comme la touche de suppression (backspace), Ctrl+W pour supprimer un mot, et Ctrl+U pour supprimer une ligne, sont souvent disponibles. La plupart des REPLs utilisent ou imitent la bibliothèque "readline", qui standardise les raccourcis clavier comme Ctrl+A pour aller au début de la ligne. Pour les programmes qui n'utilisent pas "readline", comme certains programmes intégrés sur Mac, des outils comme rlwrap
peuvent ajouter ces fonctionnalités.
La page présente des raccourcis clavier utiles pour travailler dans un terminal. Parmi les raccourcis mentionnés, on trouve des commandes pour éditer du texte comme Ctrl + W
pour supprimer le mot précédent et Ctrl + U
pour supprimer une ligne entière. Pour quitter ou gérer des processus, on peut utiliser Ctrl + C
, Ctrl + Z
, ou Ctrl + D
. Des raccourcis pour naviguer dans le texte incluent Ctrl + A
pour aller au début de la ligne et Ctrl + E
pour la fin. D'autres astuces utiles incluent Ctrl + L
pour effacer l'écran et Ctrl + R
pour rechercher dans l'historique. Enfin, des combinaisons comme Ctrl + Shift + C/V
sont utilisées pour copier et coller dans l'émulateur de terminal.
Le comic "Meet the TTY Driver" de Wizard Zines présente le pilote TTY, une partie obscure mais essentielle des systèmes informatiques. Il explique que lorsque vous démarrez un émulateur de terminal, le système crée une paire de "pseudoterminal" composée de deux fichiers, permettant la communication entre l'émulateur de terminal et le programme. Le pilote TTY est responsable de plusieurs fonctions, comme la gestion de la taille de la fenêtre du terminal, l'envoi de signaux comme SIGHUP
lors de la fermeture du terminal, et le mode canonique pour la saisie de texte. Il est également la raison pour laquelle des combinaisons de touches comme Ctrl+C
fonctionnent de manière cohérente. Le pilote TTY peut aussi mettre en pause la sortie et gérer les processus au premier plan.
Le comic "stty" de Wizard Zines explore les configurations du pilote TTY dans les terminaux. Il explique comment utiliser la commande stty -a
pour voir la configuration actuelle, y compris la taille de la fenêtre. Le comic mentionne des fonctionnalités par défaut comme le gel du terminal avec Ctrl+S
et son dégel avec Ctrl+Q
, et comment désactiver cette fonction avec stty -ixon
. Il aborde aussi la possibilité de changer les raccourcis clavier, comme Ctrl+C
, bien que cela soit déconseillé en raison du chaos potentiel. Enfin, il souligne que les programmes doivent configurer le pilote TTY pour des fonctionnalités avancées, comme les touches fléchées, et que des bibliothèques comme readline
ou ncurses
peuvent aider à gérer ces configurations.
L'articleremet en question l'utilisation des service subscribers, une pratique courante dans les projets Symfony pour gérer les dépendances occasionnelles. L'auteur propose une alternative en utilisant des événements et des écouteurs pour cibler les dépendances nécessaires, plutôt que de tout centraliser dans une seule classe. Par exemple, au lieu d'utiliser un AbstractController
et de charger toutes les dépendances dans le constructeur, il suggère de créer des événements spécifiques pour chaque action (comme l'envoi d'un e-mail ou la génération d'un PDF) et d'utiliser des écouteurs pour gérer ces événements. Cela permet une meilleure séparation des responsabilités et une plus grande flexibilité. L'article conclut en encourageant les développeurs à réfléchir avant d'utiliser des service subscribers et à envisager d'autres moyens pour éviter les dépendances occasionnelles, comme l'injection de dépendances directement dans les méthodes des contrôleurs.
L'article explore l'outil PHPMD (PHP Mess Detector), qui analyse le code PHP pour détecter des problèmes de qualité et de complexité. L'auteur explique la notion de complexité cyclomatique, introduite par Thomas McCabe, qui mesure le nombre de chemins d'exécution possibles dans un code, et montre comment PHPMD peut aider à identifier des zones problématiques où cette complexité est trop élevée. L'article décrit l'installation et la configuration de PHPMD, ainsi que ses différentes règles pour améliorer la qualité du code, comme CleanCode, CodeSize, et Naming. Il aborde également l'intégration de PHPMD dans des workflows de développement, par exemple avec PHPStorm ou GitHub Actions, et discute des métriques avancées pour évaluer la qualité du code. En conclusion, l'auteur encourage les développeurs à utiliser PHPMD régulièrement pour maintenir un code propre et maintenable, malgré les critiques parfois sévères de l'outil.
L'article de Korben sur la "boîte à outils ultime pour dompter Windows 11" propose une série de conseils et d'outils pour optimiser et personnaliser votre expérience avec ce système d'exploitation. Il aborde des fonctionnalités comme le DNS-over-HTTPS pour sécuriser vos requêtes, la fonctionnalité "Cross-Device Resume" pour reprendre vos tâches entre différents appareils, et des outils comme BloatyNosy Nue pour nettoyer votre système. L'article vise à transformer Windows 11 en une "machine de guerre", que vous soyez un utilisateur occasionnel ou un expert, et encourage les lecteurs à partager leurs propres découvertes d'outils utiles.
L'article présente une technique CSS pour créer des placeholders d'images flous (LQIP) avec un minimum de balisage, nécessitant seulement une propriété CSS personnalisée. Cette méthode utilise un entier pour encoder les informations de couleur et de luminosité, permettant de générer des placeholders sans JavaScript ni éléments supplémentaires. L'approche est minimaliste et efficace, bien que les résultats soient très flous comparés à d'autres solutions. L'article explore également différentes techniques de LQIP et explique comment cette méthode CSS se distingue par sa simplicité et son intégration facile.
snapDOM est un outil rapide et précis de capture DOM en image, conçu pour Zumly, un framework de transition de vue basé sur le zoom. Il capture n'importe quel élément HTML sous forme d'image SVG redimensionnable, en préservant les styles, les polices, les images de fond, les pseudo-éléments et même le shadow DOM. Il prend également en charge l'exportation vers des formats d'image raster et canvas.