README
[fanfix.git] / README-fr.md
CommitLineData
10ccd649 1[English](README.md) Français
eab9e01c
NR
2
3# Fanfix
de610c82 4
eab9e01c
NR
5Fanfix est un petit programme Java qui peut télécharger des histoires sur internet et les afficher hors ligne.
6
1b05d6d7 7## 🔴 Ceci est le programme serveur et command-line -- le client graphique s'appelle [Fanfix-swing](https://github.com/nikiroo/fanfix-swing/) et le client en mode TUI est [Fanfix-jexer](https://github.com/nikiroo/fanfix-jexer/)
dd3c9ac7 8
2953f988
NR
9## Synopsis
10
11- ```fanfix``` --import [*URL*]
12- ```fanfix``` --export [*id*] [*output_type*] [*target*]
13- ```fanfix``` --convert [*URL*] [*output_type*] [*target*] (+info)
14- ```fanfix``` --read [*id*] ([*chapter number*])
15- ```fanfix``` --read-url [*URL*] ([*chapter number*])
8b153400
NR
16- ```fanfix``` --search
17- ```fanfix``` --search [*where*] [*keywords*] (page [*page*]) (item [*item*])
8141d7ac
NR
18- ```fanfix``` --search-tag
19- ```fanfix``` --search-tag [*index 1*]... (page [*page*]) (item [*item*])
2953f988 20- ```fanfix``` --list
2953f988
NR
21- ```fanfix``` --server [*key*] [*port*]
22- ```fanfix``` --stop-server [*key*] [*port*]
23- ```fanfix``` --remote [*key*] [*host*] [*port*]
24- ```fanfix``` --help
25
42375f55
NR
26## Description
27
eab9e01c
NR
28(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.)
29
eab9e01c
NR
30Le 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...)
31
32Pour vous aider à organiser vos histoires, il peut aussi servir de bibliothèque locale vous permettant :
42375f55 33
eab9e01c
NR
34- d'importer une histoire depuis son URL (ou depuis un fichier)
35- d'exporter une histoire dans un des formats supportés vers un fichier
36- d'afficher une histoire en mode texte
de610c82 37- 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)
eab9e01c 38
2953f988 39### Sites supportés
eab9e01c
NR
40
41Pour le moment, les sites suivants sont supportés :
42375f55 42
eab9e01c
NR
43- http://FimFiction.net/ : fanfictions dévouées à la série My Little Pony
44- 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
413bcc29 45- http://mangahub.io/ : un site répertoriant une quantité non négligeable de mangas (English)
eab9e01c
NR
46- https://e621.net/ : un site Furry proposant des comics, y compris de MLP
47- https://sofurry.com/ : même chose, mais orienté sur les histoires plutôt que les images
48- https://e-hentai.org/ : support ajouté sur demande : n'hésitez pas à demander un site !
dad7b76c 49- http://mangas-lecture-en-ligne.fr/ : un site proposant beaucoup de mangas, en français
eab9e01c 50
2953f988 51### Types de fichiers supportés
eab9e01c
NR
52
53Nous supportons les types de fichiers suivants (aussi bien en entrée qu'en sortie) :
42375f55 54
eab9e01c
NR
55- epub : les fichiers .epub créés avec Fanfix (nous ne supportons pas les autres fichiers .epub, du moins pour le moment)
56- text : les histoires enregistrées en texte (.txt), avec quelques règles spécifiques :
42375f55
NR
57 - le titre doit être sur la première ligne
58 - 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)```)
59 - les chapitres doivent être déclarés avec ```Chapitre x``` ou ```Chapitre x: NOM DU CHAPTITRE```, où ```x``` est le numéro du chapitre
60 - une description de l'histoire doit être donnée en tant que chaptire 0
61 - 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
eab9e01c
NR
62- 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)
63- 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)
64- 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
65
2953f988 66### Plateformes supportées
eab9e01c
NR
67
68Toute plateforme supportant Java 1.6 devrait suffire.
69
70Le 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.
71
72Si vous avez des difficultés pour le compiler avec une version supportée de Java (1.6+), contactez-nous.
73
2953f988 74## Options
eab9e01c 75
e4672e67 76Vous pouvez démarrer le programme de deux façons :
42375f55 77
eab9e01c 78- ```java -jar fanfix.jar```
2953f988 79- ```fanfix``` (si vous avez utilisé *make install*)
eab9e01c 80
e4672e67 81Les arguments suivants sont supportés :
42375f55 82
eab9e01c
NR
83- ```--import [URL]```: importer une histoire dans la librairie
84- ```--export [id] [output_type] [target]```: exporter l'histoire "id" vers le fichier donné
85- ```--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é
86- ```--read [id] ([chapter number])```: afficher l'histoire "id"
87- ```--read-url [URL] ([chapter number])```: convertir l'histoire et la lire à la volée, sans la sauver
8b153400
NR
88- ```--search```: liste les sites supportés (```where```)
89- ```--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é
90- ```--tag [where]```: liste tous les tags supportés par ce site web
91- ```--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
eab9e01c 92- ```--list```: lister les histoires presentes dans la librairie et leurs IDs
eab9e01c 93- ```--server [key] [port]```: démarrer un serveur d'histoires sur ce port
10ccd649 94- ```--stop-server [key] [port]```: arrêter le serveur distant sur ce port (key doit avoir la même valeur)
eab9e01c
NR
95- ```--remote [key] [host] [port]```: contacter ce server au lieu de la librairie habituelle (key doit avoir la même valeur)
96- ```--help```: afficher la liste des options disponibles
97- ```--version```: retourne la version du programme
98
2953f988 99### Environnement
eab9e01c
NR
100
101Certaines variables d'environnement sont reconnues par le programme :
42375f55 102
eab9e01c
NR
103- ```LANG=en```: forcer la langue du programme en anglais
104- ```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)
105- ```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)
106- ```DEBUG=1```: force l'option ```DEBUG=true``` du fichier de configuration (pour afficher plus d'information en cas d'erreur)
107
108## Compilation
109
110```./configure.sh && make```
111
112Vous pouvez aussi importer les sources java dans, par exemple, [Eclipse](https://eclipse.org/), et faire un JAR exécutable depuis celui-ci.
113
114Quelques tests unitaires sont disponibles :
115
116```./configure.sh && make build test run-test```
117
966d6260
NR
118Si vous faites tourner les tests unitaires, sachez que certains fichiers flags peuvent les impacter:
119
120- ```test/VERBOSE``` : active le mode verbeux pour les erreurs
121- ```test/OFFLINE``` : ne permet pas au programme de télécharger des données
122- ```test/URLS``` : permet au programme de tester des URLs
123- ```test/FORCE_REFRESH```: force le nettoyage du cache
124
125Notez 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).
126
127Les fichiers de test seront:
128
129- ```test/*.url``` : des URLs à télécharger en fichier texte (le contenu du fichier est l'URL)
130- ```test/*.story```: des histoires en mode texte (le contenu du fichier est l'histoire)
131
eab9e01c
NR
132### Librairies dépendantes (incluses)
133
134Nécessaires :
42375f55 135
2953f988
NR
136- ```libs/nikiroo-utils-sources.jar```: quelques utilitaires partagés
137- [```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
138- [```libs/jsoup-sources.jar```](https://jsoup.org/): une libraririe pour parser du HTML
82f6ca77 139- [```libs/JSON-java-20190722-sources.jar```](https://github.com/stleary/JSON-java): une libraririe pour parser du JSON
eab9e01c
NR
140
141Optionnelles :
42375f55 142
2953f988
NR
143- [```libs/jexer-sources.jar```](https://github.com/klamonte/jexer): une petite librairie qui offre des widgets en mode TUI
144- [```pandoc```](http://pandoc.org/): pour générer les man pages depuis les fichiers README
eab9e01c
NR
145
146Rien d'autre, si ce n'est Java 1.6+.
147
148À noter : ```make libs``` exporte ces librairies dans le répertoire src/.
149
42375f55
NR
150## Auteur
151
152Fanfix a été écrit par Niki Roo <niki@nikiroo.be>
153