Précédent   Forum des professionnels en informatique > Dotnet > Général Dotnet
Général Dotnet Forum dédié aux questions sur le développement .NET en général. Avant de poster -> FAQs .NET, Articles .NET, Sources .NET
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 11/12/2007, 18h26   #1
Expert Confirmé
 
Avatar de Aspic
 
Homme Florent Diedler
Étudiant
Inscription : août 2005
Messages : 3 718
Détails du profil
Informations personnelles :
Nom : Homme Florent Diedler
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2005
Messages : 3 718
Points : 3 392
Points : 3 392
Par défaut Offusquer un programme avant creation du setup

Bonjour à tous,

Voici mon petit soucis,

En fait je souhaiterais offusquer mon programme (en .exe) avant de créer le setup de telle sorte que lorsque l'utilisateur va installer mon programme (grace au setup .msi), le fichier .exe soit offusqué !

En ce moment, je ne veux offusquer que le programme hors du setup et donc si je "build" mon setup alors lors de l'installation, il va m'installer le programme non offusqué...

Je ne sais pas si je suis clair mais c'est pas facile à expliquer.

En clair, comment se débrouiller pour que une fois le programme installé (par le setup .msi) sur la machine distante, il soit offusquer ?


__________________
Qui ne tente rien n'a rien !
Ce qui ne nous tue pas nous rends plus fort !!
Mon projet ZELDA en C++/Allegro
http://www.tutoworld.com - Le Forum -
Mes ressources Dotnet (cours, sources, tutos)
--------------------------------------------
+ + =

Ne pas oublier le Tag !
Aspic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 20h15   #2
Rédacteur/Modérateur
 
Avatar de SaumonAgile
 
Homme Johann Blais
Architecte de système d'information
Inscription : avril 2007
Messages : 4 018
Détails du profil
Informations personnelles :
Nom : Homme Johann Blais
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Architecte de système d'information
Secteur : Conseil

Informations forums :
Inscription : avril 2007
Messages : 4 018
Points : 5 951
Points : 5 951
Juste pour savoir : quel est l'intérêt d'offusquer le programme ? Si la personne veut vraiment voir ton code, ce genre de choses est inutile... C'est un peu comme si tu effaçais les petits symboles sur ton levier de vitesse dans l'espoir de décourager les gens de voler ta voiture...
Mais ce n'est que mon avis.

Autre question pourquoi tu n'offusque pas ton programme après la compilation et qu'ensuite seulement tu construises le setup ?
Autre chose encore, as tu essayé d'ajouter une étape de post-compilation de ton projet et qui justement appelerait le programme d'offusquation ?
__________________
Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5 sous license Apache 2.0.

Bonnes pratiques pour les accès aux données
Débogage efficace en .NET
LINQ to Objects : l'envers du décor

Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter
SaumonAgile est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 21h18   #3
Expert Confirmé
 
Avatar de Aspic
 
Homme Florent Diedler
Étudiant
Inscription : août 2005
Messages : 3 718
Détails du profil
Informations personnelles :
Nom : Homme Florent Diedler
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2005
Messages : 3 718
Points : 3 392
Points : 3 392
Citation:
Envoyé par SaumonAgile Voir le message
Juste pour savoir : quel est l'intérêt d'offusquer le programme ? Si la personne veut vraiment voir ton code, ce genre de choses est inutile... C'est un peu comme si tu effaçais les petits symboles sur ton levier de vitesse dans l'espoir de décourager les gens de voler ta voiture...
Mais ce n'est que mon avis.
?
Parce qu'il y a des infos personnels sur mon FTP dedans codé en brut et donc je ne prends pas de risque de me faire chopper mon serveur
Citation:
Envoyé par SaumonAgile Voir le message
Autre question pourquoi tu n'offusque pas ton programme après la compilation et qu'ensuite seulement tu construises le setup ?
Justement c'est ce que je voudrais faire mais comme j'utilise le truc de base de visual studio pour créer un setup, il me reconstruit automatiquement un autre exe qui n'est pas celui que j'ai offusqué. En fait, je ne sais pas comment inclure le .exe que j'ai offusqué dans le setup
Citation:
Envoyé par SaumonAgile Voir le message
Autre chose encore, as tu essayé d'ajouter une étape de post-compilation de ton projet et qui justement appelerait le programme d'offusquation ?
Je ne sais pas comment faire cela

__________________
Qui ne tente rien n'a rien !
Ce qui ne nous tue pas nous rends plus fort !!
Mon projet ZELDA en C++/Allegro
http://www.tutoworld.com - Le Forum -
Mes ressources Dotnet (cours, sources, tutos)
--------------------------------------------
+ + =

Ne pas oublier le Tag !
Aspic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 23h03   #4
Rédacteur

 
Avatar de Thomas Lebrun
 
Inscription : octobre 2002
Messages : 9 165
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France

Informations forums :
Inscription : octobre 2002
Messages : 9 165
Points : 12 684
Points : 12 684
Il existe des programmes pour faire ce genre de choses normalement: je pense par exemple à Xenocode (mais payant)
__________________
Thomas LEBRUN: MCAD.NET, MCTS (Win et Web), MCPD(Win et Web) & Microsoft MVP Client Application Development

WPF par la pratique, mon livre sur WPF ! (également disponible ici ou )

A la découverte de .NET
Thomas Lebrun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 23h20   #5
Rédacteur/Modérateur
 
Avatar de SaumonAgile
 
Homme Johann Blais
Architecte de système d'information
Inscription : avril 2007
Messages : 4 018
Détails du profil
Informations personnelles :
Nom : Homme Johann Blais
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Architecte de système d'information
Secteur : Conseil

Informations forums :
Inscription : avril 2007
Messages : 4 018
Points : 5 951
Points : 5 951
Pour l'étape de post-compil, tu peux voir dans les propriétés du projet, onglet build ou compilation (de mémoire, et suivant la langue).
__________________
Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5 sous license Apache 2.0.

Bonnes pratiques pour les accès aux données
Débogage efficace en .NET
LINQ to Objects : l'envers du décor

Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter
SaumonAgile est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 23h42   #6
Expert Confirmé
 
Avatar de Aspic
 
Homme Florent Diedler
Étudiant
Inscription : août 2005
Messages : 3 718
Détails du profil
Informations personnelles :
Nom : Homme Florent Diedler
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2005
Messages : 3 718
Points : 3 392
Points : 3 392
Citation:
Envoyé par Thomas Lebrun Voir le message
Il existe des programmes pour faire ce genre de choses normalement: je pense par exemple à Xenocode (mais payant)
Justement j'utilise ce logiciel en version démo et je ne vois pas où je peux faire ce que je cherche...

SaumonAgile, je ne vois pas les options "post-build" dans les propriétés du projet, onglet "compilation". Est ce bien dans els prorpiétés du projet ? de la solution ? ou de projet d'install ?
__________________
Qui ne tente rien n'a rien !
Ce qui ne nous tue pas nous rends plus fort !!
Mon projet ZELDA en C++/Allegro
http://www.tutoworld.com - Le Forum -
Mes ressources Dotnet (cours, sources, tutos)
--------------------------------------------
+ + =

Ne pas oublier le Tag !
Aspic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2007, 02h44   #7
Expert Confirmé Sénior
 
Avatar de smyley
 
Inscription : juin 2003
Messages : 6 270
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 6 270
Points : 6 464
Points : 6 464
Envoyer un message via MSN à smyley
Citation:
Envoyé par Aspic Voir le message
SaumonAgile, je ne vois pas les options "post-build" dans les propriétés du projet, onglet "compilation". Est ce bien dans els prorpiétés du projet ? de la solution ? ou de projet d'install ?
vs 2005 :
Options du projet > ~Evenements de compilation ( Build Events, vu que je l'ai en anglais )
là tu as 2 boites : pre build events et post build events
Dedans tu peut alors mettre tes commandes avec une syntaxe proche des fichiers .bat.

Et puis pas obligé d'utiliser un truc payant, y'en a des gratuits :
http://dotnet.developpez.com/outils/...poseObfuscator
smyley est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2007, 08h45   #8
Expert Confirmé Sénior
 
Avatar de _skip
 
Homme
Développeur d'applications
Inscription : novembre 2005
Messages : 2 238
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : Suisse

Informations professionnelles :
Activité : Développeur d'applications
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : novembre 2005
Messages : 2 238
Points : 4 412
Points : 4 412
Citation:
Envoyé par SaumonAgile Voir le message
Juste pour savoir : quel est l'intérêt d'offusquer le programme ? Si la personne veut vraiment voir ton code, ce genre de choses est inutile... C'est un peu comme si tu effaçais les petits symboles sur ton levier de vitesse dans l'espoir de décourager les gens de voler ta voiture...
Mais ce n'est que mon avis.
Quand tous les noms de méthodes et de variables ont des allures de 5da8aa7126701c9840f99f8e9fa54976 et qu'il y a pour 6-7mo de code en taille compilée, crois-moi que ça décourage pas mal de monde.
_skip est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2007, 14h22   #9
Expert Confirmé
 
Avatar de Aspic
 
Homme Florent Diedler
Étudiant
Inscription : août 2005
Messages : 3 718
Détails du profil
Informations personnelles :
Nom : Homme Florent Diedler
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2005
Messages : 3 718
Points : 3 392
Points : 3 392
Citation:
Envoyé par smyley Voir le message
vs 2005 :
Options du projet > ~Evenements de compilation ( Build Events, vu que je l'ai en anglais )
là tu as 2 boites : pre build events et post build events
Dedans tu peut alors mettre tes commandes avec une syntaxe proche des fichiers .bat.

Et puis pas obligé d'utiliser un truc payant, y'en a des gratuits :
http://dotnet.developpez.com/outils/...poseObfuscator
Salut,

Désolé mais je trouve toujours pas. Voila ce que j'ai dans les options du projet : http://www.zonegeeks.com/temp/p.JPG

PS : Effectivement offusquer le code est une tache importante pour ne pas se faire voler son projet

EDIT : Je pense que j'ai trouvé l'endroit ou taper des lignes de code mais que dois je mettre pour offusquer le programme lors de la création du setup ?
__________________
Qui ne tente rien n'a rien !
Ce qui ne nous tue pas nous rends plus fort !!
Mon projet ZELDA en C++/Allegro
http://www.tutoworld.com - Le Forum -
Mes ressources Dotnet (cours, sources, tutos)
--------------------------------------------
+ + =

Ne pas oublier le Tag !

Dernière modification par Aspic ; 12/12/2007 à 15h35.
Aspic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2007, 21h52   #10
Expert Confirmé
 
Avatar de Aspic
 
Homme Florent Diedler
Étudiant
Inscription : août 2005
Messages : 3 718
Détails du profil
Informations personnelles :
Nom : Homme Florent Diedler
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2005
Messages : 3 718
Points : 3 392
Points : 3 392
Je relance la nouvelle question :

Que dois je entrer dans "post build" pour offusquer le code après compilation ?

__________________
Qui ne tente rien n'a rien !
Ce qui ne nous tue pas nous rends plus fort !!
Mon projet ZELDA en C++/Allegro
http://www.tutoworld.com - Le Forum -
Mes ressources Dotnet (cours, sources, tutos)
--------------------------------------------
+ + =

Ne pas oublier le Tag !
Aspic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2007, 17h40   #11
Expert Confirmé
 
Avatar de Aspic
 
Homme Florent Diedler
Étudiant
Inscription : août 2005
Messages : 3 718
Détails du profil
Informations personnelles :
Nom : Homme Florent Diedler
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2005
Messages : 3 718
Points : 3 392
Points : 3 392
J'ai trouvé une as tuce mais je voudrais avoir votre avis :

Si je mets les chaines de caractères sensibles dans les ressources du programme et que je les utilise avec :
Code :
My.Ressources.[Nom_De_Ma_Chaine]
Est ce qu'il est possible par décompilation d'accéder à ces chaines ?

__________________
Qui ne tente rien n'a rien !
Ce qui ne nous tue pas nous rends plus fort !!
Mon projet ZELDA en C++/Allegro
http://www.tutoworld.com - Le Forum -
Mes ressources Dotnet (cours, sources, tutos)
--------------------------------------------
+ + =

Ne pas oublier le Tag !
Aspic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2007, 22h45   #12
Expert Confirmé Sénior
 
Avatar de smyley
 
Inscription : juin 2003
Messages : 6 270
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 6 270
Points : 6 464
Points : 6 464
Envoyer un message via MSN à smyley
C'est encore plus facile d'y accéder que si elles étaient codée en dur ...
smyley est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2007, 23h14   #13
Expert Confirmé
 
Avatar de Aspic
 
Homme Florent Diedler
Étudiant
Inscription : août 2005
Messages : 3 718
Détails du profil
Informations personnelles :
Nom : Homme Florent Diedler
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2005
Messages : 3 718
Points : 3 392
Points : 3 392
Citation:
Envoyé par smyley Voir le message
C'est encore plus facile d'y accéder que si elles étaient codée en dur ...
Lol OK .....

Donc en gros, il y a aucun moyen de brouiller le texte codé en dur...

Bon, je vais réfléchir à une solution car j'ai pas envi de payer 500 dollars pour acheter Xenocode Pro !!
__________________
Qui ne tente rien n'a rien !
Ce qui ne nous tue pas nous rends plus fort !!
Mon projet ZELDA en C++/Allegro
http://www.tutoworld.com - Le Forum -
Mes ressources Dotnet (cours, sources, tutos)
--------------------------------------------
+ + =

Ne pas oublier le Tag !
Aspic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2007, 00h17   #14
Expert Confirmé Sénior
 
Avatar de _skip
 
Homme
Développeur d'applications
Inscription : novembre 2005
Messages : 2 238
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : Suisse

Informations professionnelles :
Activité : Développeur d'applications
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : novembre 2005
Messages : 2 238
Points : 4 412
Points : 4 412
Dotfuscator community edition il ne fait pas ce genre de chose?
_skip est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2007, 07h09   #15
Expert Confirmé
 
Avatar de Aspic
 
Homme Florent Diedler
Étudiant
Inscription : août 2005
Messages : 3 718
Détails du profil
Informations personnelles :
Nom : Homme Florent Diedler
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2005
Messages : 3 718
Points : 3 392
Points : 3 392
Citation:
Envoyé par _skip Voir le message
Dotfuscator community edition il ne fait pas ce genre de chose?
Malheureusement non, c'est la première chose que j'ai vérifée.
__________________
Qui ne tente rien n'a rien !
Ce qui ne nous tue pas nous rends plus fort !!
Mon projet ZELDA en C++/Allegro
http://www.tutoworld.com - Le Forum -
Mes ressources Dotnet (cours, sources, tutos)
--------------------------------------------
+ + =

Ne pas oublier le Tag !
Aspic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2007, 08h34   #16
Expert Confirmé Sénior
 
Avatar de _skip
 
Homme
Développeur d'applications
Inscription : novembre 2005
Messages : 2 238
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : Suisse

Informations professionnelles :
Activité : Développeur d'applications
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : novembre 2005
Messages : 2 238
Points : 4 412
Points : 4 412
Serait-ce peut-être possible que tu obtiennes les pass de ton serveur au moment du runtime voir même son adresse en consultant un webservice?
Ca te permettrait de les changer fréquemment et ça éviterait de cacher les infos de login directement dans l'application.

Sinon tu peux toi-même mettre une chaine cryptée en dur dans le programme, et tu offusques l'algo qui permet d'en faire quelque chose d'utilisable. Si c'est une grande application faut déjà y aller pour savoir ou c'est au milieu d'une floppée de classe avec des noms à ressort.

Par ailleurs, le compte FTP que tu utilises, il est clair que ce doit être un compte limité au strict minimum niveau droit. Si c'est un FTP de pages perso avec les mêmes informations de login que ton propre compte client, en effet ce n'est pas top.

En plus tu vas faire du SSL ? (C'est supporté par FtpWebRequest) Car sinon il est probable qu'il suffise de sniffer les paquets pour le voir apparaître en clair.
_skip est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2007, 08h36   #17
Rédacteur/Modérateur
 
Avatar de SaumonAgile
 
Homme Johann Blais
Architecte de système d'information
Inscription : avril 2007
Messages : 4 018
Détails du profil
Informations personnelles :
Nom : Homme Johann Blais
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Architecte de système d'information
Secteur : Conseil

Informations forums :
Inscription : avril 2007
Messages : 4 018
Points : 5 951
Points : 5 951
Avec ce FTP, tu vas seulement lire des fichiers ou aussi en écrire ? Parce que si c'est simplement pour lire, tu pourrais utiliser un compte en lecture seule. De cette manière récupérer les accès aux ftp est moins critique.
__________________
Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5 sous license Apache 2.0.

Bonnes pratiques pour les accès aux données
Débogage efficace en .NET
LINQ to Objects : l'envers du décor

Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter
SaumonAgile est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2007, 16h55   #18
Expert Confirmé
 
Avatar de Aspic
 
Homme Florent Diedler
Étudiant
Inscription : août 2005
Messages : 3 718
Détails du profil
Informations personnelles :
Nom : Homme Florent Diedler
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2005
Messages : 3 718
Points : 3 392
Points : 3 392
Citation:
Envoyé par SaumonAgile Voir le message
Avec ce FTP, tu vas seulement lire des fichiers ou aussi en écrire ? Parce que si c'est simplement pour lire, tu pourrais utiliser un compte en lecture seule. De cette manière récupérer les accès aux ftp est moins critique.
Non je fais des opérations de lecture/ecriture. Mon ftp n'est pas limité en droit puisque ce n'est pas un ftp perso mais un hebergement que j'ai payé

Sinon peut etre que la méthode de _skip peut marcher mais je ne vois pas trop comment la mettre en place

En ce moment, j'ai offusqué le programme avec Xenocode 2007 qui possède tout ce que je cherche mais payant donc j'ai un message au lancement de l'application disant "que ce programme a été offusqué par la version gratuite de Xenocode ... blabla" et c'est pas top.
__________________
Qui ne tente rien n'a rien !
Ce qui ne nous tue pas nous rends plus fort !!
Mon projet ZELDA en C++/Allegro
http://www.tutoworld.com - Le Forum -
Mes ressources Dotnet (cours, sources, tutos)
--------------------------------------------
+ + =

Ne pas oublier le Tag !
Aspic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2007, 19h43   #19
Membre habitué
 
Avatar de Nikoui
 
Inscription : décembre 2007
Messages : 119
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : décembre 2007
Messages : 119
Points : 133
Points : 133
Ou sinon si seule la connexion a ton FTP est sensible, place la dans un fichier de configuration (ou autre) et encrypte/décrypte ce fichier avec les lib fournie par .Net pour le cryptage.
Nikoui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2007, 19h59   #20
Expert Confirmé
 
Avatar de Aspic
 
Homme Florent Diedler
Étudiant
Inscription : août 2005
Messages : 3 718
Détails du profil
Informations personnelles :
Nom : Homme Florent Diedler
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2005
Messages : 3 718
Points : 3 392
Points : 3 392
Citation:
Envoyé par Nikoui Voir le message
Ou sinon si seule la connexion a ton FTP est sensible, place la dans un fichier de configuration (ou autre) et encrypte/décrypte ce fichier avec les lib fournie par .Net pour le cryptage.
Bonne idée mais pour le cryptage (par exemple avec Vigenère) on a besoin d'une Key et donc cette Key sera codé en brut dans le code et donc on retombe sur le problème précédant... à moins qu'il soit possible de générer une clef "aléatoire" mais je ne pense pas...
__________________
Qui ne tente rien n'a rien !
Ce qui ne nous tue pas nous rends plus fort !!
Mon projet ZELDA en C++/Allegro
http://www.tutoworld.com - Le Forum -
Mes ressources Dotnet (cours, sources, tutos)
--------------------------------------------
+ + =

Ne pas oublier le Tag !
Aspic est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 22h11.


 
 
 
 
Partenaires

Hébergement Web