Introduction
Dans le quotidien d’un administrateur système, d'un développeur ou même d'un utilisateur averti, il est fréquent de devoir vérifier si un fichier est toujours disponible. Qu'il s'agisse d'un rapport stocké sur le réseau de l'entreprise (LAN) ou d'une archive hébergée sur un site web, faire cette vérification manuellement en ouvrant un navigateur ou un explorateur de fichiers devient vite fastidieux, surtout s'il y a des dizaines de vérifications à faire.
C'est là qu'intervient cURL !
Derrière ce nom un peu étrange se cache un outil fantastique en ligne de commande. Son rôle ? Transférer des données avec des URL (d'où son nom : Client URL). En clair, c'est un outil textuel capable de parler le langage des serveurs web et des serveurs de fichiers. Il est installé par défaut sur la quasi-totalité des ordinateurs modernes (Windows, Mac, Linux) et permet d'automatiser des tâches de vérification en quelques secondes.
La problématique : Le défi de la vérification invisible
Imaginez que vous ayez mis en place un script de sauvegarde automatique ou un lien de téléchargement pour vos clients. Tout fonctionne à merveille. Mais avec le temps, les serveurs bougent, les disques se remplissent, et parfois, un collègue déplace un dossier par mégarde.
Le problème est le suivant : comment s'assurer, de manière automatisée et sans ouvrir d'interface graphique, qu'un fichier est bel et bien encore présent à son emplacement exact ?
Si vous essayez de télécharger entièrement chaque fichier pour vérifier s'il existe, vous allez saturer votre bande passante et perdre un temps précieux, surtout si les fichiers pèsent plusieurs gigaoctets. La problématique est donc de trouver une méthode légère, rapide et universelle pour interroger le serveur et lui demander simplement : "Dis-moi, est-ce que ce fichier est toujours là ?", sans pour autant lancer le téléchargement du contenu.
Fonctionnement : La puissance des "En-têtes" avec cURL
Pour résoudre ce problème, cURL utilise une astuce : il demande au serveur de lui renvoyer uniquement la carte d'identité du fichier (ce qu'on appelle les en-têtes ou headers), plutôt que le fichier lui-même.
Dans les commandes ci-dessous, l'option -i (ou --include) demande explicitement à cURL d'afficher ces en-têtes (comme la date, le type de serveur, et surtout le code de statut). L'option -silent (ou -s), elle, permet de cacher la barre de progression pour garder un affichage propre.
Voici comment cela fonctionne concrètement selon la situation.
Cas 1 : Tester des fichiers locaux ou sur le réseau (LAN)
Si vous souhaitez vérifier des fichiers stockés directement sur votre machine ou sur un partage réseau, vous pouvez interroger le système de fichiers.
Méthode directe :
curl -silent -i c:\Users\s.lh\fic.txt* **Méthode via le protocole `file://` curl -silent -i file://c:/Users/s.lh/fic2.txt
Ce que vous devez regarder : Si le fichier existe, cURL va vous afficher ses propriétés locales (taille, date de modification). Si le fichier a disparu, le terminal affichera un message d'erreur clair indiquant que le chemin est introuvable.
Cas 2 : Tester des fichiers distants (Serveur Web)
Pour un fichier hébergé sur Internet ou sur un intranet, on utilise le protocole HTTP. C'est ici que la magie du web opère.
-
La commande :
En haut des informations renvoyées par le serveur, vous verrez une ligne avec un code à trois chiffres. C'est le fameux code HTTP :
- HTTP/1.1 200 OK : Le feu est vert ! Le fichier est bien présent et le serveur est prêt à le délivrer.
- HTTP/1.1 404 Not Found : Le feu est rouge. Le fichier n'existe plus ou l'adresse est incorrecte.
L'astuce pour aller plus loin
Si vous voulez que la commande soit encore plus rapide et ne télécharge absolument aucun morceau du fichier distant, vous pouvez remplacer le `-i` par un `-I` (majuscule).
Cela effectue une requête "HEAD" : cURL demande uniquement l'en-tête, sans même charger le premier octet du document
