Documentation de l'API de l'Antibox

Il s'agit d'une aide pour développeur et non pour les utilisateurs finaux

Defred sKD
Copyright 2006

Table of Contents

Structure globale de l'Antibox

L'antibox est écrite en PhP5 et n'est pas compatible avec les versions précédentes de PhP. Il s'agit de ma premiére application totalement POO, et je pense que vous y trouverez des incohérences.

Les codes faisant intéraction avec l'utilisateur sont dans api/ajax/inc. Il s'agit de classes dont les méthodes sont appellées via MyBIC. Les retour d'appel sont généralement du code HTML qui sera injecté via innerHTML. C'est un bon point de départ de commencer par là pour la lecture du code dans api/ajax/inc.

La génération du HTML se fait l'aide de Smarty. Je vous invite consulter les classes webInterface et retrieveTemplate. J'ai fait une petite bêtise à corriger. Globalement, c'est la gestion de l'USB qui mérite une attention particulière. On peut faire plus fiable et plus simple

Les principales sections affichées dans l'antibox sont : LeftFrame,RightFrame,UsbStatus,musicPlayer

leftFrame

C'est le div de gauche (templates/leftFrame.tpl) qui affiche les infos label,artiste ou album au dessus gauche. Dans le template la variable currentBrowse correspond au type de donnée parcourue (0 => label, 1=> artiste 2=>album). Les constantes sont définies dans api/define.php .

RightFrame

C'est le div de droite ( templates/rightFrame.tpl templates/rightFramenoDiv.tpl templates/useStatus.tpl templates/usbFolder.tpl) qui affiche les infos sur le status USB actuel, le status du player et la liste des fichiers et répertoires de la clé USB.

rightFramenoDiv.tpl

rightFramenoDiv.tpl sert corriger un problme d'affichage du à un empilement successif de <div id="panel" class="panel">.

usbStatus.tpl

usbStatus.tpl est le sous-template qui affiche le status de la clé et du player.

usbFolder.tpl

usbFolder.tpl est le sous-template qui affiche les options pour grer la clé et affiche la liste des répertoires et fichiers du m.

usbStatus

A intervalle régulier, le status de l'usb est check (déconnecté,connecté) et dépendra de la variable $usbStatus dans templates/usbStatus.tpl

musicPlayer

L'Antibox utilise le serveur MPD pour diffuser le son. L'API utilisée est api/mpd.class.php. Les commandes ne sont utilisées que par les classes api/ajax/inc.

Les rpertoires

api/adminTool/

C'est l'outil qui permet de remplir la base de données partir d'un scan du répertoire contenant les fichiers audio.

api/ajax/inc

Contient toutes les classes communiquant directement avec XMLHTTPRequest via MyBIC.

api/drivers/

Contient les classes de bas niveau pour l'accés la base de données et la gestion de l'usb.

api/interfaces/

Contient les interfaces (une seule pour le moment).

api/managers/

Contient les classes de haut niveau pour gérer l'usb, les labels, les artistes, les albums, les morceaux musicaux, les copies, la session et la base de données.

api/smarty/

C'est le moteur de template utilisé. Voir : Smarty.

bash/

Contient les scripts shell permettant de gérer l'usb et les copies. les fichiers C ne sont que des launchers car ces scripts doivent être root setuid.

cache/

Pour Smarty. Mais le cache n'est pas activé par dfaut.

configs/

Pour Smarty. Fichier .conf de configuration pour les templates.

documentation/

...

images/

Images de l'interface de l'antibox.

js/

Fichiers javascript nécessaires au fonctionnement de l'antibox

licence/

Liste des licences disponibles.

style/

Feuille de style CSS.

templates/

Modle HTML de l'antibox.

templates_c/

Utilisé par Smarty. Ce sont des templates compilés

USBX/

Point de montage pour le média USB.

table.sql

Script SQL crant les tables nécessaire au fonctionnement de l'Antibox.

Documentation generated on Tue, 08 May 2007 16:09:57 +0200 by phpDocumentor 1.3.2