cURL, l’outil incontournable pour le transfert de données, évolue à nouveau
Le projet cURL, l’une des outils en ligne de commande et bibliothèques les plus populaires pour le transfert de données sur les réseaux, a lancé sa version 8.12. Cette nouvelle version se distingue par la suppression définitive du backend Hyper, basé sur Rust, ainsi que par plusieurs améliorations en matière de sécurité, de compatibilité et d’optimisation du système.
Hyper était une implémentation expérimentale visant à renforcer la sécurité de la gestion de mémoire, mais son adoption limitée et le manque d’intérêt de la part des développeurs ont conduit à son retrait. Daniel Stenberg, créateur et principal mainteneur de cURL, a expliqué que maintenir un code sans support ni demande ne fait qu’alourdir le développement et la maintenance du logiciel.
Qu’est-ce que cURL et pourquoi est-il si important ?
cURL (Client URL) est un logiciel open-source qui permet le transfert de données via différents protocoles, tels que HTTP, HTTPS, FTP, SCP, SFTP, LDAP, et bien d’autres. Sa polyvalence et sa fiabilité en ont fait un standard dans le domaine du développement web, de l’automatisation et de l’administration des systèmes.
Lancé pour la première fois en 1998, cURL a constamment évolué pour répondre aux besoins de l’écosystème numérique moderne. Il est utilisé dans une grande variété de contextes, allant de l’intégration avec les APIUne API, sigles en anglais de « Application Programming Inter REST, à l’automatisation de téléchargements et d’envois de fichiers, en passant par l’interaction avec des serveurs distants et le diagnostic de connexions réseau.
De plus, cURL ne se limite pas à son utilisation en ligne de commande ; sa bibliothèque associée, libcurl, est largement utilisée dans le développement d’applications et de services nécessitant une communication avec des serveurs via Internet. Des entreprises telles que Google, Facebook, Microsoft et Amazon ont intégré cURL dans leurs systèmes pour faciliter la gestion des données dans le cloud et le transfert sécurisé d’informations.
Nouveautés de cURL 8.12
La version 8.12 intègre de nombreuses améliorations, parmi lesquelles :
- Suppression du backend Hyper, une implémentation en Rust qui n’a jamais réussi à s’imposer en raison d’un manque de demande.
- Compatibilité améliorée avec OpenSSL, permettant l’utilisation de clés et certificats à partir d’un fournisseur PKCS#11.
- Support pour l’exportation et l’importation de sessions SSL grâce à la nouvelle fonctionnalité ssls-export.
- Optimisation du support QUIC, avec la possibilité d’utiliser 0RTT dans GnuTLS grâce à CURLSSLOPT_EARLYDATA.
- Améliorations du système de compilation, incluant des mises à jour sur autotools et CMake pour améliorer l’efficacité et la compatibilité avec différentes plateformes.
- Corrections de sécurité et de stabilité, abordant des bugs liés à la gestion des cookies, des vulnérabilités dans la manipulation des entiers et des erreurs dans les connexions HTTPS.
La décision de supprimer Hyper
Hyper a été introduit dans le but d’améliorer la sécurité de cURL en tirant parti des avantages de Rust pour la gestion de la mémoire. Cependant, au fil des ans, son utilisation est restée extrêmement limitée et n’a pas réussi à capter l’attention de la communauté des développeurs.
Stenberg a soutenu que « maintenir des fonctionnalités qui n’ont pas une base d’utilisateurs solide ni de support actif ajoute simplement une complexité inutile au code », et que la suppression de Hyper permettra de concentrer les efforts sur d’autres améliorations plus sollicitées.
Disponibilité et téléchargement
La version 8.12 de cURL est désormais disponible en téléchargement sur le site officiel du projet. Les développeurs et administrateurs système peuvent accéder à la liste complète des modifications et améliorations sur https://curl.se/ch/8.12.0.html.
Ce lancement confirme le rôle de cURL en tant qu’outil essentiel dans le domaine du développement et de l’administration des systèmes, tout en continuant d’évoluer pour s’adapter aux défis actuels du transfert de données et de la sécurité en ligne.