6c256b7ade58e3f7f02ad1d7a8d8d423e939c25d
[booh] / www / advanced.fr.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
3
4 <head>
5   <title>Booh - Le Web-Album de choix pour les utilisateurs de Linux distingués</title>
6   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
7   <meta name="viewport" content="width=device-width"/>  
8 <style type="text/css">
9 body {
10         font-family: Verdana, Arial, Helvetica, sans-serif, monospace;
11         text-align: justify;
12 }
13 pre { background-color: #e0e0e0; }
14 tt { background-color: #e0e0e0; }
15 @media all and (orientation: landscape) {  
16     body {
17         margin-left: 15%;
18         margin-right: 15%;
19     }
20 }
21 </style>
22 </head>
23
24 <body bgcolor="#FFFFFF" text="#000000" link="#0000ee" vlink="#551a8b">
25
26    <table width="100%" cellspacing="0" cellpadding="0">
27      <tr>
28        <td width="25%" align="left" valign="top">
29          <a class="FlattrButton" style="display:none;" rev="flattr;button:compact;" href="http://booh.org/"></a>
30        </td>
31        <td width="50%" align="center">
32          <img src="images/logo.png" alt="booh logo"/>
33        </td>
34        <td width="25%" align="right" valign="top">
35          <div style="display:inline-block; margin-bottom:0.2em"><a href="advanced.html"><img src="images/en.png" alt="this page in english"/></a></div>
36          <div style="display:inline-block"><img src="images/fr.png" alt="cette page est en français"/></div>
37        </td>
38      </tr>
39    </table>
40
41    <h1 align="center">Booh</h1>
42
43    <p align="center">[ <a href="index.fr.html">page principale</a> |
44                        <a href="themes/cardu/">exemple de web-album</a> |
45                        <a href="video-demo.fr.html">démo vidéo</a> |
46                        <a href="tutorial.fr.html">tutoriel</a> |
47                        avancé |
48                        <a href="discuss.fr.html">discussion</a> |
49                        <a href="download.fr.html">téléchargement</a> ]</p>
50
51    <a name="performance"><h2>Performance - création de web-albums</h2></a>
52
53    <p>
54      Afin d'améliorer la performance à la création des vignettes - une
55      étape longue et pénible quand on crée des web-albums - Booh
56      bénéficie des avantages des ordinateurs multi-processeurs.
57    </p>
58
59    <p>
60      Les valeurs suivantes ont été obtenues sur un P4 HT à 2.8 GHz, avec Linux 2.6.6 SMP 4G (notez que ce
61      n'est pas une vraie machine SMP) avec
62      la même série de vignettes à créer :</p>
63
64 <pre>
65     Normal     durée : 2:10.81
66     --mproc 2  durée : 2:01.44  (0.928 Normal)
67 </pre>
68
69    <p>
70      Ce n'est pas si mal, mais montre clairement qu'un P4
71      hyperthreading n'est de loin pas une vraie machine SMP !
72      Maintenant, regardons le résultat avec un Pentium-3 Cascades 700
73      MHz avec 6 processeurs :</p>
74
75 <pre>
76     Normal     durée : 2:58.07 
77     --mproc 2  durée : 1:32.48 
78     --mproc 3  durée : 1:03.34 
79     --mproc 4  durée : 0:49.12 
80     --mproc 5  durée : 0:40.86 
81     --mproc 6  durée : 0:39.03 elapsed  (0.219 Normal)
82 </pre>
83
84    <p>On voit bien ici que le support multi-processeurs de Booh n'est
85    pas une fonctionnalité inutile.</p>
86
87    <p>Des tests plus récents (pas les mêmes photos), sur un Core i5
88    650 (dual core HT) 3.2 GHz avec Linux 2.6.33.7 x86_64 :</p>
89
90 <pre>
91     Normal     durée : 0:48.79
92     --mproc 2  durée : 0:27.87
93     --mproc 3  durée : 0:20.38
94     --mproc 4  durée : 0:16.96  (0.347 Normal)
95 </pre>
96
97    <p>Des tests plus récents (pas les mêmes photos), sur un Core i7
98    3770 (quad core HT) 3.4 GHz avec Linux 3.3.4 x86_64 :</p>
99
100 <pre>
101     Normal     durée : 1:18.21
102     --mproc 2  durée : 0:39.82
103     --mproc 3  durée : 0:27.49
104     --mproc 4  durée : 0:20.95
105     --mproc 5  durée : 0:17.88
106     --mproc 6  durée : 0:15.77
107     --mproc 7  durée : 0:13.93
108     --mproc 8  durée : 0:12.70  (0.162 Normal)
109     --mproc 9  durée : 0:12.66
110 </pre>
111
112
113    <a name="classifierperformance"><h2>Performance - <i>booh-classifier</i></h2></a>
114
115    <p>
116      Un test a été effectué sur un p4 2.8 GHz avec 1 Go de
117      mémoire, avec GTK+ 2.12.9 : le chargement de 134 photos
118      en 3456x2304 en provenance d'un Canon EOS 350D, faisant
119      un total de 396 Mo. Après que tous les fichiers soient
120      dans le cache du système de fichiers, la durée nécessaire
121      pour afficher une vignette pour toutes les photos est
122      mesurée avec <i>booh-classifier</i> en comparaison d'autres
123      programmes utilisés couramment :
124    </p>
125
126    <ul>
127      <li>booh-classifier 0.9.0: 18.9 secondes</li>
128      <li><a href="http://gthumb.sourceforge.net/">gthumb</a> 2.10.8: 22.5 secondes</li>
129      <li><a href="http://www.gnome.org/projects/eog/">eog</a> 2.22.0: 28 secondes</li>
130      <li><a href="http://www.konqueror.org/">konqueror</a> 3.5.9: 1
131      minute et 40 secondes (konqueror est apparemment très lent pour
132      des photos aussi grandes, alors qu'il est raisonnablement rapide
133      pour des photos plus petites)</li>
134    </ul>
135
136    <p>
137      Il faut garder à l'esprit en plus, que gthumb et eog ne
138      préchargent pas les photos environnantes (konqueror non plus,
139      mais ça ne fait pas de sens pour lui) ; eog n'est pas capable de
140      montrer les vidéos ; et konqueror ne montre même pas les photos
141      portrait (qui contiennent la bonne orientation EXIF) tournées
142      dans le bon sens - même si je soupçonne un problème avec la
143      compilation ou la configuration que je n'ai pas pu trouver.
144    </p>
145
146
147
148
149    <h2>Occupation disque</h2>
150
151    <p>
152      Pour réduire l'occupation disque, les web-albums incluant les
153      images originales utilisent des liens durs (<i>hard links</i>)
154      entre l'image d'origine dans le répertoire source et dans le
155      répertoire destination. Bien sûr, cela nécessite l'utilisation de
156      la même partition du même disque pour les deux répertoires ; si
157      cela n'est pas le cas, l'image sera simplement copiée (c'est
158      totalement transparent pour l'utilisateur).
159    </p>
160
161
162
163
164    <h2>Architecture et manipulation des données</h2>
165
166    <p>
167      La génération du web-album est complètement effectuée par un
168      programme en ligne de commande qui
169      s'appelle <tt>booh-backend</tt>. Il génère et/ou manipule un
170      fichier XML. L'édition est faite par un programme en mode
171      graphique (utilisant GTK+) appelé <tt>booh</tt>. Par conséquent,
172      on peut générer un web-album sans aucun travail d'édition (et en
173      fait aucune entrée manuelle)
174      <a href="tutorial.fr.html#fastest">uniquement avec le programme
175      en ligne de commande</a> si nécessaire, ou au contraire, utiliser
176      seulement le programme en mode graphique (ce qui est la manière
177      la plus simple et recommandée de procéder). L'utilisation d'un
178      fichier XML entre les deux permet un "scripting" ou l'"extention"
179      des résultats avec n'importe quel outil de traitement XML. Le
180      fichier XML a une DTD "logique", il est en fait constitué d'un
181      arbre d'éléments similaire à l'arbre des répertoires du web-album
182      sur le système de fichiers.
183    </p>
184
185
186
187    <h2>Considérations internes</h2>
188
189      <p>
190        Le web-album généré par Booh fait une utilisation intensive du
191        javascript pour être capable d'effectuer un préchargement
192        intelligent des images suivantes/précédentes, et pour montrer
193        toutes les images au sein d'une seule page HTML (cela élimine
194        un download et évite de changer votre position de défilement
195        dans le navigateur). Cela devrait fonctionner correctement avec
196        le navigateur buggué le plus répandu actuellement, mais a été
197        développé avec Galeon. De plus, notez que l'album généré est
198        visible sans problème sans javascript (des pages HTML
199        spécifiques sont générées dans ce but), de telle manière que le
200        javascript n'est pas obligatoire pour parcourir les albums (un
201        navigateur avec le javascript désactivé sera tout de même
202        capable de parcourir les albums).
203      </p>
204
205      <p>
206        Le thème par défaut, 'simple', a été écrit dans le but d'être
207        simple et concis, et il pourrait probablement avoir un meilleur
208        look (les contributions sont les bienvenues). Il possède
209        plusieurs tailles de vignettes et de plein écran, forgées avec
210        soin pour remplir le maximum sur un écran en 800x600, 1024x748,
211        1280x1024, 1400x1050 ou 1600x1200 (vous pouvez sélectionner la
212        liste des tailles que vous désirez pour vos web-albums -
213        ensuite, lorsque les utilisateurs parcourent les albums, une
214        autodétection en javascript de la taille optimale pour la
215        taille réelle de la fenêtre du navigateur est utilisée). Les
216        personnes intéressées par l'HTML et le CSS sont les bienvenues
217        pour créer de nouveaux thèmes - jetez un coup d'oeil au fichier
218        THEMES dans le tarball pour obtenir de la documentation à ce
219        propos.</p>
220
221    <p>Si vous voulez créer un nouveau thème, ou bien faire une
222    modification locale à un thène, il vous suffit de mettre des
223    thèmees dans votre répertoire <tt>~/.booh-themes</tt> (Booh en version
224    0.9.2 ou plus récente). Par exemple, pour partir de 'dark' :
225    </p>
226
227 <pre>
228 # mkdir ~/.booh-themes
229 # cp -a /usr/share/booh/themes/dark ~/.booh-themes/montheme
230 </pre>
231
232    <p>Utilisez un nom différent des noms des thèmes originaux (ici j'ai choisi
233      au hasard 'montheme', choisissez un meilleur nom).</p>
234
235      <p>
236        Les thèmes actuellement disponibles : <a href="http://booh.org/themes/simple/">simple</a> -
237                             <a href="http://booh.org/themes/cardu/">cardu</a> -
238                             <a href="http://booh.org/themes/dark/">dark</a> -
239                             <a href="http://booh.org/themes/sbs/">sbs</a>.
240      </p>
241
242
243
244    <h2>Traductions</h2>
245
246    <table>
247    <tr>
248    <td colspan="2">
249      Booh a un support complet de l'internationalisation. De plus,
250      Booh peut générer des web-albums avec la navigation disponible en
251      plusieurs langues, de telle manière que les web-albums s'adaptent
252      automatiquement à la langue de la personne qui les parcourt !
253    </td>
254    </tr>
255
256    <tr>
257      <td>
258        Booh est disponible en français, allemand, japonais et
259        espéranto (en plus de l'anglais, bien évidemment).
260      </td>
261      <td align="right" width="1%">
262        <nobr>
263          <img src="images/en.png" alt="drapeau anglais"/>
264          <img src="images/fr.png" alt="drapeau français"/>
265          <img src="images/de.png" alt="drapeau allemand"/>
266          <img src="images/ja.png" alt="drapeau japonais"/>
267          <img src="images/eo.png" alt="drapeau espérantiste"/>
268        </nobr>
269      </td>
270    </tr>
271    </table>
272
273
274
275 <p align="right"><font size="-1">Wed Jun  1 17:51:26 2011</font></p>
276
277 </body>
278
279 </html>