Page 1 sur 2

Conversation serveur client php CLI ?

Posté : 29 oct. 2015, 12:15
par echo55
Bonjour tout le monde,

Je suis actuellement sur un projet que j'ai presque terminé ( en partie grâce a vous ) , il est conçu essentiellement en php et php CLI.

Ma problématique est la suivante :

J'ai un site hébergé sur un serveur en local , je veux pouvoir y accéder sur mon réseau local seulement ( ça c'est déjà fait ) .

Seulement et la par internet je veux pouvoir converser avec ce site , j'ai donc pensé au php cli que j'utilise déjà pour d'autre choses .

Je veux juste faire un script qui lui demande des infos a partir d'un autre pc peut importe ou il est.

Pour récupérer les infos c'est pas un problème je veux juste pouvoir les envoyer par le web.

Comment procéder ? Il y a t'il des moyens plus simple ?


Merci a vous

Re: Conversation serveur client php CLI ?

Posté : 29 oct. 2015, 15:15
par @rthur
Bonjour,

Je n'ai pas bien compris ce que tu veux faire.
1) Ton script doit répondre à une requête envoyé depuis un ordi sur internet ?
ou
2) Ton script doit répondre à une requête effectuée en local mais faire une action (récupérer ou envoyer des infos) vers un ordi sur internet ?

Dans le cas 2) ça doit déjà fonctionner si ton serveur est correctement configuré.
Dans le cas 1), il est indispensable que ton script soit exposé sur internet pour pouvoir l'appeler à distance. Et là il faut que tu vérifies ta config Apache mais surtout tes configs firewall, routeur internet, etc... Si c'est possible, je te recommande de l'héberger chez un vrai hébergeur et pas sur ta propre machine pour des raisons de sécurité.

Re: Conversation serveur client php CLI ?

Posté : 29 oct. 2015, 16:52
par echo55
Mon script doit effectuer une action en local en réponse a une requête venant d'un ordinateur distant (internet) et pouvoir lui renvoyer des informations.

Re: Conversation serveur client php CLI ?

Posté : 29 oct. 2015, 19:50
par @rthur
Donc il faut bien que ton script soit accessible sur internet, donc le cas n°1 cité plus haut.

Re: Conversation serveur client php CLI ?

Posté : 30 oct. 2015, 10:57
par echo55
En effet ,

Seulement je ne sais toujours pas ou me diriger ?
PHP CLI ? un autre moyen plus simple ?

Comment procéder avec le php cli ?

Re: Conversation serveur client php CLI ?

Posté : 30 oct. 2015, 11:06
par @rthur
Pas de changement du côté de PHP, c'est uniquement du côté d'Apache et de la configuration de ton ordi/serveur qu'il faut regarder pour qu'il soit accessible de l'extérieur.
Si tu as un routeur (box de ton opérateur par exemple), il faut que tu a configure pour que le port 80 de ton IP publique pointe vers ton ordi, et il faut que tu configure antivirus et firewall pour qu'ils acceptent les connexion depuis internet (idem dans la config, ouvrir le port 80 en TCP et autoriser Apache à communiquer dessus depuis et vers un réseau public/internet).

IMPORTANT : Si tu n'as aucune connaissance en administration de serveur/administration réseau, je te déconseille très fortement de faire cela.
Cette manipulation va rendre ton ordi accessible depuis internet donc c'est une faille importante de sécurité si tu ne le fais pas correctement.

Re: Conversation serveur client php CLI ?

Posté : 30 oct. 2015, 11:39
par echo55
Je me suis peu être mal exprimé , le problème ne viens pas de la configuration elle même mais plutôt du procédé.

Comment envoyer des informations depuis mon php console ? y'a t'il un moyen qui ai été développé pour ce genre de chose , je suis quasi sur qu'il existe vu qu'il y a les sockets etc .

Je cherche seulement la fonction / méthode pour le faire.

Re: Conversation serveur client php CLI ?

Posté : 30 oct. 2015, 12:00
par @rthur
j'ai l'impression que tu pars sur une mauvaise piste...

Si ton problème est bien :
répondre a une requête venant d'un ordinateur distant (internet) et pouvoir lui renvoyer des informations
La solution la + courante, c'est de faire un webservice REST qui va être appelé via une url type http://TON_IP_PUBLIQUE/script.php

Et ton script.php va effectuer le traitement voulu (éventuellement via un appel à PHP CLI, même si je ne vois pas l'intérêt) et afficher le résultat au PC distant, par exemple en JSON ou XML pour qu'il puisse le traiter facilement.

Re: Conversation serveur client php CLI ?

Posté : 30 oct. 2015, 12:47
par echo55
C'est pas tellement le problème ,

J'utilise actuellement le php et le php cli et je souhaiterai seulement utiliser cela , ne pas utiliser nodejs etc , car oui je sais bien que c'est possible avec et je suis quasi sur qu'on peut utiliser le php cli pour faire ce que je veux , je veux juste échanger des lignes de texte sur internet .

C'est si compliqué que ça?


Je suis désolé si j'ai du mal a me faire comprendre et je te remercie de prendre du temps pour me répondre .

Re: Conversation serveur client php CLI ?

Posté : 30 oct. 2015, 12:55
par @rthur
C'est si compliqué que ça?
Ce n'est pas compliqué du tout avec ce que je t'ai dit plus haut, c'est un bête script PHP tout ce qu'il y a de plus classique.

Mais si tu veux utiliser exclusivement PHP CLI alors oui c'est compliqué car ce n'est pas adapté à ce que tu souhaites faire.


Le problème est de répondre à une requête d'un PC distant.
Pour cela tu as besoin d'un serveur qui va être en écoute permanente, en attendant des requêtes. C'est typiquement le boulot d'Apache. Et quand il reçoit une requête, il la traite avec PHP pour y répondre.

Si tu veut utiliser uniquement PHP CLI, tu vas être obligé de développer un serveur web en PHP qui doit attendre en continue des requêtes. Et ça, c'est compliqué car ce n'est pas le bon outil pour faire cela.

Re: Conversation serveur client php CLI ?

Posté : 30 oct. 2015, 12:59
par echo55
D'accord , ça commence a être plus clair .

Il me faut je pense un système qui reste en écoute car je veux pas que le client soit obligé d'aller sur mon site pour que les requêtes arrivent , il faut que ce soit en background car je veux pouvoir surveiller le système.

Re: Conversation serveur client php CLI ?

Posté : 30 oct. 2015, 13:13
par @rthur
Comment veux-tu que le client distant déclenche ton script ?
Faire un appel à une url me semble le + simple et efficace, non ?

Re: Conversation serveur client php CLI ?

Posté : 30 oct. 2015, 13:21
par echo55
C'est bien pour cela que je suis ici ,

Je ne sais pas comment procéder , je veux que le client n'ais pas besoin d'ouvrir un url pour que je récupéré les infos souhaité .

Je veux faire un script qui se lance périodiquement avec le planificateur window sur le pc du client . Sauf que je veux ensuite pouvoir envoyer ces informations par le net et c'est la mon problème .

Re: Conversation serveur client php CLI ?

Posté : 30 oct. 2015, 15:16
par @rthur
Ok, je commence à comprendre.
Les informations renvoyées par ton serveur doivent être envoyé vers le PC du client, c'est bien ça ? Que doit faire le PC du client avec ces informations ?

Re: Conversation serveur client php CLI ?

Posté : 30 oct. 2015, 15:30
par echo55
Je suis vraiment désolé aha,

Je t'explique le système entier ce sera plus simple:

Il arrivera des fois ou je ferai des update de logiciels etc qui seront sur le pc du client , je veux juste pouvoir envoyer un signal au pc pour lui dire d'afficher attention mise a jour disponible par exemple , ou toute autre information aussi simple que ça.

Ou également , demander au pc du client a combien sont rempli ses disques durs , j'ai déjà tout fait pour stocker etc les données , je veux juste pouvoir les envoyer du pc client , au miens

Donc le pc client reçoit un signal qui lui renvoie moi tel information .... , ce qu'il fait .