Bonjour à tous,
ayant des bases suffisantes en HTML/CSS, et m'initiant au PHP, je souhaiterais réaliser un projet en INTRANET, entre deux machines distantes A et B (toutes deux sous linux, A machine côté serveur, B machine côté client), dans lequel:
- une page web index.php est stockée sur la machine A;
- lorsqu'un utilisateur ouvre une session sur la machine B et visite index.php, un script script.sh appelé par index.php (de la machine A) s'exécute sur la machine B ;
- script.sh sera dans le même dossier que index.php, sur la machine A, et visera à créer des fichiers spécifiques pour configurer une application, sur la machine B;
- script.sh n'aura besoin d'aucun argument, si ce n'est des variables d'environnements de (la sessions de) l'utilisateur sur la machine B, telles que $HOME $USER, afin de spécifier les chemins des fichiers à créer.
Je me suis alors posé les questions suivantes :
- tout d'abord, est-ce possible d'exécuter un script shell via php? en regardant divers topics, il m'a semblé que la fonction exec() permettait d'exécuter des commandes du shell (comme ls ou pwd), mais n'était pas adaptée pour lancer un script 'customisé';
- si on peut l'exécuter, comment le faire 'à partir' de la machine A, sur la machine B? Est-ce que le script, sur la machine A, peut récupérer les variables d'environnement de l'utilisateur loggé sous la machine B? Ou bien peut-être faut-il les récupérer dans un premier temps via index.php, puis les passer en argument au script?
J'ai par ailleurs lu de nombreuses fois qu'exécuter un script shell via php restait plutôt dangereux. Je préfère pour le moment laisser de côté l'aspect sécurité. En effet, ce projet ne sortira pas de mes deux machines, et je ne compte pas m'auto-hacker .
Avant de me lancer dans des recherches plus poussées, je souhaiterais surtout connaître vos opinions quant à la faisabilité de ce projet.
Passer des heures à fouiner sur le net ne me dérange en aucun cas, à condition de ne pas chercher pour rien..
Enfin, je suis désolé si, involontairement, certains des termes que j'emploie ci-dessus sont inappropriés ou trop vagues.
Merci à tous pour votre attention,
Heisen.
Partager