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

Delphi Discussion :

Delphi et Joomla


Sujet :

Delphi

  1. #1
    Membre chevronn� Avatar de der�en
    Homme Profil pro
    Bretagne
    Inscrit en
    Septembre 2005
    Messages
    1 097
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Bretagne
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 097
    Par d�faut Delphi et Joomla
    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.

  2. #2
    Expert confirm�
    Avatar de anapurna
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 491
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 491
    Par d�faut
    Salut

    joomla n'est rien d'autre qu'un cms en php
    donc c'est les technos web (Rest, RESTful,...) qui peuvent s'appliquer

  3. #3
    Expert �minent
    Avatar de ShaiLeTroll
    Homme Profil pro
    D�veloppeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 093
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 44
    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 : 14 093
    Par d�faut
    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
    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
    Avatar de Gouyon
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 139
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 139
    Billets dans le blog
    5
    Par d�faut
    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
    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
     
    <?php
    $mysqli = new mysqli("host", "identifiant", "motdepasse", "base de données");
    if ($mysqli->connect_errno) {
        $echo = "ERREUR=PAS DE CONNEXION BDD!ERREUR";
    } else {
    	$req = "SELECT ref,nom FROM `t_pays`";
    	if ($_POST['param1']>0) 
    	$req.=" WHERE continent=".$_POST['param1'];
    	$req.=" ORDER BY nom";
    	$resultat = $mysqli->query($req);
    	if (! $resultat) {
    		$reponse[]= array("REQ"=>"ECHECSQL","REQUETE"=>$req,"NUMERRSQL"=>$mysqli->errno,"ERRSQL"=>$mysqli->error);
    	} else 
    	      {
    		$resultat->data_seek(0);
    		$reponse[]= array("REQ"=>"LISTEPAYS");
    		while ($repbdd = $resultat->fetch_assoc()) 
    			{
    				$reponse[]=$repbdd;
    			}			
    		}	
    		echo json_encode($reponse);	
    }
     
    ?>
    Pour me faciliter la vie je fait en sorte que le retour du code PHP soit au format json.

    Pour interroger le script voici ce que je fais.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
     params := TStringList.Create;
     params.Add(Format('param1=%d', [Reference]));
     ReqHTTP.Post(urlreq, params);
     params.Free;
    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 : 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
     
    procedure TdmPDB.retourSite(const Sender: TObject; const AResponse: IHTTPResponse);
    var
      ret: string;
      jsonval: TJsonValue;
      lstelem: TJSONArray;
     
    begin
     
      try
        ret := AResponse.ContentAsString(TEncoding.UTF8);
      except
        on E: Exception do
          ret := '';
      end;
      if pos('[{', ret) = 1 then
      begin
        jsonval := TJsonObject.ParseJSONValue(ret);
        lstelem := jsonval.GetValue<TJSONArray>();
        //decodage du json
      end;
     
    end;
    Et �a fonctionne tr�s bien sous Windows, Android et Mac

  5. #5
    Membre chevronn� Avatar de der�en
    Homme Profil pro
    Bretagne
    Inscrit en
    Septembre 2005
    Messages
    1 097
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Bretagne
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 097
    Par d�faut
    Merci Gouyon pour cette excellente piste de r�flexion�


Discussions similaires

  1. Différences entre Delphi et Visual Basic ?
    Par Anonymous dans le forum D�bats sur le d�veloppement - Le Best Of
    R�ponses: 75
    Dernier message: 30/03/2009, 20h09
  2. R�ponses: 1
    Dernier message: 13/05/2002, 09h19
  3. [Kylix] Migration delphi -> kylix
    Par Christian dans le forum EDI
    R�ponses: 1
    Dernier message: 03/04/2002, 22h50
  4. R�ponses: 4
    Dernier message: 27/03/2002, 11h03
  5. R�ponses: 2
    Dernier message: 20/03/2002, 23h01

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