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.
Le tutoriel présente BunkerWeb, une solution open-source combinant reverse proxy et Web Application Firewall (WAF) pour sécuriser les services web. Elle intègre des fonctionnalités comme le filtrage ModSecurity avec les règles OWASP CRS, le renforcement TLS, et la limitation de requêtes. Le tutoriel guide à travers le déploiement de BunkerWeb via Docker Compose, depuis la préparation de l'environnement jusqu'à la configuration d'un service web. Il explique comment créer un fichier compose.yaml
, lancer les conteneurs, et configurer BunkerWeb via une interface web d'administration. Le tutoriel montre également comment déployer un service web interne, comme IT-Tools, derrière BunkerWeb, en détaillant les étapes de configuration pour sécuriser et publier le service. Enfin, il conclut en soulignant la facilité d'utilisation et les options avancées de BunkerWeb pour renforcer la sécurité des applications web.
L'effet tunnel est un phénomène quantique où une particule, comme un électron, franchit une barrière de potentiel même si son énergie est inférieure à l'énergie minimale requise pour la traverser. En physique classique, cela serait impossible, mais en mécanique quantique, les particules sont décrites par des fonctions d'onde probabilistes, permettant une faible probabilité de présence de l'autre côté de la barrière. Cet effet est crucial dans des processus naturels comme la fusion nucléaire dans le Soleil, où les protons franchissent la barrière coulombienne malgré une énergie insuffisante. Technologiquement, l'effet tunnel est exploité dans les mémoires flash et les microscopes à effet tunnel, illustrant son importance tant théorique que pratique.
Le site Cosmos Cloud propose une plateforme sécurisée et facile à utiliser pour l'auto-hébergement. Voici un résumé des points clés :
Points Forts
- Sécurité et Maintenance Automatisée : Cosmos offre une configuration entièrement sécurisée avec une maintenance automatisée, intégrant des fonctionnalités comme l'authentification unique (SSO), l'anti-bot, l'anti-DDoS, et l'authentification à deux facteurs (2FA).
- Intégration Facile : La plateforme s'intègre facilement à votre configuration existante.
- Marché d'Applications : Cosmos propose un marché d'applications où vous pouvez parcourir et installer des applications qui s'intègrent à votre configuration, avec des règles de sécurité et de bases de données configurées automatiquement.
- Proxy Inverse Intégré : Un proxy inverse intégré facile à configurer et flexible, accessible via l'interface utilisateur moderne de Cosmos.
- Gestion des Conteneurs : Vous pouvez contrôler, mettre à jour et surveiller vos conteneurs directement depuis Cosmos et les exposer via le proxy inverse interne.
- VPN : Constellation est un VPN entièrement intégré qui vous permet de vous connecter à votre serveur à distance et de manière sécurisée, même sans ouvrir vos ports. Il inclut un DNS similaire à PiHole.
- Surveillance en Temps Réel : Surveillance persistante en temps réel avec des alertes et notifications personnalisables pour vous informer de tout problème.
Objectif
Cosmos vise à rendre l'auto-hébergement de vos services cloud et web satisfaisant tout en éliminant les tracas grâce à une maintenance automatisée et une configuration sécurisée dès le départ.
Pour plus de détails, vous pouvez consulter la documentation ou essayer la démo sur leur site web.
L'article explique comment créer des snapshots de volumes persistants dans Kubernetes en utilisant Rook-Ceph. L'auteur décrit d'abord l'utilisation de VolSync pour les sauvegardes, mais souligne ses limites avec les snapshots. Il détaille ensuite l'installation du CSI Snapshotter et la création d'une VolumeSnapshotClass pour configurer les paramètres de snapshot. L'article montre comment créer un PersistentVolumeClaim (PVC) et un Pod pour tester les snapshots, et comment créer et restaurer un snapshot. Enfin, il mentionne l'utilisation de DataMover comme Velero pour stocker les snapshots vers un stockage distant et évoque les prochaines étapes pour tester ces outils dans son lab.
L'article d'Alex Wlchan explique une méthode plus rapide pour copier des bases de données SQLite entre ordinateurs. En utilisant la commande .dump
de SQLite, on peut convertir la base de données en un fichier texte contenant des instructions SQL, ce qui réduit considérablement la taille du fichier. Ce fichier texte, qui peut être encore compressé avec gzip, est plus rapide à transférer. Une fois copié, le fichier texte peut être utilisé pour reconstruire la base de données locale. Cette approche évite les problèmes de corruption lors de la copie de gros fichiers et améliore l'efficacité des transferts, surtout pour les bases de données volumineuses.
Complément et suite de https://blog.victor-hery.com/2024/02/ssh-openssl-haproxy.html , l'article explore des améliorations de configuration pour HAProxy, en se concentrant sur l'intégration de SSH via HTTPS et l'optimisation de HTTP/2. L'auteur explique comment utiliser les abstract namespaces pour améliorer les performances et simplifier la configuration, tout en détaillant l'importance de l'extension TLS ALPN pour la négociation du protocole HTTP/2. L'article aborde également les avantages des abstract namespaces par rapport aux sockets Unix traditionnels, en termes de rapidité et d'efficacité. Enfin, il propose une configuration finale optimisée pour HAProxy, permettant une gestion plus discrète et performante des connexions SSH et HTTP/2.
Plakar est un outil de sauvegarde moderne pour Linux, offrant des fonctionnalités avancées comme la déduplication, le chiffrement de bout en bout, et la compression des données pour optimiser l'espace de stockage. Il permet des sauvegardes incrémentielles, ce qui le rend efficace pour des sauvegardes fréquentes, et supporte les sauvegardes distantes via SFTP. L'outil fonctionne avec un agent et propose une interface en ligne de commande ainsi qu'une interface graphique rudimentaire pour gérer les sauvegardes, les restaurations, et la vérification de l'intégrité des données. Plakar ne nécessite pas de base de données externe, stockant les métadonnées directement dans le dépôt de sauvegarde.
L'article introduit le Core Model, une méthodologie pratique qui révolutionne le développement numérique traditionnel en commençant par une hypothèse sur les besoins des utilisateurs plutôt que par des solutions préconçues. En posant six questions clés dans le bon ordre, cette approche aligne les équipes pluridisciplinaires autour des tâches des utilisateurs et des objectifs commerciaux, créant ainsi une clarté qui transcende les limites organisationnelles. Le processus commence par une préparation en amont pour identifier les priorités et former des hypothèses initiales, suivies d'un atelier collaboratif où des paires de participants travaillent ensemble pour valider et affiner ces hypothèses. Les six éléments du Core Model — groupe cible, tâches des utilisateurs, objectifs commerciaux, chemins d'accès, chemins de progression et contenu principal — créent un cadre structuré qui guide les équipes vers des solutions efficaces. L'article souligne l'importance de travailler en paires interdisciplinaires pour favoriser l'innovation et la qualité, et conclut en expliquant comment cette méthodologie peut être mise en œuvre pour améliorer la collaboration et obtenir de meilleurs résultats dans les projets numériques.
L'article explique comment transformer son réseau domestique en un environnement productif en utilisant des conteneurs Docker pour créer des alternatives privées aux services cloud. L'auteur décrit comment Docker facilite le déploiement d'applications et de services sans avoir à gérer des machines virtuelles complexes. Parmi les applications recommandées, on trouve Nextcloud pour le stockage et la collaboration de documents, Grocy pour la gestion des courses et des repas, Tududi pour la gestion des tâches, Bitwarden pour la gestion sécurisée des mots de passe, et Portainer pour la gestion des conteneurs Docker. Ces outils permettent de créer un écosystème privé, sécurisé et flexible directement depuis son réseau local.