Envoi donnée intranet vers internet

Fermé
DoulyCreations Messages postés 187 Date d'inscription lundi 11 avril 2011 Statut Membre Dernière intervention 23 mars 2015 - 12 août 2011 à 16:42
mpmp93 Messages postés 6648 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 - 17 août 2011 à 11:21
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




A voir également:

3 réponses

mpmp93 Messages postés 6648 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
17 août 2011 à 09:17
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 lundi 11 avril 2011 Statut Membre Dernière intervention 23 mars 2015 19
17 août 2011 à 09:55
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 mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
Modifié par mpmp93 le 17/08/2011 à 10:20
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 lundi 11 avril 2011 Statut Membre Dernière intervention 23 mars 2015 19
17 août 2011 à 10:53
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 mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
17 août 2011 à 11:17
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 mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
17 août 2011 à 11:21
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