Bouton changement d'image
Résolu/Fermé
nocram18
Messages postés
471
Date d'inscription
vendredi 26 avril 2013
Statut
Membre
Dernière intervention
16 juillet 2017
-
25 juil. 2016 à 16:23
nocram18 Messages postés 471 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 16 juillet 2017 - 25 juil. 2016 à 22:48
nocram18 Messages postés 471 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 16 juillet 2017 - 25 juil. 2016 à 22:48
A voir également:
- Bouton changement d'image
- Changement d'écriture - Guide
- Image iso - Guide
- Acronis true image - Télécharger - Sauvegarde
- Réinitialiser chromecast sans bouton - Guide
- Faststone image viewer - Télécharger - Visionnage & Diaporama
3 réponses
Pur faire ça il faut qu'il y ait une base de données qui retienne l'état du serveur(on/off).
Et donc changer cet état quand on lance le shell, bref pas grand chose avec javascript car côté client.
Et donc changer cet état quand on lance le shell, bref pas grand chose avec javascript car côté client.
nocram18
Messages postés
471
Date d'inscription
vendredi 26 avril 2013
Statut
Membre
Dernière intervention
16 juillet 2017
25
25 juil. 2016 à 18:51
25 juil. 2016 à 18:51
Personne d'autre n'a une idée ?
ElementW
Messages postés
4816
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 228
Modifié par gravgun le 25/07/2016 à 19:50
Modifié par gravgun le 25/07/2016 à 19:50
'lut
Comment se présente le script
À défaut, le nom de processus pour chaque serveur de jeu potentiel est-il unique ? (on peut quand même distinguer entre 2 processus de jeux avec le même nom, par ex.
from human import idiocy
del idiocy
Comment se présente le script
/etc/init.d/css? Dispose-t-il d'une option permettant se savoir si le serveur tourne (généralement au travers de l'écriture d'un fichier de PID / "pidfile" lors du lancement, et sa lecture lors de la demande d'état) ?
À défaut, le nom de processus pour chaque serveur de jeu potentiel est-il unique ? (on peut quand même distinguer entre 2 processus de jeux avec le même nom, par ex.
srcds/Source Dedicated Server me vient en tête, via les paramètres passés au lancement du processus (qui sont conservés par Linux dans
/proc/[PID]/cmdline) mais c'est plus simple si les noms de processus diffèrent)
from human import idiocy
del idiocy
nocram18
Messages postés
471
Date d'inscription
vendredi 26 avril 2013
Statut
Membre
Dernière intervention
16 juillet 2017
25
25 juil. 2016 à 20:02
25 juil. 2016 à 20:02
Ouh la ca ce complique. Tout simplement j'ai un bouton qui excute la commande pour demerrer le serveur. Celui la il fonctionne avec les autorisaitons root apache ... .
Maintenant c'est que j'aimerai c'est que des que l'on clique sur le bouton, sur la page d'accueil du site l'image passe de on, à off, ou maintenance ...
Je suis en train de tester un deuxieme bouton manuel. Ca serait peut etre plus simple pour ce que je veux en faire.
Merci de ta réponse ;)
Maintenant c'est que j'aimerai c'est que des que l'on clique sur le bouton, sur la page d'accueil du site l'image passe de on, à off, ou maintenance ...
Je suis en train de tester un deuxieme bouton manuel. Ca serait peut etre plus simple pour ce que je veux en faire.
Merci de ta réponse ;)
ElementW
Messages postés
4816
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 228
>
nocram18
Messages postés
471
Date d'inscription
vendredi 26 avril 2013
Statut
Membre
Dernière intervention
16 juillet 2017
Modifié par gravgun le 25/07/2016 à 20:14
Modifié par gravgun le 25/07/2016 à 20:14
Ça se complique car c'est aussi quelque chose à prendre en compte; avant d'afficher la bonne image ou d'effectuer la bonne action, il faut savoir si le serveur dont on veut alterner l'état fonctionne ou non. Mettre les 2 boutons "Démarrer" et "Arrêter" n'est pas dur ni une idée idiote, ceci dit appuyer sur ces boutons, et sans faire de vérification d'état du serveur avant et après la vraie demande au scripts (ici
L'exemple simple serait que tu modifies la config d'un serveur et qu'il refuse de démarrer à cause d'une erreur de syntaxe. Si le PHP affiche que le serveur est en marche, on est à coté de la réalité.
Mis à part ça, il est possible d'alterner l'image affichée sur ta page avec un petit peu de JavaScript; mais dans ce cas il faut envoyer une requête d'allumage/extinction de serveur et attendre la réponse, ce qui nous ramène non seulement au problème ci-dessus, ainsi qu'à l'écriture d'une page PHP répondant à une requête JS.
Quite à faire simple (au début), je garderai ce comportement synchrone: un lien/bouton "simple" rechargeant la page avec un paramètre demandant le démarrage/arrêt d'un serveur, le script PHP attend que ça soit fini et affiche la bonne image.
/etc/init.d/css), ne garantis pas que le serveur tourne ou non au final -- ce qui est bête.
L'exemple simple serait que tu modifies la config d'un serveur et qu'il refuse de démarrer à cause d'une erreur de syntaxe. Si le PHP affiche que le serveur est en marche, on est à coté de la réalité.
Mis à part ça, il est possible d'alterner l'image affichée sur ta page avec un petit peu de JavaScript; mais dans ce cas il faut envoyer une requête d'allumage/extinction de serveur et attendre la réponse, ce qui nous ramène non seulement au problème ci-dessus, ainsi qu'à l'écriture d'une page PHP répondant à une requête JS.
Quite à faire simple (au début), je garderai ce comportement synchrone: un lien/bouton "simple" rechargeant la page avec un paramètre demandant le démarrage/arrêt d'un serveur, le script PHP attend que ça soit fini et affiche la bonne image.
nocram18
Messages postés
471
Date d'inscription
vendredi 26 avril 2013
Statut
Membre
Dernière intervention
16 juillet 2017
25
>
ElementW
Messages postés
4816
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
25 juil. 2016 à 22:08
25 juil. 2016 à 22:08
Oui c'est ce que j'ai fais:
<?php
$output = shell_exec('/etc/init.d/css start');
echo "<pre>$output</pre>";
?>
Mais rajouter quel js pour lui dire que l'image devienne on ou off ou maintenance ?
Je test avec ca la:
<button onclick="document.getElementById('myImage').src='serveur_on.png'">Serveur ON</button>
<img id="myImage" src="" style="width: auto">
<button onclick="document.getElementById('myImage').src='serveur_off.png'">Serveur OFF</button>
<button onclick="document.getElementById('myImage').src='serveur_maintenance.png'">Serveur en Maintenance</button>
<?php
$output = shell_exec('/etc/init.d/css start');
echo "<pre>$output</pre>";
?>
Mais rajouter quel js pour lui dire que l'image devienne on ou off ou maintenance ?
Je test avec ca la:
<button onclick="document.getElementById('myImage').src='serveur_on.png'">Serveur ON</button>
<img id="myImage" src="" style="width: auto">
<button onclick="document.getElementById('myImage').src='serveur_off.png'">Serveur OFF</button>
<button onclick="document.getElementById('myImage').src='serveur_maintenance.png'">Serveur en Maintenance</button>
nocram18
Messages postés
471
Date d'inscription
vendredi 26 avril 2013
Statut
Membre
Dernière intervention
16 juillet 2017
25
25 juil. 2016 à 22:13
25 juil. 2016 à 22:13
Me reste plus qu'a trouver comment rajouter ses codes sur l'autre programme php. Pour quand je l'allume manuellement que ca change l'image, quand je l'éteint ... Pas facile surtout que les pages ne sont pas aux meme endroit et ni sur le meme feuille de style mais cela ne devrait pas poser probleme.
Mais je pense que je veux faire trop compliquer
Mais je pense que je veux faire trop compliquer
ElementW
Messages postés
4816
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 228
>
nocram18
Messages postés
471
Date d'inscription
vendredi 26 avril 2013
Statut
Membre
Dernière intervention
16 juillet 2017
25 juil. 2016 à 22:34
25 juil. 2016 à 22:34
Dans l'état actuel, tes boutons ne font que changer l'image sur la page ouverte, le serveur ne reçoit aucune requête start/stop de serveur. Il faut que tu contactes une page pour que ça se fasse, soit via un lien, soit via JS et XMLHttpRequest/AJAX.
Tu peux faire ceci; coté PHP (par exemple):
Tu peux faire ceci; coté PHP (par exemple):
<?php header('Content-Type: application/json'); $action = $_GET['action']; switch ($action) { case 'start': $output = shell_exec('/etc/init.d/css start'); echo json_encode(['status' => 'on', 'output' => $output]); break; case 'stop': $output = shell_exec('/etc/init.d/css stop'); echo json_encode(['status' => 'off', 'output' => $output]); break; default: echo json_encode(['error' => '...']); break; } ?>et coté JS/HTML:
function gerer_reponse() { var json = JSON.parse(this.responseText); if (json.status === 'on') { document.getElementById('myImage').src = 'serveur_on.png'; } else if (json.status === 'off') { document.getElementById('myImage').src = 'serveur_off.png'; } else { document.getElementById('myImage').src = 'serveur_erreur.png'; } } function faire_action(action) { var req = new XMLHttpRequest(); req.addEventListener('load', reqListener); req.open('GET', 'controle_serveur_css.php?action=' + action); req.send(); document.getElementById('myImage').src = 'serveur_inconnu.png'; }
<img id="myImage" src="" style="width: auto"> <button onclick="faire_action('start')">Serveur ON</button> <button onclick="faire_action('stop')">Serveur OFF</button>Pas testé, à toi d'adapter. Encore, il manque la chose cruciale qu'est la vérification de l'état. La "maintenance" n'est pas implémentée, tu peux stocker (et donc lire) cette info dans un fichier, par exemple.
25 juil. 2016 à 16:56
Merci quand même poir ta réponse