Merge commit '712ddafb749aada41daab85c36ac12f657b2307e'
[fanfix.git] / README-fr.md
... / ...
CommitLineData
1[English](README.md) Français
2
3# Fanfix
4
5Fanfix est un petit programme Java qui peut télécharger des histoires sur internet et les afficher hors ligne.
6
7## 🔴 Ceci est le programme serveur et command-line
8
9Vous pouvez aussi utiliser :
10- le client graphique [Fanfix-swing](https://github.com/nikiroo/fanfix-swing/)
11- le client en mode TUI [Fanfix-jexer](https://github.com/nikiroo/fanfix-jexer/)
12
13## Synopsis
14
15- ```fanfix``` --import [*URL*]
16- ```fanfix``` --export [*id*] [*output_type*] [*target*]
17- ```fanfix``` --convert [*URL*] [*output_type*] [*target*] (+info)
18- ```fanfix``` --read [*id*] ([*chapter number*])
19- ```fanfix``` --read-url [*URL*] ([*chapter number*])
20- ```fanfix``` --search
21- ```fanfix``` --search [*where*] [*keywords*] (page [*page*]) (item [*item*])
22- ```fanfix``` --search-tag
23- ```fanfix``` --search-tag [*index 1*]... (page [*page*]) (item [*item*])
24- ```fanfix``` --list
25- ```fanfix``` --server [*key*] [*port*]
26- ```fanfix``` --stop-server [*key*] [*port*]
27- ```fanfix``` --remote [*key*] [*host*] [*port*]
28- ```fanfix``` --help
29
30## Description
31
32(Si vous voulez juste voir les derniers changements, vous pouvez regarder le [Changelog](changelog-fr.md) -- remarquez que le programme affiche le changelog si une version plus récente est détectée depuis la version 1.4.0.)
33
34Le fonctionnement du programme est assez simple : il converti une URL venant d'un site supporté en un fichier .epub pour les histoires ou .cbz pour les comics (d'autres options d'enregistrement sont disponibles, comme du texte simple, du HTML...)
35
36Pour vous aider à organiser vos histoires, il peut aussi servir de bibliothèque locale vous permettant :
37
38- d'importer une histoire depuis son URL (ou depuis un fichier)
39- d'exporter une histoire dans un des formats supportés vers un fichier
40- d'afficher une histoire en mode texte
41- via [fanfix-swing](https://github.com/nikiroo/fanfix-swing/): d'afficher une histoire en mode GUI **lui-même** ([fanfix-swing](https://github.com/nikiroo/fanfix-swing/)) ou **en appelant un programme natif pour lire le fichier** (potentiellement converti en HTML avant, pour que n'importe quel navigateur web puisse l'afficher)
42
43### Sites supportés
44
45Pour le moment, les sites suivants sont supportés :
46
47- http://FimFiction.net/ : fanfictions dévouées à la série My Little Pony
48- http://Fanfiction.net/ : fanfictions venant d'une multitude d'univers différents, depuis les shows télévisés aux livres en passant par les jeux-vidéos
49- http://mangahub.io/ : un site répertoriant une quantité non négligeable de mangas (English)
50- https://e621.net/ : un site Furry proposant des comics, y compris de MLP
51- https://sofurry.com/ : même chose, mais orienté sur les histoires plutôt que les images
52- https://e-hentai.org/ : support ajouté sur demande : n'hésitez pas à demander un site !
53- http://mangas-lecture-en-ligne.fr/ : un site proposant beaucoup de mangas, en français
54
55### Types de fichiers supportés
56
57Nous supportons les types de fichiers suivants (aussi bien en entrée qu'en sortie) :
58
59- epub : les fichiers .epub créés avec Fanfix (nous ne supportons pas les autres fichiers .epub, du moins pour le moment)
60- text : les histoires enregistrées en texte (.txt), avec quelques règles spécifiques :
61 - le titre doit être sur la première ligne
62 - l'auteur (précédé de rien, ```Par ```, ```De ``` ou ```©```) doit être sur la deuxième ligne, optionnellement suivi de la date de publication entre parenthèses (i.e., ```Par Quelqu'un (3 octobre 1998)```)
63 - les chapitres doivent être déclarés avec ```Chapitre x``` ou ```Chapitre x: NOM DU CHAPTITRE```, où ```x``` est le numéro du chapitre
64 - une description de l'histoire doit être donnée en tant que chaptire 0
65 - une image de couverture peut être présente avec le même nom de fichier que l'histoire, mais une extension .png, .jpeg ou .jpg
66- info_text : fort proche du format texte, mais avec un fichier .info accompagnant l'histoire pour y enregistrer quelques metadata (le fichier de metadata est supposé être créé par Fanfix, ou être compatible avec)
67- cbz : les fichiers .cbz (une collection d'images zipées), de préférence créés avec Fanfix (même si les autres .cbz sont aussi supportés, mais sans la majorité des metadata de Fanfix dans ce cas)
68- html : les fichiers HTML que vous pouvez ouvrir avec n'importe quel navigateur ; remarquez que Fanfix créera un répertoire pour y mettre les fichiers nécessaires, dont un fichier ```index.html``` pour afficher le tout -- nous ne supportons en entrée que les fichiers HTML créés par Fanfix
69
70### Plateformes supportées
71
72Toute plateforme supportant Java 1.6 devrait suffire.
73
74Le programme a été testé sur Linux (Debian, Slackware et Ubuntu), MacOS X et Windows pour le moment, mais n'hésitez pas à nous informer si vous l'essayez sur un autre système.
75
76Si vous avez des difficultés pour le compiler avec une version supportée de Java (1.6+), contactez-nous.
77
78## Options
79
80Vous pouvez démarrer le programme de deux façons :
81
82- ```java -jar fanfix.jar```
83- ```fanfix``` (si vous avez utilisé *make install*)
84
85Les arguments suivants sont supportés :
86
87- ```--import [URL]```: importer une histoire dans la librairie
88- ```--export [id] [output_type] [target]```: exporter l'histoire "id" vers le fichier donné
89- ```--convert [URL] [output_type] [target] (+info)```: convertir l'histoire vers le fichier donné, et forcer l'ajout d'un fichier .info si +info est utilisé
90- ```--read [id] ([chapter number])```: afficher l'histoire "id"
91- ```--read-url [URL] ([chapter number])```: convertir l'histoire et la lire à la volée, sans la sauver
92- ```--search```: liste les sites supportés (```where```)
93- ```--search [where] [keywords] (page [page]) (item [item])```: lance une recherche et affiche les résultats de la page ```page``` (page 1 par défaut), et de l'item ```item``` spécifique si demandé
94- ```--tag [where]```: liste tous les tags supportés par ce site web
95- ```--tag [index 1]... (page [page]) (item [item])```: affine la recherche, tag par tag, et affiche si besoin les sous-tags, les histoires ou les infos précises de l'histoire demandée
96- ```--list```: lister les histoires presentes dans la librairie et leurs IDs
97- ```--server [key] [port]```: démarrer un serveur d'histoires sur ce port
98- ```--stop-server [key] [port]```: arrêter le serveur distant sur ce port (key doit avoir la même valeur)
99- ```--remote [key] [host] [port]```: contacter ce server au lieu de la librairie habituelle (key doit avoir la même valeur)
100- ```--help```: afficher la liste des options disponibles
101- ```--version```: retourne la version du programme
102
103### Environnement
104
105Certaines variables d'environnement sont reconnues par le programme :
106
107- ```LANG=en```: forcer la langue du programme en anglais
108- ```CONFIG_DIR=$HOME/.fanfix```: utilise ce répertoire pour les fichiers de configuration du programme (et copie les fichiers de configuration par défaut si besoin)
109- ```NOUTF=1```: essaye d'utiliser des caractères non-unicode quand possible (cela peut avoir un impact sur les fichiers générés, pas uniquement sur les messages à l'utilisateur)
110- ```DEBUG=1```: force l'option ```DEBUG=true``` du fichier de configuration (pour afficher plus d'information en cas d'erreur)
111
112## Compilation
113
114```./configure.sh && make```
115
116Vous pouvez aussi importer les sources java dans, par exemple, [Eclipse](https://eclipse.org/), et faire un JAR exécutable depuis celui-ci.
117
118Quelques tests unitaires sont disponibles :
119
120```./configure.sh && make build test run-test```
121
122Si vous faites tourner les tests unitaires, sachez que certains fichiers flags peuvent les impacter:
123
124- ```test/VERBOSE``` : active le mode verbeux pour les erreurs
125- ```test/OFFLINE``` : ne permet pas au programme de télécharger des données
126- ```test/URLS``` : permet au programme de tester des URLs
127- ```test/FORCE_REFRESH```: force le nettoyage du cache
128
129Notez que le répertoire ```test/CACHE``` peut rester en place; il contient tous les fichiers téléchargés au moins une fois depuis le réseau par les tests unitaires (si vous autorisez les tests d'URLs, lancez les tests au moins une fois pour peupler le CACHE, puis activez le mode OFFLINE, ça marchera toujours).
130
131Les fichiers de test seront:
132
133- ```test/*.url``` : des URLs à télécharger en fichier texte (le contenu du fichier est l'URL)
134- ```test/*.story```: des histoires en mode texte (le contenu du fichier est l'histoire)
135
136### Librairies dépendantes (incluses)
137
138Nécessaires :
139
140- ```libs/nikiroo-utils-sources.jar```: quelques utilitaires partagés
141- [```libs/unbescape-sources.jar```](https://github.com/unbescape/unbescape): une librairie sympathique pour convertir du texte depuis/vers beaucoup de formats ; utilisée ici pour la partie HTML
142- [```libs/jsoup-sources.jar```](https://jsoup.org/): une libraririe pour parser du HTML
143- [```libs/JSON-java-20190722-sources.jar```](https://github.com/stleary/JSON-java): une libraririe pour parser du JSON
144
145Optionnelles :
146
147- [```libs/jexer-sources.jar```](https://github.com/klamonte/jexer): une petite librairie qui offre des widgets en mode TUI
148- [```pandoc```](http://pandoc.org/): pour générer les man pages depuis les fichiers README
149
150Rien d'autre, si ce n'est Java 1.6+.
151
152À noter : ```make libs``` exporte ces librairies dans le répertoire src/.
153
154## Auteur
155
156Fanfix a été écrit par Niki Roo <niki@nikiroo.be>
157