Portekoi Posté 29 Mars 2012 Posté 29 Mars 2012 Bonsoir, J'aurais besoin d'interfacer un serveur (A) où se trouve les données avec un serveur ( qui lui, n'a que le Php. (Pas de BDD) Via un webservice, est il possible de gérer une zone membre? Et si oui, par où commencer? J'ai vu qu'il y avait des standards à respecter (wsdl?) mais je ne sais par où commencer. Comment sécuriser cette zone membre? Je pensais générer une chaine composée de lettres et de chiffres que je transmettrais à chaque fois à mon WebService pour authentification. Qu'en pensez-vous? Avez-vous des liens pour débuter? Autre question un peu liée : j'aimerais que mon site B soit conçu de manière à utiliser des templates. Quel système, ultra léger, je peux utiliser, Merci d'avance Portekoi
SStephane Posté 30 Mars 2012 Posté 30 Mars 2012 Si tu es en full php, tu n'as pas nécessairement besoin de wsdl, cela dit c'est préférable. Le mieux est donc de créer un webservice (serveur) sur ton serveur A avec une méthode du genre checkUser($username, $password) : cette méthode renverra ce dont tu as besoin sur b, crédits, id user etc., une chaîne json/xml peut faire l'affaire (l'idéal est tout de même de sécuriser l'appel à ce webservice, https & auth). Selon le retour du webservice sur b, tu ouvres la session etc. Tu as un exemple à télécharger en bas de page ici PS : ne fais pas lez wsdl à la main, c'est long et chiant, tu peux le générer facilement avec un composant Zend C'est pour codeigniter, mais c'est exactement le même principe pour une classe indépendante : ici, si trouves ca pénible d'insérer la bibliothèque zend, tu peux le générer avec netbeans via un plugin.
Portekoi Posté 30 Mars 2012 Auteur Posté 30 Mars 2012 Merci pour ta réponse. Je vais regarder l'exemple. Par contre, je me demande si je dois utiliser SOAP ou non car, même s'il est intégré à PHP5, certains hébergeurs ne l'ont pas activé. Ne vaudrait il pas mieux passer par cURL + retour des données au format Json que d'utiliser SOAP + wsdl... ?
SStephane Posté 30 Mars 2012 Posté 30 Mars 2012 Je dirai que tout dépend des traitements que tu as à faire, si tu as réellement besoin d'échanger des objets et dinteropérabilité etc. Un peu de lecture : http://www.clever-age.com/veille/blog/soap-vs-rest-choisir-la-bonne-architecture-web-services.html#titre4 Cela dit répondre comme ça est un peu hasardeux sans trop savoir ce qui se cache derrière ton appli. J'ai tendance à utiliser soap par commodité à partir du moment où je dois partager des objets. Si ton besoin se limite à l'authentification, bof !
Portekoi Posté 30 Mars 2012 Auteur Posté 30 Mars 2012 En gros, J'ai une page index où je dois récupérer: Soit 1 prix et divers informations par rapport à un produit (Site de type 1) Soit gérer une authentification : le mec rempli son email et mdp (md5) et si mon serveur A l'identifie, il a accès à une zone membre (Site de type 2) Si le site est de type 2 : Accès à une zone membre où la personne peut modifier son profil (Email, MDP, Prénom, CP etc.) Accès à une partie consultation de document En gros
SStephane Posté 30 Mars 2012 Posté 30 Mars 2012 Je pense que tu dois pouvoir te contenter de consulter de simples requêtes http, prend simplement garde à bien les sécuriser si les données sont sensibles.
Portekoi Posté 30 Mars 2012 Auteur Posté 30 Mars 2012 je n'ai pas de HTTPS donc comment bien sécuriser mes pages?
Portekoi Posté 30 Mars 2012 Auteur Posté 30 Mars 2012 Ok, j'ai trouvé : http://oseox.fr/curl/authentification-http.html Merci
Dadou Posté 30 Mars 2012 Posté 30 Mars 2012 J'ai déjà réalisé plusieurs Webservices, et j'utilise essentiellement SOAP. Par contre j'utilise un outil pour m'aider à générer de bon WSDL bien documentés : Oxygen. Pour l'authentification, il faut jouer avec les "header" des différents services, puis après en php c'est relativement simple, tu ajoutes les entêtes à la connexion function webservices($namespace, $wsdl, $login, $password) { $Credentials->Login = $login; $Credentials->Password = $password; $webservice = new SoapClient( $namespace.'/'.$wsdl, array( 'trace' => 1, 'soap_version' => SOAP_1_2, 'style' => SOAP_RPC, 'encoding' => SOAP_LITERAL, 'cache_wsdl' => WSDL_CACHE_NONE ) ); $header = new SOAPHeader($namespace, 'Credentials', $Credentials,false); $webservice->__setSOAPHeaders($header); return $webservice;}
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant