Commandité par des laboratoires d`analyses médicales désireux de

Transcription

Commandité par des laboratoires d`analyses médicales désireux de
Présentation générale __________________________________________ - 4 Objectifs et contraintes _________________________________________ - 5 I - Objectif : _______________________________________________________ - 5 II - Contraintes :____________________________________________________ - 5 III - Méthodes ______________________________________________________ - 6 a)
b)
Au niveau logiciel : ________________________________________________________ - 6 Au niveau matériel :_______________________________________________________ - 6 -
Choix matériels________________________________________________ - 7 I - Téléviseurs _____________________________________________________ - 7 II - Les ordinateurs__________________________________________________ - 7 II - Les ordinateurs__________________________________________________ - 8 a) Configuration PCHC__________________________________________________________ - 8 b) Configuration informatique proposée ___________________________________________ - 8 c) A titre d’exemple : Configuration « classique » (boîtier standard) ___________________ - 9 -
Choix logiciels ________________________________________________ - 10 I - Le système d’exploitation_________________________________________ - 10 a) Choix de Linux _____________________________________________________________ - 10 b) Choix d’Ubuntu ____________________________________________________________ - 10 c) Installation du système ______________________________________________________ - 11 -
II - Vidéo et Diaporama _____________________________________________ - 12 a) Solution Media Center_______________________________________________________ - 12 b) Solution Impress ___________________________________________________________ - 12 c) Solution Firefox & VLC ______________________________________________________ - 16 -
II - Création des fichiers ____________________________________________ - 18 a) La solution FCKEditor _______________________________________________________ - 18 b) La solution Impress _________________________________________________________ - 20 -
III Transfert de fichiers _____________________________________________ - 21 a) Serveur FTP _______________________________________________________________ - 21 b) Clé USB ___________________________________________________________________ - 22 -
A Faire______________________________________________________ - 23 I - Mise en réseau__________________________________________________ - 23 II - Dévelopement d'une application dédié ______________________________ - 24 -
Regard Critique_______________________________________________ - 25 I - Un projet orienté informatique ____________________________________ - 25 II - Un suivi chaotique ______________________________________________ - 25 III - Le résultat ____________________________________________________ - 25 -
Conclusion ___________________________________________________ - 26 Annexes _____________________________________________________ - 27 -
-2-
Remerciements :
Nous tenons à remercier tout particulièrement Mr. Nicolas Vieville qui s’est
toujours tenu disponible pour répondre à nos questions.
Nous souhaitons également adresser nos remerciements au personnel du département
d’Informatique pour le prêt du matériel ainsi qu’au technicien de Biopaj, Michel, pour
son appréciée coopération.
-3-
Présentation générale
Les laboratoires BIOPAJ sont implantés dans cinq sites du
département du Nord : Bavay, Le Cateau, Anzin, et Valenciennes par
deux fois. Spécialisés dans les analyses médicales, cette société a
décidé de commander un film de présentation de ses activités à
l’université du Mont Houy, et de doter ses salles d’attente d’écrans
permettant la diffusion du produit fini.
Le projet BIOPAJ a débuté en Septembre 2004. C’est en début
2005 que nous nous vîmes attribué la mise en place du matériel de
diffusion, avec 5 autres de nos camarades de MCAV pour la partie
Production.
Notre tâche était de concevoir un système de diffusion simple
d’utilisation permettant le visionnage d’une vidéo et d’un diaporama
personnalisable. Ce dispositif sera installé dans les salles d’attente des
laboratoires.
La perspective de travailler sous la pression d’un commanditaire,
et donc de se projeter dans une situation professionnelle, a fortement
motivé notre choix pour ce projet.
Dans un premier temps, nous avons rédigé un cahier des charges,
disponible ci-après, pour prendre conscience des contraintes et cadrer
l’évolution du projet. Très vite la solution du logiciel libre s’est
imposée d’elle-même, laissant présager de la part prépondérante
qu’allait occuper l’informatique au sein de notre projet. Ce fut ainsi
une très bonne occasion pour nous de découvrir un nouvel
outil informatique : Linux.
Même si les conditions n’ont pas toujours été des plus commodes
nous sommes aujourd’hui capables de vous présenter un produit
opérationnel qui répond au cahier des charges.
-4-
Objectifs et contraintes
I - Objectif :
Installation d’un système de diffusion vidéo multi-site et paramétrable.
II - Contraintes :
•
Niveau utilisateur :
ƒ
ƒ
•
Niveau réseau :
ƒ
ƒ
•
Un seul poste connecté à Internet par site.
Les autres postes sont connectés à un VPN (dont le poste de
Mise à Jour du système de diffusion).
Niveau environnement :
ƒ
ƒ
ƒ
•
Mise en marche et interruption du système simplifiée.
Mise à jour simplifiée (Formation express ; Rapidité de Mise à
jour).
Esthétisme, discrétion, sobriété.
Configuration spatiale différente selon site.
Visibilité (Gestion de l’espace et des lumières).
Niveau informatique :
ƒ
ƒ
ƒ
Hardware : Système capable de lire une vidéo fluide.
Software : Solutions libres et évolutives.
Coûts (Ecrans + Stations + Logiciels).
-5-
III - Méthodes
a) Au niveau logiciel :
Les logiciels sont libres (OS, système de diffusion et de mise à jour). On opte
pour un système Linux. Pour l’immunité du système aux coupures de courant et la
sécurisation des données, il faut prévoir une installation spéciale ainsi que
quelques modifications du système d’exploitation.
On prévoira également le démarrage automatique de l’application qui lance
la vidéo et enchaîne sur le diaporama.
b) Au niveau matériel :
Concernant la norme d’affichage de la vidéo, de nombreuses solutions
existent. Les deux principales sont le VGA et le DVI. La technologie devra
permettre le transport d’un flux vidéo de bonne qualité entre un ordinateur et un
téléviseur, et ce sur une distance pouvant dépasser une dizaine de mètres.
L’ordinateur devra quant à lui permettre la lecture d’un fichier vidéo a priori
faiblement compressé (mpeg2 ?). Pour les tours, il faut trouver un compromis entre
esthétisme et coût. Le choix du mini-PC est sérieusement envisagé.
La carte réseau permet de connecter le serveur vidéo au poste de mise à
jour. Les accès directs au serveur vidéo seront interdits et rendus impossibles en
raison de l’absence de clavier et souris.
A la suite de la mise en marche du système, on accède le plus rapidement
possible au Bureau à partir duquel se lance la vidéo et le diaporama.
En ce qui concerne la formation et l’utilisation simplifiée, deux solutions sont
envisagées :
- Utilisation des pré-requis en Powerpoint pour la mise à jour du
diaporama. La solution pourrait alors se présenter sous la forme d’un
Impress bridé.
- Création d’une interface intuitive en PHP. L’avantage serait la
sécurisation mais l’inconvénient serait la mise en place du système.
Un manuel d’utilisation reste à prévoir.
-6-
Choix matériels
I - Téléviseurs
Le choix des téléviseurs fut conditionné par deux critères : la présence d’une
entrée VGA et d’enceintes intégrées.
Le souhait du commanditaire était résolument orienté vers les écrans plats.
Une TV LCD apporte une stabilité d’image qui offre la possibilité de se placer à des
distances variées sans pour autant se fatiguer les yeux. De plus, sa bonne
luminosité et son excellente netteté sont deux arguments de poids. Si on ajoute un
prix de production raisonnable et un encombrement très réduit, le LCD a de bons
atouts. La solution du plasma fut rapidement écartée pour des raisons
économiques. La taille des écrans, fonction du budget, a été fixée par le
commanditaire.
Le choix des supports de télévision fut géré par les responsables de la
production.
La solution des connecteurs DVI (Digital Visual Interface) fut envisagée mais
abandonnée après réflexion. Contrairement au port VGA sur lequel les images sont
transmises de façon analogique, le port DVI transmet au moniteur l'affichage sous
forme numérique. L’ennui est que les liaisons sont limitées à 5 mètres selon la
documentation officielle (on pourrait aller jusqu’à 10 mètres en pratique).
Pour le son, la solution simple d’une connectique Jack-RCA fut adoptée.
Concernant les câbles réseau, il était prévu à l’origine du projet une
installation « en dur » du système de mise à jour via FTP. Aussi cela impliquait
l’achat de 5 câbles réseau croisés allant de 10 à 30 mètres. Cette solution coûteuse
fut remplacée par l’achat d’une clé USB d’une faible capacité qui sera transportée
de site en site.
-7-
II - Les ordinateurs
Pour proposer les configurations
informatique du projet, nous nous
sommes intéressé à la configuration des
« PC Home Cinéma » (PCHC) utilisés
comme « Media Center » par les
particuliers.
a) Configuration PCHC
La configuration minimale préconisée sur le site de DivX Inc. pour lire une
video DivX profil Home Theater est la suivante :
• Cadence du CPU 733Mhz
• 64 Mo de RAM
• Carte vidéo avec 32Mo de RAM et supportant les couleurs
24-bit
b) Configuration informatique proposée
Nous allons maintenant étoffer la configuration précédente. Le matériel fut
choisi en fonction de notre cahier des charges et d’une éventuelle mise à jour
future.
•
Microprocesseur :
D’après les sources fournit par les sites dédiés, les Pentium donneraient de
meilleurs résultats graphiques que les AMD, surtout en ce qui concerne les
saccades pendant le changement d’applications (surtout avec des grands
écrans) et le recodage.
Vis-à-vis de la compatibilité Processeur/Carte mère et du budget, on pourra
tout de même envisager un processeur de type AMD, celui fournissant un
résultat convenable.
•
Carte mère :
La carte de mère devra avoir un contrôleur réseau, et bien sur être
compatible avec le reste du matériel. Les sites spécialisés conseillent la marque
ASUS.
•
Carte graphique/Video :
La carte vidéo devra comporter une sortie VGA et fonctionner en AGPx8.
Notre choix se porte sur la marque NVidia, celle-ci étant mieux pris en compte
par les systèmes Linux en ce qui concernent les drivers.
•
Disque Dur :
UDMA133 ou SATA II.
-8-
Si 7200 tr/min avec 2Mo de buffer, le choisir avec un buffer de 8Mo serait
l’idéal.
La marque recommandée par les sites dédiés est Seagate.
•
Mémoire vive :
DDR 512 Mo.
•
Lecteur DVD :
Peu importe. Il sert à l’installation (et éventuellement à la ré-installation)
du système.
•
Alimentation et boîtier :
Puissance effectif d’environ 250W.
Boîtier de type ATX pour une carte mère standard. On pourra envisager une
configuration Mini PC.
c) A titre d’exemple : Configuration « classique » (boîtier standard)
(Les prix sont donnés à titre indicatif)
•
•
CPU AMD Duron 1800 (1.8Ghz). {60€}
Carte mère ASUS A7N8X (Deluxe ?) compatible SATA et UDMA. {55€}
(On peut aussi envisager une ASUS A8N5X {85€} avec un processeur
compatible.)
• Mémoire vive : DDR PC3200 de 512Mo.
• Carte graphique : NVidia 7300/52200/5500 (toutes AGPx8).
• Disque Dur : Maxtor Diamond Max10 de 80Go SATAII, buffer 8 Mo 3.0Gb/s.
{70€}
Hitachi (parait-il moins fiables) 80Go UDMA133, buffer 2Mo.
{50€}
+ Boîtier
+Alimentation
+ Lecteur DVD
+Ventilateur (silencieux selon le degré d’exigence)
Afin d’avoir un ordre d’idée des configurations proposées en magasin, des devis de
vendeurs informatiques valenciennois (de 320€ à 460 € l’unité) ont été remis à la
partie Production qui ont pris en charge la finalisation des achats.
Nous sommes conscient d’avoir ici présenté une configuration plutôt large pour la
« simple » diffusion de vidéos. Cependant, il faut garder à l’esprit que l’ordinateur
sera censé tourner prêt de 8 heures par jour. Les ressources systèmes étant
sollicitées sur une certaine durée, une marge assure la pérennité du matériel.
Par ailleurs, nos connaissances en informatique étant encore trop superficielles,
nos choix sont sans doute très largement perfectibles.
Sources :
http://perso.wanadoo.fr/nicolas.phil/fr
http://www.homemedia.fr
http://www.homecinema-fr.com/
-9-
Choix logiciels
I - Le système d’exploitation
a) Choix de Linux
Afin de respecter nos objectifs concernant la gratuité des
logiciels utilisés, nous avons logiquement éliminé la solution
Windows et Mac.
Nous avons donc choisi de développer une solution sur une
distribution de Linux, ce système étant adapté à une
configuration et une administration fortement personnalisée.
b) Choix d’Ubuntu
Débutants sous Linux, nous nous sommes tournés vers une distribution simple
d’accès par son ergonomie et ses nombreuses ressources présentes sur le net.
Ubuntu est un système d’exploitation destiné à l’utilisation multimédia,
notamment pour la mise en place de PC Home Cinema.
Nous avons installés toutes les machines avec la version 5.10 Breezy Badger
d’Ubuntu.
Note : il est a noté que nous avons essayé une installation sous Fedora 5, qui
nous a paru trop instable. Instabilité, qui, nous le savons aujourd’hui, était du à un
bug du système de protection de Fedora, facilement corrigeable.
- 10 -
c) Installation du système
Le système ne devant servir qu’à la diffusion et à la mise à jour, il fut
essentiel d’alléger l’installation par défaut d’Ubuntu. Nous avons fait une
installation en mode serveur puis nous avons personnalisé l'installation par l'ajout
de programmes spécifiques à notre installation.
Le partitionnement est établi grâce à l’utilitaire Partman. Nous avons
partitionné le disque de façon à séparer le système d’exploitation des données
temporaires. Nous avons aussi prévu deux partitions, une avec un outil
d’administration et l’autre avec une image du système.
Nom de la partition
Capacité
Système de fichiers
Point de montage
Partition système
10Go
ext3
/
Données
6Go
ext3
/var
Swap
1Go
[swap]
[swap]
System Rescue
4Go
ext3
/rescue
Image Système
10Go
ext3
/image
Espace non partitionné
9Go
-
-
Après l'installation complète d'Ubuntu nous avons mis à jour le noyau avec la
version 686, le noyau d’origine étant en 386.
Personnalisation du système (voir annexe pour le détail des commandes) :
Nous avons installé le serveur graphique et IceWM, qui est un gestionnaire de
fenêtre allégée (plus léger que Gnome, KDE ou Xfce), prenant peu de ressource et
étant compatible avec notre utilisation. Des changements dans les fichiers de
configurations d’IceWM ont été nécessaires afin de modifier l’aspect du bureau en
cachant notamment les barres de titre afin d’obtenir un fond uniforme.
Autologin :
Il a ensuite fallu modifier la configuration pour que le système se logue
automatiquement (rappelons que le système sera installé sans souris ni clavier).
Pour cela nous avons mis en place un script en C dans le répertoire qui se lance au
démarrage de façon à se loguer et à lancer l’interface graphique sans intervention
de l’utilisateur.
Lancement d’une application au démarrage :
Nous avons aussi créé un script pour lancer une application après le démarrage
du serveur graphique.
Après toutes ces opérations, dés le démarrage, le système est capable de se
loguer automatiquement et de lancer l'application choisie.
- 11 -
II - Vidéo et Diaporama
a) Solution Media Center
Un logiciel de Media Center permet d’utiliser un ordinateur comme une
station multimédia. La machine peut alors lire les vidéos, la musique, regarder les
photos qui sont sur le disque dur ainsi que visionner et enregistrer la télévision.
Plusieurs logiciels gratuits sont disponibles tel que myHTCP ou le Media Center
de Yahoo. Sous Linux, il existe MythTV, un logiciel libre multiplateformes.
La solution Media Center étant développé pour faciliter l’utilisation des
personnes non-spécialistes en informatique, elle n’offrait pas assez de possibilité
de personnalisation, tant au niveau de l’interface qu’au niveau du pilotage à
distance via des commandes scriptées.
b) Solution Impress
Pourquoi ?
La suite bureautique OpenOffice intègre le module de présentation Impress.
Equivalent libre de Ms Powerpoint, les fonctionnalités de ce logiciel répondent
parfaitement à nos besoins. En effet, ce logiciel est capable de lire des vidéos, et
les diaporamas y sont très facilement paramétrables. Impress est multi-plateforme.
On peut effectuer la mise à jour des photos depuis un poste sur Windows et lancer
le fichier généré sous Linux. Par ailleurs, de nombreux paramètres de lancement en
console offre une grande flexibilité dans son utilisation.
- 12 -
Comment ça marche ?
Le projet OpenOffice.org est initialement basé sur les sources offertes par Sun
Microsystems, préparées pour une version de StarOffice. Ces sources sont écrites
en C++ et proposent des fonctionnalités scriptables ainsi que des APIs pour Java et
d'autres langages de programmation.
Microsoft DirectX est une suite d'API multimédia intégrée au système
d'exploitation Windows permettant d'exploiter les capacités matérielles d'un
ordinateur. Sous Windows, l’affichage d’une vidéo intégrée est géré par Direct
Show, module gérant l'affichage et la capture de vidéo. Ainsi l’installation des
codecs correspondant suffira à l’affichage de la vidéo dans Impress.
Sous Linux, le fonctionnement est tout autre. Impress utilise en fait l’API Java
Media Framework. La JMF permet l’intégration de son et de vidéo dans des
applications et applets basé sur une technologie Java. Ce paquet optionnel, qui
peut capturer, lire, streamer et transcoder quelques formats de media. La liste des
codecs vidéo compatibles est disponible ci-dessous :
Type de média
Codecs
AVI (*.avi)
VCM**
Cinepak
MJPEG (422)
RGB
YUV
Mpeg1 Video (*.mpg)
Flux vidéo multiplexé
Flux vidéo unique
QuickTime (.mov)
Cinepak
H.261
H.263
JPEG (420, 422, 444)
RGB
Nous présentons ci-dessous l’installation de cette API.
- 13 -
Installation
En tout premier lieu, il faut installer ou plutôt mettre à jour l’environnement
virtuel Java (JRE). Ubuntu propose d’origine une version 1.4, or une version 1.5 est
disponible en libre téléchargement depuis le site de Sun.
A ce niveau, il nous a fallu déjà comprendre le concept de variable
d’environnement. Il arrive parfois que certaines informations doivent être mise à
disposition d'un grand nombre de programme. Java est un programme qui est
exécuté ; or ce programme est contenu dans un fichier, qui doit être lu pour que le
système puisse exécuter le programme. Mais comment le système fait-il pour
trouver le fichier en question ? L'information indiquant à quels endroits chercher
les fichiers contenant les programmes des diverses commandes doit donc être
aisément accessible, et comme certaines commandes en appellent d'autres, cette
information doit également être lisible par tout le monde. Ce genre d'information
largement diffusée dans le système est contenu dans ce que l'on appelle des
variables d'environnement. Pour ajouter des variables d’environnement, il faut les
inscrire dans le fichier /etc/environment.
Après mise à jour de la JRE, on peut
télécharger la JMF (disponible également sur le site
de Sun). L’installation préalable du compilateur GCC
est nécessaire. La JMF installée, Les chemins de
l’application et des classes restent encore à ajouter
à l’environnement. A ce stade, JMStudio ne
fonctionne pas et ce, sans que nous puissions en
donner les raisons. JMStudio est une application
stand-alone Java qui utilise la JMF pour lire,
capturer, transcoder et écrire des données média.
Nous ne nous démontons pas et continuons
l’installation. Pour une raison tout aussi mystique, le
fonctionnement de l’application nécessite en plus la
copie des libraires de la JMF dans celle de la JRE. On
peut alors tester l’API en ligne sur le site de Sun.
Au vue de certaines manipulations hasardeuses décrites ci-dessus, inutile de
vous préciser que la validation de l'installation nous a procuré une réelle
satisfaction. C'était sans savoir ce que nous réservait la suite.
La version d'Impress livrée avec Ubuntu est une version 1.9. Nous sommes
donc passés à la version 2.0, dernière en date. La reconnaissance de la JFM dans
Impress demande quelques réglages concernant les chemins des libraires. Malgré un
suivi rigoureux des instructions de Sun et d'OpenOffice pour le fonctionnement du
module MediaPlayer, nos premiers essais n'ont pas été concluants. C'est seulement
après quelques (dé)installations à répétition que nous avons compris que le paquet
d'intégration à l'environnement graphique de Gnome [openoffice-gnome] empêchait
l'affichage de vidéos.
- 14 -
La vidéo enfin affichée, nous nous sommes alors lancés dans les tests de
qualité. Le résultat fut vite décevant. La plupart des codecs cités précédemment
sont destinés à des applications en réseau. Les vidéos non-compressées sont
correctement lues mais une limitation à 2 Go est fixée par la JMF. Nos recherches
sur l'ajout de codecs dans la JMF nous conduisent au site d'IBM où un paquet
permettant la lecture de Mpeg4 est en libre téléchargement. Nous avions
auparavant déjà installé un codec permettant la lecture de MP3. Le codec d'IBM
s'avèrait être en fait une version d'essai. L'inconvénient est que la vidéo lue
présente un logo d'IBM en bas à droite. Par ailleurs, l'implémentation d'un codec
destiné à la JMF est bien au-delà de nos capacités actuelles en programmation.
Inconvénients
La solution Impress s'avère en fait un nœud de problèmes : installation de la
JMF, restriction des formats lus, taille limitée, instabilité. En effet ce dernier point
fut le critère qui nous poussa à abandonner définitivement Impress. Une longue
vidéo (donc de mauvaise qualité car encodée avec les codecs proposés ci-dessus)
de moins de 2 Go enchaînée avec un diaporama a tendance à saccader et les
ressources utilisées étant anormalement élevées.
- 15 -
c) Solution Firefox & VLC
Une troisième solution envisagée fut l’utilisation d’une
technologie Web permettant ainsi une certaine flexibilité
et offrant par la même occasion des moyens faciles de
manipuler de la vidéo et des images de manière
dynamique. De plus, cette solution devient par la même
occasion
quasiment
indépendante
du
système
d’exploitation.
Il s’agit donc ici d’alterner une page diffusant une vidéo avec une page
présentant un diaporama chargeant dynamiquement les photos contenues dans un
répertoire. Cette solution fut en fait la première à laquelle nous avions pensé
avant de la délaisser pour Impress (solution précédemment présentée).
Le navigateur Firefox se présente comme l’outil adapté à notre projet,
puisqu’il est, condition primordiale, libre. Du plus, il jouit d’une certaine
popularité, dont la conséquence est que de nombreux plugins sont continuellement
développés. Une aide technique très complète est disponible sur Internet.
Les spécifications matérielles minimum correspondent à nos choix de
configuration :
- Intel Pentium II ou AMD K6-III+ 233 MHz CPU (Recommandé: 500MHz ou
mieux)
- 64 Mo RAM (Recommandé: 128 Mo RAM ou mieux)
- 52 Mo d’espace HD
1- La vidéo
Allié à ce navigateur, il nous fallait un logiciel permettant de lire de la vidéo.
Quelques essais ont été fait avec Flash™. Cette technologie est payante, mais
dans l’éventualité d’une solution parfaitement adaptée à nos besoins, nous nous
devions de l’éprouver. L’inconvénient majeur est que ce programme est
strictement destiné à des applications Web. Aussi de l’encodage des vidéos au
format Flash résulte une qualité d’image plutôt médiocre car destinée au
streaming.
La solution du plugin VLC est beaucoup plus intéressante. VideoLAN est une
solution logicielle de diffusion vidéo, sous licence GNU General Public License
(GPL). VideoLAN est conçu pour diffuser des vidéos MPEG. Il existe un plugin VLC
pour Firefox qui permet de lire une quinzaine de formats vidéo.
L’inconvénient est que l’aide en ligne est médiocre et seules quelques lignes
de code en exemple sont censées permettre d’en comprendre le fonctionnement.
Ce plugin offre la possibilité grâce à des fonctions Javascript de contrôler la lecture
ou récupérer des informations du plugin. On peut donc commander la lecture d’une
vidéo, repérer la fin de cette dernière et lancer alors le diaporama. De nombreux
tests ont été nécessaires pour faire fonctionner ces contrôles Javascript : on a pu
- 16 -
constater, entre autres, que le plugin ne démarrait pas sous Firefox 1.5 (Bug
répertorié sur Internet).
Par ailleurs, quelques contrôles, comme par exemple, l’accès à la durée du
média, ne répondent pas avec certaines vidéos. Nous sommes actuellement encore
dans l’incapacité de d’expliquer ce dysfonctionnement. Le format DV non
compressé (en sortie de Premiere™) s’avère compatible avec les fonctions
Javascript du plugin.
Le contenu de la page Web, concis et efficace, est disponible en annexe. Au
lancement de la page, la vidéo est lue en plein écran, puis on teste régulièrement
pour savoir si nous arrivons à la fin de la vidéo. Alors on redirige vers le diaporama.
L’inconvénient de cette solution est d’ordre esthétique puisque le passage du
diaporama à la vidéo dévoile le dispositif en affichant furtivement la bande
blanche correspondant à la barre de titre.
2- Le diaporama
Pour le diaporama, nous nous sommes orientés vers
une solution en Javascript. Peu d’autres solutions sont
sur le Web proposées (notamment en Flash™).
1 : Notre premier diaporama affichait des photos dont les noms de fichiers
étaient inscrits dans la page Web. L’affichage était correct mais l’ensemble était
statique.
2 : Le second diaporama propose une amélioration. On ajoute au précédent
une fonction en PHP qui nous permet de lister le contenu d’un répertoire et d’en
afficher les photos. Ces dernières peuvent être ajoutées durant le fonctionnement
de l’installation : la liste des photos est réactualisée à chaque lancement de la
page. On passe donc à un système dynamique mais en contrepartie ce système
requiert l’installation d’un serveur Apache.
3 : La dernière amélioration du diaporama est le preload. On avait constaté
dans les versions précédentes que certaines photos étaient affichées de manière
progressive du haut vers le bas. Aussi nous avons intégré une fonction permettant
de tester la fin du chargement d’une photo avant de l’afficher. Afin d’éprouver
cette fonction, nous avons fait tourner le diaporama avec des images allant jusqu’à
5 Mo. Le système affiche le tout sans problème.
Nous avons donc finalement opté pour cette solution. Malgré l’utilisation
détournée de logiciels orientés Web, la diffusion d’une vidéo et d’un diaporama est
ici rendu possible, et ce avec une qualité tout à fait correcte.
Nous avions pensé pendant un temps mettre en place un système de calques
CSS au-dessus des images pour l’affichage du texte associé. Nous en voyons le
fonctionnement ci-après.
- 17 -
II - Création des fichiers
a) La solution FCKEditor
La première solution envisagée pour notre projet fut celle d’un système
exclusivement en HTML, et PHP allié à une mise en forme via feuille de style. Il
s’agissait d’alterner une vidéo sur une page HTML avec un diaporama dynamique
sur lequel un calque CSS aurait permis le placement de texte.
1
2
3
4
Une page PHP liste les images contenues dans un répertoire dédié et crée
des miniatures. L’utilisateur peut alors choisir l’image qu’il souhaite afficher.
Après validation du choix, on passe à une seconde page qui permet de rédiger
le texte.
FCKeditor est un éditeur de texte HTML qui comporte de nombreuses
fonctionnalités à l’instar d’un éditeur de texte tel que MS Word. C’est léger et
ne requiert aucun installation du côté client. De plus, ce projet est Open
Source. Une occurrence de cet éditeur est alors affichée, et l’utilisateur peut
entrer son texte et le mettre en forme à sa convenance. KFCeditor finalise ce
stade en générant le code HTML du texte saisi précédemment.
A présent, il faut placer correctement le texte sur l’image. Pour ce faire,
on utilise une boîte de contenu flottante. Il s’agit de modifier la position d’un
calque CSS à l’aide de fonctions Javascript.
Lorsque l’utilisateur a validé son image, le choix de la photo, le texte ainsi
que la position du calque sont alors stockés dans un fichier structuré XML.
L’utilisateur peut alors recommencer pour une autre photo.
- 18 -
L’avantage de cette solution est son accessibilité et la légèreté des données
de mise à jour (fichier texte). La mise à jour peut être fait depuis n’importe où à
condition, bien sûr, de rendre ces pages disponibles sur Internet.
Le principal désavantage est la restriction sur le choix des photos. Il est en
effet impossible de rajouter des photos commodément sans modifier une grande
partie du système. Par ailleurs, un second désavantage non-négligeable est la
complexité de mise en œuvre du système. Il faut ici avoir des connaissances en
HTML, CSS, PHP et Javascript. L’objectif restant la création de photos avec une
couche de texte, on s’aperçoit que la complexité du système est disproportionnée
par rapport à la tâche effectuée.
- 19 -
b) La solution Impress
Après moult tests, nous sommes arrivés à la conclusion que logiciel
d’OpenOffice ne constituait pas une solution adapté à notre système de diffusion.
Impress se présente néanmoins comme un outil adéquate pour la génération
d’images combinées à du texte. En effet, ce dernier présente toutes les
fonctionnalités de mise en forme d’un traitement de texte, offre des possibilités de
schémas, et surtout exporte des images JPG à partir de diaporamas.
De plus, Impress est un logiciel familier du personnel des Laboratoires
Biopaj, qui auront donc aucun mal à le prendre en charge. Le souci d'ergonomie est
très important ici, puisque le produit s'adresse à un public de non avertit. Il vaut
donc mieux lorsque cela est possible que l'outil s'adapte à l'utilisateur plutôt que le
contraire.
Nous avons donc décider de créer sur leur poste existant, une session dédié à
la création de diapositives pour la diffusion dans laquelle nous avons installer une
version alléger d'Impress.
En effet, nous avons caché les commandes dont l’utilisateur n'a pas besoin,
au profit d'une meilleure visibilité des options essentielles.
Ensuite nous avons modifié la taille des diapositives en sorties pour qu'elles
correspondent au ratio du téléviseur.
Pour finir nous avons créé un script OooBasic pour automatiser l'exportation
de toutes les diapos aux formats JPEG et rajouter un bouton lui correspondant dans
l'interface d'Impress. (Voir script en annexes).
- 20 -
III Transfert de fichiers
Le systèmes d'échanges de fichiers entre la machine créant le diaporama et
le système de diffusion devait fonctionnait sans clavier ni souris. Il sert à modifier
le dossier contenant les images à diffuser sur le serveur de diffusion.
a) Serveur FTP
Au départ, nous avions envisagé la solution du serveur FTP pour la mise à
jour du répertoire contenant les images. L'ordinateur de mise à jour étant
directement connecté en local sur le système de diffusion, il suffisait d'un glisser
déposer de dossiers pour mettre à jour le diaporamas.
Cette solution parfaitement opérationnelle nécessitait la mise en place d'une
longueur conséquente de câble réseau. Le commanditaire après avoir accepté
cette solution, est revenu sur sa décision en décidant d'acheter un seul câble
réseau pour la totalité des sites, qu'il faudrait rebrancher et débrancher à chaque
fois. Nous avons une fois encore pu constater
l'inconstance de notre
commanditaire.
Cette installation (si l'on peut appeler ça comme ça) nous paraissant
ridicule, nous avons décider d'étudier une autre solution d'échange: la clé USB.
Même si nous trouvons dommage d'abandonner le système de mise à jour par le
réseau qui aurait pu être optimisé pour un fonctionnement centralisé avec un
serveur FTP connecté au net et les autres machines accédant aux mises à jour via
le réseau.
- 21 -
b) Clé USB
Nous avons donc pensé une solution d'échange via clé USB, qui est plus
simple d'utilisation mais qui demande la mise en place d'une solution technique
plus complexe.
Nous avons donc installé Ivman et configuré Udev et Hotplug qui sont trois
logiciels permettant le montage et le lancement automatique de script lors de la
détection du matériel USB.
Puis nous avons écrit un shell-script permettant la suppression des images
contenu dans le répertoire images du système de diffusion puis la recopie des
images présentent sur la clé dans le dit répertoire.
- 22 -
A Faire
Le système de diffusion proposé aujourd'hui fonctionne et répond au cahier
imposé par le commanditaire. Mais nous pensons qu'il y a encore de grandes
améliorations à lui apporter.
I - Mise en réseau
A terme, la mise en réseau de tous serveurs de diffusion des Laboratoires
Biopaj paraît incontournable du fait de la commodité que cela apporterait.
Un seul ordinateur (servant aussi de diffuseur) serait mise à jour à distance,
via par exemple un FTP et les autres stations iraient y télécharger les mises à jours
régulièrement.
Cette tâche, très orientée informatique, induira la mise en place d'un système
efficace de protection des ordinateurs et des données transitant par le réseaux.
Peut-être pourrait-on exploiter le réseau VPN déjà présent sur les sites.
- 23 -
II - Dévelopement d'une application dédié
Le développement d'une application serait un plus tant au niveau de la
sécurité que de la facilité d'utilisation.
En effet, l'utilisateur aurait entre ces mains un outil parfaitement adapter à sa
tâche, qui effectuerais automatiquement les opérations délicates, évitant ainsi les
mauvaises manipulations, dangereuses pour la stabilité du système.
C'est sans doute la solution la plus adaptée aux besoins d'une entreprise
comme les Laboratoires Biopaj. Malheureusement, elle aurait demandée des
connaissances en programmation importantes. Connaissances que nous n'avons pas
eu la chance d'approfondir durant notre cursus universitaire.
- 24 -
Regard Critique
I - Un projet orienté informatique
Ce projet de diffusion vidéo, fut, pour la partie technique, fortement orientée
informatique. N'ayant que de légères notions d'informatique et étant débutant sous
Linux, ce projet nous a permis de nous familiariser avec un nouveau système
d'exploitation et d'aborder l'écriture de shell-scripts simples.
Cependant, nous regrettons de ne pas avoir eu plus à étudier le signal vidéo et
ses différents traitements, notre formation n'ayant pas pour but de faire de nous
des informaticiens.
II - Un suivi chaotique
Le projet Biopaj est un projet commandité par les laboratoires du même nom en
2004. C'est lors de notre entrevue en Novembre 2005 avec les responsables
universitaires du projet, que nous a été remis le rapport de l'équipe précédente.
Malheureusement, toute notre équipe a découvert à ces dépens que rien n'avait été
signé l'année précédente entre l'université et le commanditaire et qu'une grande
partie des écrits du rapport n'était pas validée. Vous n'êtes pas sans savoir tous les
retards que ces problèmes purent occasionner.
Il est fort dommage que les responsables pédagogiques n'aient pas pris
clairement position en réaction aux caprices du commanditaire, nous laissant
parfois bien seul face aux dirigeants de Biopaj. Faute d'être entendu, nous en
sommes arrivés à user des moyens plus officiels en écrivant une lettre d'alarme à
Messieurs Bouchez et Rouzet en Mars 2006. Lettre dont vous trouverez une copie en
annexe.
Conscients de nos responsabilités au sein de ce projet, nous les avons toujours
assumées, mais il ne faut pas oublier qu'en tant qu'élèves nous sommes tributaires
de vos règles du jeu.
Le constat est malheureusement le suivant: à DREAM, les perspectives
économiques d'un projet commandité ou d'un quelconque événement font souvent
passer l'intérêt des étudiants au second plan.
Ceci n'est en aucun cas un procès, mais la conclusion d'une année d'étude à
l'UVHC. Nous tenons d'ailleurs à rappeler notre reconnaissance aux personnes qui
nous ont soutenus durant celle-ci.
III - Le résultat
Le système mise en place aujourd'hui fonctionne et répond aux cahiers des
charges. La diffusion s'effectuant grâce à un système Linux et à Firefox, tandis que
la mise à jour s'effectue par clé USB.
Malheureusement, nos efforts, en vain, pour installer Impress et surtout la Java
Media Framework nous ont fait prendre beaucoup de retard dans le projet. De ce
fait, nous n'avons pas eu le temps de peaufiner le système et nous le regrettons
(voir le chapitre To do).
- 25 -
Conclusion
Au terme de ce projet, nous sommes satisfait d’avoir pu mener la
conception de ce dispositif à un stade fonctionnel. Le système répond
au cahier des charges (Gratuité de la solution logicielle, mise à jour
simplifiée, facilité d’utilisation…) et offre encore de nombreuses
possibilités d’évolution.
Toutefois, nous regrettons de n’avoir pas toujours su gérer notre
temps de manière efficace. Nous nous sommes peut-être trop investi
dans la solution qu’offrait le logiciel Impress. Le temps précieux que
nous avons ainsi perdu aurait pu être consacré à une meilleure
sécurisation du système et à une complète mise en réseau de
l’installation.
Pour finir, nous avons su tirer profit de cette expérience tant au
niveau humain que technique. En effet, nous avons appris à travailler
de manière autonome et à s’adapter aux difficultés inhérentes à un
projet réunissant élèves, professeurs et client.
- 26 -
Annexes
Installation du système détaillée: codes et commandes
Système d'exploitation:
Rappelons pour information que la version d'Ubuntu utilisée ici est la 5.10
Breezy Badger.
Nous avons fait une installation en mode serveur puis nous avons personnalisé
l'installation par l'ajout de programmes spécifiques à notre installation.
L'installation en mode serveur se fait par le mot clé [server] à l'invite de commande
lors de l'insertion du CDRom d'Ubuntu. Nous avons sélectionné les options par
défaut.
Avant tout, on modifie le fichier /etc/apt/sources.list. On y décommente tous les
dépôts et on met à jour :
apt-get update
Nous avons mis à jour le noyau en téléchargement la version 686.
Pour cela:
apt-get install linux-686 linux-headers-686
Installation du serveur X et du gestionnaire de fenêtres:
apt-get install x-window-system-core icewm numlockx xterm
Numlockx verrouille le pavé numérique au démarrage et xterm permet d'émuler un
terminal en mode graphique. L'installation peut être vérifiée en faisant:
startx
Pour tuer le serveur X et repasser en console: Ctrl + Alt + BackShift
- 27 -
Autologin :
Nous avons mis en place un script en C dans le répertoire qui se lance au
démarrage de façon à se loguer et à lancer l’interface graphique sans intervention
de l’utilisateur.
Pour cela on créer un fichier :
sudo nano autologin.c
Dans lequel on écrit :
int main[]
{
execlp(« login », « login », « -f », « [monlogin] »,0) ;
}
Puis on compile : sudo gcc-4.0 –o autologin autologin.c
On le déplace : sudo mv autologin /usr/local/sbin
Et on supprime la source : rm autologin.c
Ensuite on édite le fichier : sudo nano /etc/inittab
Et on y remplace : 1 :2345 :repawn:/sbin/getty 38400 tty1
Par :
1 :2345 :repawn:/sbin/getty –n –l [...]
[...] /usr/local/sbin/autologin 38400 tty1
Autostart :
On édite le .bash_profile : sudo nano ~/ .bash_profile
Et on y ajoute : if [-z « $DISPLAY »]&&[$(tty)== /dev/tty1] ; then
startx
fi
Lancement d’une application au démarrage :
On crée un fichier startup dans le répertoire IceWM :
sudo nano /etc/X11/icewm/startup
Dans lequel on écrit :
#!bin/sh
[Commande de l’application à lancer]
Cacher la barre de menu d'IceWM:
On édite sudo nano /etc/X11/icewm/preferences
On décommente TaskBarAutoHide=1
- 28 -
Modification de la résolution
Il faudra aussi éditer le fichier /ect/X11/xorg-conf pour adapter la résolution de
sortie à celle des écrans.
Pour cela on doit éditer un « Modeline » contenant la résolution de l’écran et les
fréquences de balayage horizontales et verticales.
HorizSync 15-100
VertRefresh 50-100
Modeline "1360x768-50" 84.06 1360 1392 1712 1740 768 771 777
806 -HSync -VSync
Solution Impress :
Installation de Firefox :
apt-get install firefox
Installation de Java :
Il faut télecharger le fichier jre-1_5_0_06-linux-i586.bin sur le site de Sun
(www.java.com/fr/download)
On changer les droits : chmod +x jre-1_5_0_06-linux-i586.bin
Et on execute : sudo ./jre-1_5_0_06-linux-i586.bin
On déplace le dossier résultant : sudo mv -f jre-1.5.0_06/ /opt/
Ajoutons alors les liens vers les binaires :
sudo ln -s /opt/jre-1.5.0_06/bin/java /usr/local/bin/java
sudo ln -s /opt/jre-1.5.0_06/bin/policytool
/usr/local/bin/policytool
Ajoutons maintenant la variable d'environnement dans /etc/environment :
JAVA_HOME=/opt/jre1.5.0_06
On teste notre installation sur Internet aprés avoir mis les plugins pour Firefox:
sudo ln -s /opt/jre1.5.0_06/plugins/i386/ns7/libjavaplugin_oji.so
/usr/lib/mozilla-firefox/plugins
Dans Firefox, on tape [about:plugins] et on est censé y retrouver les composants
Java. On peut effacer le fichier originel.
Installation de GCC:
GCC est nécessaire à l'installation de la JMF :
sudo apt-get install gcc
Installation de JavaMediaFramework:
Aprés le téléchargement de la JMF sur le site de Sun (java.sun.com/products/javamedia/jmf/2.1.1/download.html)
- 29 -
On déplace le fichier et on l'installe :
sudo mv jmf-2_1_1e-linux-i586.bin /opt/
sudo sh ./jmf-2-1-1e-linux-i586.bin (Il faut répondre Y à toutes les
questions.)
Le script jmfinit se lance et teste différents modes vidéo de la carte graphique.
On change de propriètaire :
chown -R biopaj:biopaj JMF-2.1.1e
On configure l'environnement :
sudo nano ~/.bashrc
Pour y ajouter à la fin :
[.bashrc] :
PATH=${PATH}:$JAVA_HOME
PATH=${PATH}:$JMFHOME/bin
CLASSPATH=${CLASSPATH}:$JMF_HOME/lib/jmf.jar:$JMF_HOME/lib/mediaplay
er.jar:$JMF_HOME/lib/multiplayer.jar
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:JMF_HOME/lib
export LD_LIBRARY_PATH CLASSPATH PATH
et dans /etc/environment:
JFM_HOME=/opt/JMF-2.1.1e
A ce stade, jmstudio, l'application stand-alone en Java ne fonctionne pas, et ce,
pour une raison qui reste inconnue.
Il faut maintenant copier le contenu du dossier /lib de la JMF dans le répertoire
/ext de la JRE:
sudo cp $JMF_HOME/lib/* $JAVA_HOME/lib/ext
On petu tester l'installation java.sun.com/products/javamedia/jmf/2.1.1/jmfdiagnostics.html
Faisons un [apt-get upgrade pour mettre à jour notre système. Profitons-en
également pour supprimer le fichier d'install. [ rm jmf-2_1_1e-linux-i586.bin]
Nous avons la possibilité d'ajouter le support du mp3 à la JMF. Faute d'avoir pu
trouver des codecs vidéo libres, nous avons ajouté ce codec audio :
Sur le site de Sun (java.sun.com/products/java-media/jmf/mp3/download), on
télécharge le fichier javamp3-1_0.zip. Il faut dézipper le fichier [apt-get
install unzip] puis [unzip javamp3-1_0.zip -d /home/biopaj/JMFMP3].
On copie les fichiers au bon endroit:
[sudo cp ~/JMFMP3/lib/ext/mp3plugin.jar /opt/jre-1.5.0_06/lib/ext]
et on execute la ligne de commande suivante:
[java com.sun.media.codec.audio.mp3.JavaDecoder]
Il en résulte « Registered successfully ». Le test avec un fichier mp3 est également
concluant.
- 30 -
Installation d'OpenOffice Impress 2:
Tout d'abord, re-modifions le fichier sources.list, et ajoutons-y un dépôt:
sudo nano /etc/apt/sources.list
On ajoute : deb http://people.ubuntu.com/~doko/OOo2 ./
Puis:
apt-get update
apt-get install openoffice.org2-impress
On lance Impress [ ooimpress2 ]. On configure correctmeent ce dernier pour utiliser
la JFM : Tools → Option → Java → Classpath
On ajoute alors le dossier /opt/jmf-2.1.1e/lib et les 3 archives *.jar du même
dossier.
Afin de rendre possible depuis l'interface l'insertion de medias, on insère le bouton
du Mediaplayer permettant le test et l'insertion entre autres des videos (Inutile à
terme) : Tools → Customize → Add → Mediaplayer → Add → Ok
Nous avons vu précédemment comment lancer une application au démarrage de
Linux. Pour automatiser le lancement d'un diaporama sans logo, en plein écran et
en évitant l'apparition du système de restauration, on inscrit la ligne suivante dans
/etc/X11/icewm/startup:
[ooffice2 -nologo -show -norestore /mnt/ftp/biopaj.odp]
- 31 -
Installation de ProFTPD
Installation du serveur ftp Proftpd:
On installe proftpd [apt-get install proftpd] et on choisira l'option
« indépendamment » (Standalone).
Testons l'existence du groupe nobody [ cat /etc/group | grep nobody ]
Le groupe n'existe pas, créons-le :
groupadd nobody
Testons l'existence de l'utilisateur nobody [ cat /etc/passwd | grep nobody ]
L'utilisateur n'existe pas, créons-le :
useradd nobody -d / -s /bin/false
usermod nobody -g nobody
On limite l'accès uniquement à un utilisateur que nous créons:
useradd biopajftp -s /bin/false
Le mot de passe est à définir [ sudo passwd biopajftp]
On édite la liste des shells [sudo nano /etc/shells] et on y rajoute
[/bin/false]
Créons le dossier du ftp : [ mkdir /mnt/ftp ] puis [ chmod -R 777 /mnt/ftp
]
Le dossier est accessible à tous et sans restriction.
Pour la configuration du serveur, deux fichiers sont à éditer :
ftpusers:
on crée le fichier ftpusers des utilisateurs exclus du ftp : [ cp /etc/passwd
/etc/ftpusers ] et on ne nettoie ce fichier pour ne garder que le nom des users.
On efface biopajftp et on y ajoute anonymous.
Il faut éditer le fichier proftpd.conf
# le nom du serveur
ServerName "Serveur Biopaj"
# le daemon reste en mémoire et écoute les connections
ServerType standalone
# Autoriser l'usage de /etc/ftpusers
UseFtpUsers on
# Répertoire dans lequel arrivent les utilisateurs acceptés
DefaultChdir /mnt/ftp
# Répertoire racine, les connectés au ftp ne verrons que lui et son
contenu
DefaultRoot /mnt/ftp
# Utile surtout pour les "virtuals hosts" mais laissez ainsi
DefaultServer on
- 32 -
# le daemon écoute sur le port 21
Port 21
# On autorise les reprises des téléchargements interrompus :
AllowStoreRestart on
# Les logs des connections et transferts
SystemLog /var/log/proftpd.log
TransferLog /var/log/xferlog
# Seul le propriétaire d'un fichier peut le modifier.
Umask 022
# Nombre de processus fils maximum que va utiliser proftpd, laissez
ainsi.
MaxInstances 30
# Proftp sera lancé avec les privilèges (c'est à dire aucun) de
nobody
User nobody
Group nobody
# Nombre maximum de clients simultanés (sur ADSL ça fait 5ko/s par
utilisateurs)
MaxClients 3
# Nombre maximum de clients ayant le même login
MaxClientsPerHost 3
# Message d'accueil après une connexion réussie
AccessGrantMsg "Connexion reussie pour %u"
# Pour ne pas donner d'info sur le serveur
DeferWelcome on
# Un utilisateur peut écraser ses propres fichiers
AllowOverwrite on
#Seul l'utilisateur adminftp a le droit d'écrire dans /mnt/ftp
#<Directory /mnt/ftp>
#<Limit WRITE>
#AllowUser adminftp
#DenyAll
#</Limit>
#Si vous souhaitez restreindre le ftp à votre réseau local
192.168.0.x et à
#l'adresse 10.0.0.1 décommentez les lignes suivantes :
<Limit LOGIN>
Allow 10.0.0.1 192.168.0.
Deny All #</Limit>
</Directory>
On supprime proftpd de la liste des deamons d'inetd [sudo nano
/etc/inetd.conf] et on commente [ftp stream tcp nowait root
/usr/sbin/tcpd proftpd]. On relance [ killall -HUP inetd ].
On va maintenant lancer le daemon [/usr/sbin/proftpd] et on vérifie qu'il est
bien lancé [ps ax | grep proftpd]. Si un problème survient, on tue le processus
et on relance [sudo killall -HUP proftpd].
Pour tester le ftp, il suffit de taper [ftp localhost] et de se connecter sous
l'utilisateur biopajftp. On peut par ailleurs restreindre l'accès au ftp à l'ordinateur
connecté « en dur ». Une sélection est faite au niveau de l'adresse IP.
- 33 -
Solution Firefox & VLC
Nom du fichier : video.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso8859-15">
<meta http-equiv="content-language" content="en">
<title>Laboratoire Biopaj</title>
</head>
<body>
<script language="javascript">
function status()
{
if (document.video1.get_time()>=document.video1.get_length()-1)
document.location="http://localhost/biopaj/test.php";
setTimeout("status()", 1000 );
}
</script>
<embed type="application/x-vlc-plugin" name="video1"
fullscreen="yes" autoplay="yes" loop="no"
target="file:///var/www/biopaj/video.avi" height="1" width="1">
<script language="javascript">
document.video1.add_item( "file:///var/www/biopaj/video.avi" );
document.video1.play();
setTimeout("status()", 3000 );
</script>
</body>
</html>
La page ci-dessus utilise le plugin VLC avec les contrôles Javascript associés. En
fait, on ajoute la vidéo à la liste de lecture de VLC avant d'en demander la lecture
en plein écran. Au bout de 3 secondes (plage de temps à redéfinir), on lance un
teste qui se rappelle régulièrement et qui une seconde avant la fin de la vidéo
redirige vers le diaporama.
- 34 -
Nom du fichier : diaporama.php
<html>
<head>
<title>Diaporama</title>
<script language="JavaScript">
<!-<?php
// On ouvre le tableau qui va contenir toutes les images du
diaporama
echo "src = [";
$a = 0;
$imgRep = "images";
$handle = openRep($imgRep);
while (($fichier = readdir())!=false) {
if($fichier!=".." && $fichier!="." &&
getimagesize("$imgRep/$fichier"))
{
if ($a==0) {echo "\"$imgRep/$fichier\"";} else {echo
",\"$imgRep/$fichier\"";}
$a++;
}
}
closedir($handle);
echo "]";
?>
//fixe la duree de chaque photo
duration = 5;
image=[];
ct=0;
function ChgtImage() {
//on fait un modulo avec src.length contient le nombre d'images de
la page
var n=(ct+1);
//test si l'image est totalement chargée (.complete) : alors on
affiche //l'image
if (image[n] && (image[n].complete || image[n].complete==null))
{
document["Ad_Image"].src = image[ct=n].src;
}
// preparation pour l'image suivante : on cree un nouvel element
graphique //avec Image()
image[n=(ct+1)] = new Image();
image[n].src = src[n];
// on rapelle la fonction pour l'image suivante
if(n==src.length)
document.location="http://localhost/biopaj/video.html";
- 35 -
else setTimeout("ChgtImage()",duration*1000);
}
//on test le support du tableau d'images de Javascript par le
navigateur (oui...)
onload = function()
{
if (document.images) ChgtImage();
}
//-->
</script>
</head>
<body bgcolor="black">
<center><img name="Ad_Image" src="black.gif" border=0 height="1000"
width="1200" /></center>
</body>
</html>
- 36 -
Création d'images avec Impress
Nous avons du écrire une macro pour pouvoir exporter par lots les diapositives au
format JPEG. Pour cela, nous nous sommes inspiré d’une macro trouver sur
Internet :
REM
*****
BASIC
*****
Sub Main
' On inscrit ci-dessous le nom du document que
' l'on veut exporter en plusieurs JPG
cImpressDocAexp = "C:\Documents and
Settings\biopaj\Bureau\mise_a_jour.odp"
SplitSlides( cImpressDocAexp )
End Sub
Sub SplitSlides( cImpressDocAexp )
' On ouvre le document pour compter le nombre de pages
oDoc = StarDesktop.LoadComponentFromURL( ConvertToURL(
cImpressDocAexp ), "_blank", 0, Array() )
nNumPages = oDoc.getDrawPages().getCount()
' Maintenant que l'on connait le nb de pages, on ferme
oDoc.close( True )
' On veut le nom du document mais sans le type
cImpressDocAexpNoSuffix = Left( cImpressDocAexp, Len(
cImpressDocAexp ) - 4 )
'
' On boucle sur chaque page
nHighestPageNumber = nNumPages-1
nPageToSave = 2
For nPageToSave = 0 To nHighestPageNumber
' Ouverture du document
oDoc = StarDesktop.LoadComponentFromURL( ConvertToURL(
cImpressDocAexp ), "_blank", 0, Array() )
' On efface toutes les pages excepte celle qui nous
' interesse dans cette boucle
DeleteAllPagesExcept( oDoc, nPageToSave )
' Preparation a la sauvegarde JPG
' Premierement on recupere le nom du fichier
cNewName = cImpressDocAexpNoSuffix + " " + CSTR( nPageToSave +
1 )
' On le sauve en JPG
oDoc.storeToUrl( ConvertToURL( cNewName + ".jpg" ), _
Array( MakePropertyValue( "FilterName",
"impress_jpg_Export" ) ) )
- 37 -
' On ferme le document sans le sauver
oDoc.close( True )
Next
End Sub
' Fonction permettant d'effacer toutes les pages
' SAUF une que nous voulons garder
Function DeleteAllPagesExcept( oDoc, nPageToKeep )
nNumPages = oDoc.getDrawPages().getCount()
nHighestPageNumber = nNumPages-1
' Efface la dernière page, puis la page d'avant
' puis la page d'avant...jusqu'à la page à garder
' This deletes all pages AFTER the page to keep.
' Ceci efface toutes les pages APRES la bonne page
nPageToDelete = nHighestPageNumber
Do while nPageToDelete > nPageToKeep
' Numero de la page
oPage = oDoc.getDrawPages().getByIndex( nPageToDelete )
' On enleve la page
oDoc.getDrawPages().remove( oPage )
nPageToDelete = nPageToDelete - 1
Loop
' Efface toutes les pages avant celle à conserver
For i = 0 To nPageToKeep - 1
' Efface la premiere page
nPageToDelete = 0
' Numero de la page
oPage = oDoc.getDrawPages().getByIndex( nPageToDelete )
' On enleve la page
oDoc.getDrawPages().remove( oPage )
Next
End Function
Function MakePropertyValue( Optional cName As String, Optional
uValue ) As com.sun.star.beans.PropertyValue
oPropertyValue = createUnoStruct(
"com.sun.star.beans.PropertyValue" )
If Not IsMissing( cName ) Then
oPropertyValue.Name = cName
EndIf
If Not IsMissing( uValue ) Then
oPropertyValue.Value = uValue
EndIf
MakePropertyValue() = oPropertyValue
End Function
- 38 -
- 39 -
- 40 -
- 41 -
- 42 -
Le 20 Mars 2006
Par Amélie Chassériaux et Xavier Gruselle
A l’attention de nos professeurs
Objet : PROJET BIOPAJ
Problèmes rencontrés
Mesdames, Messieurs,
Travaillant sur la partie technique du projet commandité par les laboratoires Biopaj dans
le cadre de notre projet de fin d’année, nous tenions à faire part à nos professeurs et
encadrants de nos inquiétudes face à l’évolution de celui-ci.
Vous n’êtes pas sans savoir les différents problèmes rencontrés par nos camarades de
l’option MCAV et nous-mêmes, avec l’entreprise Biopaj et l’université, le projet n’ayant pas
été rigoureusement conduit l’année précédente par les deux parties .
Aujourd’hui, alors que M. Bartholomé, notre interlocuteur auprès des laboratoires
Biopaj, nous avait certifié, en janvier, que les problèmes internes du début de l’année étaient
réglés et que tout était mis en œuvre au sein de l’entreprise pour le bon déroulement du projet,
nous nous heurtons une fois encore à des complications qui ne sont pas de notre ressort.
En effet, nous nous sommes rendu dans 4 des 5 laboratoires (Clemenceau, Vauban,
Anzin et Bavais), en vue d’étudier l’installation technique à prévoir et de prendre contact avec
le technicien qui « devait » s’en occuper. Nous avons alors pu constater des manquements
graves de la part du commanditaire.
Il nous est désormais plus que nécessaire de vous en faire part.
D’une part, nous constatons que tous les membres de l’entreprise concernés par
l’installation n’ont pas été clairement informés, alors que, devons nous le rappeler, ce projet
fut commandité l’année 2004/2005 et que l’installation finale fut décidée en Novembre 2005.
En effet, le technicien fut surpris d’apprendre que l’installation du matériel et des câbles
était à sa charge. Ce travail, comme nous avons pu l’évaluer, étant très important le technicien
nous a dit ne pas pouvoir l’accomplir seul. M. Bartholomé ne semble pas avoir prévu de faire
appel à une entreprise extérieure.
Nous avons aussi appris lors de notre visite, qu’une personne s’occupait de l’installation
informatique sur les 5 laboratoires. Malgré notre demande répétée de renseignements sur
l’agencement du réseau, M. Bartholomé ne nous avait jamais fait part de cette information.
Cette personne, peu au courant du projet, n’a pas semblé disposée à nous aider.
D’autre part, il est maintenant évident que ce projet, mis en place par M. Bartholomé,
n’est pas soutenu par tous les autres biologistes.
Pour exemple, une biologiste s’est ouvertement opposée à l’idée de « voir courir des
câbles supplémentaires dans son laboratoire ».
- 43 -
Autre exemple : alors que nous prenions les mesures d’une des salles de Vauban, un
autre biologiste nous a déclaré que celle-ci devait prochainement subir des travaux, et a
conclu « Revenez l’année prochaine », sans même daigner nous regarder.
Il parait clair que le commanditaire manque de sérieux et de rigueur, et que son
comportement met en péril le bon déroulement du projet.
Pour conclure, si nous sommes inquiets pour la bonne conduite de notre projet, nous le
sommes encore plus pour nos études. Les problèmes rencontrés avec le commanditaire nous
ont déjà fait perdre un temps précieux, au dépend de celle-ci et la situation actuelle ne présage
pas d’amélioration, bien au contraire.
En tout état de cause, nous tenions à vous dire qu’il nous semble inconsidéré d’effectuer
la commande du matériel informatique pour l’entreprise Biopaj, n’ayant aucune garantit sur sa
bonne installation.
Nous vous précisons que l’étude du système technique à mettre en place, nous
intéresse vivement et que nous souhaitons amener la partie conception à son terme. A présent,
nous continuons notre travail en ignorant le commanditaire, mais soyez assurés que nous
déplorons cette situation.
Amélie Chassériaux & Xavier Gruselle
Master I Audiovisuel – ISIS.
- 44 -

Documents pareils