Lien « GNU Terry Pratchett » – Quand un roman devient réalité

Hurl est un outil libre (APLv2) pour exécuter et tester des requêtes HTTP, en ligne de commande, à partir de fichiers textes. Il permet de chaîner des requêtes, capturer des valeurs et évaluer des conditions sur les en-têtes et le corps des réponses. Et on peut l’utiliser pour récupérer des données et tester des sessions HTTP : contenu HTML, API REST/SOAP/GraphQL, API à base de XML ou JSON. Et la version 6.0.0 est parue le 4 décembre 2024.
Hurl a déjà été mentionné sur LinuxFr.org, notamment parce qu’il est utilisé pour les tests de certains services du site, à savoir actuellement img, le cache d’images et epub, le convertisseur EPUB3 à la volée (chacun avec sa suite de tests pour valider le bon fonctionnement des services en IPv4 et en IPv6, en HTTP 1.1 et en HTTP 2.0). jcamiel, un des mainteneurs de Hurl, est d’ailleurs intervenu sur une des dépêches précédentes, venu discuter des évolutions et idées d’améliorations qui permettraient de simplifier l’écriture de telles suites de tests.
Les nouveautés de la version 6.0.0 sont décrites dans la seconde partie de la dépêche.
Avant-propos: Les personnages et sociétés citées dans ce récit sont fictives. L'auteur ne connait pas Martin Petit, ni la société d'assurances La Forestière, et non plus la société de télésurveillance Alarm&moi. Mais ils se pourrait, dans une réalité alternative, ou pas, que les faits se soient réellement déroulés comme raconté ici…
M. Martin Petit habite le centre-ville d’une ville moyenne de banlieue. C’est ce qu’on pourrait appeler une ville-dortoir. On y habite, il y a (…)
Bonjour,
J'utilise un miroir avec mise en cache du dépôt Alpine Linux pour mes machines virtuelles, le but étant de minimiser l'usage de bande passante et de rendre les mise à jour plus rapides sur tout mon parc.
Pour faire ça j'utilise nginx, avec une config pompée là dessus. Ça marche impec.
Cependant je voulais savoir s'il existait un moyen pour un client HTTP de demander au miroir de lui servir une ressource en version mise en cache, même (…)
Hello world.
Cela fait longtemps que je n'ai pas pris ma plume pour vous parler. Le temps et l'envie me manquaient.
Aujourd'hui je crée ce journal car je me demande quel reverse proxy utiliser.
Jusqu'à maintenant, j'ai utilisé Lighttpd puis Traefik proxy. J'ai switché sur Trafik par ce qu'il est simple à configurer, que sa configuration peut se faire via des fichiers YAML (pratique si on déploie sa config avec Ansible), sa configuration est dynamique, il peut servir de (…)
Bonjour,
Je voulais créer un bot pour la plateforme de streaming twitch qui par exemple répond automatiquement à certains messages.
J'ai, pour cela, cherché des tutoriels sur youtube.
J'ai ensuite essayé de créer le bot grâce à ce tutoriel qui n'est pas très clair sur la création de la base du bot etc. mais en le mélangeant avec d'autres recherches j'ai trouvé ce qu'il me manquait.
Quand j'ai fini de suivre se tuto j'ai eu des erreurs, j'ai donc (…)
Hello,
J'ai un vhost apache qu'on me demande de rediriger totalement vers un nouveau site cette après midi à 16h00.
J'ai un peu peur de me tromper.
Pouvez vous m'indiquer comment rediriger toutes le pages du vhost vers la homepage d'un autre site?
Merci
Bonjour,
J'ai un serveur Apache qui héberge plusieurs hôtes en parallèle.
Chaque VirtualHost est associé à un nom de domaine, pourtant, quand je visite un site, je tombe sur un autre.
Je ne comprends pas la logique :
# Hote 1
<VirtualHost appli1.domaine.fr:80>
ServerName appli1.domaine.fr
...
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost appli1.domaine.fr:443>
ServerName appli1.domaine.fr
...
</Virtualhost>
</IfModule>
# Hote 2
<VirtualHost appli2.domaine.fr:80>
ServerName appli2.domaine.fr
...
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost appli2.domaine.fr:443>
ServerName appli2.domaine.fr
...
</Virtualhost>
</IfModule>
Une idée pour éclairer ma lanterne (…)
Bonjour à tous,
J'ai un comportement étrange dans un script shell avec la commande curl.
Dans mon script je génère dynamiquement les paramètres de ma commande pour obtenir la commande suivante :
curl -k --request POST -H "type:csv" -H "import:fich" -H "zipped:true" -H "fichier:nbncsv00002.csv.zip" -H "key:JmzEVJ2EezlkfemlfmleSDKKFekv" -T /tmp/tmp.QJENaDVvAV/nbncsv00002.csv.zip http://www.xxx.yyy.zzz:pppp/monappli/import 2>&1>/tmp/tmp.QJENaDVvAV/curlreturn.log
Lors de l'exécution dans le script cette commande ne semble pas atteindre le serveur qui reçois le fichier;ça se caractérise par pas d'entrée dans les logs.
Cher journal,
J'ai récemment publié un nouveau protocole (ouvert) nommé Mercure, ainsi qu'une implémentation de référence écrite en Go (libre, sous licence AGPL).
Mercure permet de "pousser" en temps réel des données depuis des serveurs vers des navigateurs web (ou autres clients HTTP). La spécification et l'implémentation sont disponibles sur GitHub.
Le projet peut être considéré comme un remplaçant de WebSocket (bien que le protocole soit de plus haut niveau), et des solutions propriétaires telles que Pusher.
Contrairement à (…)
Par défaut HaProxy ne vérifie que la présence en ligne ou non des serveurs web, pas les erreurs renvoyées dans les en-têtes.
Ainsi, un serveur backend non fonctionnel suite à un problème de montage ou d'accès à la base de données, sera quand même considéré comme "UP" et les requêtes réseaux continueront d'y être acheminées, provoquant moult mécontentements chez vos utilisateurs qui pourraient se retrouver spammer de notification d'erreur sur leur smartphone chéri.
Néanmoins, HaProxy permet, via (…)
Il n'est pas rare que des robots crawlent les sites internet sans utiliser d'User-Agent.
Si vous souhaitez les bannir de vos frontends HaProxy, voici comment faire.
Éditez votre fichier de configuration /etc/haproxy/haproxy.cfg
Ensuite selon vos envies: ajoutez une des deux règles suivantes.
http-request deny if { hdr_cnt(user-agent) eq 0 }