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

Langage PHP Discussion :

Créer une API sur la base du PHP (Zend Framework)


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 277
    Points : 93
    Points
    93
    Par défaut Créer une API sur la base du PHP (Zend Framework)
    Bonjour à tous

    Mise en situation :

    Je cherche à faire plusieurs applications tournant autour d'une même base de membres.
    Concrètement, un membre s'inscrit au site principal avec son nom, prénom, email etc. Il peut ensuite s'inscrire sur les applications. (un peu sur le principe de google (gmail), qui donne accès au calendrier, aux groups etc).

    Pour l'instant je suis partie sur l'utilisation d'une base pour l'enregistrement des membres. Les autres applications ont ensuite accès à leur base propre et à la base principale pour avoir accès aux informations sur les membres.
    Je précise que je fais tout cela en utilisant le Zend Framework mais je ne pense pas que cela est vraiment un impact sur la réflexion.

    Mon but est de supprimer cet accès pour une raison de sécurité. J'ai donc pensé à la création d'une API pour s'interfacer directement avec la base.

    Cela à également un but pratique de maintenance. Je pourrais faire des modifications sur le site principal (adapter l'API si cela est nécessaire) sans que cela ne gène le fonctionnement des applications environnantes.

    Avez vous une idée ou des pistes à me donner pour faire cela ?
    A quoi pourrait ressembler cet API ? (quel langage, comment l'utiliser etc)

    Je sais que cette question reste très vague et je vous remercie d'avance pour toute information que vous puissiez me donner.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 448
    Points : 2 284
    Points
    2 284
    Par défaut
    Le choix de ta techno va aussi dépendre de la manière dont sont séparée les sites. Si ils sont très étanche ou pas, si ils sont installés sur le même web serveur ou pas ect

    Au pif comme ca,
    - un webservice
    - une synchronisation des membres régulières
    - une lecture directe dans la base

    a plus

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 277
    Points : 93
    Points
    93
    Par défaut
    Pour l'instant, je suis parti sur une "lecture direct dans la base" mais je veux pouvoir retirer ce lien.
    Je pense donc partir sur l'utilisation du composant zend_soap du zend framework permettant ainsi d'avoir des applications complètement séparées avec une communication par webservice.
    Il me reste à savoir si cela est vraiment sécurisé et si cela n'affecte pas trop sur les performances de transfert d'information.
    Je suis preneur de tout avis ou retour d'experience sur l'utilisation de SOAP.

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 277
    Points : 93
    Points
    93
    Par défaut
    Bonjour à tous, après de nombreuses semaines, je compte reprendre le développement (ou plutôt l'étude) de mon application.
    Je pense que ce doit être le serveur qui gère tout l'affichage et pas le client (navigateur) donc je n'utiliserais pas de JS.

    Maintenant pour résumé, j'ai besoin d'avoir une moyen de communication entre les applications clientes et l'application centrale pour :
    - avoir accès à la même base utilisateur
    - avoir accès aux différentes informations du membre connecté (nombre de message non lu, amis connectés etc).

    D'après la réflexion des posts précédents et des autres forums, la "techno" la plus appropriée pour faire cela serait SOAP. Cependant, si je prends l'exemple d'un forum dans lequel on affiche chaque message avec une jointure sur la table membre pour avoir le pseudo de chaque membre par exemple. Dans notre cas, cela passerais également par SOAP.
    N'y aurait-il pas des problèmes de performance de ce coté ?

    Etant donné que j'ai la main sur tous les différents sites, qu'ils se trouveront surment sur le même serveur au départ mais que je souhaite pouvoir les mettre sur des serveurs différents par la suite, ne puis-je pas utilisé autre chose qu'un service web ? Ne pourrais-je pas utilisé une propriété du SGBD par exemple ? Une sorte de vue sur la base de l'application centrale et seule cette vue sera visible de l'application cliente... Quelles sont les limites ou la scalabilité de cette solution ?

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/04/2010, 22h23
  2. Réponses: 1
    Dernier message: 05/04/2007, 13h52
  3. aide pour créer une faq sur inno setup
    Par fsx999 dans le forum Langage
    Réponses: 3
    Dernier message: 12/06/2006, 20h16
  4. crééer une api java ?
    Par Kcrik dans le forum Langage
    Réponses: 1
    Dernier message: 28/04/2006, 17h35
  5. [Winxp] créer une partition sur un même disque
    Par goma771 dans le forum Windows XP
    Réponses: 4
    Dernier message: 07/11/2005, 14h36

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