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

Web & réseau Delphi Discussion :

TRestClient, RestDEMOS dans les exemples ne fonctionne pas


Sujet :

Web & réseau Delphi

  1. #1
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 388
    Points : 2 999
    Points
    2 999
    Par défaut TRestClient, RestDEMOS dans les exemples ne fonctionne pas
    Bonjour

    Histoire de comprendre un peu mieux tout ça, j'ouvre l'exemple livré avec XE7 : RestDemos.exe
    Je le lance dans Delphi, je clicc sur le bouton fetch et

    ---------------------------
    Notification des exceptions du débogueur
    ---------------------------
    Le projet RESTDemos.exe a déclenché la classe d'exception EIdIOHandlerPropInvalid avec le message 'Valeur IOHandler non valide'.
    ---------------------------
    Arrêter Continuer Aide
    ---------------------------

    Sauf que je ne vois pas de propriété IOHandler dans les composants.

    Est-ce que ça peut venir de ma version de Windows ? (W 10)

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    AMHA non cela ne vient pas de windows.
    Pour les démos, plus simple, si tu as REST tu doit avoir RESTDebugger à partir de RestDebugger tu peux facilement générer les composants nécessaires.
    Le hic avec ta demande sur ton autre discussion, c'est que le JSON est un peu chiant, sinon tu aurais pu aussi utiliser le set complet (de restdebugger) pour avoir aussi une table mémoire des données.
    Nom : Capture.PNG
Affichages : 68
Taille : 30,4 Ko
    le fait qu'il n'y ait pas de nom de racine donne un truc tabulaire (troisième onglet) non réalisable (du moins pour mes essais) dommage
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    le couche REST sous-jacente du TRESTClient a changé, Il faudrait lire en profondeur de IPPeerCommon et IPPeerClient

    Mais IPPeerClient est codé via Indy mais pourtant récemment, j'ai eu un problème avec l'implémentation THTTPClient (System.Net.HttpClient)
    J'ai du mal à comprendre le lien de couche sous le TRESTClient
    Par exemple cela utilise TRESTHTTPProcs.FixupURL juste pour parser l'URL c'est ce qui maintient une dépendance à IPPeerAPI qui me semble inutile

    Possible qu'en XE7 que le TRESTClient soit dépendant d'Indy ce qui ne l'est plus en D10 (je n'avais pas besoin des deux DLL)
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  4. #4
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 388
    Points : 2 999
    Points
    2 999
    Par défaut
    J'ai aussi essayé avec RestDebugger mais en renseignant les paramètres et ça n'a pas fonctionné.
    Je testerai cet après-midi comme tu l'as fait. Là je suis pas dispo avant 14h00.


    pause café ! Résultat avec RestDebugger

    ---------------------------
    Erreur
    ---------------------------
    La requête REST a échoué : Erreur lors de la connexion avec SSL.

    error:1409442E:SSL routines:ssl3_read_bytes:tlsv1 alert protocol version.
    ---------------------------
    OK
    ---------------------------

    J'ai mis les dll openssl les plus récentes dans le répertoire de compilation du projet mais ça ne change rien

  5. #5
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Certainement, une question de version de Delphi. Mais bon, XE7 n'est plus installé sur mes postes.
    Ce qui m'étonne, c'est ton histoire de paramètres, car je n'en vois aucun dans la documentation de l'API (encore une raison de plus pour me permettre d'écrire qu'elle est vraiment mal fichue !)

    zip, testé en 11.3.1 entreprise
    Fichiers attachés Fichiers attachés
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  6. #6
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 388
    Points : 2 999
    Points
    2 999
    Par défaut
    les paramètres sont indiqués sur cette page: https://calendrier.api.gouv.fr/jours...ne%7D.json/get

    Le lien qui pointe sur la doc mène à un fichier descriptif ci-dessous :

    openapi: "3.0.0"
    info:
    version: 1.0.0
    title: Jours fériés en France
    servers:
    - url: https://calendrier.api.gouv.fr/jours-feries/
    paths:
    /{zone}.json:
    get:
    summary: Liste les jours fériés pour une zone, 20 ans dans le passé et 5 ans dans le futur
    parameters:
    - name: zone
    in: path
    description: Le nom de la zone
    required: true
    example: metropole
    schema:
    $ref: '#/components/schemas/Zone'
    responses:
    '200':
    description: Les jours fériés
    content:
    application/json:
    schema:
    $ref: "#/components/schemas/Dates"
    /{zone}/{annee}.json:
    get:
    summary: Liste les jours fériés pour une zone, pour une année
    parameters:
    - name: zone
    in: path
    description: Le nom de la zone
    required: true
    example: metropole
    schema:
    $ref: '#/components/schemas/Zone'
    - name: annee
    in: path
    description: L'année pour les jours fériés
    required: true
    example: 2025
    schema:
    type: integer
    example: 2025
    responses:
    '200':
    description: Les jours fériés
    content:
    application/json:
    schema:
    $ref: "#/components/schemas/Dates"
    components:
    schemas:
    Dates:
    description: Les dates et noms des jours fériés. Les clés sont les dates en ISO 8601, les valeurs sont les noms des jours fériés.
    type: object
    additionalProperties:
    type: string
    example:
    "2025-01-01": "Jour de l'an"
    "2025-04-21": "Lundi de Pâques"
    "2025-05-01": "Fête du Travail"
    "2025-05-08": "Victoire des alliés"
    "2025-05-29": "Ascension"
    "2025-06-09": "Lundi de Pentecôte"
    "2025-07-14": "Fête Nationale"
    "2025-08-15": "Assomption"
    "2025-11-01": "Toussaint"
    "2025-11-11": "Armistice"
    "2025-12-25": "Noël"
    Zone:
    type: string
    description: Nom des zones reconnues
    example: metropole
    enum:
    - alsace-moselle
    - guadeloupe
    - guyane
    - la-reunion
    - martinique
    - mayotte
    - metropole
    - nouvelle-caledonie
    - polynesie-francaise
    - saint-barthelemy
    - saint-martin
    - saint-pierre-et-miquelon
    - wallis-et-futuna
    Moi j'avais mis zone et annee mais il semble que juste zone soit nécessaire.
    Ce qui ne change pas le problème sur le Delphi cible.

    Bon, je télécharge le fichier complet avec l'aide précieuse de Shaï, pas de problème.
    Mais j'aurais aimé comprendre l'autre manière de le faire.

    J'ai une 10.4 installé sur un autre poste. J'essaierai mais là, c'est spécifique pour XE7, le client n'a que cette version.

  7. #7
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Tu peux juste changer l'URL du GET : "https://calendrier.api.gouv.fr/jours-feries/metropole/2025.json" qui ne te fournira que la section souhaitée ou "https://calendrier.api.gouv.fr/jours-feries/alsace-moselle/2025.json" qui retourne un jour férié de plus.
    L'année est optionnelle mais la zone est requise.
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  8. #8
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 388
    Points : 2 999
    Points
    2 999
    Par défaut
    Oui j'ai vu qu'on pouvait avoir une année en particulier.
    Ce que tu m'as indiqué sur l'autre post pour charger directement le fichier fonctionne très bien. Merci encore.
    C'est juste que je voulais essayer avec les autres composants Rest :-)

  9. #9
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par Papy214 Voir le message
    les paramètres sont indiqués
    sauf que ce ne sont pas vraiment des paramètres tels que je l'entends, mais plus un chemin URL à créer.
    Rien à voir avec des paramètres comme ceux que me demandait Prestashop ou Woocommerce. ou comme le tutoriel peut le montrer

    En bref, ces APIs gouvernementales sont plutôt "bof!"
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 19
    Dernier message: 01/11/2021, 11h06
  2. [Concorde] Les exemples ne fonctionnent pas
    Par KAWTHER RAOUA dans le forum Bibliothèques
    Réponses: 0
    Dernier message: 18/06/2014, 15h29
  3. Les matériaux dans triangle mesh ne fonctionnent pas ?
    Par supergrey dans le forum PhysX et APEX
    Réponses: 0
    Dernier message: 05/12/2009, 19h21
  4. Les exemples ne fonctionnent pas
    Par lisco dans le forum Qwt
    Réponses: 10
    Dernier message: 13/08/2009, 15h37

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