Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/03/2011, 17h05   #1
Membre du Club
 
Avatar de Paniez
 
Inscription : janvier 2003
Messages : 160
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2003
Messages : 160
Points : 54
Points : 54
Par défaut [POO] setInterval + méthode

Bonjour,

J'ai écrit un objet par le "mode" prototype.
Dans la définition des méthodes, j'ai :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
prem : function()
{
...
setInterval("deuxieme(_param)",5000);
setInterval("troisieme()",5000);
...
}
deuxieme : function(_param)
{
...
}
troisieme : function()
{
...
}
L'appel de setInterval me renvoi un undefined. J'ai essayé avec le rajout de function :
Code :
setInterval(function(){deuxieme(_param);},5000);
et aussi avec this, mais rien n'y fait.


Merci d'avance
Paniez est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 17h18   #2
Rédacteur/Modérateur
 
Homme Jérome Debray
Responsable de projet
Inscription : mai 2009
Messages : 627
Détails du profil
Informations personnelles :
Nom : Homme Jérome Debray
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Responsable de projet
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2009
Messages : 627
Points : 3 064
Points : 3 064
Salut,

setInterval nécessite 2 paramètres : la fonction (entre guillement) et un délai (en ms). Exemple :
Code javascript :
1
2
setInterval("deuxieme(_param)", 2000);
setInterval("troisieme()", 2000);
ornitho13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 17h24   #3
Expert Confirmé
 
Avatar de javatwister
 
Homme
danseur
Inscription : août 2003
Messages : 2 667
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : danseur

Informations forums :
Inscription : août 2003
Messages : 2 667
Points : 3 035
Points : 3 035
sachant aussi que les arguments de la fonction sont normalement placés en troisième paramètre de setInterval;
javatwister est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 17h41   #4
Membre du Club
 
Avatar de Paniez
 
Inscription : janvier 2003
Messages : 160
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2003
Messages : 160
Points : 54
Points : 54
Re,
Citation:
Envoyé par ornitho13 Voir le message
Salut,

setInterval nécessite 2 paramètres : la fonction (entre guillement) et un délai (en ms). Exemple :
Code javascript :
1
2
setInterval("deuxieme(_param)", 2000);
setInterval("troisieme()", 2000);
Erreur de copier-coller, j'ai corrigé.

Je pense plutôt qu'il n'arrive pas à aller chercher ma méthode du fait que c'est dans l'objet courant (d'où l'essai avec mon this au début).
Paniez est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 18h04   #5
Membre Expert
 
Avatar de Willpower
 
Homme Boris Dessy
sans emploi
Inscription : décembre 2010
Messages : 854
Détails du profil
Informations personnelles :
Nom : Homme Boris Dessy
Localisation : Belgique

Informations professionnelles :
Activité : sans emploi

Informations forums :
Inscription : décembre 2010
Messages : 854
Points : 1 354
Points : 1 354
Citation:
Envoyé par Paniez Voir le message
Re,

Erreur de copier-coller, j'ai corrigé.

Je pense plutôt qu'il n'arrive pas à aller chercher ma méthode du fait que c'est dans l'objet courant (d'où l'essai avec mon this au début).
je vois que tu as édité ton poste original pour rajouter les millisecondes mais tu n'as pas rajouté les guillemets ! ton code chez toi possède-t'il bien ces guillemets ?
Willpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 18h14   #6
Membre du Club
 
Avatar de Paniez
 
Inscription : janvier 2003
Messages : 160
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2003
Messages : 160
Points : 54
Points : 54
Citation:
Envoyé par Willpower Voir le message
je vois que tu as édité ton poste original pour rajouter les millisecondes mais tu n'as pas rajouté les guillemets ! ton code chez toi possède-t'il bien ces guillemets ?
Re,
Suite à vos messages (et je pense avoir testé cette option), j'ai (re)mis les double-quote et non, il ne trouve pas la méthode.
C'est en farfouillant que j'avais trouvé cette option en repassant par "function".
Si je veux rester logique, sans me préoccuper de la sémantique, le code serait plus :
Code :
1
2
setInterval("this.deuxieme(_param)",5000);
setInterval("this.troisieme()",5000);
En mettant ce genre de syntaxe, Firebug me dit "this.deuxieme is not a function".
Paniez est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 18h55   #7
Membre Expert
 
Avatar de Willpower
 
Homme Boris Dessy
sans emploi
Inscription : décembre 2010
Messages : 854
Détails du profil
Informations personnelles :
Nom : Homme Boris Dessy
Localisation : Belgique

Informations professionnelles :
Activité : sans emploi

Informations forums :
Inscription : décembre 2010
Messages : 854
Points : 1 354
Points : 1 354
edit: je n'avais pas vu que tu étais dans un "object" en fait, au temps pour moi :

crée une variable pour sauvergarder le this et appelle tes autres fonction sur cette variable :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
prem : function()
{
...
var that = this;
setInterval("that.deuxieme(_param)",5000);
setInterval("that.troisieme()",5000);
...
}
deuxieme : function(_param)
{
...
}
troisieme : function()
{
...
}
désolé, de ne pas avoir vu ça tout de suite.


edit: re au temps pour moi, la bonne solution est :

Code :
1
2
3
4
5
6
7
8
prem : function()
{
...
var that=this,fn1 = function(_param){that.deuxieme();},fn2 = function(){that.troisieme()};
setInterval(fn1,5000);
setInterval(fn2,5000);
...
}
car setInterval est executé et défini (tout comme un eval) en dehors de la fonction et le string évalué n'a donc pas accès à tes variables locales.
Willpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 19h24   #8
Membre du Club
 
Avatar de Paniez
 
Inscription : janvier 2003
Messages : 160
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2003
Messages : 160
Points : 54
Points : 54
Re,
Citation:
Envoyé par Willpower Voir le message
edit: re au temps pour moi, la bonne solution est :

Code :
1
2
3
4
5
6
7
8
prem : function()
{
...
var that=this,fn1 = function(_param){that.deuxieme();},fn2 = function(){that.troisieme()};
setInterval(fn1,5000);
setInterval(fn2,5000);
...
}
car setInterval est executé et défini (tout comme un eval) en dehors de la fonction et le string évalué n'a donc pas accès à tes variables locales.
Bien vu, ça a solutionné tous mes problèmes sauf un.
Quand un paramètre est un entier, Firebug me renvoie une erreur : "missing formal parameter".
Paniez est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 19h39   #9
Membre du Club
 
Avatar de Paniez
 
Inscription : janvier 2003
Messages : 160
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2003
Messages : 160
Points : 54
Points : 54
Citation:
Envoyé par Paniez Voir le message
Re,


Bien vu, ça a solutionné tous mes problèmes sauf un.
Quand un paramètre est un entier, Firebug me renvoie une erreur : "missing formal parameter".
A priori ça provient d'une autre erreur, sans lien apparent.
Du coup, ce sujet est résolu.

Merci encore
Paniez est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 19h55   #10
Membre Expert
 
Avatar de Willpower
 
Homme Boris Dessy
sans emploi
Inscription : décembre 2010
Messages : 854
Détails du profil
Informations personnelles :
Nom : Homme Boris Dessy
Localisation : Belgique

Informations professionnelles :
Activité : sans emploi

Informations forums :
Inscription : décembre 2010
Messages : 854
Points : 1 354
Points : 1 354
Citation:
Envoyé par Paniez Voir le message
A priori ça provient d'une autre erreur, sans lien apparent.
Du coup, ce sujet est résolu.

Merci encore
je ne sais pas si ça a un lien, mais j'ai effectivement oublié de repasser le param à l'appel de deuxieme :

ceci n'est pas correct :
Code :
fn1 = function(_param){that.deuxieme();}

-> il faut rajouter le paramètre comme ceci :

Code :
fn1 = function(_param){that.deuxieme(_param);}
de rien
Willpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 20h29   #11
Membre du Club
 
Avatar de Paniez
 
Inscription : janvier 2003
Messages : 160
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2003
Messages : 160
Points : 54
Points : 54
Re,
Effectivement, ça change certaines choses.
En revanche, j'ai l'impression que l'objet est perdu.
Dans ma fonction deuxieme() où je me sers de la variable (traitement d'image), firebug me dit que la variable (ici _param) est undefined. Or, quand je mets des points d'arret aux entrées et sorties des méthodes, j'ai bien mon objet (chose que je n'avais pas avant la dernière correction de Willpower).
Paniez est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 20h46   #12
Membre Expert
 
Avatar de Willpower
 
Homme Boris Dessy
sans emploi
Inscription : décembre 2010
Messages : 854
Détails du profil
Informations personnelles :
Nom : Homme Boris Dessy
Localisation : Belgique

Informations professionnelles :
Activité : sans emploi

Informations forums :
Inscription : décembre 2010
Messages : 854
Points : 1 354
Points : 1 354
Citation:
Envoyé par Paniez Voir le message
Re,
Effectivement, ça change certaines choses.
En revanche, j'ai l'impression que l'objet est perdu.
Dans ma fonction deuxieme() où je me sers de la variable (traitement d'image), firebug me dit que la variable (ici _param) est undefined. Or, quand je mets des points d'arret aux entrées et sorties des méthodes, j'ai bien mon objet (chose que je n'avais pas avant la dernière correction de Willpower).
je suis vraiment fatigué aujourd'hui, le code que je t'ai donné ne passe aucun paramètre à la fonction.

bon, déjà (pour plus de clarter, ça ne changera en rien le prob), donnons des noms diff aux parametres de la fonction : fn1

Code :
fn1 = function(p1){that.deuxieme(p1);}
ensuite pour l'appel :
Code :
setInterval("fn1(_param)",5000);
au lieu de setInterval(fn1,5000);

et ne pas utiliser le 3ème paramètre de setIntervalle(contrairement à ce que je disais javatwister) pour passer les paramètre (genre : setInterval(fn1,5000,_param);)car je pense que IE ne gère pas ça. sauf erreur de ma part.

Citation:
Envoyé par Paniez Voir le message
Re,
Effectivement, ça change certaines choses.
En revanche, j'ai l'impression que l'objet est perdu.
Dans ma fonction deuxieme() où je me sers de la variable (traitement d'image), firebug me dit que la variable (ici _param) est undefined. Or, quand je mets des points d'arret aux entrées et sorties des méthodes, j'ai bien mon objet (chose que je n'avais pas avant la dernière correction de Willpower).
je suis vraiment fatigué aujourd'hui, le code que je t'ai donné ne passe aucun paramètre à la fonction.

bon, déjà (pour plus de clarter, ça ne changera en rien le prob), donnons des noms diff aux parametres de la fonction : fn1

Code :
fn1 = function(p1){that.deuxieme(p1);}
ensuite pour l'appel :
Code :
setInterval("fn1(_param)",5000);
au lieu de setInterval(fn1,5000);

et ne pas utiliser le 3ème paramètre de setIntervalle(contrairement à ce que je disais javatwister) pour passer les paramètre (genre : setInterval(fn1,5000,_param);)car je pense que IE ne gère pas ça. sauf erreur de ma part.

edit: si ton _param est une variable locale, cela risque de ne pas fonctionner (surement l'erreur de ton int) il faudra donc encore complexifier la solution :

Code :
1
2
3
4
var fn1 = (function(p1,that){ return function(){that.deuxieme(p1);};})(_param,this),
fn2 = (function(that){ return function(){that.troisieme();};})(this);
setInterval(fn1,5000);
setInterval(fn2,5000);
tu remarqueras que le that, est également défini différemment que précédemment (tant qu'a faire hein^^)


edit2: je n'aime pas proposer de solution sans la tester donc je viens de test et ça fonctionne du premier coup ! j'suis trop fort aujourd'hui
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
obj = {
prem : function()
{
	var _param=3;
	var fn1 = (function(p1,that){ return function(){that.deuxieme(p1);};})(_param,this),
	fn2 = (function(that){ return function(){that.troisieme();};})(this);
	setInterval(fn1,3000);
	setInterval(fn2,5000);
 
},
deuxieme : function(_param)
{
	alert("deuxieme("+_param+")");
},
troisieme : function()
{
	alert("troisieme");
}
};
 
obj.prem();
Willpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 20h59   #13
Expert Confirmé
 
Avatar de javatwister
 
Homme
danseur
Inscription : août 2003
Messages : 2 667
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : danseur

Informations forums :
Inscription : août 2003
Messages : 2 667
Points : 3 035
Points : 3 035
ah oui effectivement, t'as l'air claqué Willpower


en fait, IE à l'âge de pierre (version 4) ne comprenait pas cette solution pourtant sympathique; mais depuis, que de progrès
javatwister est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 21h10   #14
Membre Expert
 
Avatar de Willpower
 
Homme Boris Dessy
sans emploi
Inscription : décembre 2010
Messages : 854
Détails du profil
Informations personnelles :
Nom : Homme Boris Dessy
Localisation : Belgique

Informations professionnelles :
Activité : sans emploi

Informations forums :
Inscription : décembre 2010
Messages : 854
Points : 1 354
Points : 1 354
Citation:
Envoyé par javatwister Voir le message
ah oui effectivement, t'as l'air claqué Willpower


en fait, IE à l'âge de pierre (version 4) ne comprenait pas cette solution pourtant sympathique; mais depuis, que de progrès
heu.... finalement en testant (sous IE8), ça n'a quand même pas l'air de fonctionner ou alors je m'y prend mal :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
obj = {
prem : function()
{
	var p=3;
	var that = this;
	var fn1 = function(p1){that.deuxieme(p1);};
	setInterval(fn1,3000,p);
 
},
deuxieme : function(_param){
	alert("deuxieme("+_param+")");
}
};
 
obj.prem();
m'affiche le bon résulat sous chrome et firefox mais me donne un "undefined" pour le parametre sous IE.
Willpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 23h02   #15
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 933
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 933
Points : 4 755
Points : 4 755
une façon d'y arriver
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var obj = {
  prem : function(){
    var p=3;
    var that = this;
    var fn1 = function(p1){that.deuxieme(p1);};
    //setInterval(fn1,3000,p);
    (function( fct , param){
      setInterval( function(){
        fct( param);
      }, 3000);
    })( fn1, p);
  },
  deuxieme : function(_param){
    alert("deuxieme("+_param+")");
  }
};
 
obj.prem();
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2011, 10h03   #16
Membre du Club
 
Avatar de Paniez
 
Inscription : janvier 2003
Messages : 160
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2003
Messages : 160
Points : 54
Points : 54
Re,

Dans vos réponses, il y a des "p" et des "p1" (sans jeux de mots de ma part) ; est-ce la même variable (et donc une erreur d'écriture) ou est-ce une autre.
Dans la dernière solution proposée par NoSmoking, le problème est qu'il me faut récupérer la valeur de setInterval (parce qu'avec toutes ces function de function, je suis un peu perdu).
Paniez est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2011, 11h56   #17
Membre Expert
 
Avatar de Willpower
 
Homme Boris Dessy
sans emploi
Inscription : décembre 2010
Messages : 854
Détails du profil
Informations personnelles :
Nom : Homme Boris Dessy
Localisation : Belgique

Informations professionnelles :
Activité : sans emploi

Informations forums :
Inscription : décembre 2010
Messages : 854
Points : 1 354
Points : 1 354
Citation:
Envoyé par Paniez Voir le message
Re,

Dans vos réponses, il y a des "p" et des "p1" (sans jeux de mots de ma part) ; est-ce la même variable (et donc une erreur d'écriture) ou est-ce une autre.
Dans la dernière solution proposée par NoSmoking, le problème est qu'il me faut récupérer la valeur de setInterval (parce qu'avec toutes ces function de function, je suis un peu perdu).
ce n'est pas une erreur d'écriture, mais au final c'est la même variable qui prend un autre nom une fois passé en paramètre dans la fonction.

exemple :
Code :
1
2
3
4
5
var le_prenom_de_willpower = "boris";
function affiche_nom(nom){
  alert(nom);
}
affiche_nom(le_prenom_de_willpower);
dans la fonction la variable s'appelle "nom" mais dans cette exemple elle sera la même que "le_prenom_de_willpower"

et effectivement, l'approche de noSmoking est bien meilleure même s'il déclare 2 fonctions de trop :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
var obj = {
  prem : function(){
    var p=3;
    var that = this;
    setInterval( function(){ that.deuxieme( p); }, 3000);
  },
  deuxieme : function(_param){
    alert("deuxieme("+_param+")");
  }
};
 
obj.prem();

tout simplement

nb: désolé, d'être encore une fois parti dans des solutions casse-têtes pour rien^^(j'avais vraiment la tête dans le *** hier)
Willpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2011, 16h02   #18
Membre du Club
 
Avatar de Paniez
 
Inscription : janvier 2003
Messages : 160
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2003
Messages : 160
Points : 54
Points : 54
Re,

Citation:
Envoyé par Willpower Voir le message
et effectivement, l'approche de noSmoking est bien meilleure même s'il déclare 2 fonctions de trop :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
var obj = {
  prem : function(){
    var p=3;
    var that = this;
    setInterval( function(){ that.deuxieme( p); }, 3000);
  },
  deuxieme : function(_param){
    alert("deuxieme("+_param+")");
  }
};
 
obj.prem();

tout simplement

nb: désolé, d'être encore une fois parti dans des solutions casse-têtes pour rien^^(j'avais vraiment la tête dans le *** hier)
Impeccable
Paniez est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2011, 16h10   #19
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 933
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 933
Points : 4 755
Points : 4 755
Citation:
Envoyé par Willpower
l'approche de noSmoking est bien meilleure même s'il déclare 2 fonctions de trop
merci pour le bien meilleur, quoique
concernant les fonctions en trop je n'est fait que reprendre la fonction "tampon" fn1 qui effectivement n'a pas lieu d'exister...mais...

l'exemple est intéressant pour montrer comment l'on peut passer des paramètres à une fonction setInterval, itou pour setTimeout, qui s'exécutera hors du scope.

Concernant l'appel de la fonction dans la méthode setInterval, je pense qu'il est effectivement préférable d'utiliser la syntaxe
Code :
1
2
3
setInterval( function(){
  // les instructions ou autre
}, delai);
plutôt que
Code :
setInterval( "fonction()", delai);
Citation:
Envoyé par Paniez
le problème est qu'il me faut récupérer la valeur de setInterval (parce qu'avec toutes ces function de function, je suis un peu perdu).
l'exemple que je mets te permets de voir comment l'on peut réaliser cela
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>[setInterval]</title>
<script type="text/javascript">
var obj = {
  iTimer : 0,
 
  prem : function( param){
  	var valeur = param ? param : 0;
  	var that = this;
  	var fn1 = function( param){
      that.deuxieme( param);
    };
    // lancement setInterval et recup valeur du timer dans iTimer
  	this.iTimer = (function( fct , param, delai){
  	  timer = setInterval( function(){
       fct( param);
  	  }, delai);
      return( timer);
  	})( fn1, valeur, 3000);
  },
 
  stop : function(){
    // clear le timer en cours
    clearInterval( this.iTimer);
    alert('STOP !');
    // relance fonction
    this.prem('nouveau param');
  },
 
  deuxieme : function( param){
  	alert("deuxieme(" +param +")" +"\niTimer = " +this.iTimer);    
  }
};
obj.deuxieme('1st appel');
obj.prem('valeur parametre');
obj.deuxieme('2nd appel');
</script>
</head>
<body>
<button onclick="obj.stop();">Stop</button>
</body>
</html>
à toi de jouer maintenant
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h49.


 
 
 
 
Partenaires

Hébergement Web