Envoi donnée intranet vers internet

DoulyCreations Messages postés 187 Date d'inscription   Statut Membre Dernière intervention   -  
mpmp93 Messages postés 6648 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un soucis pour me décider de la méthode à entreprendre pour faire de l'envoi de donnée de l'intranet vers internet.
Je m'explique.
J'ai une gestion d'offre d'emploi faite sur mon site intranet et à partir de celui-ci, un collègue a besoin d'envoyer ses offres en ligne avec le moins de manipulation possible. Avec un seul clic cela doit être fait.

J'ai réfléchi à plusieurs solutions:
- J'envoi par entête http les données textuelles de façon crypté dans un fichier.php bien tordu (du genre uibbgif1564.php)
- J'envoi un fichier .txt sur mon FTP dans un endroit spécifique et quand quelqu'un arrive sur n'importe quelle page du site internet, ça fait appel à un script qui fait la requête SQL.

Ensuite mon problème est de me connecter par un FTP à partir d'un site intranet pour envoyer des images. Je sais le faire directement par formulaire sur le site internet mais pas à distance.

si vous pouvez m'aiguiller sur le problème et me dire quelle solution convient le mieu, ou même si vous avez une autre suggestion à proposer je suis preneur.

Merci d'avance




3 réponses

mpmp93 Messages postés 6648 Date d'inscription   Statut Membre Dernière intervention   1 340
 
Bonjour,

La solution s'appelle un Web Service.

Il y a deux stratégies:
- WS SOAP, le plus lourd à mon sens, mais compatible avec les architectures logicielles JAVA
- WS REST, le plus simple. On envoie les données en mode GET ou POST comme pour l'envoi des données à partir d'un formulaire.

J'explique tout ici:
http://html5.immo-scope.com/index.php?page=webservices/WsRestFullViaZendFramework

Seule contrainte, installer Zend Framework.

A+
0
DoulyCreations Messages postés 187 Date d'inscription   Statut Membre Dernière intervention   19
 
Merci pour cette réponse,

mais pour l'envoi d'une image d'un serveur local vers le ftp du site web en passant par un proxy je pense pas que ça soit suffisant.

A ce jour j'ai réussi à me connecter sur le FTP grâce à Curl, je récupère bien ce qu'il y a comme structure du site mais je n'arrive pas encore a envoyer de fichier sur celui-ci...

Et puis il y a une faille un peu génante, c'est que la requête par Curl se passe par ftp://........ donc avec un sniffer on peut facilement récupérer les pass du FTP...
0
mpmp93 Messages postés 6648 Date d'inscription   Statut Membre Dernière intervention   1 340
 
Pour l'image:
- faire une fonction qui va lire les données de l'image et les met dans une variable
- envoyer le contenu de cette variable en mode POST
- à l'arrivée, sur le serveur client WS REST, récupérer les données de l'image dans une variable et mettre le contenu de cette variable dans un fichier avec extension jpg ou png...
- en WS REST la sécurité est aisée: le serveur a une adresse IP fixe, le client va tester cette adrresse IP. Si la requête WS REST vient pas de lui, on rejette la requête...
- en WS REST, pas besoin de FTP et autres manoeuvres bidouilleuses...

Je vous conseille vraiment cette méthode que j'applique sur plusieurs sites professionnels dont deux qui communiquent justement Intranet->Internet. J'utilise sur cette architecture le Zend Framework.

Vous posez une question. Je suis professionnel. Je prends le temps de vous répondre... Libre à vous d'estimer ma réponse insuffisante, mais je vous garantis que la stratégie du WS REST - à mon sens - me semble la plus adaptée à votre situation.

A+
0
DoulyCreations Messages postés 187 Date d'inscription   Statut Membre Dernière intervention   19
 
Merci bien de votre réponse encore et désolé si je vous ai importuné. Je pensait pas que c'était possible de passer une image en donnée et la reconvertir en image à la sortie.

Je vais m'y intéressé de suite car ça a l'air d'être assez compliqué à recollé les morceaux de codes qui correspond.

Merci encore,
Cordialement
0
mpmp93 Messages postés 6648 Date d'inscription   Statut Membre Dernière intervention   1 340
 
Pour lire une image:
$nomImage = "monImage.jpg";
$lienImage = 'images/'.$nomImage; // exemple de lien vers monImage.jpg dans repertoire images
$monImage = file_get_contents($lienImage);

Ensuite, vous passez en paramètres POST $nomImage et $monImage

A l'arrivée, vous récupérez nomImage pour sauvegarder le contenu comme ceci par exemple:

file_put_contents($nomImage, $monImage);

Comme le contenu du formulaire POST géré en WS REST via le ZEND FRAMEWORK n'est pas une saisie dans un champ mais un contenu généré par programme, il peut contenir du code binaire sans trop de problème. S'il y avait des soucis, penser éventuellement à l'encoder en base64.

ATTENTION: la totalité des données en POST a une taille limitée. Donc, attention à la taille des images. En général, les serveurs n'acceptent pas plus de 2MO par formulaire POST... mais c'est variable.

A+
0
mpmp93 Messages postés 6648 Date d'inscription   Statut Membre Dernière intervention   1 340
 
Pour le ZEND FRAMEWORK, c'est ici:
http://framework.zend.com/manual/fr/zend.rest.client.html

Je conseille d'installer le Zend Framework sur les deux systèmes: coté serveur et coté consommateur.
- serveur Intranet avec le pseudo formulaire chargé d'envoyer les données
- serveur Internet qui reçoit les données et les écrit
A+
0