begin process at 2010 03 19 13:13:05
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > BREVET - POINT - MENTION

BREVET - POINT - MENTION


 Information sur la source

Note :
Aucune note
Catégorie :Divers Classé sous :point-brevet 3éme, as2 flash-lite, mention notes, collège math, histoire français Niveau :Débutant Date de création :16/05/2009 Date de mise à jour :24/05/2009 17:35:06 Vu / téléchargé :5 411 / 168

Auteur : kekoune

Ecrire un message privé
Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Bientôt le brevet pour certain (moi y compris) alors j'ai fait ce petit programme pour calculer les points restant et les notes à avoir aux épreuves pour avoir le brevet.

On doit indiquer :
  - Sa moyenne annuel.
  - Les(la) notes de ses(son) option (si option).
Cela nous donne :
- Le nombre de point à rattraper.
- Note minimum à avoir pour avoir le brevet :
    - sans mention
    - avec mention assez bien
    - avec mention bien
    - avec mention très bien

Si on coche "Calculer avec les notes des épreuves" alors on choisit notre note en Math, Histoire, Français.
Le programme calcule si on a le brevet et avec quelle mention (ou sans mention).

Source

  • /*
  • ______________________________________________________
  • |\\\\\\\\\\\\\\\\\\\\||-||///////////////////////////|
  • |\/\ Kevin Soules Chevalier - Avril 2009 //\//|
  • |\\\/\\\\ kekoune64@hotmail.fr ///////\/////|
  • |\\\\\\\\\\\\\\\\\\\\||-||///////////////////////////|
  • ######################################################
  • */
  • //initialisation
  • var totalP;
  • var obliP;
  • var optiP = 0;
  • var AroptiP = [];
  • var restP;
  • var moyT;
  • mo1.visible=false;
  • mo2.visible=false;
  • mo3.visible=false;
  • mo4.visible=false;
  • //fonction pour le nombre de décimales
  • //trouvé sur http://www.flashkod.com/codes/LIMITER-NOMBRE-DECIMALES_26008.aspx
  • function FloatLength ( val :Number, length :Number) :Number {
  • var tmp:Array = String(val).split ('.') ;
  • if ( tmp[1] ) tmp[1] = tmp[1].substring (0, length) ;
  • return Number (tmp.join('.')) ;
  • }
  • function virgule_vers_point(str) {
  • str = str.split(",").join(".") ;
  • return str ;
  • }
  • //ordre de tabulation
  • nbrM.tabIndex = 1;
  • nbrO.tabIndex = 2
  • m1.tabIndex = 3
  • mo1.tabIndex = 4
  • mo2.tabIndex = 5
  • mo3.tabIndex = 6
  • mo4.tabIndex = 7
  • CaE.tabIndex = 8
  • Nm.tabIndex = 9
  • Nh.tabIndex = 10
  • Nf.tabIndex = 11
  • btnCalcul.tabIndex = 12
  • var ecouteur_clavier:Object = new Object();
  • ecouteur_clavier.onKeyDown = function() {//écoute le clavier
  • trace("1");
  • if (Key.isDown(Key.ENTER)) {// si on appuie sur entrée
  • trace("2");
  • calculer()// executer la fonction calculer
  • }
  • }
  • Key.addListener(ecouteur_clavier);//fin de l'écoute
  • var listener_nbrO:Object = new Object();//écoute les changement du numericStepper
  • listener_nbrO.change = function(event_nbrO:Object) {
  • optiP =0;
  • if(nbrO.value == 0){//si aucune options
  • //cacher les options
  • mo1.visible=false;
  • mo2.visible=false;
  • mo3.visible=false;
  • mo4.visible=false;
  • for(var i = 0;i<AroptiP.length;i++){//supprime toutes les valeurs précédemment entrées dans les options
  • AroptiP[i]=0;
  • }
  • mo1.text = "";
  • mo2.text = "";
  • mo3.text = "";
  • mo4.text = "";
  • }
  • else if(nbrO.value == 1){//si une option
  • //afficher option 1 et cacher les options 2, 3, 4
  • mo1.visible=true;
  • mo2.visible=false;
  • mo3.visible=false;
  • mo4.visible=false;
  • for(var i = 1;i<AroptiP.length;i++){//supprime les valeurs des options 2, 3, 4
  • AroptiP[i]=0;
  • }
  • mo2.text = "";
  • mo3.text = "";
  • mo4.text = "";
  • }
  • else if(nbrO.value == 2){//si deux options
  • //afficher options 1, 2 et cacher les options 3, 4
  • mo1.visible=true;
  • mo2.visible=true;
  • mo3.visible=false;
  • mo4.visible=false;
  • AroptiP[2]=AroptiP[3]=0; //supprime les valeurs des options 3, 4
  • mo3.text = "";
  • mo4.text = "";
  • }
  • else if(nbrO.value == 3){//si trois options
  • //afficher options 1, 2, 3 et cacher l'options 4
  • mo1.visible=true;
  • mo2.visible=true;
  • mo3.visible=true;
  • mo4.visible=false;
  • AroptiP[3]=0;//supprime la valeur de l'options 4
  • mo4.text = "";
  • }
  • else if(nbrO.value == 4){//si quatre options
  • //afficher options 1, 2, 3, 4
  • mo1.visible=true;
  • mo2.visible=true;
  • mo3.visible=true;
  • mo4.visible=true;
  • }
  • }
  • nbrO.addEventListener("change", listener_nbrO)//fin de l'écoute
  • var listener_cm1_mo1:Object = new Object();// écoute du textinput de l'option 1
  • listener_cm1_mo1.change = function(event_cm1_mo1:Object) {
  • mo1.text = virgule_vers_point(mo1.text);// remplace la virgule par un point
  • if(Number(mo1.text) > 10 && Number(mo1.text) <= 20){//si plus que dix dans l'option
  • AroptiP[0] = Number(mo1.text) - 10;//enregistrer dans la première valeur du tableau les points au-dessus de 10
  • }
  • }
  • mo1.addEventListener("change", listener_cm1_mo1)//fin de l'écoute
  • var listener_cm2_mo2:Object = new Object();// écoute du textinput de l'option 2
  • listener_cm2_mo2.change = function(event_cm2_mo2:Object) {
  • mo2.text = virgule_vers_point(mo2.text);// remplace la virgule par un point
  • if(Number(mo2.text) > 10 && Number(mo2.text) <= 20){//si plus que dix dans l'option
  • AroptiP[1] = Number(mo2.text) - 10;//enregistrer dans la seconde valeur du tableau les points au-dessus de 10
  • }
  • }
  • mo2.addEventListener("change", listener_cm2_mo2)//fin de l'écoute
  • var listener_cm3_mo3:Object = new Object();// écoute du textinput de l'option 3
  • listener_cm3_mo3.change = function(event_cm3_mo3:Object) {
  • mo3.text = virgule_vers_point(mo3.text);// remplace la virgule par un point
  • if(Number(mo3.text) > 10 && Number(mo3.text) <= 20){//si plus que dix dans l'option
  • AroptiP[2] = Number(mo3.text) - 10;//enregistrer dans la troisieme valeur du tableau les points au-dessus de 10
  • }
  • }
  • mo3.addEventListener("change", listener_cm3_mo3)//fin de l'écoute
  • var listener_cm4_mo4:Object = new Object();// écoute du textinput de l'option 4
  • listener_cm4_mo4.change = function(event_cm4_mo4:Object) {
  • mo4.text = virgule_vers_point(mo4.text);// remplace la virgule par un point
  • if(Number(mo4.text) > 10 && Number(mo4.text) <= 20){//si plus que dix dans l'option
  • AroptiP[3] = Number(mo4.text) - 10;//enregistrer dans la quatrieme valeur du tableau les points au-dessus de 10
  • }
  • }
  • mo4.addEventListener("change", listener_cm4_mo4)//fin de l'écoute
  • btnCalcul.onRelease = function(){//si on relâche le bouton "calculer"
  • calculer()// executer la fonction calculer
  • }
  • calculer = function(){
  • m1.text = virgule_vers_point(m1.text);// remplace la virgule par un point
  • obliP = Number(m1.text) * nbrM.value;//point matière obligatoire = moyenne annuel * nombre de matière
  • for(var i = 0;i<AroptiP.length;i++){//adition des nombre du tableau (point des options)
  • optiP += Number(AroptiP[i]);
  • }
  • totalP = obliP + optiP;//nombrede point = point des moyennes obligatoire plus point option
  • restP = ((nbrM.value+6)*10) - totalP;//point à rattraper = (nombres de matières + 6 (épreuve)) *100
  • moyT = (restP/2)/3//moyenne à avoir = reste de point /2(car sur 40) /3(car 3 épreuves)
  • trace(" ");
  • trace("---------------------------------------------");
  • trace(" ");
  • trace("obliP = "+obliP);
  • trace("optiP = "+optiP);
  • trace("totalP = "+totalP);
  • trace("restP = "+restP);
  • trace("moyT = "+moyT);
  • ptsR.text = FloatLength(restP, 2);
  • mS.text = FloatLength(moyT, 2);
  • mAB.text = FloatLength(((((nbrM.value+6) * 12) - ((Number(m1.text)* nbrM.value)+ optiP))/2)/3, 2);//moyenne à avoir pour mention AB
  • mB.text = FloatLength(((((nbrM.value+6) * 14) - ((Number(m1.text)* nbrM.value)+ optiP))/2)/3, 2);//moyenne à avoir pour mention B
  • mTB.text = FloatLength(((((nbrM.value+6) * 16) - ((Number(m1.text)* nbrM.value)+ optiP))/2)/3, 2);//moyenne à avoir pour mention TB
  • if(Number(mS.text) > 20 ){
  • mS.text = "impossible"
  • }
  • if(Number(mAB.text) > 20 ){
  • mAB.text = "impossible"
  • }
  • if(Number(mB.text) > 20 ){
  • mB.text = "impossible"
  • }
  • if(Number(mTB.text) > 20 ){
  • mTB.text = "impossible"
  • }
  • if(CaE.value == true){//si cocher checkbox "Calculer avec les notes des épreuves"
  • //transformation vers la note sur 40
  • NM = Number(Nm.value)*2;
  • NH = Number(Nh.value)*2;
  • NF = Number(Nf.value)*2;
  • PE = NM + NH + NF;//Point des épreuves
  • PTaE = PE + totalP;//point totale avec épreuves
  • trace('PE = '+PE)
  • trace('PTaE = '+PTaE)
  • if(PTaE>=(nbrM.value+6)*16){//calcule de la mention
  • trace('Brevet, mention TB !');
  • resultat.text = 'Brevet avec mention TB !!!! Bravo !';
  • }
  • else if(PTaE>=(nbrM.value+6)*14){
  • trace('Brevet, mention B');
  • resultat.text = 'Brevet avec mention B !';
  • }
  • else if(PTaE>=(nbrM.value+6)*12){
  • trace('Brevet, mention AB');
  • resultat.text = 'Brevet avec mention AB';
  • }
  • else if(PTaE>=(nbrM.value+6)*10){
  • trace('Brevet sans mention');
  • resultat.text = 'Brevet sans mention';
  • }
  • else {
  • trace('Recalé .....');
  • resultat.text = 'Recalé .....';
  • }
  • }
  • else{
  • resultat.text = '';
  • }
  • trace(" ");
  • trace("---------------------------------------------");
  • //remise à zero
  • moyT =0;
  • restP = 0;
  • totalP =0;
  • restP =0;
  • optiP =0;
  • }
/*
	______________________________________________________
	|\\\\\\\\\\\\\\\\\\\\||-||///////////////////////////|
	|\/\	Kevin Soules Chevalier - Avril 2009 	//\//|
	|\\\/\\\\	  kekoune64@hotmail.fr	///////\/////|
	|\\\\\\\\\\\\\\\\\\\\||-||///////////////////////////|
	######################################################
	
*/

//initialisation
var totalP;
var obliP;
var optiP = 0;
var AroptiP = [];
var restP;
var moyT;

	mo1.visible=false;
	mo2.visible=false;
	mo3.visible=false;
	mo4.visible=false;
	
//fonction pour le nombre de décimales 
//trouvé sur http://www.flashkod.com/codes/LIMITER-NOMBRE-DECIMALES_26008.aspx
function FloatLength ( val :Number, length :Number) :Number {
 var tmp:Array = String(val).split ('.') ;
 if ( tmp[1] ) tmp[1] = tmp[1].substring (0, length) ;
 return Number (tmp.join('.')) ;
 }
 
function virgule_vers_point(str) {
	str = str.split(",").join(".") ;
	return str ;
}

//ordre de tabulation
nbrM.tabIndex = 1; 
nbrO.tabIndex = 2
m1.tabIndex = 3
mo1.tabIndex = 4
mo2.tabIndex = 5
mo3.tabIndex = 6
mo4.tabIndex = 7
CaE.tabIndex = 8
Nm.tabIndex = 9
Nh.tabIndex = 10
Nf.tabIndex = 11
btnCalcul.tabIndex = 12

var ecouteur_clavier:Object = new Object();
ecouteur_clavier.onKeyDown = function() {//écoute le clavier
trace("1");
         if (Key.isDown(Key.ENTER)) {// si on appuie sur entrée
		 trace("2");
                calculer()// executer la fonction calculer
				}
}
Key.addListener(ecouteur_clavier);//fin de l'écoute
 
var listener_nbrO:Object = new Object();//écoute les changement du numericStepper
listener_nbrO.change = function(event_nbrO:Object) {
optiP =0;
if(nbrO.value == 0){//si aucune options
//cacher les options

	mo1.visible=false;
	mo2.visible=false;
	mo3.visible=false;
	mo4.visible=false;
		for(var i = 0;i<AroptiP.length;i++){//supprime toutes les valeurs précédemment entrées dans les options 
			AroptiP[i]=0;
		}
	
	mo1.text = "";
	mo2.text = "";
	mo3.text = "";
	mo4.text = "";
	
}
else if(nbrO.value == 1){//si une option
//afficher option 1 et cacher les options 2, 3, 4

	mo1.visible=true;
	mo2.visible=false;
	mo3.visible=false;
	mo4.visible=false;
	for(var i = 1;i<AroptiP.length;i++){//supprime les valeurs des options 2, 3, 4
			AroptiP[i]=0;
		}
	mo2.text = "";
	mo3.text = "";
	mo4.text = "";
	
}
else if(nbrO.value == 2){//si deux options
//afficher options 1, 2 et cacher les options 3, 4

	mo1.visible=true;
	mo2.visible=true;
	mo3.visible=false;
	mo4.visible=false;
	AroptiP[2]=AroptiP[3]=0; //supprime les valeurs des options 3, 4
			
	mo3.text = "";
	mo4.text = "";
}
else if(nbrO.value == 3){//si trois options
//afficher options 1, 2, 3 et cacher l'options 4

	mo1.visible=true;
	mo2.visible=true;
	mo3.visible=true;
	mo4.visible=false;
	AroptiP[3]=0;//supprime la valeur de l'options 4 
	mo4.text = "";
}
else if(nbrO.value == 4){//si quatre options
//afficher options 1, 2, 3, 4

	mo1.visible=true;
	mo2.visible=true;
	mo3.visible=true;
	mo4.visible=true;
}
}
nbrO.addEventListener("change", listener_nbrO)//fin de l'écoute

var listener_cm1_mo1:Object = new Object();// écoute du textinput de l'option 1
listener_cm1_mo1.change = function(event_cm1_mo1:Object) {
	mo1.text = virgule_vers_point(mo1.text);// remplace la virgule par un point
	if(Number(mo1.text) > 10 && Number(mo1.text) <= 20){//si plus que dix dans l'option
		AroptiP[0] = Number(mo1.text) - 10;//enregistrer dans la première valeur du tableau les points au-dessus de 10
		
}
}
mo1.addEventListener("change", listener_cm1_mo1)//fin de l'écoute

var listener_cm2_mo2:Object = new Object();// écoute du textinput de l'option 2
listener_cm2_mo2.change = function(event_cm2_mo2:Object) {
	mo2.text = virgule_vers_point(mo2.text);// remplace la virgule par un point
	if(Number(mo2.text) > 10 && Number(mo2.text) <= 20){//si plus que dix dans l'option
		AroptiP[1] = Number(mo2.text) - 10;//enregistrer dans la seconde valeur du tableau les points au-dessus de 10
		
}
}
mo2.addEventListener("change", listener_cm2_mo2)//fin de l'écoute

var listener_cm3_mo3:Object = new Object();// écoute du textinput de l'option 3
listener_cm3_mo3.change = function(event_cm3_mo3:Object) {
	mo3.text = virgule_vers_point(mo3.text);// remplace la virgule par un point
	if(Number(mo3.text) > 10 && Number(mo3.text) <= 20){//si plus que dix dans l'option
		AroptiP[2] = Number(mo3.text) - 10;//enregistrer dans la troisieme valeur du tableau les points au-dessus de 10
		
}
}
mo3.addEventListener("change", listener_cm3_mo3)//fin de l'écoute

var listener_cm4_mo4:Object = new Object();// écoute du textinput de l'option 4
listener_cm4_mo4.change = function(event_cm4_mo4:Object) {
	mo4.text = virgule_vers_point(mo4.text);// remplace la virgule par un point
	if(Number(mo4.text) > 10 && Number(mo4.text) <= 20){//si plus que dix dans l'option
		AroptiP[3] = Number(mo4.text) - 10;//enregistrer dans la quatrieme valeur du tableau les points au-dessus de 10
		
}
}
mo4.addEventListener("change", listener_cm4_mo4)//fin de l'écoute



btnCalcul.onRelease = function(){//si on relâche le bouton "calculer"
 calculer()// executer la fonction calculer
}
calculer = function(){
m1.text = virgule_vers_point(m1.text);// remplace la virgule par un point
obliP = Number(m1.text) * nbrM.value;//point matière obligatoire = moyenne annuel * nombre de matière 

for(var i = 0;i<AroptiP.length;i++){//adition des nombre du tableau (point des options)
optiP += Number(AroptiP[i]);

}

totalP = obliP + optiP;//nombrede point = point des moyennes obligatoire plus point option
restP = ((nbrM.value+6)*10) - totalP;//point à rattraper  = (nombres de matières + 6 (épreuve)) *100
moyT = (restP/2)/3//moyenne à avoir = reste de point /2(car sur 40) /3(car 3 épreuves)
trace(" ");
trace("---------------------------------------------");
trace(" ");
trace("obliP = "+obliP);
trace("optiP = "+optiP);
trace("totalP = "+totalP);
trace("restP = "+restP);
trace("moyT = "+moyT);

ptsR.text = FloatLength(restP, 2);
mS.text = FloatLength(moyT, 2);
mAB.text = FloatLength(((((nbrM.value+6) * 12) - ((Number(m1.text)* nbrM.value)+ optiP))/2)/3, 2);//moyenne à avoir pour mention AB
mB.text = FloatLength(((((nbrM.value+6) * 14) - ((Number(m1.text)* nbrM.value)+ optiP))/2)/3, 2);//moyenne à avoir pour mention B
mTB.text = FloatLength(((((nbrM.value+6) * 16) - ((Number(m1.text)* nbrM.value)+ optiP))/2)/3, 2);//moyenne à avoir pour mention TB

if(Number(mS.text) > 20 ){
	mS.text = "impossible"
}
if(Number(mAB.text) > 20 ){
	mAB.text = "impossible"
}
if(Number(mB.text) > 20 ){
	mB.text = "impossible"
}
if(Number(mTB.text) > 20 ){
	mTB.text = "impossible"
}


if(CaE.value == true){//si cocher checkbox "Calculer avec les notes des épreuves"
//transformation vers la note sur 40
NM = Number(Nm.value)*2;
NH = Number(Nh.value)*2;
NF = Number(Nf.value)*2;

PE = NM + NH + NF;//Point des épreuves
PTaE = PE + totalP;//point totale avec épreuves

trace('PE = '+PE)
trace('PTaE = '+PTaE)

if(PTaE>=(nbrM.value+6)*16){//calcule de la mention
	trace('Brevet, mention TB !');
	resultat.text = 'Brevet avec mention TB !!!! Bravo !';
	}
	else if(PTaE>=(nbrM.value+6)*14){
		trace('Brevet, mention B');
		resultat.text = 'Brevet avec mention B !';
		}
			else if(PTaE>=(nbrM.value+6)*12){
				trace('Brevet, mention AB');
				resultat.text = 'Brevet avec mention AB';
				}
					else if(PTaE>=(nbrM.value+6)*10){
						trace('Brevet sans mention');
						resultat.text = 'Brevet sans mention';
						}
						else {
							trace('Recalé .....');
							resultat.text = 'Recalé .....';
							}
}
else{
	resultat.text = '';
}
trace(" ");
trace("---------------------------------------------");

//remise à zero
moyT =0;
restP = 0;
totalP =0;
restP =0;
optiP =0;
}

 Conclusion

J'espère que ce petit programme pourra aider des gens qui veulent calculer leurs points du brevet.

N'hésitez pas dans les commentaires à faire des remarques, c'est aussi pour ça que je le mets ici.

 Fichier Zip

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

Télécharger le zip


 Historique

16 mai 2009 18:41:36 :
Suppression de l'erreur des soudoué ;) S'il faut plus de 20 pour avoir une mention (ou juste le brevet sans mention) on affiche "impossible".
24 mai 2009 17:35:06 :
-Ajout d'une fonction pour autoriser la virgule. -visible = true/false pour les moyennes. -Possibilité d'appuyer sur entrée pour calculer -Rajout de l'ordre de tabulation.

 Sources du même auteur

Source avec Zip Source avec une capture JEU DE TIR - PATATOR

 Sources de la même categorie

Source avec Zip Source avec une capture MULTI-DEBRID par remy2501
Source avec Zip Source avec une capture MODE CONSOLE DE LINUX par tipharris
Source avec Zip Source avec une capture SAT13 - FPSCONVERTORV2.1 (AS2) - CALCULATEUR BALISTIQUE ET T... par LapinouFouSAT13
Source avec Zip Source avec une capture MENU INTERACTIF SIMPLE par Aeos
Source avec Zip RÉCUPÉRER UNE VARIABLE DANS L'ADRESSE DIRECTEMENT DANS FLASH par sophia1118

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture JEU DE TIR - PATATOR par kekoune

Commentaires et avis

Commentaire de BananaTree le 16/05/2009 18:02:51

slt,

idée très interressante,
mais avec toute la bonne volonté du monde, j'me dis qu'avoir 27/20 au brevet pour avoir une mention risque d'être un peu compliqué...

;)

Commentaire de kekoune le 16/05/2009 18:50:35

Oui c'est sûr il faut êtres fort pour faire 27 :-)

C'est corrigé !

Commentaire de faiblard le 18/05/2009 09:02:08

Tu devrais rajouté une ligne qui permette d'utiliser le point ou la virgule (comme ça tu enlève la grosse phrase rouge sur ton prog...)

Un switch a la place de la série de if/elseif qui compare toujours la même variable et préférable.
Tu peux même, a mon avis remplacer cette partie de manière plus élégante avec une boucle for...

De même pour ta série de fonction et tes 4 listener tu devrais pouvoir regroupé tout ça.

Plutôt que mettre les options a -50 ne peut tu pas juste faire un true/false sur leur visibilité?

Commentaire de kekoune le 24/05/2009 17:38:37

Salut,
le switch aurait était génial mais le problème c'est qu'il n'accepte pas les "<>" donc ce n'est pas possible.

Pour la boucle for je vois pas... il faudrait quand même les if/else if non ?

Commentaire de cwf12 le 18/06/2009 16:00:13

bonne idee !!

Commentaire de MeSydneey le 24/06/2009 13:59:53

Très bonne idée mais je n'arrive pas a l'utiliser !
--'

Commentaire de kekoune le 24/06/2009 14:30:02

MeSydneey : Merci, le but de ce site est de partager le code sources du logiciel que l'on a programmé.

Tu peux tout de même utiliser ce programme en faisant clique droit sur "Point_Brevet.swf" => ouvrir avec => Internet Explorer (ou Firefox).

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
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 : 0,640 sec (3)

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