Journal Apparition de wcurl dans Debian et bientôt dans le monde entier ?

Posté par  (site web personnel, Mastodon) . Licence CC By‑SA.
Étiquettes :
40
4
juil.
2024

Libcurl, c’est la librairie réseau probablement la plus utilisée au monde. S’il y a un processeur quelque part, il y a beaucoup de chance que curl soit dessus.

https://curl.se/
https://fr.wikipedia.org/wiki/CURL

Le binaire curl permet de tout faire en ligne. Mais il y a tellement d’options que je n’ai jamais été capable de les retenir voir de les comprendre. Quand j’ai besoin d’un fichier, j’utilise le vénérable GNU wget qui « just-marche » (tm).

https://fr.wikipedia.org/wiki/GNU_Wget

J’ai toujours pensé que j’étais trop bête pour Curl qui est beaucoup plus optimisé que wget et supporte les téléchargements en parallèle.

Il s’avère que je ne suis pas le seul.

Samuel Henrique, le mainteneur Debian de Curl, est exactement dans le même cas que moi. Il a donc décidé de faire un petit script shell appelé "wcurl" qui appelle curl avec des options par défaut rappelant wget.

https://samueloph.dev/blog/announcing-wcurl-a-curl-wrapper-to-download-files/

Le script est spécifique à Debian, Samuel n’est pas sûr de l’intérêt global même si, selon un sondage qu’il a réalisé, à peu près tout le monde est dans le cas "j’utilise wget car je me rappelle jamais des options de curl".

Je trouve l’idée wcurl géniale, du coup je partage sur Mastodon et, surprise, Daniel Stenberg, le créateur et mainteneur de Curl, repartage aussitôt.

https://mamot.fr/@ploum/112727322365309629

Il avait même partagé le blog de Samuel Henrique juste avant:

https://mastodon.social/@bagder/112724512863091015

Il semblerait que Daniel Stenberg soit donc plutôt positif envers cette idée et on peut espérer que wcurl deviendra bientôt un élément officiel de curl et donc de toutes les distributions.

Un apport qui semble minime mais qui peut grandement faciliter la vie de beaucoup de gens lorsque wget n’est pas disponible.

Merci Samuel Henrique!

  • # Pour résumer

    Posté par  (site web personnel) . Évalué à 0. Dernière modification le 04 juillet 2024 à 12:41.

    "wcurl" est un alias de "curl -O ".
    Et les options par défaut ce n'est jamais évident à choisir, surtout que ça poursuit les développeurs très longtemps (voire à vie).
    (et ça fait beaucoup de texte explicatif pour un alias)

    • [^] # Re: Pour résumer

      Posté par  (site web personnel, Mastodon) . Évalué à 10.

      le code de wcurl fait 129 lignes compatible POSIX et, pour résumer, c’est plutôt :

      curl --parallel --location --remote-name --remote-time --retry 10 --retry-max-time 10— continue-at -

      (ça émule wget autant que possible)

      Mais si le code est trivial, personne n’y avait pensé avant et cela va rendre curl soudainement utilisable par des gens qui n’avaient jamais eu besoin de se plonger dans les options.

      Mes livres CC By-SA : https://ploum.net/livres.html

      • [^] # Re: Pour résumer

        Posté par  (site web personnel) . Évalué à 7.

        Je ne suis pas convaincu que ça rende « curl soudainement utilisable » puisqu'au final l'utilisateur passe par wcurl, donc ne voit pas que c'est curl qui est derrière, et n'apprend rien quant à la manière d'utiliser curl.

        On pourrait même implémenter wcurl en utilisant wget en backend que ça serait transparent pour l'utilisateur. Peut-être que je rate quelque chose parce que je ne vois pas trop l'intérêt en fait.

        • [^] # Re: Pour résumer

          Posté par  . Évalué à 1.

          Je pense que l'intérêt est de se passer de wget qui n'est pas installé par défaut sous Debian, alors que curl l'est.

      • [^] # Re: Pour résumer

        Posté par  (site web personnel) . Évalué à 1.

        Un des avantages de wget c'est d'ecrire un fichier d'output tout seul, tandis que curl demande a specifier le -o file.txt.

        Est-ce que wcurl fait ca?

  • # Me too

    Posté par  (site web personnel) . Évalué à 10.

    Moi aussi j'utilise wget quand je veux « juste un p*t*** de fichier ». Et pourtant j'utilise abondamment curl pour déboguer du web. :)

    Adhérer à l'April, ça vous tente ?

  • # Intérêt ?

    Posté par  . Évalué à 5. Dernière modification le 04 juillet 2024 à 15:41.

    J'utilise curl et wget assez souvent. Quel est le cas d'usage de wcurl ? Pourquoi ne pas juste utiliser wget quand on veut son comportement ? Est-ce pour pour pouvoir utiliser des options de curl en plus du comportement par défaut de télécharger vers un fichier comme wget ?

    J'ai lu l'article de blog qui annonce wcurl mais je n'ai pas vu la motivation.

    • [^] # Re: Intérêt ?

      Posté par  . Évalué à 6.

      Quel est le cas d'usage de wcurl ? Pourquoi ne pas juste utiliser wget quand on veut son comportement ?

      Le téléchargement concurrent de plusieurs URL par défaut, c'est déjà pas mal. Mais, à lire son article, je pense que le mainteneur s'est plutôt demandé "pourquoi installer wget alors que j'ai déjà curl" ?

  • # mouaip

    Posté par  (site web personnel) . Évalué à 5.

    Si on veut émuler wget avec curl, pourquoi ne pas utiliser directement wget ?

    • [^] # Re: mouaip

      Posté par  (site web personnel, Mastodon) . Évalué à 1.

      Je cite un autre commentaire :

      Le téléchargement concurrent de plusieurs URL par défaut, c'est déjà pas mal. Mais, à lire son article, je pense que le mainteneur s'est plutôt demandé "pourquoi installer wget alors que j'ai déjà curl" ?

      C'est clair que wget, n'a aucun intérêt à part augmenter le nombre de failles potentiels s'il est juste moins bon que curl.

      Sous licence Creative common. Lisez, copiez, modifiez faites en ce que vous voulez.

  • # w-quoi ?

    Posté par  . Évalué à 8.

    J'ai arrêté d'utiliser wget depuis un paquet de temps. Si je veux faire des trucs réseaux un peu fins j'utilise curl, mais si je veux télécharger un fichier j'utilise aria2c, entre autre parce que pour moi un outils de téléchargement devrait savoir gérer du torrent (en ayant l'amabilité de repartager).

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • # triple axel

    Posté par  . Évalué à 3.

    Puisque chacun peut y aller de sa tranche de vie de geek.

    J'utilise wget pour un simple fichier.

    J'utilise curl pour … en gros tout le reste : des calls API, du scraping. Et merci à FF pour le "Copy as cURL" dans l'onglet Network des DevTools, ça donne souvent un très bon point de départ.

    Et pour des DL optimisés, en plus de aria2 déjà mentionné, il y a le vénérable axel.

    • [^] # Re: triple axel

      Posté par  (site web personnel) . Évalué à 3.

      "Merci a Firefox pour le "save as curl"

      C'est aussi dans Chrome et ses dérivés.

      Super pratique, ça m'a sauvé pour faire des scripts curl a base de sites web qui ne font qu'appeler des APIs. Et de pouvoir sortir les tokens pour répliquer la session…

      • [^] # Re: triple axel

        Posté par  . Évalué à 2.

        Ca peut aussi servir d'entrée. Il y a pas mal de client rest (genre postman pour le plus gros et probablement le plus utilisé en graphique), dans les quels tu peux coller une commande curl et il se configure à partir de ça.

        https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.