Bonjour,
Je suis programmeur débutant C++ utilisant Qt, et j'aimerai héberger un site contenant du PHP contenant des boutons qui activerai des actions dans mon programme C++.
Je n'y connais rien en HTML/PHP/autres...
Donc, je sais pas trop comment faire, pour l'instant je pense à 2 solutions :
- En passant par une base de données : j'aime pas trop ça implique que le programme C++ scrute dans une boucle la base.
- Envoyer des trames TCP/IP en local en ouvrant un socket dans l'application : il me semble que c'est possible en PHP.
Sinon il y'a peut être des modules à associé au PHP qui aide ?
# PS
Posté par ilip . Évalué à 1.
J'ai pas trouvé comment on modifie un message sur ce forum.
# Ca me fend le clavier de répondre...
Posté par mansuetus (site web personnel) . Évalué à 2.
http://php.net/manual/fr/function.system.php
Evite à tout prix d'y passer un paramètre !
(sauf via du SQL (injections ^^) et encore)
Nb : si le client coupe la connection au milieu, le script sera tué dans la foulée.
[^] # Re: Ca me fend le clavier de répondre...
Posté par Marc Quinton . Évalué à 4.
[^] # Re: Ca me fend le clavier de répondre...
Posté par Ellendhel (site web personnel) . Évalué à 0.
J'ai lu "Le langage php possède des failles sur toutes les bibliothèques connues."
Je dois lire trop de littérature sur la sécurité.
# fork & pipe
Posté par ilip . Évalué à 1.
"les pipes, les forks"
Le php est interprété par le serveur, donc je vois pas trop comment faire un fork.
Tu parle bien de fork sur le serveur PHP ?
Pour l'instant je vois que TCP, en envoyant des trames directement du code PHP
[^] # Re: fork & pipe
Posté par Marc Quinton . Évalué à 2.
- http://fr.php.net/manual/fr/function.socket-create.php
- http://fr.php.net/manual/fr/function.popen.php,
- http://fr.php.net/manual/fr/function.pcntl-fork.php
# Mémoire partagée
Posté par pititom . Évalué à 4.
[^] # Re: Mémoire partagée
Posté par Obsidian . Évalué à 1.
S'il s'agit d'associer un bouton à une routine, autant faire passer directement le numéro du bouton à travers le socket. Et s'il s'agit d'un projet scolaire, il n'est pas impossible qu'on te demande de regarder du côté des R.P.C. ou de Corba.
# Hébergé en local ou sur le net?
Posté par Guillaume ALAUX (site web personnel) . Évalué à 1.
Une question peut-être avant d'aller plus loin : est-ce que le site que tu veux faire sera hébergé chez toi où par un hébergeur d'Internet?
Car si tu veux le faire par un hébergeur d'Internet : aucun ne te laissera le faire. Cela implique trop de problème de sécurité. La plupart des hébergeurs proposent du PHP mais sans plus. Ce que tu cherches à faire (un front-end PHP faisant appel à un back-end C++ ou autre est généralement réservé aux portails et n'est donc pas leur cible)
Si tu veux l'héberger chez toi : dans ce cas ça doit être possible même s'il doit y avoir des solutions plus adaptées.
# tube nommé
Posté par podoc . Évalué à 1.
Comme tu es sous linux et si tes 2 programmes sont sur la même machine. tu crées un tube nomme
mkfifo /chemin/vers/tube
Puis avec php tu écris tes demandes dans ce fichier
et tu lis comme un fichier normal avec ton programme c++
nota bene : ton programme c++ dois être lance d'abord avant d'écrire dans ton tube avec php sinon celui-ci va rester bloque en écriture
Cordialement
[^] # Re: tube nommé
Posté par srb (site web personnel) . Évalué à 0.
http://php.net/manual/fr/function.exec.php
# DBus ?
Posté par meumeu1402 . Évalué à 3.
Pourquoi s'embeter avec des ipcs compliquées ?
[^] # Re: DBus ?
Posté par Obsidian . Évalué à 1.
# Essais TCP
Posté par ilip . Évalué à 1.
serveur TCP en Qt
un socket en PHP
j'envoie une trame dans le PHP avec socket_write
je la reçoit bien dans Qt.
par contre je vais avoir un soucis :
dans ce sens je peux interpréter instantanément la trame dans Qt grâce au signal readyRead()
mais coté PHP, je crois pas qu'il puisse déclencher un signal quand qqc arrive sur le socket.
et je vois pas trop comment lire régulièrement la socket PHP sans être bloquant.
[^] # Re: Essais TCP
Posté par benoar . Évalué à 2.
[^] # Re: Essais TCP
Posté par ilip . Évalué à 1.
[^] # Re: Essais TCP
Posté par Obsidian . Évalué à 2.
− L'appel système select() sous Unix sert à se mettre à surveiller simultanément plusieurs sockets ou descripteurs de fichiers ;
− La balise <SELECT> en HTML, dans une page Web, permet de définir une liste déroulante.
[^] # Re: Essais TCP
Posté par ilip . Évalué à 1.
l'objectif est que lorsque des données arrivent dans la socket du serveur php, une fonction se lance automatiquement.
ca éviterai de scruter constament la socket dans un thread.
mais je sais pas si c'est possible en PHP.
sinon peut être qu'a partir du programme C++ je peux grâce à une commande en DBUS amener le serveur PHP à faire une procédure.
[^] # Re: Essais TCP
Posté par benoar . Évalué à 2.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.