Bonjour,
Bon, un petit état des lieux.
Sur la page d'accueil du service fuppes, c'est à dire
http://192.168.xx.xx:49152/, c'est en fait la page
http://192.168.xx.xx:49152/index.php qui est appelée par défaut.
Sur cette page, on peut voir en baladant sa souris que les options du menu à gauche correspondent à :
start :
http://192.168.xx.xx:49152/index.html
configuration :
http://192.168.xx.xx:49152/presentation/config.html
device settings :
http://192.168.xx.xx:49152/presentation/device.html
browse :
http://192.168.xx.xx:49152/presentation/browse.html
playlist :
http://192.168.xx.xx:49152/presentation/playlist.html
log :
http://192.168.xx.xx:49152/presentation/log.html
debug :
http://192.168.xx.xx:49152/presentation/debug.html
Pourquoi je rappelle ceci ? Parce que l'on peut remarquer que le lien
start est en fait la page d'accueil du service, et que les autres options sont des pages hébergées dans le répertoire "
presentation". Jusqu'ici, OK.
Ensuite, quand on regarde le code source de la page d'accueil, on peut voir que effectivement plusieurs références à ce répertoire "
presentation" y sont faites, entre autres pour aller chercher des feuilles de styles et aussi des méthodes javascripts. OK.
Les 3 liens en bas de la page d’accueil font eux aussi appels à 3 liens de méthodes javascript :
rebuild database :
javascript:fuppesCtrl('DatabaseRebuild');
update database :
javascript:fuppesCtrl('DatabaseUpdate');
update virtual folders :
javascript:fuppesCtrl('VfolderUpdate');
Encore une fois jusqu'ici, pourquoi pas.
Je cherche donc directement sur le serveur tout ce petit monde.
Je trouve :
"
/etc/rc.d/fuppes" : c'est le script dans lequel on retrouve la fonction
fetch de parsing de page html pour invoquer l'une des 3 possibilités "
DatabaseRebuild", "
DatabaseUpdate" et "
VfolderUpdate".
Les lignes se présentent comme ceci, et c'est d'ailleurs ce scripts que
sleid et moi-même cherchons à mettre en œuvre pour mettre à jour la base fuppesdb automatiquement à périodes répétitives (chaque nuit par ex.) :
Code: Select all
/usr/bin/fetch -q -o - http://${_ip}:${_port}/presentation/options.html?${_param}
sachant que "
param" vaut soit "
db=rebuild", soit "
db=update" ou soit "
vcont=rebuild" correspondant aux 3 possibilités proposées par la page d'accueil du service fuppes.
Aussi, on peut trouver dans le répertoire "/usr/local/share/fuppes" les fichiers suivants contenant les méthodes javascripts :
Code: Select all
nas4free: locale# cd /usr/local/share/fuppes
nas4free: fuppes# ll
total 190
drwxr-xr-x 2 root wheel 512 Nov 3 03:26 devices/
-rw-r--r-- 1 root wheel 13557 Nov 3 03:26 fuppes-browse.js
-rw-r--r-- 1 root wheel 5138 Nov 3 03:26 fuppes-config.js
-rw-r--r-- 1 root wheel 2782 Nov 3 03:26 fuppes-control.js
-rw-r--r-- 1 root wheel 863 Nov 3 03:26 fuppes-device.js
-rw-r--r-- 1 root wheel 4792 Nov 3 03:26 fuppes-icon-120x120.jpg
-rw-r--r-- 1 root wheel 10128 Nov 3 03:26 fuppes-icon-120x120.png
-rw-r--r-- 1 root wheel 1245 Nov 3 03:26 fuppes-icon-48x48.jpg
-rw-r--r-- 1 root wheel 3703 Nov 3 03:26 fuppes-icon-48x48.png
-rw-r--r-- 1 root wheel 509 Nov 3 03:26 fuppes-log-worker.js
-rw-r--r-- 1 root wheel 1337 Nov 3 03:26 fuppes-log.js
-rw-r--r-- 1 root wheel 2999 Nov 3 03:26 fuppes-logo.png
-rw-r--r-- 1 root wheel 9100 Nov 3 03:26 fuppes-playlist.js
-rw-r--r-- 1 root wheel 4777 Nov 3 03:26 fuppes.js
-rw-r--r-- 1 root wheel 242 Nov 3 03:26 header-gradient-small.png
-rw-r--r-- 1 root wheel 418 Nov 3 03:26 header-gradient.png
-rw-r--r-- 1 root wheel 82619 Nov 3 03:26 mootools-core-1.3.2-yc.js
-rw-r--r-- 1 root wheel 21513 Nov 3 03:26 mootools-more-1.3.2.1-yc.js
-rw-r--r-- 1 root wheel 4421 Nov 3 03:26 style.css
drwxr-xr-x 2 root wheel 512 Nov 3 03:26 vfolders/
nas4free: fuppes#
En particulier, dans le fichier "
fuppes-control.js", on retrouve bien la fonction javascript "
fuppesCtrl(action)" :
Code: Select all
function fuppesCtrl(action)
{
var request = new FuppesControl({
action: action,
onComplete: function(result) {
tmp = "";
result.getChildren().each(function(item) {
tmp += item.get('tag') + "<br />";
});
$('ctrl-result').innerHTML = "complete " + tmp;
//alert('complete');
}
});
request.send();
}
Alors, je me dis que le principe est par appel au shell script "
/etc/rc.d/fuppes" de scruter la page via la commande
fetch la page "
presentation/options.html" qui doit contenir l'appel à la méthode javascript "
fuppesCtrl()", tout comme cela est fait dans la page d'accueil du service fuppes.
Comme indiqué dans mes posts précédents, l'invocation de la ligne suivante du script "
/etc/rc.d/fuppes" doit donc naturellement faire appel via la commande
fetch à la mise en œuvre de la fonction javascript "
fuppes-control.js".
J'invoque donc sur un terminal du serveur directement cette ligne qui me renvoie le fait que la page "
presentation/options.html" est introuvable !
(
lorsque j'ai invoqué la commande ci-dessous, mon adresse ip était complète, avec des chiffres à la place des xx)
Code: Select all
nas4free: rc.d# ./fuppes rebuilddb
fetch: http://192.168.xx.xx:49152/presentation/options.html?db=rebuild: Not Found
nas4free: rc.d#
et
Code: Select all
nas4free: rc.d# /usr/bin/fetch -q -o - http://192.168.0.50:49152/presentation/options.html?db=rebuild
/usr/bin/fetch: No match.
nas4free: rc.d#
Je pars donc à la recherche de la page "
presentation/options.html" que bien sûr je ne trouve pas sur le serveur ...
Cependant, les pages correspondant aux liens du menu à gauche sur la page d'accueil du service fuppes fonctionnent correctement alors même qu'elles font appel à la page "
presentation/options.html". C'est donc que tout de même cette page existe bien.
Alors je me dis, mais c'est normal, cette page est générée dynamiquement et donc n'est pas stockée sous forme de fichier.
Mais j'en conclus tout de même que les services demandés à travers cette page mis en œuvre par les liens du menu de gauche de la page d'accueil du service fuppes sont bien implémentés dans cette fameuse page "
presentation/options.html", autant les 3 possibilités de reconstruction de la base n'y sont pas !
Qu'en pensez-vous ?
Cordialement.
velivole18.