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

Symfony PHP Discussion :

api Rest et Symfony [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre extr�mement actif
    Avatar de dukoid
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Par d�faut api Rest et Symfony
    Bonjour,

    J'ai quelques questions philosophiques sur l'utilisation de l'api Rest et surtout comment le mettre en place.

    Imaginons un gros site e commerce. Je veux utiliser Rest afin que plusieurs plateformes(mobiles, tablet, desktop..) puissent r�cup�rer les donn�es (articles,commandes...)

    donc, il va falloir 2 projets Symfony : comme �a je peux installer ces 2 projets sur des serveurs s�par�s, c'est ce qu'il y a de mieux � faire, non ?
    - un projet Symfony serveurRest : fournir les donn�es (articles, commandes... ) au format json
    - un projet Symfony eCommerce :

    le projet serveurRest contiendra donc les entit�s avec les annotations Rest

    mes questions sont les suivantes :
    - comment je g�re les entit�s dans serveurRest et eCommerce ?
    - le backend doit �tre g�rer � partir de eCommerce ?
    - lors de la cr�ation d'une commande dans eCommerce, on utilise donc rest sur le serveurRest et non plus doctrine comme d'habitude ?

  2. #2
    Membre Expert Avatar de Nico_F
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Avril 2011
    Messages
    728
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 37
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : Communication - M�dias

    Informations forums :
    Inscription : Avril 2011
    Messages : 728
    Par d�faut
    Hello,

    Alors dans l'ordre : oui si tu veux s�parer l'API du frontal, il te faudra faire deux projets (Symfony ou non) : ton frontal (ecommerce) utilisera un service ou un sdk ou un client (peu importe comment tu l'appelles) pour appeler ton API.

    Pour ce qui est du mod�le, � partir du moment ou les projets sont s�par�s il y a des chances pour qu'une petite partie du mod�le soit dupliqu�e. � toi de faire en sorte de mettre le maximum de traitement dans ton API pour ne pas avoir � traiter avec des objets du mod�le cot� frontal (dans un monde parfait si ton projet est "full-api" ton ecommerce n'aurait pas du tout besoin du mod�le).

    Seulement ton backoffice va avoir besoin du mod�le : est-ce que tu comptes API-fier ton BO ? Si la r�ponse est oui, alors le fonctionnement est le m�me, sinon pr�pare toi � dupliquer tout ton mod�le si tu veux le mettre du cot� de l'ecommerce

    Lorsque tu passes une commande, ton ecommerce aura par exemple une classe MyRESTClient � laquelle tu injecteras tous les credentials n�cessaires pour pouvoir faire des call API et tu n'auras qu'� faire quelque chose du genre $myRESTClient->createOrder($data);, cette m�thode ne fait que transformer les options pass�es en une requ�te ) ton API, c'est elle � ce moment qui fait le traitement donc c'est l'API qui a besoin de Doctrine.

    Je tiens � dire que je n'ai pas mis en pratique le d�veloppement d'API, mais j'ai commenc� � faire quelques recherches pour aller dans ce sens et c'est comme �a que j'aborderais le probl�me.
    ++

  3. #3
    Membre extr�mement actif
    Avatar de dukoid
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Par d�faut
    Merci,

    est-ce que tu comptes API-fier ton BO ?
    je n'ai pas compris

    Si la r�ponse est oui, alors le fonctionnement est le m�me, sinon pr�pare toi � dupliquer tout ton mod�le si tu veux le mettre du cot� de l'ecommerce
    justement, je voudrais savoir ou il serait le plus judicieux d'implanter le BackOffice (cot� serveur rest ou cot� eCommerce)

  4. #4
    Membre Expert Avatar de Nico_F
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Avril 2011
    Messages
    728
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 37
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : Communication - M�dias

    Informations forums :
    Inscription : Avril 2011
    Messages : 728
    Par d�faut
    Est-ce que ton backend poss�dera aussi une API ou est-ce que ces actions se trouveront cot� ecommerce ?

    Pour moi il serait judicieux de commencer ton API par le backend puisque justement il ne s'agit globalement que de m�thodes CRUD et qu'elles sont relativement simples.
    Si tu fais �a, tu peux regrouper le frontend et backend dans une seule app et aucune des deux n'a besoin du mod�le ou de doctrine : les deux utilisent l'API.

  5. #5
    Membre �m�rite Avatar de tdutrion
    Homme Profil pro
    Architecte technique
    Inscrit en
    F�vrier 2009
    Messages
    561
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 37
    Localisation : France, C�te d'Or (Bourgogne)

    Informations professionnelles :
    Activit� : Architecte technique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : F�vrier 2009
    Messages : 561
    Par d�faut
    Bonjour,

    D�j�, sache que tu pourrais tout faire dans le m�me projet (bundles diff�rents, mais dans le m�me projet), ou encore exposer les adresses � plusieurs formats (content negociation).

    J'aime bien l'id�e de s�parer, �a peut permettre au besoin de changer compl�tement ton front (par exemple tout passer en AngularJS et utiliser un framework comme ionic pour g�rer tous les fronts avec les m�me composants - bower et diff�rents repositories pour chaque directive angular). Pour le backend, tu peux aussi faire des modules (packages) que tu charges via composer (en g�n�ral on mets la couche m�tier dans un package, comme �a si on en a besoin dans plusieurs sites on fait juste un composer require).

    Pour moi tes objets m�tiers vont dans les deux projets. Dans le projet webservice, ils vont communiquer avec la base de donn�e (� l'aide d'un service qui fait le mapping avec tes entit�s doctrine), et en "front" tu les hydrates depuis le webservice.

  6. #6
    Membre extr�mement actif
    Avatar de dukoid
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Par d�faut
    et bien voil�, je comprends mieux maintenant. tu as r�pondu � toutes mes questions. merci

    pour ceux que �a int�resse, 2 applications s�par�s (pour les performances et la gestion)

    - une application serveur Rest qui va permettre de fournir des donn�es(produits...) mais aussi d'enregistrer d'autres (commandes...)
    c'est cette appli qui va contenir les mod�les

    - une application frontEnd(eCommerce ) et le BackOffice.
    on acc�de au serveur rest via une API client REST (pour r�cup�rer des donn�es ou en enregistrer)


    �a me plait !




    @theocrite
    �a peut permettre au besoin de changer compl�tement ton front (par exemple tout passer en AngularJS
    c'est l'id�e, avoir plusieurs applications ou qu'ils soient et de pouvoir acc�der aux donn�es de l'api rest.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. API REST de Google
    Par stade13 dans le forum APIs Google
    R�ponses: 3
    Dernier message: 29/10/2011, 12h02
  2. [XML] API REST : comment ca marche ?
    Par chuckichucki dans le forum Biblioth�ques et frameworks
    R�ponses: 2
    Dernier message: 18/01/2011, 14h33
  3. [Authentification] API REstful PHP
    Par yosh� dans le forum REST
    R�ponses: 1
    Dernier message: 22/07/2008, 10h33

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