Il y a certains cas où l'on aimerait pouvoir déclencher une action par
exemple à partir d'un script.
Actuellement j'aimerais pouvoir rafraîchir un firefox par suite d'un
certain événement (et sans module complémentaire).
Je me demandais donc si, un peu à la manière d'une macro, on pouvait
"enregistrer" les actions déclenchées par un "F5" afin de les
réappliquer au moment opportun.
Firefox est là pour l'exemple, la question reste générale;
Comment _lit-on_ un raccourci?
Le Tue, 09 Jun 2015 14:56:23 +0200 mireero a écrit :
On 06/08/2015 08:50 PM, Yliur wrote: > Je ne sais pas comment ça marche, mais il y a moyen de demander au > système d'être prévenu quand un fichier est modifié. Et je pense > que tu peux le faire sur un répertoire. Donc peut-être que tu peux > bricoler un petit programme ou un script qui surveille un > répertoire et "appuie sur F5" dans Firefox automatiquement, pour > tout ton code source. >
Ça me fait penser au mot "inotify", je sais pas d'où ça me vient, y'a une chance que ça veuille rien dire.
On dirait que si, une petite recherche sur la Toile t'aidera peut-être. Une une question plus précise ici (je ne m'en suis jamais servi).
C'est vrai, configurer une touche pour changer d'écran puis sur F5, ça semble un bon compromis. Cependant, je vais reposer ma question un peu différemment, je peux lancer ce que je veux avec des raccourcis clavier (je suis sur i3/fluxbox), par exemple pour ouvrir mes mails j'ai un raccourci vers un script qui vérifie si thunderbird est déjà ouvert, qui me met sur la bonne page. Donc je peux "scripter un raccourci clavier", question: Après avoir mis le focus sur firefox, y a t'il un moyen de simuler un appui sur la touche F5?
De sorte que je n'ai qu'à appuyer sur une touche (donc mon raccourci met le focus et recharge ensuite la page).
As-tu regardé xdotool ? Je ne l'ai pas essayé en vrai, mais la page semblait parler de ton problème.
En ce qui concerne l'idée d'un script client, je pense que le plus simple et le plus élégant serait d'envoyer une requête asynchrone de façon régulière (ajax) qui appellerait un script php qui lui a le droit d’accéder au système de fichier. Pour éviter d'avoir une variable statique et globale (contenant les "mtime" des différents fichiers à surveiller), le script php peut renvoyer ces 'mtime' au script client qui les lui renvoi en argument afin qu'il (php) puisse comparer. Ils se font des passes, bonne méthode?
Ou bien je laisse javascript faire la comparaison, il peut bien mettre les "mtime" quelque part dans le DOM puis lancer un reload si modif après avoir comparé avec les "mtime" de l'appel suivant.
Avec les fermetures lexicales tu peux peut-être même stocker la valeur dans la fonction elle-même, mais on va peut-être éviter les trucs un peu étrange pour un cas simple...
Sinon éviter d'ajouter plein de trucs dans ton code php semble pas mal : ton javascript peut effectivement stocker la dernière valeur reçue de php et la comparer à la suivante. Séparer la requête d'interrogation de la date de mise à jour de la vraie requête de chargement de la page me paraît mieux.
Après je pense que c'est un peu bourrin cette histoire de communication entre les deux introduite dans le code ton logiciel, une solution externe est peut-être préférable.
Le Tue, 09 Jun 2015 14:56:23 +0200
mireero <mireero@free.fr> a écrit :
On 06/08/2015 08:50 PM, Yliur wrote:
> Je ne sais pas comment ça marche, mais il y a moyen de demander au
> système d'être prévenu quand un fichier est modifié. Et je pense
> que tu peux le faire sur un répertoire. Donc peut-être que tu peux
> bricoler un petit programme ou un script qui surveille un
> répertoire et "appuie sur F5" dans Firefox automatiquement, pour
> tout ton code source.
>
Ça me fait penser au mot "inotify", je sais pas d'où ça me vient, y'a
une chance que ça veuille rien dire.
On dirait que si, une petite recherche sur la Toile t'aidera peut-être.
Une une question plus précise ici (je ne m'en suis jamais servi).
C'est vrai, configurer une touche pour changer d'écran puis sur F5,
ça semble un bon compromis.
Cependant, je vais reposer ma question un peu différemment, je peux
lancer ce que je veux avec des raccourcis clavier (je suis sur
i3/fluxbox), par exemple pour ouvrir mes mails j'ai un raccourci vers
un script qui vérifie si thunderbird est déjà ouvert, qui me met sur
la bonne page.
Donc je peux "scripter un raccourci clavier", question:
Après avoir mis le focus sur firefox, y a t'il un moyen de simuler un
appui sur la touche F5?
De sorte que je n'ai qu'à appuyer sur une touche (donc mon raccourci
met le focus et recharge ensuite la page).
As-tu regardé xdotool ? Je ne l'ai pas essayé en vrai, mais la page
semblait parler de ton problème.
En ce qui concerne l'idée d'un script client, je pense que le plus
simple et le plus élégant serait d'envoyer une requête asynchrone de
façon régulière (ajax) qui appellerait un script php qui lui a le
droit d’accéder au système de fichier.
Pour éviter d'avoir une variable statique et globale (contenant les
"mtime" des différents fichiers à surveiller), le script php peut
renvoyer ces 'mtime' au script client qui les lui renvoi en argument
afin qu'il (php) puisse comparer. Ils se font des passes, bonne
méthode?
Ou bien je laisse javascript faire la comparaison, il peut bien
mettre les "mtime" quelque part dans le DOM puis lancer un reload si
modif après avoir comparé avec les "mtime" de l'appel suivant.
Avec les fermetures lexicales tu peux peut-être même stocker la valeur
dans la fonction elle-même, mais on va peut-être éviter les trucs un
peu étrange pour un cas simple...
Sinon éviter d'ajouter plein de trucs dans ton code php semble pas
mal : ton javascript peut effectivement stocker la dernière valeur
reçue de php et la comparer à la suivante. Séparer la requête
d'interrogation de la date de mise à jour de la vraie requête de
chargement de la page me paraît mieux.
Après je pense que c'est un peu bourrin cette histoire de communication
entre les deux introduite dans le code ton logiciel, une solution
externe est peut-être préférable.
Le Tue, 09 Jun 2015 14:56:23 +0200 mireero a écrit :
On 06/08/2015 08:50 PM, Yliur wrote: > Je ne sais pas comment ça marche, mais il y a moyen de demander au > système d'être prévenu quand un fichier est modifié. Et je pense > que tu peux le faire sur un répertoire. Donc peut-être que tu peux > bricoler un petit programme ou un script qui surveille un > répertoire et "appuie sur F5" dans Firefox automatiquement, pour > tout ton code source. >
Ça me fait penser au mot "inotify", je sais pas d'où ça me vient, y'a une chance que ça veuille rien dire.
On dirait que si, une petite recherche sur la Toile t'aidera peut-être. Une une question plus précise ici (je ne m'en suis jamais servi).
C'est vrai, configurer une touche pour changer d'écran puis sur F5, ça semble un bon compromis. Cependant, je vais reposer ma question un peu différemment, je peux lancer ce que je veux avec des raccourcis clavier (je suis sur i3/fluxbox), par exemple pour ouvrir mes mails j'ai un raccourci vers un script qui vérifie si thunderbird est déjà ouvert, qui me met sur la bonne page. Donc je peux "scripter un raccourci clavier", question: Après avoir mis le focus sur firefox, y a t'il un moyen de simuler un appui sur la touche F5?
De sorte que je n'ai qu'à appuyer sur une touche (donc mon raccourci met le focus et recharge ensuite la page).
As-tu regardé xdotool ? Je ne l'ai pas essayé en vrai, mais la page semblait parler de ton problème.
En ce qui concerne l'idée d'un script client, je pense que le plus simple et le plus élégant serait d'envoyer une requête asynchrone de façon régulière (ajax) qui appellerait un script php qui lui a le droit d’accéder au système de fichier. Pour éviter d'avoir une variable statique et globale (contenant les "mtime" des différents fichiers à surveiller), le script php peut renvoyer ces 'mtime' au script client qui les lui renvoi en argument afin qu'il (php) puisse comparer. Ils se font des passes, bonne méthode?
Ou bien je laisse javascript faire la comparaison, il peut bien mettre les "mtime" quelque part dans le DOM puis lancer un reload si modif après avoir comparé avec les "mtime" de l'appel suivant.
Avec les fermetures lexicales tu peux peut-être même stocker la valeur dans la fonction elle-même, mais on va peut-être éviter les trucs un peu étrange pour un cas simple...
Sinon éviter d'ajouter plein de trucs dans ton code php semble pas mal : ton javascript peut effectivement stocker la dernière valeur reçue de php et la comparer à la suivante. Séparer la requête d'interrogation de la date de mise à jour de la vraie requête de chargement de la page me paraît mieux.
Après je pense que c'est un peu bourrin cette histoire de communication entre les deux introduite dans le code ton logiciel, une solution externe est peut-être préférable.