Updated README to signal new problem
[radcan.git] / readme.txt
blob294f580a34389a424dd1c4d3bad1a2e5e90dd38a
1 Client pour le service web de vidéo sur demande de Radio-Canada
2 ===============================================================
3 Sylvain Fourmanoit <syfou@users.sourceforge.net>
5 ///////////////////////////////////////////////////////////////////////
6 Ceci est un document asciidoc, encodé en UTF-8.
8 http://www.methods.co.nz/asciidoc/
10 Voir GNUMakefile, dans l'entrepôt, pour la façon dont est régénérée 
11 la version formatée.
12 ///////////////////////////////////////////////////////////////////////
14 ***********************************************************************
15 La dernière version de ce document est
16 http://radcan.googlepages.com/index.html[disponible ici] en tout temps.
17 ***********************************************************************
19 [IMPORTANT]
20 ========================================================================
21 Vers le premier octobre 2007, la Société Radio-Canada a modifié sa
22 méthode de diffusion en mode continu ("'streaming'"); bien que cela
23 n'affecte pas la capacité de ce client de donner les liens corrects
24 vers les sources audio et vidéo recherchées, *cela rend malgré tout
25 son utilisation caduque*, comme à notre connaissance aucun
26 http://fr.wikipedia.org/wiki/Code_source_libre[logiciel ouvert] ne
27 permet pour l'instant de lire correctement ces nouveaux flots. Avec un
28 peu de chance, la situation ne sera que temporaire:
29 http://radcan.googlepages.com/puzzle.html[nous cherchons activement
30 une solution].
31 ========================================================================
33 Qu'est-ce que ceci?
34 -------------------
35 Un client permettant l'accès au contenu de la
36 http://www.radio-canada.ca/audio-video/[zone audio vidéo de la Société
37 Radio-Canada] de façon
38 http://fr.wikipedia.org/wiki/Code_source_libre[ouverte] et
39 http://fr.wikipedia.org/wiki/Portabilite_%28informatique%29[portable].
41 Pré-requis
42 ---------
43 Soit:
45 - http://python.org/[Python] 2.5.0, ou toute version plus récente: aucun module
46   supplémentaire nécéssaire.
47 - Ou encore Python 2.4.x, accompagné du module
48   http://effbot.org/zone/element-index.htm[ElementTree].
50 Installation
51 ------------
52 - http://radcan.googlepages.com/radcan-{revision}.tar.bz2[Télécharger] le
53   dernier paquetage, ou la version de
54   http://repo.or.cz/w/radcan.git[l'entrepôt] (méthode recommandée).
56 - Utiliser le client tel quel, en invoquant `./radcan`, ou l'intégrer dans
57   votre environnement Python, grâce au script `setup.py` fourni:
59 -----------------------
60 python setup.py install
61 -----------------------
63 Dans ce dernier cas, l'invocation en ligne de commande de `radcan` deviendra
64 généralement accessible à tous les utilisateurs du système.
66 Utilisation
67 -----------
68 Voir `radcan \--help`, ou le manuel (`radcan.1`) pour le détail. Voici
69 quelques exemples d'utilisation:
71 - Obtenir la liste de toutes les émissions disponibles: `radcan
72   \--broadcasts`.
74 - Obtenir tous les clips des quinze derniers jours traitant de politique:
75   `radcan \--search=politique \--date-offset=15`.
77 - Obtenir uniquement les liens au premier et au troisième clip de la liste
78   des clips suggérés aujourd'hui: `radcan \--suggested \--asx
79   \--items=0,2`.
81 - Obtenir tous les télé-journaux nationaux (émission #1656) récents: `radcan
82   \--query=1656`.
84 Questions et remarques fréquentes
85 ---------------------------------
87 La zone audio vidéo de Radio-Canada marche très bien: quel est l'intérêt?
88 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
89 - Ne pas avoir à transférer 400 KB à chaque fois qu'on réactualise la page
90   principale de la zone, et 200 KB pour la console: mais seulement environ
91   30 KB pour une requête typique... C'est d'autant plus pratique que
92   souvent, les requêtes échouent ou n'aboutissent pas, surtout en heure de
93   grande affluence.
95 - Interroger Radio-canada sur son contenu audio-vidéo significativement
96   plus rapidement, et avec une demande en ressources nettement plus faible
97   que par le site: ce client tourne correctement sur un Pentium original
98   avec 32 MB de mémoire vive.
100 - Interroger Radio-canada quant à son contenu audio-vidéo sur toute
101   plate-forme supportant Python, ce qui rejoint beaucoup plus d'utilisateurs
102   que Flash.
104 - Ne pas dépendre de http://fr.wikipedia.org/wiki/Adobe_Flash[Flash], une
105   composante logicielle fermée et propriétaire, pour avoir accès à ce
106   service de Radio-Canada.
108 - Avoir la possibilité de scripter l'accès au contenu Radio-Canadien: le
109   téléchargement d'un clip audio donné sur une tâche périodique (cronjob)
110   devient possible: c'est l'équivalent d'avoir la balladodiffusion générale
111   pour tout Radio-Canada!
113 Ce client ne renvoie que des liens aux clips: comment suis-je sensé les lire?
114 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
116 NOTE: Voir la remarque importante en tête du document.
118 Ce client renvoie des liens à des fichiers
119 http://fr.wikipedia.org/wiki/ASX_%28format%29[ASX], qui "pointent" à une ou
120 plusieurs sources http://fr.wikipedia.org/wiki/Windows_Media_Video[WMV],
121 toutes en WMV3, un codec propriétaire. Vous serez cependant heureux
122 d'apprendre que depuis environ un an, la librairie
123 http://ffmpeg.mplayerhq.hu/[FFMPEG] contient un décodeur entièrement libre
124 (module VC-1) qui, sans encore supporter correctement l'ensemble des
125 variantes de cette famille (VC-1, WMV3, WMV9, ...), restitue déjà très
126 correctement l'ensemble des flots de Radio-Canada sur un ensemble large
127 d'architectures et de systèmes d'exploitation: minimalement, l'ensemble des
128 lecteurs vidéo utilisant FFMPEG (tels http://www.mplayerhq.hu/[mplayer] ou
129 http://www.videolan.org/vlc/[VLC Media Player], pour ne nommer que ceux-là)
130 seront donc capable de lire les clips. Par exemple, un utilisateur de
131 mplayer pourra utiliser:
133 ----------------------------------------------------------
134 mplayer -playlist http://chemin/au/fichier_redirecteur.asx
135 ----------------------------------------------------------
137 Ce client ne semble pas retourner les mêmes résultats que le site.
138 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
139 Au meilleur de notre connaissance, ce client renvoie exactement la même
140 information que celle disponible par la zone audio vidéo de Radio-Canada.
141 Gardez à l'esprit que certaines requêtes, tel celles permettant d'avoir les
142 clips suggérés, voient leurs résultats changer très souvent: il est donc
143 tout à fait possible d'obtenir une sortie différente pour la même requête,
144 parfois à quelques secondes d'intervalle.
146 Les résultats ne sont pas constants!
147 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
148 C'est vrai. Voir l'entrée précédente.
150 Certaines requêtes ne retournent rien.
151 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
152 Quand une requête ne renvoie rien sans non plus signaler la moindre erreur,
153 cela signifie généralement qu'il n'existe aucune résultat qui corresponde à
154 la requête: par exemple, demander les clips récents d'une émission qui fait
155 relâche, ou qui n'est pas encore mise en ligne dans le nouveau système ne
156 retournera rien, sans non plus générer d'erreur.
158 Il arrive également que Radio-Canada signale à l'occasion qu'il n'existe
159 aucun résultat correspondant à une requête qui devrait être valide: au
160 meilleur de notre compréhension, il s'agit d'une méthode de contrôle de la
161 congestion quant trop de requêtes se télescopent. Soumettre la même
162 requête une seconde fois permet alors habituellement d'obtenir le résultat
163 escompté.
165 Pourquoi l'interface est-elle en anglais?
166 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
167 Par souci de portabilité et d'uniformité: sur de nombreux environnements Python,
168 l'aide automatisée emploierait un horrible sabir franco-anglais. La gestion des
169 encodages de caractères n'est pas non plus très uniforme d'une plate-forme à
170 l'autre, et nous désirions éviter les problèmes.
172 Pour être parfaitement honnête, le problème est aussi esthétique: un code
173 bilingue est souvent plus équivoque et difficile à suivre (changement
174 continuel de terminologie, etc.).
176 Je suis intrigué: comment ça marche?
177 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
178 Allez lire le source. ;-D
180 Vous privez Radio-Canada de précieux revenus publicitaires!
181 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
183 NOTE: Voir la remarque importante en tête du document.
185 C'est faux. Au moment d'écrire ces lignes, le site lui-même ne diffuse
186 aucune publicité directement: certains clips vidéo contiennent des
187 publicités, et ce client n'y change absolument rien.
189 En fait, sur une base strictement économique, l'utilisation de ce client
190 par un usager devrait être marginalement plus rentable pour Radio-Canada
191 que l'utilisation du site, puisqu'il diminue significativement le besoin en
192 bande passante lors de la phase de recherche tout en ne modifiant pas la
193 quantité de publicité à laquelle ceux-ci seront exposés lors de leur
194 écoute.