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

IGN API Géoportail Discussion :

utilisation API minimum


Sujet :

IGN API Géoportail

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2010
    Messages : 6
    Points : 3
    Points
    3
    Par défaut utilisation API minimum
    Bonjour,


    Actuellement j'essaye d'intégrer l'API geoportail dans notre framework,celui-ci etant basé en partie sur OpenLayers, l'intégration à été plutôt simple.

    On a choisi d'utiliser l'API minimum pour éviter les conflits avec les classes d'OpenLayers que nous avons déjà modifiées.

    Donc pour cela j'ai souscrit un contrat sur le site du Géoportail en ayant sélectionné toutes les couches.

    Je me suis inspiré de la demo Yahoo User Interface du site de démo (http://api.ign.fr/geoportail/api/doc...portalYUI.html) donc toute les question suivantes porteront sur celle-ci.

    J'arrive exactement au même résultat avec mon framework mais du coup je tombe sur les même problèmes :

    1) Si j'ajoute la couche suivante :

    var l1= new Geoportal.Layer.WMSC(
    OpenLayers.i18n('GEOGRAPHICALGRIDSYSTEMS.MAPS'),
    gGEOPORTALRIGHTSMANAGEMENT[gGEOPORTALRIGHTSMANAGEMENT.apiKey]
    .resources['GEOGRAPHICALGRIDSYSTEMS.MAPS:WMSC'].url,
    {
    layers: 'GEOGRAPHICALGRIDSYSTEMS.MAPS',
    format:'image/jpeg',
    exceptions:"text/xml"
    },
    {
    gridOrigin: new OpenLayers.LonLat(0,0),
    isBaseLayer: false,
    resolutions: Geoportal.Catalogue.RESOLUTIONS.slice(0,5),
    opacity : 1.0,
    projection: miller,
    maxExtent: new OpenLayers.Bounds(-180, -90, 180, 90).transform(OpenLayers.Projection.CRS84,miller, true),
    units: miller.getUnits(),
    attribution: 'provided by IGN',
    GeoRM: Geoportal.GeoRMHandler.addKey(
    gGEOPORTALRIGHTSMANAGEMENT.apiKey,
    gGEOPORTALRIGHTSMANAGEMENT[gGEOPORTALRIGHTSMANAGEMENT.apiKey].tokenServer.url,
    gGEOPORTALRIGHTSMANAGEMENT[gGEOPORTALRIGHTSMANAGEMENT.apiKey].tokenServer.ttl,
    viewer)
    }
    );
    viewer.addLayers([l0,l1]);

    elle ne s'affiche pas au dessus de ORTHOIMAGERY, son div reste vide.
    Est ce à cause d'un problème de droits de requêtage?

    2) Si j'essaye de créer une carte sur la france avec la projection IGNF:GEOPORTALFXX,
    alors là, impossible d'afficher une seule couche (problème de droits d'accès? de contrat? de résolutions?), hormis ORTHOIMAGERY ou GEOGRAPHICALGRIDSYSTEMS.
    Voici mon code pour essayer d'afficher les parcelle cadastrales :

    var miller= new OpenLayers.Projection("IGNF:GEOPORTALFXX");
    viewer= new OpenLayers.Map('viewerDiv',{
    resolutions: Geoportal.Catalogue.RESOLUTIONS.slice(6),
    projection: miller,
    maxExtent: new OpenLayers.Bounds(-180, -90, 180, 90).transform(OpenLayers.Projection.CRS84,miller,true),
    units: miller.getUnits(),
    controls:[
    //new OpenLayers.Control.PanZoomBar(),
    new OpenLayers.Control.Navigation(),
    new OpenLayers.Control.ZoomBox(),
    //new OpenLayers.Control.ScaleLine(),
    new OpenLayers.Control.MousePosition(),
    new OpenLayers.Control.KeyboardDefaults(),
    new OpenLayers.Control.Attribution(),
    new Geoportal.Control.PermanentLogo(),
    new Geoportal.Control.TermsOfService()
    ]});

    var l0= new Geoportal.Layer.WMSC(
    OpenLayers.i18n('CADASTRALPARCELS.PARCELS'),
    gGEOPORTALRIGHTSMANAGEMENT[gGEOPORTALRIGHTSMANAGEMENT.apiKey]
    .resources['CADASTRALPARCELS.PARCELS:WMSC'].url,
    {
    layers: 'ORTHOIMAGERY.ORTHOPHOTOS',
    format:'image/jpeg',
    exceptions:"text/xml"
    },
    {
    gridOrigin: new OpenLayers.LonLat(0,0),
    isBaseLayer: true,
    resolutions: Geoportal.Catalogue.RESOLUTIONS.slice(6),
    opacity : 1.0,
    projection: miller,
    maxExtent: new OpenLayers.Bounds(-180, -90, 180, 90).transform(OpenLayers.Projection.CRS84,miller, true),
    units: miller.getUnits(),
    attribution: 'provided by IGN',
    GeoRM: Geoportal.GeoRMHandler.addKey(
    gGEOPORTALRIGHTSMANAGEMENT.apiKey,
    gGEOPORTALRIGHTSMANAGEMENT[gGEOPORTALRIGHTSMANAGEMENT.apiKey].tokenServer.url,
    gGEOPORTALRIGHTSMANAGEMENT[gGEOPORTALRIGHTSMANAGEMENT.apiKey].tokenServer.ttl,
    viewer)
    }
    );
    viewer.addLayers([l0]);



    3) Pour facilité mes développements j'ai essayé de trouver une version non compréssée de l'API minimum, malheureusement je n'ai rien trouvé, est ce qu'il existe une telle version?
    Sur le site officiel, il est dit qu'il y a un build maven sur le SVN pour compiler l'API mais l'url de SVN n'est pas spécifiée, est il accessible en public? si oui quelle est l'url?
    Existe il une documentation sur les différentes version (min,standard,etendue) de l'API pour savoir quelles classes javascript sont utilisées dans quelle version ?


    Merci d'avance pour vos réponses.

  2. #2
    Expert confirmé
    Homme Profil pro
    Ingénieur cartographe
    Inscrit en
    Avril 2009
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur cartographe
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 173
    Points : 4 224
    Points
    4 224
    Par défaut
    Citation Envoyé par oterral Voir le message
    1) Si j'ajoute la couche suivante :
    ...
    elle ne s'affiche pas au dessus de ORTHOIMAGERY, son div reste vide.
    Est ce à cause d'un problème de droits de requêtage?
    Effectivement, j'ai reproduit le bug. En ajoutant ceci lors du chargement :

    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
    /**
     * Class: OpenLayers.Tile
     */
    
        /** TBD 3.0 -- remove 'url' from the list of parameters to the constructor.
         *             there is no need for the base tile class to have a url.
         *
         * Constructor: OpenLayers.Tile
         * Constructor for a new <OpenLayers.Tile> instance.
         *      IGNF: GeoRM added.
         *
         * Parameters:
         * layer - {<OpenLayers.Layer>} layer that the tile will go in.
         * position - {<OpenLayers.Pixel>}
         * bounds - {<OpenLayers.Bounds>}
         * url - {<String>}
         * size - {<OpenLayers.Size>}
         */
        OpenLayers.Tile.prototype.initialize= function(layer, position, bounds, url, size) {
            this.layer = layer;
            this.position = position.clone();
            this.bounds = bounds.clone();
            this.url = url;
            this.size = size.clone();
    
            //give the tile a unique id based on its BBOX.
            this.id = OpenLayers.Util.createUniqueID("Tile_");
    
            this.events = new OpenLayers.Events(this, null, this.EVENT_TYPES);
            if (layer.GeoRM) {
                this.events.register('reload', this, this.updateGeoRM);
                this.events.register('loadstart', this, this.updateGeoRM);
            }
        };
    
        /**
         * APIMethod: destroy
         * Nullify references to prevent circular references and memory leaks
         * (OpenLayers 2.9).
         */
        OpenLayers.Tile.prototype.destroy= function() {
            if (this.layer.GeoRM) {
                this.events.unregister('reload', this, this.updateGeoRM);
                this.events.unregister('loadstart', this, this.updateGeoRM);
            }
    
            this.layer  = null;
            this.bounds = null;
            this.size = null;
            this.position = null;
    
            this.events.destroy();
            this.events = null;
        };
    
        /**
         * Method: updateGeoRM
         * Refresh or ask for a GeoRM token.
         *
         * Returns:
         * {Boolean} true if success, false otherwise.
         */
        OpenLayers.Tile.prototype.updateGeoRM= function() {
            return (this.layer.GeoRM.getToken()!=null);
        };
    Ce morceau de code a été oublié dans l'API Minimum , mais bien présent dans les deux autres ...
    Si tu peux tester de ton côté
    La prochaine mise-à-jour corrigera cela

    Citation Envoyé par oterral Voir le message
    2) Si j'essaye de créer une carte sur la france avec la projection IGNF:GEOPORTALFXX,
    alors là, impossible d'afficher une seule couche (problème de droits d'accès? de contrat? de résolutions?), hormis ORTHOIMAGERY ou GEOGRAPHICALGRIDSYSTEMS.
    Je suppose que le contrat contient bien les couches en questions ... je me demande si c'est pas lié au bug précédent

    Citation Envoyé par oterral Voir le message
    3) Pour facilité mes développements j'ai essayé de trouver une version non compréssée de l'API minimum, malheureusement je n'ai rien trouvé, est ce qu'il existe une telle version?
    Il faut télécharger les sources de l'API
    L'API minimum est juste un build spécial qui ne prend que certaines classes OpenLayers ...

    Citation Envoyé par oterral Voir le message
    Sur le site officiel, il est dit qu'il y a un build maven sur le SVN pour compiler l'API mais l'url de SVN n'est pas spécifiée, est il accessible en public?
    Avec les sources, pas besoin du SVN. D'ailleurs, il va falloir modifier cette documentation ...

    Citation Envoyé par oterral Voir le message
    si oui quelle est l'url?
    ... car justement l'URL n'a pas été ouverte

    Citation Envoyé par oterral Voir le message
    Existe il une documentation sur les différentes version (min,standard,etendue) de l'API pour savoir quelles classes javascript sont utilisées dans quelle version ?
    Non, pas vraiment car cela peut bouger d'une version d'OpenLayers à une autre. Globalement, les sources donnent pour une version donnée les informations pour la 1.0 :

    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
    OpenLayers/SingleFile.js
    OpenLayers.js
    OpenLayers/BaseTypes.js
    OpenLayers/BaseTypes/Class.js
    OpenLayers/Util.js
    OpenLayers/BaseTypes/Element.js
    OpenLayers/BaseTypes/Size.js
    OpenLayers/Console.js
    OpenLayers/Icon.js
    OpenLayers/Popup.js
    OpenLayers/Renderer.js
    OpenLayers/Strategy.js
    OpenLayers/BaseTypes/Bounds.js
    OpenLayers/BaseTypes/LonLat.js
    OpenLayers/BaseTypes/Pixel.js
    OpenLayers/Control.js
    OpenLayers/Lang.js
    OpenLayers/Popup/Anchored.js
    OpenLayers/Renderer/Canvas.js
    OpenLayers/Renderer/Elements.js
    OpenLayers/Strategy/Cluster.js
    OpenLayers/Strategy/Fixed.js
    OpenLayers/Strategy/Save.js
    OpenLayers/Tween.js
    OpenLayers/Control/ArgParser.js
    OpenLayers/Control/Attribution.js
    OpenLayers/Control/MousePosition.js
    OpenLayers/Control/PanZoom.js
    OpenLayers/Control/Panel.js
    OpenLayers/Control/ZoomToMaxExtent.js
    OpenLayers/Events.js
    OpenLayers/Format.js
    OpenLayers/Lang/en.js
    OpenLayers/Lang/es.js
    OpenLayers/Lang/fr.js
    OpenLayers/Lang/it.js
    OpenLayers/Popup/AnchoredBubble.js
    OpenLayers/Popup/Framed.js
    OpenLayers/Projection.js
    OpenLayers/Renderer/SVG.js
    OpenLayers/Renderer/VML.js
    OpenLayers/Tile.js
    OpenLayers/Format/WMSCapabilities.js
    OpenLayers/Format/XML.js
    OpenLayers/Handler.js
    OpenLayers/Lang/de.js
    OpenLayers/Map.js
    OpenLayers/Marker.js
    OpenLayers/Popup/FramedCloud.js
    OpenLayers/Request.js
    OpenLayers/Tile/Image.js
    OpenLayers/Control/OverviewMap.js
    OpenLayers/Feature.js
    OpenLayers/Format/WMSCapabilities/v1_1.js
    OpenLayers/Format/WMSDescribeLayer.js
    OpenLayers/Format/WMSGetFeatureInfo.js
    OpenLayers/Handler/Click.js
    OpenLayers/Handler/Drag.js
    OpenLayers/Handler/Feature.js
    OpenLayers/Handler/Hover.js
    OpenLayers/Handler/Keyboard.js
    OpenLayers/Handler/MouseWheel.js
    OpenLayers/Layer.js
    OpenLayers/Request/XMLHttpRequest.js
    OpenLayers/Ajax.js
    OpenLayers/Control/DragFeature.js
    OpenLayers/Control/DragPan.js
    OpenLayers/Control/KeyboardDefaults.js
    OpenLayers/Control/WMSGetFeatureInfo.js
    OpenLayers/Feature/Vector.js
    OpenLayers/Format/WMSCapabilities/v1_1_0.js
    OpenLayers/Format/WMSCapabilities/v1_1_1.js
    OpenLayers/Format/WMSDescribeLayer/v1_1.js
    OpenLayers/Handler/Box.js
    OpenLayers/Layer/HTTPRequest.js
    OpenLayers/Control/DrawFeature.js
    OpenLayers/Control/ZoomBox.js
    OpenLayers/Format/WKT.js
    OpenLayers/Layer/Grid.js
    OpenLayers/Style.js
    OpenLayers/Control/Navigation.js
    OpenLayers/Filter.js
    OpenLayers/Geometry.js
    OpenLayers/Layer/WMS.js
    OpenLayers/Rule.js
    OpenLayers/StyleMap.js
    OpenLayers/Filter/Comparison.js
    OpenLayers/Filter/FeatureId.js
    OpenLayers/Filter/Logical.js
    OpenLayers/Filter/Spatial.js
    OpenLayers/Geometry/Collection.js
    OpenLayers/Geometry/Point.js
    OpenLayers/Layer/Vector.js
    OpenLayers/Layer/WMS/Untiled.js
    OpenLayers/Geometry/MultiPoint.js
    OpenLayers/Layer/GML.js
    OpenLayers/Layer/Vector/RootContainer.js
    OpenLayers/Strategy/BBOX.js
    OpenLayers/Control/SelectFeature.js
    OpenLayers/Geometry/Curve.js
    OpenLayers/Control/ModifyFeature.js
    OpenLayers/Geometry/LineString.js
    OpenLayers/Geometry/LinearRing.js
    OpenLayers/Geometry/MultiLineString.js
    OpenLayers/Geometry/Polygon.js
    OpenLayers/Format/KML.js
    OpenLayers/Format/OSM.js
    OpenLayers/Geometry/MultiPolygon.js
    OpenLayers/Format/GML.js

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2010
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Merci pour toutes ces réponses

    C'est étrange, le fait de rajouter lal classe Tile ne change rien de mon coté.

    Par contre je viens de trouver une solution plus simple pour afficher 2 couches en même temps , il suffit de specifier l'option "alwaysInrange=true" à chaque couche . Si ce paramètre est à "false" alors le div reste vide si il est à "true", la couche s'affiche correctement.
    Peut être cela vient du fait que j'utilise OpenLayers 2.9.1 et que la version 1.0 du geoportail est basé sur OpenLayers 2.8.


    Donc désormais j'arrive à afficher les 2 couches ORTHOIMAGERY.ORTHOPHOTOS et GEOGRAPHICALGRIDSYSTEMS.MAPS dans les 2 srs IGNF:MILLER et IGNF:GEOPORTALFXX.

    mais je n'arrive toujours pas à afficher les autres couches parcelles, cadastres et autres. Les tuiles renvoyées sont vides . Est ce que ces couches doivent être requétées sur des niveaus de zoom précis autres que celles définies dans la variable Geoportal.Catalogue.RESOLUTIONS ?


    En ce qui concerne, les sources de l'api , je les aies téléchargées mais à l'interieur il n'y a rien pour la builder selon la version souhaitée (pas de pom.xml ni de script ant) . Est ce normal?. ce serait quand même pratique de pour voir tester les 3 version de l'API en mode compressé ou non compressé, surtout pour les développeurs.

    Par exemple, pour utiliser une version non compressé de l'api minimum, on pourrait ajouter un paramètre comme ceci : [my folder]/geoportal-1.0/js/1.0/lib/geoportal/lib/geoportal.js?version=minifed

  4. #4
    Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 94
    Points : 55
    Points
    55
    Par défaut
    Citation Envoyé par oterral Voir le message
    En ce qui concerne, les sources de l'api , je les aies téléchargées mais à l'interieur il n'y a rien pour la builder selon la version souhaitée (pas de pom.xml ni de script ant) . Est ce normal?. ce serait quand même pratique de pour voir tester les 3 version de l'API en mode compressé ou non compressé, surtout pour les développeurs.
    Je plussois et ce depuis pas mal de temps....

    Sinon pour dépanner voici un p'tit bout de code qui va pas si mal :
    Fichiers attachés Fichiers attachés

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2010
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par shama Voir le message
    Je plussois et ce depuis pas mal de temps....

    Sinon pour dépanner voici un p'tit bout de code qui va pas si mal :

    Nickel c exactement ce qu'il me fallait, merci shama ccool:

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2010
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par oterral Voir le message
    Merci pour toutes ces réponses

    mais je n'arrive toujours pas à afficher les autres couches parcelles, cadastres et autres. Les tuiles renvoyées sont vides . Est ce que ces couches doivent être requétées sur des niveaus de zoom précis autres que celles définies dans la variable Geoportal.Catalogue.RESOLUTIONS ?

    Apres verification de tout les paramètres de la couche j'ai enfin trouvé pourquoi les couches ne s'affichent pas. Le format image/jpeg n'est pas supporté par ces couches. si on met image/png, alors les couches s'affichent correctement.

  7. #7
    Expert confirmé
    Homme Profil pro
    Ingénieur cartographe
    Inscrit en
    Avril 2009
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur cartographe
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 173
    Points : 4 224
    Points
    4 224
    Par défaut
    Citation Envoyé par oterral Voir le message
    Le format image/jpeg n'est pas supporté par ces couches. si on met image/png, alors les couches s'affichent correctement.

    Tout à fait, les informations complètes sont dans Geoportal/Catalogue.js dans les sources.

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 27
    Points : 35
    Points
    35
    Par défaut
    Toujours dans la série API IGN min et Openlayers...

    Bon j'essaye moi aussi d'obtenir une carte IGN pas déformé avec API minimale.

    http://integration.vttrack.fr/ign.html OK en projection Millet

    http://integration.vttrack.fr/ign_ko.html

    Ne marche pas en projection GEOPORTALFXX

    => gpp pas ajoutée en fin de requette WMSC (mais en levant le map.setCenter oui)

    => mais surtout BBOX qui semble pas bonne et donc peut-être une réponse 403 du serveur IGN pour cette raison !


    contrairement au cas précédent, réglé par les 3 prérequis Tile.js bien patché par IGN, image/png et non pas jpeg suivant les couches, et alwaysInRange=true

  9. #9
    Expert confirmé
    Homme Profil pro
    Ingénieur cartographe
    Inscrit en
    Avril 2009
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur cartographe
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 173
    Points : 4 224
    Points
    4 224
    Par défaut
    Citation Envoyé par Florent13 Voir le message
    Ne marche pas en projection GEOPORTALFXX
    Il faudrait que tu zieutes l'exemple avec la carte de contexte**. Cet exemple utilise OpenLayers.Control.OverviewMap en rajoutant tout les éléments nécessaires pour afficher les données. J'ai aussi souvenir d'une thread sur ce forum sur ce sujet de la carte de contexte en projection Géoportail ...

    ** le site api.ign.fr est en vrac ce matin, les équipes de production regardent ce qu'il se passe ...

Discussions similaires

  1. [VBA] Utilisation API FindWindows
    Par idir.17 dans le forum Général VBA
    Réponses: 5
    Dernier message: 28/03/2007, 14h39
  2. [API-VBA]utilisation API Printer
    Par Alexandre Sahli dans le forum VBA Access
    Réponses: 4
    Dernier message: 27/03/2007, 13h24
  3. [VB.NET 2005] Utilisation Api Avifil32
    Par guillaume1998 dans le forum C++/CLI
    Réponses: 1
    Dernier message: 01/09/2006, 14h09
  4. C# utilisation api google
    Par mohican13 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 20/07/2006, 08h03
  5. Problème utilisation API MySQL
    Par naiko dans le forum C
    Réponses: 4
    Dernier message: 11/05/2006, 09h55

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