begin process at 2012 02 14 03:51:41
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Formulaire

 > CALCULS RAYNAUX V2

CALCULS RAYNAUX V2


 Description

Cliquez pour voir la capture en taille normale
c'est un script pour Indesign CS1 à CS4 offrant la possibilité d'effectuer des calculs dans un tableau.
- Soit sur des cellules sélectionnées
- Soit sur toutes les lignes du tableau
-Soit sur toutes les colonnes
Il a été testé sur Mac avec succès. Un petit descriptif est dans le zip.

Source

  • //CALCULS RAYNAUX v2.0.js
  • //InDesign CS3 JavaScript
  • /*
  • BCV Création Team 2009
  • */
  • //
  • main();
  • function main(){
  • var myObjectList = new Array;
  • if (app.documents.length != 0){
  • if (app.selection.length != 0){
  • for(var myCounter = 0;myCounter < app.selection.length; myCounter++){
  • switch (app.selection[myCounter].constructor.name){
  • case "Rectangle":
  • case "Oval":
  • case "Polygon":
  • case "GraphicLine":
  • case "TextFrame":
  • myObjectList.push(app.selection[myCounter]);
  • break;
  • }
  • }
  • if (myObjectList.length == 0){
  • NouvelleFenetre(myObjectList);
  • }
  • else{
  • alert ("Vous devez sélectionner un groupe de valeurs et réessayer");
  • }
  • }
  • else{
  • alert ("Vous devez sélectionner un groupe de valeurs et réessayer");
  • }
  • }
  • else{
  • alert ("Vous devez ouvrir un document, sélectionner un groupe de valeurs et réessayer.");
  • }
  • }
  • function NouvelleFenetre(){
  • var Fenetre = app.dialogs.add({name:"CALCULS RAYNAUX v2.0"});
  • var ListeDeroulantSens = ["les cellules selectionnées", "toutes les lignes", "toutes les colonnes"];
  • var ListeDeroulantOperation = ["Addition", "Soustraction", "Multiplication","Division"];
  • var ListeDeroulantOption = ["Ajouter au résultat :", "Soustraire au résultat :", "Multiplier le résultat par :" ,"Diviser le résultat par :","Appliquer un % au résultat :","Ajouter un % au résultat :","Soustraire un % au résultat :"];
  • var ListeDeroulantDevise = ["¤","$","£","¥","&#63743;"]
  • with(Fenetre){
  • with(dialogColumns.add()){
  • var ChoixOperation = enablingGroups.add({staticLabel:"Opération :", checkedState:true});
  • with (ChoixOperation){
  • with(borderPanels.add()){
  • with(dialogColumns.add()){
  • var MenuDeroulantOperation = dropdowns.add({stringList:ListeDeroulantOperation, selectedIndex:0});
  • }
  • }
  • }
  • var ChoixSens = enablingGroups.add({staticLabel:"A effectuer sur :", checkedState:true});
  • with (ChoixSens){
  • with(borderPanels.add()){
  • with(dialogColumns.add()){
  • var MenuDeroulantSens = dropdowns.add({stringList:ListeDeroulantSens, selectedIndex:0});
  • }
  • }
  • }
  • var ChoixOption = enablingGroups.add({staticLabel:"Option :", checkedState:false});
  • with (ChoixOption){
  • with(borderPanels.add()){
  • with(dialogColumns.add()){
  • var MenuDeroulantOption = dropdowns.add({stringList:ListeDeroulantOption, selectedIndex:0});
  • }
  • with (dialogColumns.add()){
  • var CaseValeurOption = realEditboxes.add();
  • }
  • }
  • }
  • var ChoixDevise = enablingGroups.add({staticLabel:"Devise :", checkedState:false});
  • with (ChoixDevise){
  • with(borderPanels.add()){
  • with(dialogColumns.add()){
  • var MenuDeroulantDevise = dropdowns.add({stringList:ListeDeroulantDevise, selectedIndex:0});
  • }
  • }
  • }
  • with(borderPanels.add()){
  • with(dialogColumns.add()){
  • var ChoixVide = checkboxControls.add({staticLabel:"Ignorer les résultats nuls", checkedState:false});
  • }
  • }
  • }
  • }
  • var MesChoix = Fenetre.show();
  • if (MesChoix == true){
  • var Sens = MenuDeroulantSens.selectedIndex;
  • var Operation = MenuDeroulantOperation.selectedIndex;
  • var Option = MenuDeroulantOption.selectedIndex;
  • var ValeurOption = CaseValeurOption.editValue;
  • var ValidationOption = ChoixOption.checkedState;
  • var ValidationDevise = ChoixDevise.checkedState;
  • var OptionDevise = MenuDeroulantDevise.selectedIndex;
  • var ValidationVide = ChoixVide.checkedState;
  • Fenetre.destroy();
  • Calcul(Sens,Operation,Option,ValeurOption,ValidationOption,ValidationDevise,OptionDevise,ValidationVide);
  • }
  • else{
  • Fenetre.destroy();
  • }
  • }
  • function Calcul(Sens,Operation,Option,ValeurOption,ValidationOption,ValidationDevise,OptionDevise,ValidationVide){
  • var Cellule = app.selection[0];
  • var Tableau = Cellule.parent;
  • if (Tableau.constructor.name == "Cell"){
  • Cellule = Cellule.parent;
  • Tableau = Tableau.parent;
  • var NbreCellule = app.selection[0].length;
  • }
  • var NbreLignes = Tableau.rows.length;
  • var NbreColonnes = Tableau.columns.length;
  • var NomCellule = Cellule.name;
  • var Ligne = NomCellule.split(":")[1];
  • var Colonne = NomCellule.split(":")[0];
  • var Dernier = -1;
  • var Premier = 0;
  • if (Sens == 0){
  • if (NbreCellule == 0){
  • app.select(Tableau.columns[Number(Colonne)].cells.itemByRange(Number(Ligne),Number(Ligne)));
  • }
  • TotalCellules(app.selection[0].cells,Operation,Option,ValeurOption,ValidationOption,ValidationDevise,OptionDevise,ValidationVide);
  • }
  • else{
  • if (Sens == 1){
  • for (var j =0; NbreColonnes >= j+1 ; j ++){
  • app.select(Tableau.rows[Number(j)].cells.itemByRange(Number(Premier),Dernier));
  • TotalCellules(app.selection[0].cells,Operation,Option,ValeurOption,ValidationOption,ValidationDevise,OptionDevise,ValidationVide);
  • }
  • }
  • else{
  • for (var j =0; NbreLignes >= j+1 ; j ++){
  • app.select(Tableau.columns[Number(j)].cells.itemByRange(Number(Premier),Dernier));
  • TotalCellules(app.selection[0].cells,Operation,Option,ValeurOption,ValidationOption,ValidationDevise,OptionDevise,ValidationVide);
  • }
  • }
  • }
  • }
  • function TotalCellules(cells,Operation,Option,ValeurOption,ValidationOption,ValidationDevise,OptionDevise,ValidationVide){
  • for (var k = 1; cells.length > k+1; k++){
  • if (cells[k].texts[0].contents == "0" && Operation==3){
  • if (!confirm("ATTENTION : division par 0 !\n Voulez-vous continuer ?")){
  • return;
  • }
  • }
  • }
  • if (ValidationOption == true && ValeurOption == 0 && (Option == 2 || Option == 3 || Option ==4)){
  • if (!confirm("ATTENTION : Vous n'avez pas donné de valeur à l'option\n Vous risquez une multiplication ou pire, une division par 0 !\n\n Voulez-vous continuer ?")){
  • return;
  • }
  • }
  • if (cells[-1].texts[0].contents != ""){
  • if (!confirm("Ecraser le contenu de la dernière cellule ?")){
  • return;
  • }
  • }
  • var Total = ParseVirgule(cells[0].texts[0].contents);
  • for (var j = 1; cells.length > j+1; j++){
  • try{
  • if (Operation==0) { Total += ParseVirgule(cells[j].texts[0].contents); }
  • if (Operation==1) { Total = Total - (ParseVirgule(cells[j].texts[0].contents)); }
  • if (Operation==2) { Total = Total * (ParseVirgule(cells[j].texts[0].contents)); }
  • if (Operation==3) { Total = Total / (ParseVirgule(cells[j].texts[0].contents)); }
  • }
  • catch (e) {}
  • }
  • if (ValidationOption == true){
  • if (Option == 0) {Total_edit=Total + ValeurOption;}
  • if (Option == 1) {Total_edit=Total - ValeurOption;}
  • if (Option == 2) {Total_edit=Total * ValeurOption;}
  • if (Option == 3) {Total_edit=Total / ValeurOption;}
  • if (Option == 4) {Total_edit=(Total * ValeurOption)/100; }
  • if (Option == 5) {Total_edit=Total + ((Total * ValeurOption)/100); }
  • if (Option == 6) {Total_edit=Total - ((Total * ValeurOption)/100); }
  • }
  • else{Total_edit=Total;}
  • //["¤","$","£","¥","&#63743;"]
  • if (ValidationDevise == true){
  • if (OptionDevise == 0) {Devise =" ¤";}
  • if (OptionDevise == 1) {Devise =" $";}
  • if (OptionDevise == 2) {Devise =" £";}
  • if (OptionDevise == 3) {Devise =" ¥";}
  • if (OptionDevise == 4) {Devise =" &#63743;";}
  • }
  • else{Devise="";}
  • var text = Total_edit.toString();
  • var MaReg = new RegExp("[.]","");
  • var Resultat = text.replace(MaReg,",");
  • if (ValidationVide == 1 && Resultat == 0){
  • var Resultat = "";
  • }
  • cells[-1].texts[0].contents = Resultat+Devise;
  • }
  • function ParseVirgule(Nombre){
  • Nombre=Nombre.split("");
  • for (var i=Nombre.length-1;i>=0;i--){
  • if(isNaN(Nombre[i])){
  • if (Nombre[i]==","){
  • Nombre [i]=".";
  • }
  • if (Nombre[i]!="."){
  • Nombre.splice(i,1);
  • }
  • }
  • }
  • Nombre=Nombre.join("");
  • if(Nombre!=""){
  • return parseFloat(Nombre);
  • }
  • return 0;
  • }
  • function IsInArray(item,array){
  • for(var i=0;i<array.length;i++){
  • if(array[i]==item){
  • return true
  • }
  • }
  • return false;
  • }
//CALCULS RAYNAUX v2.0.js
//InDesign CS3 JavaScript
/*  
BCV Création Team 2009
*/
//

main();

function main(){
	var myObjectList = new Array;
	if (app.documents.length != 0){
		if (app.selection.length != 0){
			for(var myCounter = 0;myCounter < app.selection.length; myCounter++){
				switch (app.selection[myCounter].constructor.name){
					case "Rectangle":
					case "Oval":
					case "Polygon":
					case "GraphicLine":
					case "TextFrame":
						myObjectList.push(app.selection[myCounter]);
					break;
				}
			}
			if (myObjectList.length == 0){
				NouvelleFenetre(myObjectList);
			}
			else{
				alert ("Vous devez sélectionner un groupe de valeurs et réessayer");
			}
		}
		else{
			alert ("Vous devez sélectionner un groupe de valeurs et réessayer");
		}
	}
	else{
		alert ("Vous devez ouvrir un document, sélectionner un groupe de valeurs et réessayer.");
	}
}

function NouvelleFenetre(){
	var Fenetre = app.dialogs.add({name:"CALCULS RAYNAUX v2.0"});
	var ListeDeroulantSens = ["les cellules selectionnées", "toutes les lignes", "toutes les colonnes"];
	var ListeDeroulantOperation = ["Addition", "Soustraction", "Multiplication","Division"];
	var ListeDeroulantOption = ["Ajouter au résultat :", "Soustraire au résultat :", "Multiplier le résultat par :"  ,"Diviser le résultat par :","Appliquer un % au résultat :","Ajouter un % au résultat :","Soustraire un % au résultat :"];
	var ListeDeroulantDevise = ["¤","$","£","¥","&#63743;"]

	with(Fenetre){
		with(dialogColumns.add()){
			
			var ChoixOperation = enablingGroups.add({staticLabel:"Opération :", checkedState:true});
			with (ChoixOperation){
				with(borderPanels.add()){
					with(dialogColumns.add()){
					var MenuDeroulantOperation = dropdowns.add({stringList:ListeDeroulantOperation, selectedIndex:0});
					}
				}
			}
			
			var ChoixSens = enablingGroups.add({staticLabel:"A effectuer sur :", checkedState:true});
				with (ChoixSens){
				with(borderPanels.add()){
					with(dialogColumns.add()){
					var MenuDeroulantSens = dropdowns.add({stringList:ListeDeroulantSens, selectedIndex:0});
					}
				}
			}
			
			var ChoixOption = enablingGroups.add({staticLabel:"Option :", checkedState:false});
			with (ChoixOption){
				with(borderPanels.add()){
					with(dialogColumns.add()){
					var MenuDeroulantOption = dropdowns.add({stringList:ListeDeroulantOption, selectedIndex:0});
					}
					with (dialogColumns.add()){
						var CaseValeurOption = realEditboxes.add();
					}
				}
			}
			var ChoixDevise = enablingGroups.add({staticLabel:"Devise :", checkedState:false});
			with (ChoixDevise){
				with(borderPanels.add()){
					with(dialogColumns.add()){
					var MenuDeroulantDevise = dropdowns.add({stringList:ListeDeroulantDevise, selectedIndex:0});
					}
				}
			}
			with(borderPanels.add()){
				with(dialogColumns.add()){					
					var ChoixVide = checkboxControls.add({staticLabel:"Ignorer les résultats nuls", checkedState:false});
				}
			}

		}
	}

	var MesChoix = Fenetre.show();
	if (MesChoix == true){
		var Sens = MenuDeroulantSens.selectedIndex;
		var Operation = MenuDeroulantOperation.selectedIndex;
		var Option = MenuDeroulantOption.selectedIndex;
		var ValeurOption = CaseValeurOption.editValue;
		var ValidationOption = ChoixOption.checkedState;
		var ValidationDevise = ChoixDevise.checkedState;
		var OptionDevise = MenuDeroulantDevise.selectedIndex;
		var ValidationVide = ChoixVide.checkedState;
		Fenetre.destroy();
		Calcul(Sens,Operation,Option,ValeurOption,ValidationOption,ValidationDevise,OptionDevise,ValidationVide);
	}
	else{
		Fenetre.destroy();
	}
}


function Calcul(Sens,Operation,Option,ValeurOption,ValidationOption,ValidationDevise,OptionDevise,ValidationVide){
	var Cellule = app.selection[0];
	
	var Tableau = Cellule.parent;
 	if (Tableau.constructor.name == "Cell"){
		Cellule = Cellule.parent;
 		Tableau = Tableau.parent;
		var NbreCellule = app.selection[0].length;
	}
	var NbreLignes = Tableau.rows.length;
	var NbreColonnes = Tableau.columns.length;
	var NomCellule = Cellule.name;
	var Ligne = NomCellule.split(":")[1];
	var Colonne = NomCellule.split(":")[0];
	var Dernier = -1;
	var Premier = 0;

	if (Sens == 0){
		if (NbreCellule == 0){
			app.select(Tableau.columns[Number(Colonne)].cells.itemByRange(Number(Ligne),Number(Ligne)));
			}
		TotalCellules(app.selection[0].cells,Operation,Option,ValeurOption,ValidationOption,ValidationDevise,OptionDevise,ValidationVide);
	}
	else{		

		if (Sens == 1){
			for (var j =0; NbreColonnes >= j+1 ; j ++){
				app.select(Tableau.rows[Number(j)].cells.itemByRange(Number(Premier),Dernier));
				TotalCellules(app.selection[0].cells,Operation,Option,ValeurOption,ValidationOption,ValidationDevise,OptionDevise,ValidationVide);					
			}
		}
		else{
			for (var j =0; NbreLignes >= j+1 ; j ++){
				app.select(Tableau.columns[Number(j)].cells.itemByRange(Number(Premier),Dernier));
				TotalCellules(app.selection[0].cells,Operation,Option,ValeurOption,ValidationOption,ValidationDevise,OptionDevise,ValidationVide);					
			}
		}
	}
}


function TotalCellules(cells,Operation,Option,ValeurOption,ValidationOption,ValidationDevise,OptionDevise,ValidationVide){

	for (var k = 1; cells.length > k+1; k++){
		if (cells[k].texts[0].contents == "0" && Operation==3){
			if (!confirm("ATTENTION : division par 0 !\n Voulez-vous continuer ?")){
				return;
			}
		}
	}
	if (ValidationOption == true && ValeurOption == 0 && (Option == 2 || Option == 3 || Option ==4)){
		if (!confirm("ATTENTION : Vous n'avez pas donné de valeur à l'option\n Vous risquez une multiplication ou pire, une division par 0 !\n\n Voulez-vous continuer ?")){
			return;
		}
	}
	if (cells[-1].texts[0].contents != ""){
		if (!confirm("Ecraser le contenu de la dernière cellule ?")){
			return;
		}
	}
	var Total = ParseVirgule(cells[0].texts[0].contents);
	for (var j = 1; cells.length > j+1; j++){
		try{
			if (Operation==0) { Total += ParseVirgule(cells[j].texts[0].contents); }
			if (Operation==1) { Total = Total - (ParseVirgule(cells[j].texts[0].contents)); }
			if (Operation==2) { Total = Total * (ParseVirgule(cells[j].texts[0].contents)); }		
			if (Operation==3) { Total = Total / (ParseVirgule(cells[j].texts[0].contents)); }
		}			
		catch (e) {}
	}
	if (ValidationOption == true){
		if (Option == 0) {Total_edit=Total + ValeurOption;}
		if (Option == 1) {Total_edit=Total - ValeurOption;}
		if (Option == 2) {Total_edit=Total * ValeurOption;}
		if (Option == 3) {Total_edit=Total / ValeurOption;}
		if (Option == 4) {Total_edit=(Total * ValeurOption)/100; }
		if (Option == 5) {Total_edit=Total + ((Total * ValeurOption)/100); }
		if (Option == 6) {Total_edit=Total - ((Total * ValeurOption)/100); }
	}
	else{Total_edit=Total;}
	//["¤","$","£","¥","&#63743;"]
	if (ValidationDevise == true){
		if (OptionDevise == 0) {Devise =" ¤";}
		if (OptionDevise == 1) {Devise =" $";}
		if (OptionDevise == 2) {Devise =" £";}
		if (OptionDevise == 3) {Devise =" ¥";}
		if (OptionDevise == 4) {Devise =" &#63743;";}
	}
	else{Devise="";}
	var text = Total_edit.toString();
	var MaReg = new RegExp("[.]","");
	var Resultat = text.replace(MaReg,",");
	if (ValidationVide == 1 && Resultat == 0){
		var Resultat = "";
	}
	cells[-1].texts[0].contents = Resultat+Devise;
}
		

function ParseVirgule(Nombre){
	Nombre=Nombre.split("");
	for (var i=Nombre.length-1;i>=0;i--){
		if(isNaN(Nombre[i])){
			if (Nombre[i]==","){	
				Nombre [i]=".";
				}
							
			if (Nombre[i]!="."){
				Nombre.splice(i,1);
				}	
			}
		}
	Nombre=Nombre.join("");
	if(Nombre!=""){
		return parseFloat(Nombre);
		}
	return 0;
}


function IsInArray(item,array){
	for(var i=0;i<array.length;i++){
		if(array[i]==item){
			return true
			}
		}
	return false;
}

 Conclusion

Une petite chose bien utile(je crois), merci de me rapporter les (éventuels) bugs, et de me dire si tout fonctionne sur PC.
ET si vous avez des suggestions pour enrichir "la chose " ...

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources de la même categorie

Source avec Zip Source avec une capture BOITE DE DIALOGUE MODALE DE SÉLECTION D'UNE LISTE D'ICONES par JJDai
Source avec Zip Source avec une capture RÉSOLUTION D'UN SYSTÈME D'ÉQUATIONS LINÉAIRES À N INCONNUES par william voirol
Source avec Zip Source avec une capture PLUGIN JQUERY LISTE MODIFIABLE (COMBO) AUTOCOMPLÉTÉE par medkarim
GESTION DE NUMÉRO DE TÉLÉPHONE SIMPLE DANS FIREFOX7 par rotomtom
Source avec Zip Source avec une capture RECOMMANDER CETTE PAGE AVEC MAILTO, ACCENT ET RETOUR LIGNE D... par weabow

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture SUBDIVISER LE RÉSULTAT D'UNE RECHERCHE EN PAGES par kimmp
Source avec Zip Source avec une capture CALCULATRICE HEURE par m22001111
Source avec Zip Source avec une capture COPIER DU TEXTE par m22001111
Source avec Zip ROTATION D'UNE IMAGE, ANIMATION par william voirol
Source avec Zip FRACTALES, FOUGÈRE, TRIANGLE, CARRÉ par william voirol

Commentaires et avis

Commentaire de Bacterius le 23/04/2009 17:02:04

Héhé calculs rénaux il fallait que je la sorte :p

Cordialement, Bacterius !

Commentaire de Ali Bibi le 23/04/2009 18:44:24

"calculs rénaux" : Euh ! je crois bien que c'était ça l'idée (ou la blague) !

Commentaire de Bacterius le 23/04/2009 20:26:18

??? Les calculs rénaux, les petits cailloux de calcaire que certaines personnes sont prédisposées à former dans leur rein, et ça fait sûrement très mal (jamais eu mais je pense que ça doit faire mal), et ton source a le même titre phonétiquement. C'était ça le jeu de mots ... ^^

Cordialement, Bacterius !

Commentaire de lakichemole le 24/04/2009 10:49:08

En fait il me semble que se que AliBibi disait c'est qu'il avait fait la blague...lui même.. qu'il "l'avait sorti" avant toi :)

Commentaire de Ali Bibi le 24/04/2009 13:06:58

Bien vu Lakichemole  !

(nota : j'préfére lakichalsacienne ...) ;-)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Calculs javascript [ par nikeman13 ] Bonjour ! J'aimerais mettre sur mon site un petit système de calculs . Voila ce que je veux faire : Quantité d'objet 1 voulu [____] Quantité d'objet 2 Redimensionnement de tableaux sous javascript/netscape [ par Blasteur ] Bonjour à tous!Je souhaite redimensionner dynamiquement un tableau (du nom de 'CESSION') grâce à une fonction javascript.Le problème c'est que le code javascript, RTE et tableaux [ par mondokwondo ] Bonjour a tous! voila je suis tres novice en javascript mais je reprend en ce moment un RTE (rich text editor) orienté WYSIWYG et seul un probleme ent Bug dans les calculs javascript? [ par fr64 ] Bonjour,J'essaie de faire le calcul suivant en javascript (par exemple dans la console javascript de Firefox):1*8.86+2*15.31Le r&#233;sultat est surpr y'a il un lien entre php et javascript? [ par rachidphp93 ] bonjour, je voudrai faire tout les calculs et les contr&#244;les avec javascript, sauf que : quand j'interroge une base de donnee je suis oblig&#233; Erreur T_Var dans ma fonction javascript [ par raven44 ] Bonjour &#224; tous,Je n'arrive pas &#224; me d&#233;barasser de cette erreur T_var dans mon script : Que signifie t'elle ? le but de ce script des de du php dans javascript [ par nougitch ] Bonjour &#224; tous, J'aimerais conna&#238;tre les r&#232;gles d'insertion de variables&nbsp;PHP dans une fonction JAVASCRIPT.En faisant ceci, cela ne comment introduire du php dans javascript [ par rachidphp93 ] bonjour tout le monde;je voudrais interoger une bd; j'appel une fonction javascript et dans la fonction apres des insctruction en javascript, question help meee [ par termifr ] bonjour voila sur une de mes pages je met une box ma question plutot simple il y a t'il un equivalen utiliser un script dans un autre script [ par xav20 ] bonjour a tous, je suis un nouveau webmaster, je recherche un moyen de faire marcher un javascript dans un autre... je m'explique :je voudrai rendre i


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,685 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales