public void telechargerFichier() {
        try {
            // On crée les variables pour télécharger le fichier
            URL adresse = new URL(url);
            URLConnection connexion = adresse.openConnection();
            int taille = connexion.getContentLength();

            // On crée un flux d’entrée pour lire le fichier
            InputStream brut = connexion.getInputStream();
            InputStream entree = new BufferedInputStream(brut);

            // On crée un tableau pour enregistrer les octets bruts
            byte[] donnees = new byte[taille];
            
            // Pour l’instant aucun octet n’a encore été lu
            int octetsLus;

            // Octets de déplacement, et octets déjà lus.
            int deplacement = 0;
            float dejaLu = 0;

            // On boucle pour lire tous les octets 1 à 1
            while(deplacement < taille)
            {
                octetsLus = entree.read(donnees, deplacement, donnees.length - deplacement);

                // Petit calcul: mise à jour du nombre total d’octets lus par ajout au nombre d’octets lus au cours des précédents passages au nombre d’octets lus pendant ce passage
                dejaLu = dejaLu + octetsLus;

                // Si on est à la fin du fichier, on sort de la boucle
                if  (octetsLus == -1)
                    break;

                // se cadrer à un endroit précis du fichier pour lire les octets suivants, c’est le déplacement
                deplacement += octetsLus;
            }
            // On ferme le fichier ouvert en ligne
            entree.close();

            // Enregistrement
            FileOutputStream fichierSortie = new FileOutputStream(nomFichier);
            fichierSortie.write(donnees);

            // On ferme les flux de sortie
            fichierSortie.flush();
            fichierSortie.close();
        } catch (MalformedURLException e) {
            JOptionPane.showMessageDialog(null,
                    "URL de téléchargement mal formée !",
                    "Erreur", JOptionPane.ERROR_MESSAGE);
            System.out.println( e.toString() );
        } catch (IOException e) {
            JOptionPane.showMessageDialog(null,
                    "Impossible de télécharger le fichier : " + nomFichier
                            + "\n\tErreur d'entée-sortie :\n" + e.toString(),
                    "Erreur", JOptionPane.ERROR_MESSAGE);
            System.out.println( e.toString() );
        }
    }