Forums de la communauté francophone du CMS TYPO3: Afficher Des Éléments Externes - Forums de la communauté francophone du CMS TYPO3

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

Afficher Des Éléments Externes par un webservice ?

#1 L'utilisateur est hors-ligne   CedLyon 

  • Nouveau
  • Pip
  • Groupe : Membres
  • Messages : 23
  • Inscrit(e) : 24-janvier 11

Posté 27 janvier 2011 à 13:49

Bonjour,
Je dois afficher sur certaines pages des éléments qui, pour des raisons internes au projet, sont extérieures à Typo3. Il y a notamment des formulaires et leurs traitements, des images, etc.
La solution la plus simple a priori serait des iframes contenant les éléments voulus. Mais cette solution, notamment pour des raisons d'accessibilité et de rendu CSS, n'est pas géniale (on serait obligé de proposer un lien vers les éléments et donc de sortir du site pour que la fonctionnalité soit accessible).
Une autre solution est que Typo3 puisse faire une requête pour accéder à ces éléments.
Es-ce qu'il y a un moyen simple de faire cela via une extension ? A priori il faudrait passer par un service web, quel protocole ? Coté Typo3 ,qui serait le client, quelle extension utiliser ? J'ai vu qu'il y avait eim2nusoapet bb_nusoap notamment, mais il n'y a pas de documentation. Permettent elles d'accéder à un serveur soap sans avoir à créer une extension spécifique ?
Merci de votre aide.

Ce message a été modifié par CedLyon - 27 janvier 2011 à 13:53.

0

#2 L'utilisateur est hors-ligne   OlivierSC 

  • Super Membre
  • PipPipPipPipPipPip
  • Groupe : Membres
  • Messages : 659
  • Inscrit(e) : 26-juin 09

Posté 27 janvier 2011 à 14:18

bonjour,

Peux tu préciser un peu ta demande?

1) est ce que le contenu que tu as intégrer dans ton site est complètement autonome (ex une page HTML existante) ?

2) est ce que ce contenu est sur un autre site? ou juste dans un répertoire précis de ton meme site TYPO3?

3) tu évoques la présence de formulaires, donc est ce qu'une fois intégré dans ta page, il doit être possible de soumettre ce formulaire (en restant sur ton site) et d'enregistrer les données (sur un site exterieur) ?


OlivierSC
0

#3 L'utilisateur est hors-ligne   CedLyon 

  • Nouveau
  • Pip
  • Groupe : Membres
  • Messages : 23
  • Inscrit(e) : 24-janvier 11

Posté 27 janvier 2011 à 15:07

1) Le contenu est complètement autonome. C'est un bout de code HTML (il n'y a pas la balise HTML, HEAD, BODY, juste <div> ... mon contenu ... </div>) et est directement accessible depuis une URL (par ex : monsite.com/mesdonnees). Il est généré par une application dans une autre technologie.

2) Cf 1.

3) Oui, il y a du traitement à faire avec les données envoyées par formulaire. Il faut soumettre les informations saisies dans le formulaire à la même URL (monsite.com/mesdonnees), qui renvoie un bout de HTML dont le contenu dépend de ce qui a été saisi dans le formulaire.
0

#4 L'utilisateur est hors-ligne   CedLyon 

  • Nouveau
  • Pip
  • Groupe : Membres
  • Messages : 23
  • Inscrit(e) : 24-janvier 11

Posté 28 janvier 2011 à 10:30

J'ai trouvé l'extension Lumonet PHP include (lumophpinclude) qui fait très bien ce que je cherche en HTTP avec la méthode GET. Il n'y a pas encore la méthode POST. Existe-t-il une extension semblable à celle-ci qui pemettrait de faire des requetes HTTP avec la méthode POST ?

Citation

What does it do?
This extension lets you include complete external PHP solutions (e.g. message boards or image galleries) into TYPO3. With this extension you are able to select a local PHP script as well as a call a script written in any language on a remote server via a real HTTP request.

LumoNet PHP Include collects all data sent to the page where the plugin is used and transfers it to the called script (this only applies to remote calls as local scripts are just included ans thus have access to all GET, POST and other server data anyway). The user can choose to have GET data transferred to the called remote script (the transfer of POST data, cookies and even the handling of file uploads will be realized in future versions).

LumoNet PHP Include also provides the ability to strip the resulting content of a called remote app so one can use the PHP app stand-alone as well as integrated in a TYPO3 website.



Ce message a été modifié par CedLyon - 28 janvier 2011 à 10:33.

0

#5 L'utilisateur est hors-ligne   Oom Paul 

  • Le bucheron bucheronant
  • PipPipPipPipPipPipPip
  • Groupe : Administrateur
  • Messages : 2225
  • Inscrit(e) : 15-février 06

Posté 28 janvier 2011 à 10:52

attention :
1/ les cadres dans le cadre de l'accessibilité (Accessiweb 2.2) ne posent pas particulièrement de soucis
2/ les extensions insérant directement du php sur la page ne sont pas toujours sécurisés (cross scripting...)

Deux solutions :
- webservices (très bonne extensions)
- connexion directe (et intelligente) à la BDD externe.

Bon courage... et bon transport :)
0

#6 L'utilisateur est hors-ligne   phf64 

  • Membre
  • PipPipPip
  • Groupe : Membres
  • Messages : 191
  • Inscrit(e) : 03-mars 06

Posté 28 janvier 2011 à 11:23

Et le développement d'une extension basique qui utiliserait cURL pour récupérer/envoyer ton contenu?
0

#7 L'utilisateur est hors-ligne   rakel 

  • Super Membre
  • PipPipPipPipPipPip
  • Groupe : Modérateur
  • Messages : 926
  • Inscrit(e) : 30-septembre 05

Posté 28 janvier 2011 à 12:14

franchement, je ne vois pas pourquoi développer une extension alors que les iframes ne posent pas de soucis en terme d'accessibilité, il suffit de mettre le lien vers la page html dans la balise noframe (en gros).
http://www.accessiwe...-fiche-2-3.html
http://www.accessiwe...ternative_cadre
0

#8 L'utilisateur est hors-ligne   phf64 

  • Membre
  • PipPipPip
  • Groupe : Membres
  • Messages : 191
  • Inscrit(e) : 03-mars 06

Posté 28 janvier 2011 à 12:22

Il me semble juste que le contenu n'est pas sous forme de pages HTML complètes, mais de bouts de code. Est ce qu'on peut avoir un code du type
<div>Mon contenu</div>
dans une iframe? Si oui, c'est effectivement le plus simple.
0

#9 L'utilisateur est hors-ligne   rakel 

  • Super Membre
  • PipPipPipPipPipPip
  • Groupe : Modérateur
  • Messages : 926
  • Inscrit(e) : 30-septembre 05

Posté 28 janvier 2011 à 12:32

non, ça, ce n'est pas accessible...
ce formulaire, il valide des champs avant d'être envoyé ? la validation se fait-elle en js ou en php ?
0

#10 L'utilisateur est hors-ligne   OlivierSC 

  • Super Membre
  • PipPipPipPipPipPip
  • Groupe : Membres
  • Messages : 659
  • Inscrit(e) : 26-juin 09

Posté 29 janvier 2011 à 10:15

Bonjour,

Si il doit y avoir simplement la lecture d'un document, et la répercussion de variables en GET/POST, il doit être possible de faire un petit développement à partir des fonctions cURL de PHP.

cURL est une librairie qui permet d'ouvrir des connexions (entres autres) HTTP (vers une autre page web) en passant des informations (variable GET ou POST dans le cas d'une page web) et de récuper le contenu généré.


Exemple de fonctionnement :

Si pas de variable en POST :
- cURL en GET de l'url du formulaire

Si variables POST présentes :
- Recupération des variables POST
- cURL en POST des variables récupérés vers la page d'enregistrement du formulaire

Documentation cURL

Tu peux regarder sur le TER, il y a quelques exemples d'extensions qui semblent utiliser cURL dont powermail_sendpost

OlivierSC
0

#11 L'utilisateur est hors-ligne   Kamen 

  • Nouveau
  • Pip
  • Groupe : Membres
  • Messages : 40
  • Inscrit(e) : 04-juillet 11

Posté 14 février 2012 à 20:01

Bonjour,
Je suis confronté à un problème à peu près similaire.

Mon typo3 doit communiquer avec un web service pour récupérer des flux xml et pour cela j'utilise la librairie nu_soap, jusqu'ici tout va bien.
Le problème est que le serveur sur lequel est logé le typo3 est un serveur DMZ et pour accèder au web service, il doit passer par un proxy.
J'ai donc configuré mon php pour utiliser cURL et mon typo3 install le faire passer par mon proxy.

A partir de là, est ce que tous les flux sortant du serveur sont par défaut redirigé vers le proxy ou est ce qu'il faut que je rajoute en plus des fonctions cURL dans mon extension pour qu'il puisse communiquer avec le web service ? car pour le moment il continue de rien faire.

j'espere être clair dans mes explications.

Kamen
0

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)