+ Répondre à la discussion
Page 7 sur 9 PremièrePremière ... 3456789 DernièreDernière
Affichage des résultats 121 à 140 sur 161
  1. #121
    Expert Confirmé Sénior
    Avatar de berceker united
    Profil pro
    Développeur informatique
    Inscrit en
    février 2005
    Messages
    3 172
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : février 2005
    Messages : 3 172
    Points : 4 370
    Points
    4 370

    Par défaut

    Citation Envoyé par gtraxx Voir le message
    Donc si je comprend bien une class abstract membre par exemple pourrai contenir les fonction de base qui serai étendue dans une class dérivé et le seul moyen d'instancier serai par l'intermédiaire de notre fille.
    Les interfaces sont plus ou moins pareille a l'exception que celle-ci doit avoir des fonctions qui colle.
    Par contre je ne savais pas que le mots réservé implement étais utilisé pour définir les class fille.
    Je vois le truc mais vaguement pour l'instant , je doit me faire quelque exemple pour me l'enfoncer dans le crâne.
    Non, le mot Implement veut dire que tu veux utiliser cette interface.
    Dans une interface il y a pas de code. Juste la signature d'une methode c'est pas pareille qu'une classe abstraite. Dans la classe il y a du code et si ces methodes ne sont pas utilisé dans la classe fille, il y pas de probleme. Par contre si les methode présente dans l'interface ne sont pas définit dans la classe fille. ça va te retourner une erreur. A savoir que tu peux implémenter plusieurs interfaces.
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  2. #122
    Membre éprouvé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    mai 2006
    Messages
    1 045
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mai 2006
    Messages : 1 045
    Points : 494
    Points
    494

    Par défaut

    je vois , on peux donc utiliser plusieurs interface contrairement mais sont plus stricte si les méthodes présente dans l'interface ne sont pas définit.
    Je vais creuser le sujet avec quelque exemple , on ma dit beaucoup de bien sur l'utilisation des interfaces a mon boulot (sans vraiment dire pourquoi).
    Ce qui me laisse croire que leur utilisation dans de gros projet est pour le moins très pratique.

    Pour les abstractions je m'y pencherai plus tard mais tiens a souligner que je n'ai vu ce mode de class qu'avec des bibliothèques traitant les méthodes pour executer des requêtes mysql.
    Merci pour ses quelques éclaircissement
    Au petit déjeuner, je prend du PHP et au souper du jQuery.
    AFUP 2009 : Bien optimiser son code pour le référencement
    Mon projet open source de librairie PHP 5: magix cjquery

  3. #123
    Futur Membre du Club
    Inscrit en
    avril 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : avril 2008
    Messages : 23
    Points : 19
    Points
    19

    Par défaut

    Je viens de lire tout le sujet d'une traite !

    C'est ou les toilettes ??

    Pour un pur procédural comme moi qui veut se mettre à la POO, c'est assez déroutant.

    Juste une petite question, c'est quoi typage faible/fort ?

  4. #124
    Expert Confirmé Sénior
    Avatar de berceker united
    Profil pro
    Développeur informatique
    Inscrit en
    février 2005
    Messages
    3 172
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : février 2005
    Messages : 3 172
    Points : 4 370
    Points
    4 370

    Par défaut

    Citation Envoyé par Dlteck2000 Voir le message
    Je viens de lire tout le sujet d'une traite !

    C'est ou les toilettes ??

    Pour un pur procédural comme moi qui veut se mettre à la POO, c'est assez déroutant.

    Juste une petite question, c'est quoi typage faible/fort ?
    Le faite de définir un type à une variable. En gros, dans des languages comme java quand tu décide que ta variable sera un entier, il restera entier jusqu'au bout. Il y a toujours des astuces pour forcer son type mais à la base non. En faite, c'est surtout pour les objets. Ta variable est de type ton objet normalement il serait pas logique que tu puisses changer d'objet dans ta variable. Ta variable n'est pas une prostitué.

    Avec PHP ceci est possible.

    Code :
    1
    2
    $monObjet = new monObjet();
    $monObjet = new monObjet2();
    C'est pas logique mais ceci est possible. En java, il va te jeter en l'air.

    Pourquoi ceci à de l'importance ?

    Imagine qu'une personne définisse un ensemble d'objet. L'un utilise ces objet et s'amuse à réaffecter une variable avec un autre objet ou carrément il décide d'y mettre un chaine de caractère pour y faire ce qu'il veut. Ceci va peter l'application.
    En soit, c'est pas super utile lorsque nous développons seul et que nous avons une certaine organisation mais dans une équipe c'est extrêmement utile.
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  5. #125
    Futur Membre du Club
    Inscrit en
    avril 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : avril 2008
    Messages : 23
    Points : 19
    Points
    19

    Par défaut

    Ha oui, ok je vois !

    En effet il m'arrive souvent de faire ce type de manipulation !

    Mais il est clair que dans une équipe ça peut faire un gros carnage !

  6. #126
    Membre éprouvé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    mai 2006
    Messages
    1 045
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mai 2006
    Messages : 1 045
    Points : 494
    Points
    494

    Par défaut

    non justement en travail d'équipe la POO se révèle très utile, si par exemple tu code une class pour un gestionnaire de fichier, tu va faire les fonctions principale comprenant l'upload, l'insertion en sgbd, etc..
    Et si par exemple un membre de l'équipe doit utiliser seulement quelques fonction il aura plus vite fais d'étendre ta class en y ajoutant c'est propre fonction sans y toucher.
    C'est un cas typique
    Depuis un moment j'ai laissé tombé la procédurale pour divers raison et celle-ci notamment.
    Au petit déjeuner, je prend du PHP et au souper du jQuery.
    AFUP 2009 : Bien optimiser son code pour le référencement
    Mon projet open source de librairie PHP 5: magix cjquery

  7. #127
    Expert Confirmé Sénior
    Avatar de berceker united
    Profil pro
    Développeur informatique
    Inscrit en
    février 2005
    Messages
    3 172
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : février 2005
    Messages : 3 172
    Points : 4 370
    Points
    4 370

    Par défaut

    Citation Envoyé par gtraxx Voir le message
    non justement en travail d'équipe la POO se révèle très utile, si par exemple tu code une class pour un gestionnaire de fichier, tu va faire les fonctions principale comprenant l'upload, l'insertion en sgbd, etc..
    Et si par exemple un membre de l'équipe doit utiliser seulement quelques fonction il aura plus vite fais d'étendre ta class en y ajoutant c'est propre fonction sans y toucher.
    C'est un cas typique
    Depuis un moment j'ai laissé tombé la procédurale pour divers raison et celle-ci notamment.
    Il disait que ça peut faire un carnage si jamais dans une équipe chacun s'amuse à redéfinir des variables en changeant leur type.
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  8. #128
    Membre éprouvé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    mai 2006
    Messages
    1 045
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mai 2006
    Messages : 1 045
    Points : 494
    Points
    494

    Par défaut

    oufff oui je l'avais pas vu sous cet œil, jusque maintenant jamais eu le problème quoi que les carnages avec le serveur sa nous connais mdrrrrr
    Pauvre apache la quintuple plume dans le cul en peux de temps par une équipe déjanté mdr
    Au petit déjeuner, je prend du PHP et au souper du jQuery.
    AFUP 2009 : Bien optimiser son code pour le référencement
    Mon projet open source de librairie PHP 5: magix cjquery

  9. #129
    Expert Confirmé
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    août 2006
    Messages
    2 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : août 2006
    Messages : 2 761
    Points : 3 723
    Points
    3 723

    Par défaut

    Citation Envoyé par berceker united Voir le message
    Il disait que ça peut faire un carnage si jamais dans une équipe chacun s'amuse à redéfinir des variables en changeant leur type.
    C'est vrai, je suis entièrement d'accord et j'adhère au typage fort.
    Mais seulement parce que le dev, ou plutôt l'équipe de devs est le maillon faible.
    Dans un monde idéal où ton le monde lit le code et commente abondamment ce qu'il fait, on pourrait se passer du typage fort et profiter de la souplesse du typage faible. Plus besoin des patterns plus ou moins tordus (Strategy, Adaptateur, etc...).

    Ce serait beau... Mais ingérable.

    OK, je sors.

  10. #130
    Candidat au titre de Membre du Club
    Femme Profil pro
    Inscrit en
    avril 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : avril 2008
    Messages : 55
    Points : 11
    Points
    11

    Par défaut gestions des news

    Excusez moi de revenir là-dessus mais je suis débutante en php et après avoir fait quelques trucs en procédural je veux tout de suite passer à l'objet parce que j'en vois les avantages. Cette discussion est très intéressante.
    Est ce que ce serait possible d'avoir un exemple finalement d'organisation objet correct pour le modèle sur la gestion des news qui avait été donné comme exemple parce qu'au final je n'ai pas compris ce qui était mieux dans les propositions. Ça m'aiderait beaucoup parce que c'est très concret. L'important ce n'est pas le code, juste l'organisation en termes simples. Parfois vous utilisez des mots un peu compliqués pour les débutants.
    Merci d'avance.

  11. #131
    Expert Confirmé Sénior
    Avatar de berceker united
    Profil pro
    Développeur informatique
    Inscrit en
    février 2005
    Messages
    3 172
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : février 2005
    Messages : 3 172
    Points : 4 370
    Points
    4 370

    Par défaut

    Citation Envoyé par seïna Voir le message
    Excusez moi de revenir là-dessus mais je suis débutante en php et après avoir fait quelques trucs en procédural je veux tout de suite passer à l'objet parce que j'en vois les avantages. Cette discussion est très intéressante.
    Est ce que ce serait possible d'avoir un exemple finalement d'organisation objet correct pour le modèle sur la gestion des news qui avait été donné comme exemple parce qu'au final je n'ai pas compris ce qui était mieux dans les propositions. Ça m'aiderait beaucoup parce que c'est très concret. L'important ce n'est pas le code, juste l'organisation en termes simples. Parfois vous utilisez des mots un peu compliqués pour les débutants.
    Merci d'avance.
    En faite, il faut se détacher de l'informatique pour comprendre la notions d'objet. Tout ce qui t'entoure peut être traduit en objet.
    Tu (objet) est dans une pièce (objet) . Donc un objet se trouve dans un objet. Bref, je résume beaucoup mais c'est une manière d'aborder la compréhension. Perso, j'ai compris un jour comme ça sans être devant un ordinateur, d'une seconde à l'autre. Alors qu'avant on avait beau m'expliquer je pigeais pas la logique.
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  12. #132
    Candidat au titre de Membre du Club
    Femme Profil pro
    Inscrit en
    avril 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : avril 2008
    Messages : 55
    Points : 11
    Points
    11

    Par défaut

    Je pense que je comprends quand même la logique. J'ai bien compris aussi l'exemple avec les animaux et leurs fonctions à je ne sais plus quelle page précédente.
    Par contre concernant l'exemple sur la gestions des news donné par iwt-fr, à la question de savoir si c'était mieux de faire une classe liste et une classe ajout avec respectivement les fonctions concernant les différents éléments qui seront listés ou ajoutés ou bien de faire une classe news et une classe membre avec dans chaque les fonctions d'ajout, de suppression, de modif correspondant soit au membre, soit à la news, je n'ai pas compris ce qui était préférable.
    En fait berceker united avait répondu :
    Personnellement j'estime qu'une classe ne fait pas le travail d`enregistrement des ses attributs. Donc une classe New ne peut pas s`autoajouter dans une base.
    Je ne comprends pas cette phrase et au final je ne comprends pas c'est quoi la solution au problème posé.
    Désolée de revenir là-dessus mais j'aimerais beaucoup comprendre.

  13. #133
    Expert Confirmé Sénior
    Avatar de berceker united
    Profil pro
    Développeur informatique
    Inscrit en
    février 2005
    Messages
    3 172
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : février 2005
    Messages : 3 172
    Points : 4 370
    Points
    4 370

    Par défaut

    Citation Envoyé par seïna Voir le message
    Je pense que je comprends quand même la logique. J'ai bien compris aussi l'exemple avec les animaux et leurs fonctions à je ne sais plus quelle page précédente.
    Par contre concernant l'exemple sur la gestions des news donné par iwt-fr, à la question de savoir si c'était mieux de faire une classe liste et une classe ajout avec respectivement les fonctions concernant les différents éléments qui seront listés ou ajoutés ou bien de faire une classe news et une classe membre avec dans chaque les fonctions d'ajout, de suppression, de modif correspondant soit au membre, soit à la news, je n'ai pas compris ce qui était préférable.
    En fait berceker united avait répondu :

    Je ne comprends pas cette phrase et au final je ne comprends pas c'est quoi la solution au problème posé.
    Désolée de revenir là-dessus mais j'aimerais beaucoup comprendre.
    Ce n'est qu'un point de vue personnel. Ce que je voulais dire par la c'est que la classe courante ne peut pas avoir l'autonomie d'insérer modifier demander ces propres données. Par contre, elle peut le faire pour une autre classe ou c'est une autre classe qui peut faire ce genre d'opération. Les classes ne doivent pas savoir ou se trouve les données et comment sont elle enregistré. Il y a des classes spécifiques pour faire le lien entre les deux éléments.
    Je fonctionne en tiers: Affichage, Métier, Data.

    Comme je le disais, ceci n'est qu'un point de vue personnel, il y en a qui considère que oui ça devrait être possible.

    Pour mieux comprendre le principe. Il y a une classe Salle et des classes Personne. Tu veux faire en sorte qu'il y ait des personne qui rentre dans la salle. Je pars du principe que c'est des personnes qui rentre dans la salle et non pas les personnes qui rentre dans la salle.
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  14. #134
    Candidat au titre de Membre du Club
    Femme Profil pro
    Inscrit en
    avril 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : avril 2008
    Messages : 55
    Points : 11
    Points
    11

    Par défaut

    Citation Envoyé par berceker united Voir le message
    Ce n'est qu'un point de vue personnel. Ce que je voulais dire par la c'est que la classe courante ne peut pas avoir l'autonomie d'insérer modifier demander ces propres données. Par contre, elle peut le faire pour une autre classe ou c'est une autre classe qui peut faire ce genre d'opération. Les classes ne doivent pas savoir ou se trouve les données et comment sont elle enregistré. Il y a des classes spécifiques pour faire le lien entre les deux éléments.
    Je fonctionne en tiers: Affichage, Métier, Data.

    Comme je le disais, ceci n'est qu'un point de vue personnel, il y en a qui considère que oui ça devrait être possible.

    Pour mieux comprendre le principe. Il y a une classe Salle et des classes Personne. Tu veux faire en sorte qu'il y ait des personne qui rentre dans la salle. Je pars du principe que c'est des personnes qui rentre dans la salle et non pas les personnes qui rentre dans la salle.
    Donc si je reste dans ton principe d'organisation, si tu as une classe dans laquelle il y a des méthodes qui vérifient des champs, d'autres qui traitent des données récupérées, tu ne mettras surtout pas dans cette classe la requête qui va insérer ces données dans la bdd. Ces requêtes seront dans une autre classe qui appartiendrait à la famille ... Data(peut-être?) On sépare donc d'1 côté les méthodes d'une classe qui servira à préparer les infos, et de l'autre la gestion de la bdd en tant que telle qui sera dans une autre classe.
    Est ce que je suis complètement à côté de la plaque ou pas?

  15. #135
    Expert Confirmé Sénior
    Avatar de berceker united
    Profil pro
    Développeur informatique
    Inscrit en
    février 2005
    Messages
    3 172
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : février 2005
    Messages : 3 172
    Points : 4 370
    Points
    4 370

    Par défaut

    Citation Envoyé par seïna Voir le message
    Donc si je reste dans ton principe d'organisation, si tu as une classe dans laquelle il y a des méthodes qui vérifient des champs, d'autres qui traitent des données récupérées, tu ne mettras surtout pas dans cette classe la requête qui va insérer ces données dans la bdd. Ces requêtes seront dans une autre classe qui appartiendrait à la famille ... Data(peut-être?) On sépare donc d'1 côté les méthodes d'une classe qui servira à préparer les infos, et de l'autre la gestion de la bdd en tant que telle qui sera dans une autre classe.
    Est ce que je suis complètement à côté de la plaque ou pas?
    Oui c'est ça. J'appelle les classes Dataxxxx qui communique avec la base de données, génère la collection, si SELECT, de classes en question et l'envoi à la classe qui l'a demandé.

    Dans ton exemple, la classe métier n'ira jamais demander l'existence d'un champs, il ne sait pas ce que sait qu'un champs il n'a pas de notion de base de données mais de source d'informations. Par contre, un champs est un attribut d'une classe représenté par un champs sql. Donc il peut quand même poser la question à la classe data si la méthode est créé pour.

    l'Avantage est que la source d'informations peut être routé vers n'importe quelle serveur SQL. Je travaille à la fois sur Mysql et SQL Serveur, l'application ne voit pas la différence. Je peux aussi décider de router vers une source XML. Mais c'est pas une règles absolue il faut en voir l'utilité parce que ça rallonge le temps de développement.
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  16. #136
    Candidat au titre de Membre du Club
    Femme Profil pro
    Inscrit en
    avril 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : avril 2008
    Messages : 55
    Points : 11
    Points
    11

    Par défaut

    Bon je vais me pencher sur tout ça parce que là y'a le cerveau qui fume. Si jamais quelqu'un qui passe par là connaît un lien sur internet où il y aurait un exemple de petite application en POO pas trop, trop compliquée. (Mais pas des exemples abstraits d'explication, vraiment une application en tant que telle).
    Ça serait super sympa. Merci pour les infos.

  17. #137
    Membre régulier
    Étudiant
    Inscrit en
    juin 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Âge : 28

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juin 2006
    Messages : 83
    Points : 90
    Points
    90

    Par défaut

    Il n'y a pas de tutorial Developpez sur un exemple type d'application en tiers Metier / Data / Affichage ? Ca pourrait être très utile à ceux qui cherchent à s'y mettre et leur donner de bonnes idées, même si l'implémentation exacte reste personnelle.

    J'ai repris en gros ta méthode Berceker que j'ai tourné à ma sauce en intégrant des classes héritant de Iterator (native PHP) et qui permet de passer des objets dans des foreach assez simplement. J'ai mis du temps à tout élaborer mais maintenant c'est un vrai bonheur pour développer (et maintenir mon code). Donc merci beaucoup

  18. #138
    Membre habitué
    Avatar de megacool
    Profil pro
    Inscrit en
    avril 2008
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : avril 2008
    Messages : 84
    Points : 103
    Points
    103

    Par défaut

    Salut,
    La POO est une manière pour rendre son code plus claire et plus maintenable !
    En effet c'est une manière pour facilitée la développement des application web en PHP
    Authentic, le cms mythologique ! www.authentic-cms.com

  19. #139
    Membre Expert Avatar de SirDarken
    Profil pro
    Développeur Web
    Inscrit en
    février 2004
    Messages
    895
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Services de proximité

    Informations forums :
    Inscription : février 2004
    Messages : 895
    Points : 2 214
    Points
    2 214

    Par défaut

    Je vais peut-être me ramasser complet mais bon.
    J'ai fait un peu JAVA (malheureusement j'ai du abandonner faute de temps), et effectivement le concept je le saisie bien, moins sur un site web mais bon on vas pas redebattre.

    Parcontre berceker ton post sur ton point de vue me rappel vaguement quelque chose, tu ne parlerai pas en quelque sorte de la "responsabilitée" de la classe ?
    En gros un classe qui affiche n'est responsable que de l'affichage ect ect.
    Donc voila je voulais savoir si ta façon en Tiers n'est pas simplement ce que je concoie comme resposnabilitée, ce qui du coup m'aidera pas mal à te suivre.

    Ah sinon j'adore ton point de vue sur la POO comme quoi la vie est faite pareil, c'est exactement la métaphore que j'utilise pour des fois expliquées concept à mes collègues moins jeunes, enfin cette remarque sert à rien mais ca me rassure que je suis pas déviant en voyant de la POO partout

  20. #140
    Membre habitué
    Inscrit en
    août 2006
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : août 2006
    Messages : 163
    Points : 125
    Points
    125

    Par défaut

    bonjour,
    je me demande si j ai bien compris

    Est ce qu'une interface sert à imposer une méthode dans une classe?

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •