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

BIRT Discussion :

[2.1.1] Inclure un data set dans un autre


Sujet :

BIRT

  1. #1
    Membre régulier
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2004
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2004
    Messages : 204
    Points : 103
    Points
    103
    Par défaut [2.1.1] Inclure un data set dans un autre
    Bonjour,

    Voici ce que je souhaite faire (sans succès pour l'instant)

    J'ai deux dataset alimentés convenablement.

    Et mon rapport se découpe ainsi :

    Table1 (alimentée avec le DataSet1 et groupée par un attribut A1)
    Table2 (alimentée avec le DataSet2) incluse dans chacun des groupes (avec des données correspondant à l'attribut A1).

    Problème :
    1. Lorsque je fais "insert in layout" du DataSet2 pour créer la table 2 dans le groupe de la table 1, cela a l'air de fonctionner. Mais lorsque je génère le rapport, la table 2 n'apparait que pour le premier groupe de la table1. Pour les autres, c'est vide.
    2. Impossible de filtrer la table2 pour qu'elle n'affiche que les valeurs du groupe (pourtant, il y a un attribut en commun). J'ai essayé la propriété "filter" sur la table, sans succès (il n'affiche meme plus rien au premier groupe).

    Je ne sais pas si j'ai été clair. N'hésitez pas à me poser des questions.

    Merci beaucoup

    PS : Ce que je veux faire est tout de même relativement simple, je pense que BIRT le propose mais impossible de trouver la bonne démarche à suivre

  2. #2
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Bonjour,

    Et bien, tu travailles avec une version très ancienne de BIRT pour commencer.

    Ensuite, as-tu essayé de faire un joint dataset ?
    Qu'as-tu mis dans ton filtre ?

  3. #3
    Membre régulier
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2004
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2004
    Messages : 204
    Points : 103
    Points
    103
    Par défaut
    Très ancienne, n'exagérons rien mais je sais qu'elle est vieille. Le problème avec eux, c'est qu'ils changent pas mal de chose d'une version à l'autre est que ce n'est plus compatible ! Pour les entreprises et les projets importants qui durent plusieurs années, c'est pas le mieux. Bref, le changement de version n'est pas pour tout de suite, il y en a pour des semaines

    "Joint DataSet" disais-tu. Où est-ce ? Je n'ai pas trouvé.

    Et comme filtre et bien j'ai mis une égalité sur l'attribut en commun

  4. #4
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Ca n'existe peut etre pas dans ta version. Et si ca existe c'est clic droit sur DataSets > New Joint DataSet.

    Sinon, pour info, je suis sur un projet de plusieurs années et pourtant on change de version 2.0 puis 2.1 puis 2.2 et peut être 2.3.

    Et ca a dû me prendre une semaine ou deux pour les migrations difficiles. Je les faisais d'abord de mon côté avant de répercuter le tout chez tout le monde

  5. #5
    Membre régulier
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2004
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2004
    Messages : 204
    Points : 103
    Points
    103
    Par défaut
    Le problème est qu'on utilise beaucoup l'API de Birt pour la génération du rapport, et ça, ça change vraiment du tout au tout d'une version à l'autre, notamment les chemins relatifs des images contenues dans les rapports dans un contexte J2EE, bref, tout ce genre de petits détails.

    On passe par des classes Java pour l'extraction des données et le rapport se fait avec des EventHandlers.
    On passe par l'appli J2EE pour la saisie des paramètres.

    Bref, on a choisi BIRT parce qu'il nous permet cette liberté.
    Du coup, on utilise le BIRT designer juste pour mettre en forme.

    -

    En effet, je n'ai pas cette option permise (Joint data set)

    Merci de m'avoir répondu malgré ma vieille version

  6. #6
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Citation Envoyé par tiboudchou Voir le message
    Le problème est qu'on utilise beaucoup l'API de Birt pour la génération du rapport, et ça, ça change vraiment du tout au tout d'une version à l'autre, notamment les chemins relatifs des images contenues dans les rapports dans un contexte J2EE, bref, tout ce genre de petits détails.

    On passe par des classes Java pour l'extraction des données et le rapport se fait avec des EventHandlers.
    On passe par l'appli J2EE pour la saisie des paramètres.

    Bref, on a choisi BIRT parce qu'il nous permet cette liberté.
    Du coup, on utilise le BIRT designer juste pour mettre en forme.

    -

    En effet, je n'ai pas cette option permise (Joint data set)

    Merci de m'avoir répondu malgré ma vieille version
    Les nouvelles versions permettent la même liberté... Enfin, c'est l'utilisation que j'en fais en tout cas.

    Enfin bon, c'est ton choix, mais tu as peut être un peu trop peur

    Ceci dit, ca ne dit pas ce que tu as mis dans ton filtre. Parce que ca m'étonne qu'il ne fonctionne pas

  7. #7
    Membre régulier
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2004
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2004
    Messages : 204
    Points : 103
    Points
    103
    Par défaut
    Je viens d'installer le BIRT Designer 2.1.1 et j'ai les "Joint DataSet". Qui plus est, les rapports générés sont compatibles avec mon BIRT Engine, c'est la fête

    Bon je vais chercher comment cela fonctionne.

    Merci en tout cas

  8. #8
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 42
    Points : 30
    Points
    30
    Par défaut Une autre solution
    Salut. Une autre solution à ton problème serait l'utilisation des sous rapports. Cela t'évitera du coup une liaison au niveau du designer. Moi personnellement, je résoud le pb en définissant un paramètre que j'initialise à la création d'une instance de groupe. Je fais ensuite le tri sur ce paramètre et non sur une colonne du rapport. Cela marche très bien au cas où on a des petits pbs comme le tien (J'ai par ailleur déjà connu les pbs similaires sur une version supérieure de BIRT).

  9. #9
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Il y a pas mal de choses qui n'existent pas dans les anciennes versions de BIRT. Déjà que je me rappelle de problèmes mémoire avec les tables imbriqués en 2.0.

    Alors la "notion" de sous-rapports, je ne suis pas sûre que ce soit une bonne idée d'en parler à ce stade

    En plus, c'est beaucoup trop complexe pour quelquechose d'aussi simple.

    Si je devais avoir un sous-rapport à chaque fois que je fais ce genre de manipulation, je crois que j'irais me suicider (c'est une expression évidemment ).

  10. #10
    Membre régulier
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2004
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2004
    Messages : 204
    Points : 103
    Points
    103
    Par défaut
    Quelqu'un a une explication en français des Joint DataSet sous la main ?

    Je ferai le tour de l'international demain matin

  11. #11
    Membre averti

    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 385
    Points : 321
    Points
    321
    Par défaut
    Joint (merge) deux datasets (pas un UNION). un peu à la manière d'une jointure en base de données.

    Par exemple, vous avez 2 datasets avec 4 colonnes chacun dont un champ en commun. Le join dataset permet de fusionner les deux datasets pour en créer un avec 8 colonnes.

    Si vous utiliser une base de données comme source de données, je vous conseille de fusionner vos deux requêtes en SQL directement plutôt que d'utiliser ce composant.

  12. #12
    Membre régulier
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2004
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2004
    Messages : 204
    Points : 103
    Points
    103
    Par défaut
    Le principe, ok.

    Mais il n'affiche rien ce satané Joint DataSet

    C'est pourtant super simple ce que je veux faire :

    DataSet1 :
    Type jouet | Nom du jouet | couleur | matière | taille
    T1 Jouet1.1 rouge carton gros
    T1 Jouet1.2 orange paille petit
    T2 Jouet2.1 vert métal petit
    T2 Jouet2.2 bleu coton moyen

    DataSet2 :
    Type jouet | début d'activité | fin d'activité
    T1 08h10 09h00
    T1 19h00 22h00
    T2 12h00 12h30
    T2 14h30 15h00

    Je veux afficher le DataSet1 et pour chaque type de jouet, afficher les données du DataSet2 correspondantes.

    Bon l'exemple est super simplifié, il y a beaucoup plus de données (colonnes et lignes, il y a 10x plus de lignes dans le DataSet2 par rapport au 1) mais c'est ça l'esprit.

    T1
    Jouet1.1 Rouge Carton Gros
    Jouet1.2 orange paille petit
    8h10 09h00
    19h00 22h00

    T2
    Jouet2.1 Vert Métal Petit
    Jouet2.2 bleu coton moyen
    12h00 12h30
    14h30 15h00

    etc.

    Alors ce que j'arrive à faire avec les DataSet normaux, c'est ceci :

    T1
    Jouet1.1 Rouge Carton Gros
    Jouet1.2 orange paille petit
    8h10 09h00
    19h00 22h00

    T2
    Jouet2.1 Vert Métal Petit
    Jouet2.2 bleu coton moyen


    Vous remarquerez qu'il manque les infos du DataSet2 sur le T2 (pourtant il marque les libellés des colonnes du DataSet2 mais pas les données).


    Donc, en suivant vos conseils, j'ai créé un Joint DataSet (avec l'attribut "Type de Jouet" comme liaison) en "Inner Join"
    Tout d'abord, si j'affiche mon DataSet1 puis le 2 puis le Join, le Join ne donne aucune donnée.
    Si je supprime le 1 et le 2 et que je n'affiche que le Join, il s'affiche avec un nombre de lignes hallucinant (la multiplication des deux DataSet en fait).

  13. #13
    Membre régulier
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2004
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2004
    Messages : 204
    Points : 103
    Points
    103
    Par défaut
    Bon alors, une fois l'énorme tableau afficher, j'ai regroupé :

    Tout d'abord par Type de jouet :

    T1
    Jouet1.1 Rouge Carton Gros 8h10 09h00
    Jouet1.1 Rouge Carton Gros 19h00 22h00
    Jouet1.2 orange paille petit 8h10 09h00
    Jouet1.2 orange paille petit 19h00 22h00

    T2
    Jouet2.1 Vert Métal Petit 12h00 12h30
    Jouet2.1 Vert Métal Petit 14h30 15h00
    Jouet2.2 bleu coton moyen 12h00 12h30
    Jouet2.2 bleu coton moyen 14h30 15h00

    Ce qui ne va toujours pas

    Alors je peux encore grouper par Jouet :

    T1
    Jouet1.1 Rouge Carton Gros
    8h10 09h00
    19h00 22h00
    Jouet1.2 orange paille petit
    8h10 09h00
    19h00 22h00

    T2
    Jouet2.1 Vert Métal Petit
    12h00 12h30
    14h30 15h00
    Jouet2.2 bleu coton moyen
    12h00 12h30
    14h30 15h00


    Ce qui ne va toujours pas non plus puisque l'information du DataSet 2 est répétée à chaque coup.

    Une solution ?

  14. #14
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Hum, tu utilises le Designer 2.1 avec l'engine 2.0 ?

    Il est là le problème !

    L'engine 2.0 ne pourra pas interpréter des éléments qui n'apparaissent qu'à la version suivante. Il n'est pas devin en clair

    Donc, quand on change de version, c'est pas à moitié qu'il faut le faire.

  15. #15
    Membre régulier
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2004
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2004
    Messages : 204
    Points : 103
    Points
    103
    Par défaut
    Non en fait j'ai la version 2.1.1, je m'étais trompé

    De toutes façons, si tu regardes mon message précédent, je ne vois pas comment le Joint Data Set peut m'aider, à moins que je n'ai pas saisi une subtilité. Si quelqu'un pouvait m'expliquer la différence entre le "Inner Join", "Left Outer Join" et "Right Outer Join"

    Non, la manière la plus simple et la plus propre serait d'inclure un dataSet dans un autre comme dans mon premier exemple. Le seul problème est qu'il n'affiche le second DataSet que pour le premier groupe du DataSet1.

    Tout mettre dans un meme dataSet serait une solution, mais horriblement lourde, moche et mal optimisé

  16. #16
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Bon alors, si j'étais toi je ferais comme suit :

    1. Un tableau databindé sur DataSet2 de 1 ligne et 1 colonne.
    2. Dans la ligne du tableau, on met une grille de 1 ligne et deux colonnes avec début d'activité en première colonne, fin d'activité en deuxième colonne.
    3. J'insère dans le tableau un groupe, groupé sur Type jouet
    4. Dans l'entête du groupe je met 2 lignes
    5. Dans la première ligne de l'entête je met Type jouet
    6. Dans la deuxième ligne de l'entête je met un tableau de 1 ligne et 4 colonnes databindé sur DataSet1
    7. J'ajoute un filtre au tableau sur row["Type jouet"] equals row._outer["Type jouet"]
    8. Dans chaque colonne du dernier tableau je met Nom du jouet, couleur, matière et taille.


    Ca devrait très bien fonctionner

  17. #17
    Membre régulier
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2004
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2004
    Messages : 204
    Points : 103
    Points
    103
    Par défaut
    Merci

    Malheureusement, c'est le même problème mais à l'envers.
    Non, la manière la plus simple et la plus propre serait d'inclure un dataSet dans un autre comme dans mon premier exemple. Le seul problème est qu'il n'affiche le second DataSet que pour le premier groupe du DataSet1.
    C'est à dire qu'il affiche les données du DataSet1 pour le premier groupe mais pas pour le second

    C'est peut-être un bug de BIRT

  18. #18
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Non non y'a pas de raisons.

    Peux-tu générer le PDF que tu as actuellement avec en dessous de ton résultat l'affichage de tes DataSets, tu les glisses simplement à la suite

    Merci.

  19. #19
    Membre régulier
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2004
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2004
    Messages : 204
    Points : 103
    Points
    103
    Par défaut
    Ben en fait, ce ne sont pas des jouets et il y a des dizaines de colonnes.

    Mais je vais te décrire exactement ce que cela affiche actuellement :

    ------------------------------------------
    T1
    Nom || Couleur || Matière || Taille
    Jouet1.1 || Rouge || Carton || Gros
    Jouet1.2 || orange || paille || petit
    Debut || Fin
    08h10 || 09h00
    19h00 || 22h00
    T2
    Nom || Couleur || Matière || Taille
    Debut || Fin
    12h00 || 12h30
    14h30 || 15h00
    ------------------------------------------

    La même chose s'affiche lorsque je mets en place ma première solution, c'est à dire :
    Le DataSet2 inclu dans le footer du groupe du DataSet1

    En résumé : Le résultat est correct pour la premier groupe mais pas pour les suivants.

    Voici maintenant les DataSet

    DataSet1 :
    Type || Nom || Couleur || Matière || Taille
    T1 || Jouet1.1 || Rouge || Carton || Gros
    T1 || Jouet1.2 || orange || paille || petit
    T2 || Jouet2.1 || Vert || Métal || Petit
    T2 || Jouet2.2 || bleu || coton || moyen

    DataSet2 :
    Type || Debut || Fin
    T1 || 08h10 || 09h00
    T1 || 19h00 || 22h00
    T2 || 12h00 || 12h30
    T2 || 14h30 || 15h00


    EDIT : J'ai modifié le résultat rendu (le DataSet2 s'affiche bien mais pas le DataSet1) dans les groupes suivant le premier. Dans ma solution c'était l'inverse ; tout simplement parce que c'est le DataSet2 que j'avais inclu dans le DataSet1 et non l'inverse :p

  20. #20
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Tu ne veux toujours pas dire ce que tu as mis dans ton filtre ?

    De mon côté, j'ai essayé ca marche très bien... (dans l'entête du groupe et dans le pied aussi).

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Mise en forme d'un data set dans un tableau
    Par pdiaz dans le forum BIRT
    Réponses: 3
    Dernier message: 23/06/2014, 10h53
  2. Réponses: 0
    Dernier message: 20/08/2013, 11h59
  3. Réponses: 4
    Dernier message: 05/07/2007, 11h11
  4. [VB.NET] Récupération des settings dans un autre module
    Par boulete dans le forum Windows Forms
    Réponses: 1
    Dernier message: 20/04/2006, 16h05
  5. inclure une page html dans une autre
    Par jani dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 10/08/2005, 19h28

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