Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites". Attention, le forum rencontre actuellement quelques difficultés. En cas d'erreur 502, il ne faut pas re-valider l'envoi d'un message ou l'ouverture d'une discussion, au risque de créer un doublon.

La section divers se réorganise ! De nouvelles sous-sections à venir. (plus d'infos + donner son avis)

#101 Le 12/04/2013, à 07:22

k3c

Re : TVDownloader: télécharger les médias du net ! [2]

@ bibichouchou

As-tu une méthode pour récupérer le manifest des vidéos du groupe M6 (M6,W9,6ter) ?

Merci

PS: Oui, je sais, presque toutes les vidéos sont chiffrées.


Acer Aspire One 150 8,9 "
Norhtec avec une Clé Usb bootable http://www.norhtec.com/products/mcsr/index.html

Toshiba Satellite L750

Hors ligne

#102 Le 12/04/2013, à 18:08

11gjm

Re : TVDownloader: télécharger les médias du net ! [2]

Bonjour ,

@k3c : je voulais te répondre en te disant d'utiliser HLS + php .

Et puis , je ne vois plus mon icône au-dessus de la barre des tâches (???) .
Et pourtant le plugin est installé , et à jour .
Peux-tu me donner quelques solutions ?

Cordialement .

Hors ligne

#103 Le 12/04/2013, à 18:31

k3c

Re : TVDownloader: télécharger les médias du net ! [2]

@ 11 gjm

Si je veux automatiser la récupération d'une vidéo, il me faut avoir ce genre d'info.
Et c'est possible d'automatiser le fait de cliquer quand la vidéo est lancée (Sikuli), mais si à partir d'une page je peux retrouver le manifest ça m'arrange.
Sinon j'ai pas trop d'idée sur ce qui peut foirer.
Peux-tu te créer une machine virtuelle avec un Linux, la lancer et installer Firefox, l'addon HDS Link Detector et retester ?
Si tu prends une MINT ça ira vite.


Acer Aspire One 150 8,9 "
Norhtec avec une Clé Usb bootable http://www.norhtec.com/products/mcsr/index.html

Toshiba Satellite L750

Hors ligne

#104 Le 12/04/2013, à 18:31

thom83

Re : TVDownloader: télécharger les médias du net ! [2]

J'ai trouvé la solution cet après-midi, pour HDS link, c'est la combinaison de touches Ctrl + /. Elle permet de faire apparaître la petite icône nécessaire à l'activation de l'addon.
Ça faisait plusieurs semaines que je cherchais...

Dernière modification par thom83 (Le 12/04/2013, à 18:34)

Hors ligne

#105 Le 12/04/2013, à 19:32

11gjm

Re : TVDownloader: télécharger les médias du net ! [2]

Bonjour ,

@thom83 : Chapeau bas ! Merci pour l'info , fonctionnelle .

A+ .

Hors ligne

#106 Le 12/04/2013, à 20:11

11gjm

Re : TVDownloader: télécharger les médias du net ! [2]

Bonjour ,

@k3c : je ne pense pas qu'il soit utile , de vouloir récupérer les vidéos de M6 et consors .

Souvent , elles ne sont pas dispos , ou alors on a des extraits + la pub .

A+ .

Hors ligne

#107 Le 13/04/2013, à 12:51

11gjm

Re : TVDownloader: télécharger les médias du net ! [2]

Bonjour ,

INFORMATION : fournie par un internaute .
=============

J'ai constaté aussi que dans les 10 premières minutes (environ)
de mise à disposition des liens les vidéos étaient téléchargeables . 

Constaté sur :
_ M6 (Primetime de Scènes de ménage),
_ W9 (London live),
_ 6Ter (Tintin).

passées ces 10 mn plus aucun moyen  .

A+ .

Hors ligne

#108 Le 13/04/2013, à 21:32

angeline

Re : TVDownloader: télécharger les médias du net ! [2]

Avez vous une solution pour télécharger "rutube.ru" ?
Quelqu'un sait-il se servir de http://tradiz.org/Rutube/Raljeta


ıɔǝɔ ǝɯɯoɔ xnǝıɯ ʇsǝ,ɔ nʇunqnʞ

Hors ligne

#109 Le 14/04/2013, à 00:56

11gjm

Re : TVDownloader: télécharger les médias du net ! [2]

Bonjour ,

@angeline : Je me méfie des logiciels russes .

Je réponds à la question :

> Avez vous une solution pour télécharger "rutube.ru" ?
Oui , mais , c'est sous Windows .

On peut trouver le logiciel à "http://captvty.fr" .

A partir de l'adresse "http://tradiz.org/Rutube/Raljeta" , entrée dans Google Traduction .

Je suis arrivé sur un site russe , indiquant une vidéo :
http://rutube.ru/video/51c001891c1147fa … 496c0d8bf/

Je l'ai collée dans captvty et obtenu la vidéo ( musicale ):
5bc45bc80ad9f9597a8e1de3e0cf69f6.flv ( 11Mo / 4mn )

Genre : hard rock , pas terrible à mon goût .

Cordialement .

Hors ligne

#110 Le 14/04/2013, à 01:06

angeline

Re : TVDownloader: télécharger les médias du net ! [2]

@ 11gjm

Merci pour la réponse rapide.
Je ne suis pas chaud pour Windows$$ même sous wine.

Le contenu de la vidéo est donnée par exemple... je pense !

Les vidéos en streaming par segments + Géolocalisation se généralise dangereusement.

Plus de téléchargement des JT France2/3 non plus.
Je ne trollerais pas non plus sur ces contenus !!!!

A+


ıɔǝɔ ǝɯɯoɔ xnǝıɯ ʇsǝ,ɔ nʇunqnʞ

Hors ligne

#111 Le 14/04/2013, à 07:43

k3c

Re : TVDownloader: télécharger les médias du net ! [2]

@ angeline

Sous Linux il te faut récupérer les outils de KSV
https://github.com/K-S-V/Scripts/wiki

Tu installes son script AdobeHDS.php, son extension HDS Link detector dans Firefox, php et les curl extensions dans php
tu cliques sur le symbole du HDS Link detector (une fois il te dit is enabled, une autre is disabled)
tu lances ta vidéo, il t'affiche une commande en haut à droite, tu cliques, ça la copie dans le presse-paier, et tu la colles dans un terminal avec
Shift Ins
Dans mon cas ça m'a donné

php AdobeHDS.php --manifest "http://bl.rutube.ru/5bc45bc80ad9f9597a8e1de3e0cf69f6.f4m?referer=http://rutube.ru/video/51c001891c1147fa53787c8496c0d8bf/&PID=A9F96FE2-036E-BDA1-4D80-E257C14408D71" --delete

Edit: au fait tu peux utiliser Captvty en restant sous Linux, tu auras quelques messages d'erreur sans importance, mais ça téléchargera
http://forum.ubuntu-fr.org/viewtopic.php?id=878081

Dernière modification par k3c (Le 14/04/2013, à 12:18)


Acer Aspire One 150 8,9 "
Norhtec avec une Clé Usb bootable http://www.norhtec.com/products/mcsr/index.html

Toshiba Satellite L750

Hors ligne

#112 Le 14/04/2013, à 12:58

11gjm

Re : TVDownloader: télécharger les médias du net ! [2]

Bonjour ,

Je confirme la procédure HLS+PHP , fonctionne .

A+ .

Hors ligne

#113 Le 14/04/2013, à 14:42

11gjm

Re : TVDownloader: télécharger les médias du net ! [2]

Bonjour ,

Un peu de lecture !!!

"Après l'affaire Cahuzac, la plainte contre Valérie Trierweiler s'avère justifiée par le Code pénal"
http://www.economiematin.fr/les-experts … trieweiler

Ne pas oublier de lire le commentaire de : "captitaine pedalo • il y a 3 jours"

A+ .

Hors ligne

#114 Le 15/04/2013, à 14:30

angeline

Re : TVDownloader: télécharger les médias du net ! [2]

Bonjour à tous

@k3c
J'ai installé (pas si simple que ça) captvty sous wine.
Ça fonctionne mais avec une police de caractères quasi illisible dans la liste des émissions.
La modification de wine ne change rien !
Avez-vous une idée ?
Merci.


ıɔǝɔ ǝɯɯoɔ xnǝıɯ ʇsǝ,ɔ nʇunqnʞ

Hors ligne

#115 Le 15/04/2013, à 17:00

11gjm

Re : TVDownloader: télécharger les médias du net ! [2]

Bonjour ,

@angeline :

Le mieux ( ce me semble ) serait d'envoyer un mail à Guillaume .
à contact"at"captvty"dot"fr (remplacer "at" par @ et "dot" par .   .
Et , lui indiquer le PB .

A+ .

Dernière modification par 11gjm (Le 15/04/2013, à 18:16)

Hors ligne

#116 Le 15/04/2013, à 21:09

angeline

Re : TVDownloader: télécharger les médias du net ! [2]

@ 11gjm
Bonjoir !

Merci pour votre réponse, je "googlise" encore un peu avant de déranger le concepteur.
Une nouvelle version ne devrait pas tarder; le lecteur vidéo embarqué fait aussi planter le logiciel,
M6 ne fonctionne plus....
Wait & see, les fonctions dont j'avais le plus "besoin" sont Ok ./


ıɔǝɔ ǝɯɯoɔ xnǝıɯ ʇsǝ,ɔ nʇunqnʞ

Hors ligne

#117 Le 18/04/2013, à 19:16

bibichouchou

Re : TVDownloader: télécharger les médias du net ! [2]

@ k3c
non je n'ai pas de méthode pour avoir le manifest des vidéos de m6&co.
je sais obtenir la fin du lien à partir de "hds/...f4m", c'est tout.

Hors ligne

#118 Le 19/04/2013, à 12:23

11gjm

Re : TVDownloader: télécharger les médias du net ! [2]

Bonjour à tous ,

Quelqu'un aurait-il l'adresse du flux concernant "TV5MONDE FBS" ?
( Pas celui de "TV5MONDE Europe" ) .

Par avance , MERCI .

Cordialement .

Hors ligne

#119 Le 21/04/2013, à 20:15

pacome

Re : TVDownloader: télécharger les médias du net ! [2]

Bonjour,

J'ai découvert récemment (et utilisé avec succès) les scripts python de téléchargements proposés dans ce fil et le précédent.
Merci à tous pour tout ça! wink
Cependant je rencontre aujourd'hui un problème avec le tmc_tf1_0.8.py:

$ python tmc_tf1_0.8.py "http://videos.nt1.tv/fringe/saison-2-episode-15-vost-7928988-846.html"
['rtmpdump', '-r', 'rtmpe://wske.wat.tv/ondemand/mp4:vod/HD-1280x720/61/51/10456151.hd', '-c', '443', '-m', '10', '-w', 'b23434cbed89c9eaf520373c4c6f26e1f7326896dee4b1719e8d9acda0c19e99', '-x', '343427', '-o', 'saison-2-episode-15-vost-7928988-846.mp4', ' --resume']
Erreur : le sous-process s'est terminé avec (le code d'erreur est 1)
Erreur : le sous-process s'est terminé avec (le code d'erreur est 1)
Erreur : le sous-process s'est terminé avec (le code d'erreur est 1)
Erreur : le sous-process s'est terminé avec (le code d'erreur est 1)
Erreur : le sous-process s'est terminé avec (le code d'erreur est 1)

et

$ rtmpdump -r "rtmpe://wske.wat.tv/ondemand/mp4:vod/HD-1280x720/61/51/10456151.hd" -c 443 -m 10 -w b23434cbed89c9eaf520373c4c6f26e1f7326896dee4b1719e8d9acda0c19e99 -x 343427 -o "saison-2-episode-15-vost-7928988-846.mp4" " --resume"
RTMPDump v2.4
(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
Connecting ...
WARNING: HandShake: Type mismatch: client sent 6, server answered 9
INFO: Connected...
ERROR: RTMP_ReadPacket, failed to read RTMP packet header

Le problème semble lié à la clé de hash du swf (-w b234...9e99) puisque en la retirant de la ligne de commande le téléchargement commence mais échoue assez vite:

rtmpdump -r "rtmpe://wske.wat.tv/ondemand/mp4:vod/HD-1280x720/61/51/10456151.hd" -c 443 -m 10 -x 343427 -o "saison-2-episode-15-vost-7928988-846.mp4" " --resume"
RTMPDump v2.4
(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
WARNING: Ignoring SWF size, supply also the hash with --swfhash
Connecting ...
WARNING: HandShake: Type mismatch: client sent 6, server answered 9
INFO: Connected...
ERROR: HandleCtrl: Ignoring SWFVerification request, use --swfVfy!
Starting download at: 0.000 kB
INFO: Metadata:
INFO:   duration              2533.59
INFO:   moovPosition          28.00
INFO:   width                 1024.00
INFO:   height                576.00
INFO:   videocodecid          avc1
INFO:   audiocodecid          mp4a
INFO:   avcprofile            100.00
INFO:   avclevel              31.00
INFO:   aacaot                2.00
INFO:   videoframerate        25.00
INFO:   audiosamplerate       48000.00
INFO:   audiochannels         2.00
INFO: trackinfo:
INFO:   length                63339000.00
INFO:   timescale             25000.00
INFO:   language              eng
INFO: sampledescription:
INFO:   sampletype            avc1
INFO:   length                121612288.00
INFO:   timescale             48000.00
INFO:   language              eng
INFO: sampledescription:
INFO:   sampletype            mp4a
3350.010 kB / 22.80 sec (0.9%)
Caught signal: 13, cleaning up, just a second...
ERROR: WriteN, RTMP send error 32 (46 bytes)
ERROR: RTMP_ReadPacket, failed to read RTMP packet body. len: 74119
3362.103 kB / 22.80 sec (0.9%)
Download may be incomplete (downloaded about 0.90%), try resuming

Je n'ai pas réussi à obtenir la commande rtmtpdump complète avec rtmpsrv, et cette clé est codée "en dur" dans le script, mais comment est-elle calculée/obtenue?

Hors ligne

#120 Le 21/04/2013, à 20:35

11gjm

Re : TVDownloader: télécharger les médias du net ! [2]

Bonjour ,

@pacome : essaie le port 1935 ( au lieu de 443 ) , pour :

rtmpe://wske.wat.tv/ondemand/mp4:vod/HD-1280x720/61/51/10456151.hd

A+ .

Dernière modification par 11gjm (Le 21/04/2013, à 20:39)

Hors ligne

#121 Le 21/04/2013, à 21:36

pacome

Re : TVDownloader: télécharger les médias du net ! [2]

Bonsoir 11gjm,

J'obtiens le même résultat avec le port 1935: échec immédiat avec le -w b234...9e99, échec après ~1% de téléchargement sans.

À+

Hors ligne

#122 Le 21/04/2013, à 23:44

11gjm

Re : TVDownloader: télécharger les médias du net ! [2]

Bonjour ,

@pacome : Il faut rtmpdump 2.4 , au minimum .

Ci-dessous un fichier batch , sous windows . Qui fonctionne actuellement .
Dans ton cas , tu utilises la ligne "rtmpdump ... à ... -e" ( sans les guillemets ) .

@echo on
rtmpdump -r "rtmpe://wske.wat.tv:1935/ondemand/mp4:vod/HD-1280x720/61/51/10456151.hd" -o "saison-2-episode-15-vost-7928988-846.mp4" -e
pause
:fin

J'ai fait un 1er essai , blocage au bout de 3,5% .
J'ai relancé le batch et ça continue à la suite .

Après , plusieurs tentatives ; il faut autant de lignes que de fois 3,5% du fichier .
rtmpdump ... à ... -e
rtmpdump ... à ... -e
...
rtmpdump ... à ... -e

C'est la galère !!!

Cordialement .

Dernière modification par 11gjm (Le 21/04/2013, à 23:59)

Hors ligne

#123 Le 22/04/2013, à 00:42

11gjm

Re : TVDownloader: télécharger les médias du net ! [2]

Re-... ,

@pacome :

1) suivant la procédure précédente , j'ai obtenu une vidéo en "VOST" de 380.000ko , fonctionnelle .
2) en utilisant captvty (sous windows) , 2 possibiltés :
_a ; vidéo en français de 90.000ko
_b ; vidéo en VOST

A+ .

Hors ligne

#124 Le 22/04/2013, à 07:40

k3c

Re : TVDownloader: télécharger les médias du net ! [2]

la dernière version

#!/usr/bin/python
#-*- coding:utf-8 -*-
# TF1 TMC NT1 HD1 V0.9.1 k3c et bibichouchou
import subprocess, optparse, re, sys, shlex
import socket
from urllib2 import urlopen
import time, md5, random, urllib2, json
import bs4 as BeautifulSoup

listeUserAgents = [ 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_5; fr-fr) AppleWebKit/525.18 (KHTML, like Gecko) Version/3.1.2 Safari/525.20.1',
                                                'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.186 Safari/535.1',
                                                'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.',
                                                'Mozilla/5.0 (X11; U; Linux x86_64; en-us) AppleWebKit/528.5+ (KHTML, like Gecko, Safari/528.5+) midori',
                                                'Mozilla/5.0 (Windows NT 6.0) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.107 Safari/535.1',
                                                'Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/312.1 (KHTML, like Gecko) Safari/312',
                                                'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.12 Safari/535.11',
                                                'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.8 (KHTML, like Gecko) Chrome/17.0.940.0 Safari/535.8' ]

WEBROOTWAT          = "http://www.wat.tv"
wat_url      = "/web/"
jsonVideosInfos    = ""
ua = random.choice(listeUserAgents)

def get_soup(url, referer, ua):
    """ on récupère la soupe """
    req  = urllib2.Request(url)
    req.add_header('User-Agent', ua)
    req.add_header('Referer', referer)
    soup = urllib2.urlopen(req).read()
    return soup

def get_wat(id, HDFlag):
    """la fonction qui permet de retrouver une video sur wat"""
    def base36encode(number):
        if not isinstance(number, (int, long)):
            raise TypeError('number must be an integer')
        if number < 0:
            raise ValueError('number must be positive')
        alphabet = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
        base36 = ''
        while number:
            number, i = divmod(number, 36)
            base36 = alphabet[i] + base36
        return base36 or alphabet[0]

    if HDFlag:
        wat_url = "/webhd/"
    else:
        wat_url = "/web/"

    ts = base36encode(int(time.time())-60)
    timesec = hex(int(ts, 36))[2:]
    while(len(timesec)<8):
        timesec = "0"+timesec
    token = md5.new("9b673b13fa4682ed14c3cfa5af5310274b514c4133e9b3a81e6e3aba00912564"+wat_url+str(id)+""+timesec).hexdigest()
    id_url1 = WEBROOTWAT+"/get"+wat_url+str(id)+"?token="+token+"/"+str(timesec)+"&country=FR&getURL=1"
    return id_url1

def main():
    """ recuperation de vidéos sur TF1/TMC/NT1/HD1 (donc WAT)"""
    # timeout en secondes
    socket.setdefaulttimeout(90)
    usage   = "usage: python tmc_tf1.py     [options] <url de l'emission>"
    parser  = optparse.OptionParser( usage = usage )
    parser.add_option( "--nocolor",         action = 'store_true', default = False, help = 'desactive la couleur dans le terminal' )
    parser.add_option( "-v", "--verbose",   action = "store_true", default = False, help = 'affiche les informations de debugage' )
    ( options, args ) = parser.parse_args()
    if( len( args ) > 2 or args[ 0 ] == "" ):
        parser.print_help()
        parser.exit( 1 )
    debut_id = ''
    html = urllib2.urlopen(sys.argv[1]).read()
    nom = sys.argv[1].split('/')[-1:][0]
    no = nom.split('.')[-2:][0]
    soup = BeautifulSoup.BeautifulSoup(html)
    if 'tmc.tv' in str(soup) or 'tf1.fr' in str(soup):
        debut_id = str(soup.find('div', attrs={'class' : 'unique' }))
    if 'nt1.tv' in str(soup) or 'hd1.tv' in str(soup):
        debut_id = str(soup.find('section', attrs={'class' : 'player-unique' }))
    id = [x.strip() for x in re.findall("mediaId :([^,]*)", debut_id)][0]
    referer = [x.strip() for x in re.findall('url : "(.*?)"', debut_id)][0]
    jsonVideoInfos = get_soup(WEBROOTWAT+'/interface/contentv3/'+id, referer, ua)
    videoInfos     = json.loads(jsonVideoInfos)

    try:
        HD = videoInfos["media"]["files"][0]["hasHD"]
    except:
        HD = False

    NumberOfParts = len(videoInfos["media"]["files"])
    ListOfIds = []
    for iPart in range(NumberOfParts):
        ListOfIds.append(videoInfos["media"]["files"][iPart]["id"])

    for PartId in ListOfIds:
        id_url1 = get_wat(PartId, HD)
        req  = urllib2.Request(id_url1)
        req.add_header('User-Agent', ua)
        req.add_header('Referer', referer)
        data = urllib2.urlopen(req).read()
        print data
        print type(data)
        if data[0:4] == 'http':
            arguments = 'curl "%s" -C - -L -g -A "%s" -o "%s.mp4"' % (data, ua, no + "-" + str(PartId))
            print arguments
            process = subprocess.Popen(arguments, stdout=subprocess.PIPE, shell=True).communicate()[0]
        if data[0:4] == 'rtmp':
            if '.hd' in data:
                data0 = re.search('rtmpte://(.*)hd', data).group(0)
            if '.h264' in data:
                data0 = re.search('rtmpte://(.*)h264', data).group(0)
            data0 = data0.replace('rtmpte','rtmpe')
            cmds = 'rtmpdump -e -r "%s" -c 443 -m 10 -w 0818931e9bfa764b9c33e42de6d06f924ac7fc244d0d4941019b9cdfe8706705 -x 352043 -o "%s.mp4"' % (data0, str(no) + "-" + str(PartId))
            print cmds
            arguments = shlex.split( cmds )
            print arguments
            cpt = 0 
            while True:
                p = subprocess.Popen( arguments,
                    stdout=subprocess.PIPE, stderr=subprocess.PIPE)
                stdout, stderr = p.communicate()
            if p.returncode != 0:
                print "Erreur : le sous-process s\'est terminé avec (le code d\'erreur est " + str(p.returncode) + ")"
                if cpt > 5:
                    break
                cpt += 1
                time.sleep(3) 
            else:
                break


if __name__ == "__main__":
    main()

Acer Aspire One 150 8,9 "
Norhtec avec une Clé Usb bootable http://www.norhtec.com/products/mcsr/index.html

Toshiba Satellite L750

Hors ligne

#125 Le 22/04/2013, à 12:28

11gjm

Re : TVDownloader: télécharger les médias du net ! [2]

Bonjour ,

@k3c : Merci pour cette version 0.9.1 de "TF1... .py" .

Je viens de tester la ligne de commande .
Elle fonctionne admirablement , pour les 2 ports 443 et 1935 :

...
rtmpdump -e -r "rtmpe://wske.wat.tv:443/ondemand/mp4:vod/HD-1280x720/61/51/10456151.hd" -c 443 -m 10 -w 0818931e9bfa764b9c33e42de6d06f924ac7fc244d0d4941019b9cdfe8706705 -x 352043 -o "Fringe_Ep15.mp4"
ou
rtmpdump -e -r "rtmpe://wske.wat.tv:1935/ondemand/mp4:vod/HD-1280x720/61/51/10456151.hd" -c 1935 -m 10 -w 0818931e9bfa764b9c33e42de6d06f924ac7fc244d0d4941019b9cdfe8706705 -x 352043 -o "Fringe_Ep15.mp4"
...

La vidéo obtenue est en VOST .
Est-il possible d'avoir la version "Française" ?

Cordialement .

Hors ligne

Haut de page ↑