IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

methodes java et parties privees


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 10
    Par défaut methodes java et parties privees
    Bonjour tout le monde,

    Je suis nouveau ici et je voudrais vous remercier d'avance de bien vouloir m'aider a sortir de cette ennuyeuse sitation que je traine avec depuis deux semaines !!!

    J'ai fait le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    public class Abonne {
     
        //CONSTANTES - Vous DEVEZ utiliser ces constantes dans votre code...    
        private final static String [] SORTES_ABON = {"papier", "electronique", "papier et electronique"};
        public final static int LONG_NOM_PRENOM_MIN = 2;
        public final static int SORTE_ABON_MIN = 0;
        public final static int SORTE_ABON_MAX = SORTES_ABON.length - 1 ;
        public final static int MOIS_MIN = 1;
        public final static int MOIS_MAX = 12;
        public final static int ANNEE_MIN = 2005;
        public final static int ANNEE_MAX = 2017;
        public final static int DUREE_MIN = 1;
        public final static int DUREE_MAX = 72;
     
        public final static String NOM_DEFAUT = "Nom inconnu";
        public final static String PRENOM_DEFAUT = "Prenom inconnu";
        public final static int ABON_DEFAUT = 1;
        public final static int MOIS_DEFAUT = 9;
        public final static int ANNEE_DEFAUT = 2015;
        public final static int DUREE_DEFAUT = 6;
     
        public static int NoAbonne = 1000;
     
        //METHODE DE CLASSE
        /*********************************************************
        Retourne la sorte d'abonnement (String) en fonction de 
        la valeur recue en parametre. Lorsque la sorte est 
        invalide, cette methode retourne la chaine vide.
         */
        public static String sorteAbonnement (int sorte){
            String sorteAbon = ""; 
     
            if(sorte == SORTE_ABON_MIN){
                sorteAbon = SORTES_ABON[0];
            }else if (sorte == 1){
                sorteAbon = SORTES_ABON[1];
            }else if (sorte == SORTE_ABON_MAX){
                sorteAbon = SORTES_ABON[2];
            }else{
                sorteAbon = "";
            }
     
            return sorteAbon; 
        }
     
        // Constructeurs
     
        /*
         * Ce constructeur cree un nouvel abonne en fonction des informations recues en
         * parametre. Lorsqu'une information recue en parametre ne fait pas partie des
         * valeurs permises, l'attribut correspondant est mis a la valeur par defaut.
         */
        public Abonne ( String nom, String prenom, int abonnement, int mois, int annee, int duree ) {
            this(nom, prenom, abonnement, mois, annee);
     
            if (duree < DUREE_MIN || duree > DUREE_MAX){
                this.duree = DUREE_DEFAUT;
            }else{
                this.duree = duree;
            }
        }
     
        /*
         * Ce constructeur cree un nouvel abonne avec une duree d'abonnement de 12 mois 
         * en fonction des informations recues en parametre. Lorsqu'une information recue
         * en parametre ne fait pas partie des valeurs permises, l'attribut correspondant 
         * est mis a la valeur par defaut.
         */
        public Abonne ( String nom, String prenom, int abonnement, int mois, int annee ) {
     
            if(Character.isAlphabetic(nom.charAt(0)) && (Character.isAlphabetic(nom.charAt(1)))
            && nom.length() >= LONG_NOM_PRENOM_MIN){
                this.nom = nom;
            }else {
                this.nom = NOM_DEFAUT;
            }
            if(Character.isAlphabetic(prenom.charAt(0)) && (Character.isAlphabetic(prenom.charAt(1)))
            && prenom.length() >= LONG_NOM_PRENOM_MIN){
                this.prenom = prenom;
            }else {
                this.prenom = PRENOM_DEFAUT;
            }
            if (abonnement < SORTE_ABON_MIN || abonnement > SORTE_ABON_MAX){
                this.abonnement = ABON_DEFAUT;
            }else {
                this.abonnement = abonnement;
            }
            if (mois < MOIS_MIN || mois > MOIS_MAX){
                this.mois = MOIS_DEFAUT;
            }else{
                this.mois = mois;
     
            }
            if(annee < ANNEE_MIN || annee > ANNEE_MAX){
                this.annee = ANNEE_DEFAUT;
            }else{
                this.annee = annee;
            }
     
            duree = 12;
     
            genererIdentifiant();
     
        }
     
        ////////////////////////////
        // HUIT GETTERS d'instance//
        ////////////////////////////
        public String getNom(){
            return nom;
        }   
     
        public String getPrenom(){
            return prenom;
        }
     
        public int getAbonnement(){
            return abonnement;
        }
     
        public int getMois(){
            return mois;
        }
     
        public int getAnnee(){
            return annee;
        }
     
        public int getDuree(){
            return duree;
        }
     
        public int getNoAbonne(){
            return NoAbonne;
        }
     
        public String getIdentifiant(){
            return identifiant;
        }
     
        /////////////
        // SETTERS //
        ////////////  
     
        /*
         * Modifie la duree d'abonnement en fonction de la valeur recue en
         * parametre. Lorsque la valeur du parametre ne fait pas partie
         * des valeurs permises, AUCUNE modification n'est affectuee.
         */
        public void setDuree ( int nouvDuree ) {
            if(nouvDuree >= DUREE_MIN && nouvDuree <= DUREE_MAX){
                this.duree = nouvDuree;
            }
     
        }
     
        /*
         * Modifie le type d'abonnement en fonction de la valeur recue en
         * parametre. Lorsque la valeur du parametre ne fait pas partie
         * des valeurs permises, AUCUNE modification n'est affectuee.
         */
        public void setAbonnement ( int nouvAbon ) {
            if(nouvAbon >= SORTE_ABON_MIN && nouvAbon <= SORTE_ABON_MAX){
                this.abonnement = nouvAbon;
            }
     
        }
     
        /*
         * Modifie le nom de l'abonne en fonction de la valeur recue en
         * parametre. Lorsque le parametre ne respecte pas les regles
         * de validite, AUCUNE modification n'est affectuee.
         * IMPORTANT 1 : Modifie l'identifiant AU BESOIN... 
         * IMPORTANT 2 : Ne modifie AUCUNE autre variable. 
         */
        public void setNom ( String nouvNom ) {
            if((Character.isAlphabetic(nouvNom.charAt(0)) && (Character.isAlphabetic(nouvNom.charAt(1))) 
                && (nouvNom.length() >= LONG_NOM_PRENOM_MIN))){
                this.nom = nouvNom;
            }
     
        }
     
        /*
         * Modifie le prenom de l'abonne en fonction de la valeur recue en
         * parametre. Lorsque le parametre ne respecte pas les regles
         * de validite, AUCUNE modification n'est affectuee.
         * IMPORTANT 1 : Modifie l'identifiant AU BESOIN... 
         * IMPORTANT 2 : Ne modifie AUCUNE autre variable. 
         */
        public void setPrenom ( String nouvPre ) {
     
            if((Character.isAlphabetic(nouvPre.charAt(0)) && (Character.isAlphabetic(nouvPre.charAt(1))) 
                && (nouvPre.length() >= LONG_NOM_PRENOM_MIN))){
                this.prenom = nouvPre;
            }
     
        }
     
        //----------   P a r t i e   p r i v e e   ----------//
        // Methodes utilitaires
        /*
         *  Genere un identifiant d'abonne en prenant les 2 premiers caracteres du nom 
         *  (en MAJUSCULES) et les 2 premiers caracteres du prenom (en MAJUSCULES), suivis 
         *  des deux derniers chiffres de l'annee de debut d'abonnement et des deux chiffres 
         *  du mois du debut de l'abonnement (si le mois a un seul chiffre, exemple�: 9 pour 
         *  septembre, ajoute 0 devant pour avoir 2 chiffres).  Ajoute finalement les chiffres 
         *  correspondant au numero d'abonne. 
         */
        private void genererIdentifiant (){
     
            String deuxLNom = nom.substring(0,2);
            deuxLNom = deuxLNom.toUpperCase();
            String deuxLPrenom = prenom.substring(0,2);
            deuxLPrenom = deuxLPrenom.toUpperCase();
            int ChfrAnneeDebut = (annee / 10) % 10;
            int ChfrAnneeFin = annee % 10;
            String nouvMois;
            if(mois < 10){
                nouvMois = "0" + mois;
            }else{
                nouvMois = "" + mois;
            }
            NoAbonne = NoAbonne + 1;
            numAbon = NoAbonne;
     
            identifiant = deuxLNom + deuxLPrenom + "" + ChfrAnneeDebut + "" + ChfrAnneeFin   + nouvMois  + numAbon; 
     
        }
     
        /*
        Retourne true si la valeur et entre le min et le max inclusivement.
        Retourne false dans le cas contraire.
         */
        private static boolean entreMinMax (int valeur, int min, int max){
            boolean valMinMax;
            if(valeur >= min && valeur <= max){
                valMinMax = true;
            }else{
                valMinMax = false;
            }
            return valMinMax;
        }
     
        /*
        Retourne true si le param�tres est une chaine de caracteres alphabetiques 
        de longueur 2 ou plus pouvant aussi contenir des espaces (mais seulement si 
        les 2 premiers caracteres ne sont pas des espaces). Retourne false dans tous
        les autres cas.
         */
        private static boolean nomPrenomValide (String nomOuPrenom){
            boolean validiteNomPrenom;
            if(Character.isAlphabetic(nomOuPrenom.charAt(0)) && (Character.isAlphabetic(nomOuPrenom.charAt(1)))
            && nomOuPrenom.length() >= LONG_NOM_PRENOM_MIN){
                validiteNomPrenom = true;           
            }else{
                validiteNomPrenom = false;
            }
            return validiteNomPrenom;
        }
     
        // Variable de classe (commune a toutes les instances)
        String identifiant;
        // qui servira � generer le numero d'abonne.
     
        // Variables d'instances
        private String nom;
        private String prenom;
        private int abonnement;
        private int mois;
        private int annee; 
        private int duree;
        private int numAbon;
    Ensuite on m'a donne une autre class ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
     
    public static Abonne trouverAbonne (Abonne [] tabAb, int numero){
     
     
            //Retourne un abonné en fonction de son numéro d'identification. Retourne null lorsqu'il n'y a pas d'abonné avec ce
            //numéro dans le tableau.
     
        }
     
    public static Abonne [] agrandirTableauDe5 (Abonne [] tabAb){
     
            //Retourne un tableau d'abonnés contenant tous les abonnés du tableau reçu en paramètre suivis de 5 cases sans
            //abonné. Retourne un tableau de longueur 5 sans abonnés si tabAb est null ou si tabAb est de longueur 0.
        }

    Merci pour votre aide !!!

    Depuis deux semaines, je tourne sur ces deux la... et je ne sais pas par ou commence.

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Août 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Août 2015
    Messages : 7
    Par défaut
    Bonjour,

    Pour la méthode trouverAbonne tu reçois un tableau qui correspond à la zone de recherche et un numéro qui est probablement une valeur du champs "numAbon" de la classe Abonne.
    Pour répondre au besoin du commentaire, essaie de parcourir le tableau de "Abonne" que tu reçois et cherche si le numAbon correspond à celui qui est fourni en paramètre.

    Pour agrandirTableauDe5 tu as 2 cas possible :
    1/ le tableau tabAb est null et tu dois retourner un tableau vide de 5 cases
    2/ le tableau tabAb est non null et tu dois créer une copie qui est plus grande de 5 cases. Pour cela, tu dois récupérer la taille du tableau, faire un nouveau tableau avec taille+5 cases et copier une à une les anciennes valeurs dans le nouveau tableau avec une boucle for.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 10
    Par défaut
    Bonjour,

    merci pour votre aide.

    Citation Envoyé par Eehol Voir le message
    Bonjour,


    Pour agrandirTableauDe5 tu as 2 cas possible :
    1/ le tableau tabAb est null et tu dois retourner un tableau vide de 5 cases
    2/ le tableau tabAb est non null et tu dois créer une copie qui est plus grande de 5 cases. Pour cela, tu dois récupérer la taille du tableau, faire un nouveau tableau avec taille+5 cases et copier une à une les anciennes valeurs dans le nouveau tableau avec une boucle for.
    Pour ceci voici ce j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
     
    public static Abonne [] agrandirTableauDe5 (Abonne [] tabAb){
            final int blocTab = 5;
            int nbBloc = 1;
            int nbAbonne = 0;
     
            // **************************************
            // Création du tableau et copie des datas
            // **************************************
     
            // Création du tableau d'article ayant pour taille 1 Bloc
            tabAb = new Abonne[blocTab];
     
            do {
                // Si l on arrive a la taille max du tableau
                if (nbAbonne == nbBloc * blocTab) {
                    // On crée un tableau temporaire de même taille que la source
                    Abonne tabTemp [] = new Abonne[nbBloc * blocTab];
                    // On copie le contenu (nom, prenom, sorte, annee, mois, 
                    //et longueur de la copie)
                    System.arraycopy(tabAb, 0, tabTemp, 0, tabAb.length);
                    // On supprime l'objet (tableau d'origine) et on le recrée 
                    //avec la bonne taille
                    tabAb = new Abonne[(nbBloc + 1) * blocTab];
     
                    //Retourne un tableau d'abonnés contenant tous les abonnés du tableau reçu en paramètre suivis de 5 cases sans
                    //abonné.               
     
                }else if (tabAb == null || tabAb.length == 0){
     
                    return new Abonne[blocTab];
                    //Retourne un tableau de longueur 5 sans abonnés si tabAb est null ou si tabAb est de longueur 0.
     
                }
     
            } while(true);
    Pourriez vous me le corriger s'il y a lieu .

    Bonjour,

    Pour la méthode trouverAbonne tu reçois un tableau qui correspond à la zone de recherche et un numéro qui est probablement une valeur du champs "numAbon" de la classe Abonne.
    Pour répondre au besoin du commentaire, essaie de parcourir le tableau de "Abonne" que tu reçois et cherche si le numAbon correspond à celui qui est fourni en paramètre.
    Je ne sais pas comment faire appeler une methode (ou instance) privee d'une classe depuis une autre classe.

    Merci.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Août 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Août 2015
    Messages : 7
    Par défaut
    Ton code ne peut pas fonctionner, en effet tu donnes des valeurs static à tes 3 variables (0, 1 et 5) et tu compares si 0 est égal à 1*5.
    De plus, tu écrases le tableau que tu reçois en paramètre en créant directement un nouveau tableau de taille 5... tu perds donc l'info sur sa taille précédente, sur ce qu'il contenait, etc.

    Voici en pseudo code ce à quoi cela devrait ressembler d'après moi, cela peut tenir en moins de 10 lignes.

    Si tabAb est null
    ***return nouveau tableau de 5 cases
    Fsi
    nouveauTableau = new Abonne[taille ancien tableau + 5]
    System.arraycopy(tabAb dans nouveauTableau)
    return nouveauTableau


    Je ne sais pas comment faire appeler une methode (ou instance) privee d'une classe depuis une autre classe.
    En relisant ton premier post, je pense que c'est plutôt identificant que tu dois utiliser, celui-ci est accessible via son getter.

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 10
    Par défaut
    Merci,

    Si tabAb est null
    ***return nouveau tableau de 5 cases
    Fsi
    nouveauTableau = new Abonne[taille ancien tableau + 5]
    System.arraycopy(tabAb dans nouveauTableau)
    return nouveauTableau

    donc comme ingredients, j'aurai :

    final int blocTab = 5;

    tabAb == null pour condition if

    newTab = new Abonne[blocTab + 5]

    J'ai l'impression qu'il me manque une variable newTab et comment mettre "tabAb dans nouveauTableau" comme vous dites, il se peut qu'on n'ait pas le meme vocabulaire.

    J'ai ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    final int blocTab = 5;
     
    tabAb = new Abonne[blocTab];
     
            do {
                if (tabAb == null ){
     
                    return new Abonne[blocTab];
                    //Retourne un tableau de longueur 5 sans abonnés si tabAb est null ou si tabAb est de longueur 0.
     
                }
     
                newTab = new Abonne[blocTab + 5];
                System.arraycopy(tabAb, newTab.length);
                return newTab;
    } while(true);
    Cordialement.

  6. #6
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 10
    Par défaut
    Bonjour,

    Merci bcp pour votre aide. J'ai reussi a debloque la situation.

    Cependant il m'arrive quelque chose de tres bizarre. Voici le code de la methode dans une classe.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    public Abonne ( String nom, String prenom, int abonnement, int mois, int annee ) {
            nom = nom.toUpperCase();
            prenom = prenom.toUpperCase();
     
            if((nom.charAt(0) >= 'A' && nom.charAt(0) <= 'Z') && (nom.charAt(1) >= 'A' && nom.charAt(1) <= 'Z')
            && nom.length() >= 2){
                this.nom = nom;
            }else {
                this.nom = NOM_DEFAUT;
            }
            if((prenom.charAt(0) >= 'A' && prenom.charAt(0) <= 'Z') && (prenom.charAt(1) >= 'A' && prenom.charAt(1) <= 'Z') 
            && prenom.length() > 1){
                this.prenom = prenom;
            }else {
                this.prenom = PRENOM_DEFAUT;
            }
            if (abonnement < SORTE_ABON_MIN || abonnement > SORTE_ABON_MAX){
                this.abonnement = ABON_DEFAUT;
            }else {
                this.abonnement = abonnement;
            }
            if (mois < MOIS_MIN || mois > MOIS_MAX){
                this.mois = MOIS_DEFAUT;
            }else{
                this.mois = mois;
     
            }
            if(annee < ANNEE_MIN || annee > ANNEE_MAX){
                this.annee = ANNEE_DEFAUT;
            }else{
                this.annee = annee;
            }
     
            duree = 12;
     
            genererIdentifiant();
     
        }
    lorsque je teste avec des donnees incorrectes pour verification:
    nom : "L"
    prenom: "l"
    abonnement: 4
    mois :6
    annee "2009

    On m'affiche ceci error : StringOutOfBoundsException: Stringindex out of range : 1
    at java.lang.String.CharAt(String.java:658) (en gris)
    at Abonne.<init>(Abonne.java:84) (en rouge) dont la correpondance est la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if((nom.charAt(0) >= 'A' && nom.charAt(0) <= 'Z') && (nom.charAt(1) >= 'A' && nom.charAt(1) <= 'Z')
            && nom.length() >= 2){
    Dans mon enonce, il est mentionne de ne pas utliser de try catch ni de throws pour cet exception.

    J'ai tout essaye, mais rien.

    Pourriez vous me donner une proposition ou des propositions.

    Je vous remercie !!!

    Amicalement.

Discussions similaires

  1. Appel d'une methode java dans un fichier jsp
    Par kodo dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 06/05/2006, 13h46
  2. exécuter une classe dans un jar a partir d'une methode java
    Par yann_p dans le forum API standards et tierces
    Réponses: 13
    Dernier message: 13/04/2006, 15h50
  3. [Applet] appel de methodes java en javascript
    Par soulhouf dans le forum Applets
    Réponses: 16
    Dernier message: 06/09/2005, 14h18
  4. [Reflection] Interpreter une chaine en une methode java
    Par shaun_the_sheep dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 09/10/2004, 15h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo