Résumé
- L'histoire publiée par le projet part de HttpGet, diffusé par Rafael Sagula en novembre 1996, puis adapté par Daniel Stenberg pour nourrir un robot IRC de taux de change.
- Le nom curl apparaît avec la version 4 du 20 mars 1998. La version 7.1 du 7 août 2000 donne à d'autres logiciels une interface libcurl facile à appeler.
La demande du robot ne tenait pas dans un navigateur
Un humain pouvait consulter le taux sur le Web. Le robot, lui, avait besoin d'un outil qui répète l'opération sans ouvrir une page à la main. Dans la chronologie du projet, Stenberg raconte avoir trouvé HttpGet, un utilitaire libre de Rafael Sagula sorti le 11 novembre 1996. Il l'a modifié pour ses besoins ; une version comprenant ses ajouts a suivi le 17 décembre. L'attribution compte : Stenberg n'a pas inventé HttpGet. Son problème précis a donné au code une autre trajectoire.
Le premier nom décrivait fidèlement le premier métier : récupérer par HTTP. Mais le réseau ne rangeait pas toutes les ressources derrière ce protocole. En 1997, l'outil a accepté des URL HTTP en argument, pris en charge les mandataires, puis amélioré Gopher et ajouté le téléchargement FTP. Le nom devenait trop étroit pour le travail réellement exécuté. En août 1997, la version 2.0 est devenue urlget. Ce n'était pas un changement de propriétaire ni un nouveau programme tombé du ciel ; la liste des versions conserve la continuité.
Le second nom a vieilli encore plus vite. L'envoi FTP et HTTP POST sont arrivés la même année. « Get » promettait une réception, alors que le logiciel envoyait désormais des données. Un robot de change demandait une réponse ; la mécanique qu'il avait aidé à faire grandir savait déjà mener plusieurs sortes de transferts. Le nom du poste courait derrière l'employé.
Le véritable changement a porté sur le point d'entrée
Le 20 mars 1998, curl 4 a remplacé urlget. La version 4, et non une version 1 imaginaire, raconte à elle seule la filiation. Le nouveau nom ne promettait plus un protocole ni un sens unique de circulation. Durant 1998, le projet a ajouté notamment SSL et les cookies. Ces fonctions n'étaient pas toutes présentes le jour du baptême ; les dater évite de transformer une accumulation de travail en miracle instantané.
La commande restait pourtant une commande. Un développeur qui voulait intégrer le transfert dans son propre logiciel devait encore se demander comment appeler cette mécanique, contrôler ses options et recevoir ses résultats. Au printemps 2000, selon l'histoire du projet, le code a été remanié pour offrir une interface de bibliothèque convenable. curl 7.1, publié le 7 août, a introduit l'interface facile. Son journal de modifications parle de symboles publics, de fichiers d'en-tête installés et de bibliothèque partagée. Ce sont des détails de construction, mais ils changent qui peut se servir de l'invention.
Une application pouvait appeler libcurl au lieu de lancer une commande extérieure et d'interpréter sa sortie. Le projet signale qu'une liaison réalisée par un tiers est apparue dès ce mois-là. L'interface était devenue assez nette pour que quelqu'un hors de l'équipe s'y appuie. Le manuel actuel de l'API C montre la forme générale : configurer un transfert, le lancer, libérer la ressource. Il décrit le présent, pas toutes les possibilités de 2000. La percée historique est la frontière réutilisable entre le logiciel appelant et les complications du réseau.
Trois noms, une facture de maintenance
HttpGet annonçait HTTP ; urlget annonçait les URL ; curl laissait davantage de place aux nouveaux verbes ; libcurl rendait le moteur disponible à d'autres programmes. Chaque nom a suivi un élargissement déjà matérialisé dans le code. Derrière cette petite comédie administrative se trouvait une décision économique simple : maintenir un moteur de transfert commun coûte moins cher que demander à chaque robot et à chaque application de refaire le travail.
Le cours de change n'était pas une vision de plate-forme. C'était un problème suffisamment irritant pour produire du code qui marche. Le dossier des versions montre ensuite comment ce code a acquis des protocoles, des opérations et enfin une interface. La force de curl ne tient pas à la grandeur de sa première mission. Elle tient au nombre de missions qui ont cessé d'exiger une nouvelle implémentation.
Briefing des membres
Contexte approfondi du profil
Connectez-vous avec le bon niveau d'adhésion pour débloquer le briefing complet et les notes de source.
Réservé au Cercle stratégique
Cercle stratégique
Ouvert à tous les lecteurs. Débloquez les briefings de profil après adhésion et connexion.
Rejoindre le Cercle stratégiqueRéservé aux membres de Leadership Alliance
Leadership Alliance
Réservé aux propriétaires et dirigeants qualifiés d'actifs IP ; connectez-vous pour débloquer les briefings Alliance.
Rejoindre Leadership Alliance





