Documentation technique MBDS2.0 Site web administratif Le document suivant est destiné aux développeurs souhaitant installer la plateforme sur leurs propres machines.
D o c u m e n t a t i o n t e c h n i q u e P a g e 2 Licence Le projet MBDS2.0 est sous licence libre GNU LGPL : On peut lier dynamiquement du code sous GNU LGPL avec un autre code sous une licence quelconque pour former un programme (à condition que l'association soit dynamique). Installation La plateforme MBDS2.0 est une Enterprise JavaBeans (EJB 2.0), architecture de composants logiciels côté serveur. La version de java utilisée est la version 6, en 64 bits. Pour utiliser la plateforme en local, il vous faut l environnement intégré Netbeans IDE 6.7.1 avec un serveur d application Sun GlassFish Enterprise Server v2.1.1. Il faut également un serveur de bases de données SQL Mysql Server 5.5 (>= 4.x), utilisant des connecteurs JDBC (Java Data Base Connection). Paramètres: user: root, password: root, servername: localhost, portnumber : 3306, databasename (schema): test Il reste à importer ( Open project dans NetBeans) le dossier nommé Mbds2.0, fourni dans le répertoire MBDS2.0 (dé-zippé). Mbds2.0 est une Enterprise Application qui contient les modules Ejb et War (dans Java EE modules). Il vous faudra changer le fichier de configuration décrit ci-dessous pour l upload et accès des médias. Pour tester la plateforme, un fichier.sql est disponible pour créer des éléments en base de données (dans le module Ejb, dossier sql). Pour entrer dans le site web il vous faut créer un administrateur (le fichier.sql permet de créer un administrateur avec pour login admin et mot de passe admin ). L application requiert: - The ASM framework (http://asm.ow2.org/, BSD license). - The metro webservices stack (http://metro.java.net/, CDDL license). Architecture Vous pouvez accéder à l arborescence des modules en consultant la javadoc : \MBDS2.0\Mbds2.0-ejb\dist\javadoc\index.html \MBDS2.0\Mbds2.0-war\dist\javadoc\ index.html
D o c u m e n t a t i o n t e c h n i q u e P a g e 3 Fichier de configuration Le module War comprend un fichier de configuration spécifiant les chemins d accès, l adresse du serveur de stockage et accès des médias et les urls d accès. Resources.xml (Source Packages default package) : <dns_serveur>xx.xx.xx.xx:[port]</dns_serveur> <dns_serveur_local>localhost:[port]</dns_serveur_local> <apache_url>[url_serveur]</apache_url> <video_path>/var/www/videos/</video_path> <video_url>/videos/</video_url> <audio_path>/var/www/audios/</audio_path> <audio_url>/audios/</audio_url> <photo_path>/var/www/photos/</photo_path> <photo_url>/photos/</photo_url> <qrcode_path>/var/www/qrcodes/</qrcode_path> <qrcode_url>/qrcodes/</qrcode_url> <csv_path>/var/www/csvs/</csv_path> DNS du serveur DNS du serveur local Url du serveur de stockage des médias Chemin d accès aux vidéos uploadées Url d accès aux vidéos uploadées Chemin d accès aux audios uploadés Url d accès aux audios uploadés Chemin d accès aux photos uploadées Url d accès aux photos uploadées Chemin d accès aux qrcodes uploadés Url d accès aux qrcodes uploadés Chemin d accès aux fichiers csv uploadés Langages Java : EJB entités, EJB Sessions, Beans Xhtml : pages web Xml : fichier de configuration Sql : script pour insertion d éléments en base de données Conversion FFmpeg Framework utilisé pour convertir les fichiers audio, vidéo et photo au format spécifique (3gp, mp3, JPG). http://ffmpeg.org/download.html Optional component: libfaac, gpl, nonfree, libx264, libtheory, libspeex, libopenjpeg, libgsm, and libmp3lame. Web services REST /XML Ces services web permettent d envoyer et recevoir des informations aux clients mobiles. En GET: [url_serveur]/[package_name]/resources/ws/getnodenfc/{idtagnfc} - Retourne le Node associé à l id du Tag NFC donné en paramètre
D o c u m e n t a t i o n t e c h n i q u e P a g e 4 [url_serveur]/[package_name]/resources/ws/getnodeflashcode/{idtagqrcode} - Retourne le Node associé à l id du Tag QR code donné en paramètre. [url_serveur]/[package_name]/resources/ws/node/{idnode} - Retourne le Node d'id donné en paramètre. [url_serveur]/[package_name]/resources/ws/getpathnode/{idnode}/{idpathv} - Retourne le Path_Node couple du Node et PathV donnés en paramètre. [url_serveur]/[package_name]/resources/ws/getpathsbynode/{idnode} - Retourne la liste de PathV qui contiennent le Node donné en paramètre. [url_serveur]/[package_name]/resources/ws/getroad/{idnode}/{idpathv} - Retourne la Road qui a pour Node 'prec' le Node donné en paramètre (et PathV pour parcours). [url_serveur]/[package_name]/resources/ws/getnext/{idnode}/{idpathv} - Retourne le Node 'suivant' du Node donné en paramètre (et PathV pour parcours). [url_serveur]/[package_name]/resources/ws/comments/{idnode}/{idpathv} - Retourne tous les Comment liés au couple Node et PathV donnés en paramètre. [url_serveur]/[package_name]/resources/ws/videos/{idnode}/{idpathv} - Retourne toutes les Video liées au couple Node et PathV donnés en paramètre. [url_serveur]/[package_name]/resources/ws/audios/{idnode}/{idpathv} - Retourne tous les Audios liés au couple Node et PathV donnés en paramètre. [url_serveur]/[package_name]/resources/ws/photos/{idnode}/{idpathv} - Retourne toutes les Photos liées au couple Node et PathV donnés en paramètre. [url_serveur]/[package_name]/resources/ws/getallpathv - Retourne toutes les instances de la table PathV. [url_serveur]/[package_name]/resources/ws/getnodespathv/{idpathv} - Retourne tous les Node constituant le PathV donné en paramètre. [url_serveur]/[package_name]/resources/ws/getroadspathv/{idpathv} - Retourne la liste de Road qui forme le PathV donné en paramètre. En POST : [url_serveur]/[package_name]/resources/ws/setpoiqr - Génère et upload le tag QR code et édite le Node et Tag concernés. [url_serveur]/[package_name]/resources/ws/setpoinfc - Edite le Tag concerné. [url_serveur]/[package_name]/resources/ws/saveaudio - Récupère le flux audio et upload le fichier mp4 sur le serveur. [url_serveur]/[package_name]/resources/ws/savevideo - Récupère le flux vidéo et upload le fichier 3gp sur le serveur. [url_serveur]/[package_name]/resources/ws/savephoto - Récupère les bytes de l'image et upload le fichier JPG sur le serveur. [url_serveur]/[package_name]/resources/ws/savecomment - Récupère la saisie textuelle et créé un nouveau Comment.
D o c u m e n t a t i o n t e c h n i q u e P a g e 5 [url_serveur]/[package_name]/resources/ws/freqnode - Créé un objet freqnode qui correspond à la date de visite du Node. [url_serveur]/[package_name]/resources/ws/freqpathv - Créé un objet freqpathv qui correspond à la date de visite du PathV. [url_serveur]/[package_name]/resources/ws/freqcomment - Créé un objet freqcomment qui correspond à la date de visite du Comment. [url_serveur]/[package_name]/resources/ws/freqaudio - Créé un objet freqaudio qui correspond à la date de visite de l Audio. [url_serveur]/[package_name]/resources/ws/freqphoto - Créé un objet freqphoto qui correspond à la date de visite de la Photo. [url_serveur]/[package_name]/resources/ws/freqvideo - Créé un objet freqvideo qui correspond à la date de visite de la Video.