Bonjour,
Je cherche à interfacer Delphi avec l’API de joomla, je n’ai trouvé que peux d’infos sur le développement entre les deux, auriez-vous des liens utiles qui me ferait gagner du temps sur ce sujet ?
Je vous remercie par avance.
Version imprimable
Bonjour,
Je cherche à interfacer Delphi avec l’API de joomla, je n’ai trouvé que peux d’infos sur le développement entre les deux, auriez-vous des liens utiles qui me ferait gagner du temps sur ce sujet ?
Je vous remercie par avance.
Salut
joomla n'est rien d'autre qu'un cms en php
donc c'est les technos web (Rest, RESTful,...) qui peuvent s'appliquer
Clairement, c'est côté Joomla que cela semble peu natif avec la nécessité d'installer des plugins pour gérer les API REST, une fois que tu auras via PostMan un jeu de test fonctionnel avec les API désiré, il faudra convertir cela en Delphi, et c'est assez trivial avec un TIdHTTP ou un TRESTClient
Donc
1- Installer les Plugins Joomla
2- Etudier la gestion du Bearer Auth de Joomla
3- Se créer un jeu de test sous PostMan (Ce qui semble particulièrement mal documenté)
4- Se créer des classes en Delphi pour manipuler la REST API comme des Objets
Je gère plusieurs site sous joomla qui sont interfacés avec des applications delphi. Ce qu'il faut savoir c'est que tout le site est contenu dans la base de donnée. Donc pour récupérer et/ou envoyer des données il faut accéder à la base de données.
La solution que j'ai adoptée (qui n'est peut être pas la meilleure) est d'utiliser des scripts php que je viens interroger avec le composant du TNetHTTPRequest
Exemple:
Le script php
Pour me faciliter la vie je fait en sorte que le retour du code PHP soit au format json.Code:
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
Pour interroger le script voici ce que je fais.
J'utilise ensuite la fonction OnRequestCompleted pour récupéré le résultat sous la forme d'une liste d'objet json qui seront ensuite décodé.Code:
2
3
4
5
Et ça fonctionne très bien sous Windows, Android et MacCode:
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Merci Gouyon pour cette excellente piste de réflexion…
:king: