Truc informatique

Une URL pour ton fichier

Tu as un fichier de données (un CSV, par exemple) sur ton ordinateur ou ton Google Drive, et tu voudrais que ton code Python le lise directement avec une adresse web, sans avoir à le retéléverser à chaque fois. Voici comment lui donner une URL.

L'idée clé : une adresse directe, pas une page

Quand tu écris pd.read_csv(url), Python va chercher ce qui se trouve exactement à cette adresse. Il a besoin d'une URL qui pointe sur le contenu brut du fichier (les colonnes, les virgules), pas sur une jolie page web avec des menus et des boutons.

C'est tout le piège : le lien de partage que les sites te donnent par défaut ouvre une page. Il faut le transformer en lien direct.

Lien direct - Python est content .../uc?export=download&id=1Ab...

Ouvert dans le navigateur, ça télécharge ou ça affiche du texte brut.

Page de partage - Python reçoit du HTML .../file/d/1Ab.../view?usp=sharing

Ouvert dans le navigateur, ça montre une page avec des boutons.

Méthode 1

Google Drive : du lien de partage au lien direct

La plus naturelle, parce que tu ranges déjà tes fichiers dans Drive.

  1. Dans Drive, clic droit sur ton fichier, puis Partager.
  2. Sous Accès général, choisis Tous les utilisateurs disposant du lien (rôle Lecteur). Sans ça, Python recevra une page de connexion.
  3. Clique sur Copier le lien. Tu obtiens une adresse du genre :
    https://drive.google.com/file/d/1AbCdEfGhIjKlMnOp/view?usp=sharing
  4. Repère l'identifiant entre /d/ et /view (ici 1AbCdEfGhIjKlMnOp) et fabrique le lien direct :
    https://drive.google.com/uc?export=download&id=1AbCdEfGhIjKlMnOp
# Dans Colab
import pandas as pd

url = "https://drive.google.com/uc?export=download&id=1AbCdEfGhIjKlMnOp"
donnees = pd.read_csv(url)
print(donnees.head())
Le piège classique

Si tu colles le lien de partage tel quel (celui qui finit par /view?usp=sharing) dans read_csv, Python télécharge la page HTML de Drive et plante avec une erreur incompréhensible. Transforme-le d'abord en lien uc?export=download.

Cette astuce marche bien pour les petits fichiers de données (quelques milliers de lignes). Pour un gros fichier, Drive ajoute une page d'avertissement antivirus : dans ce cas, Google Sheets ou GitHub sont plus simples.

Méthode 2

Google Sheets : exporter en CSV

Si tes données sont dans un classeur Google Sheets, tu n'as même pas besoin d'exporter un fichier : Sheets sait servir une feuille directement en CSV.

  1. Ouvre ton classeur. Clique sur Partager et mets l'accès à Tous les utilisateurs disposant du lien (rôle Lecteur).
  2. Regarde l'adresse de ton classeur. Elle ressemble à :
    https://docs.google.com/spreadsheets/d/1ClasseurXyz789/edit#gid=0
  3. Remplace /edit#gid=0 par /export?format=csv&gid=0 :
    https://docs.google.com/spreadsheets/d/1ClasseurXyz789/export?format=csv&gid=0

    Le gid identifie l'onglet (le premier onglet est 0). Tu le retrouves dans l'adresse quand tu cliques sur un autre onglet.

import pandas as pd

url = "https://docs.google.com/spreadsheets/d/1ClasseurXyz789/export?format=csv&gid=0"
donnees = pd.read_csv(url)
print(donnees.head())
Tu veux d'abord fabriquer tes données dans un tableur ? Vois le truc Du tableur à la chaîne CSV.
Méthode 3 - bonus

GitHub : le bouton Raw

Si tu as déposé ton fichier dans un dépôt GitHub (public), tu obtiens une URL stable et propre, parfaite pour un projet qu'on garde longtemps.

  1. Ouvre ton fichier sur GitHub. L'adresse contient /blob/ :
    https://github.com/utilisateur/depot/blob/main/donnees/mesures.csv
  2. Clique sur le bouton Raw (en haut à droite de l'affichage du fichier). L'adresse devient :
    https://raw.githubusercontent.com/utilisateur/depot/main/donnees/mesures.csv
import pandas as pd

url = "https://raw.githubusercontent.com/utilisateur/depot/main/donnees/mesures.csv"
donnees = pd.read_csv(url)
print(donnees.head())

Avantage : l'URL ne change pas, elle est lisible, et tout le monde peut la consulter sans connexion. C'est le choix le plus solide pour le projet.

Méthode 4 - dépannage

Un dépôt express, sans compte

Besoin d'une URL tout de suite, sans créer de compte ? Des services de dépôt rapide te donnent une adresse directe en glissant un petit fichier.

  1. Va sur catbox.moe, glisse ton fichier dans la zone, attends le téléversement.
  2. Le site te rend une URL déjà directe :
    https://files.catbox.moe/ab12cd.csv
import pandas as pd

url = "https://files.catbox.moe/ab12cd.csv"
donnees = pd.read_csv(url)
À savoir

Pratique pour dépanner, mais ton fichier devient public (n'importe qui avec le lien peut le voir) et rien ne garantit qu'il restera là dans six mois. Pour quelque chose de durable, préfère Drive, Sheets ou GitHub.

Le test universel (avant de coder)

Peu importe la méthode, vérifie ton URL avant de la mettre dans Python :

  1. Copie ton URL et ouvre-la dans un onglet de navigation privée (pour être sûr de ne pas être aidé par ta propre connexion Google).
  2. Regarde ce qui s'affiche.
Bon signe

Le navigateur télécharge le fichier, ou il affiche du texte brut (des lignes pleines de virgules). C'est exactement ce que Python recevra.

Mauvais signe

Tu vois une vraie page web (logo, boutons, menus) ou une demande de connexion. Ce n'est pas un lien direct, ou le partage n'est pas ouvert : reprends les étapes de ta méthode.

À toi : colle ton lien, récupère l'URL directe

Colle un lien de partage Google Drive, Google Sheets ou GitHub. Le convertisseur te rend l'adresse directe et la ligne de code prête à coller. Tout se passe dans ta page, rien n'est envoyé.

Résultat

Colle un lien ci-dessus, puis clique sur Convertir.