Bundle: fix memory leak at init/reset
[fanfix.git] / README-fr.md
index 7c6d0dbd438fb1ee87a1766184265a1c32c05ad6..d6dbd8e062db186a28217d487f0ff7ca5fe27e19 100644 (file)
@@ -1,18 +1,36 @@
 [English](README.md) Français
 
 # Fanfix
+
 Fanfix est un petit programme Java qui peut télécharger des histoires sur internet et les afficher hors ligne.
 
+## 🔴 Ceci est le programme serveur et command-line
+
+Vous pouvez aussi utiliser :
+- le client graphique [Fanfix-swing](https://github.com/nikiroo/fanfix-swing/)
+- le client en mode TUI [Fanfix-jexer](https://github.com/nikiroo/fanfix-jexer/)
+
+## Synopsis
+
+- ```fanfix``` --import [*URL*]
+- ```fanfix``` --export [*id*] [*output_type*] [*target*]
+- ```fanfix``` --convert [*URL*] [*output_type*] [*target*] (+info)
+- ```fanfix``` --read [*id*] ([*chapter number*])
+- ```fanfix``` --read-url [*URL*] ([*chapter number*])
+- ```fanfix``` --search
+- ```fanfix``` --search [*where*] [*keywords*] (page [*page*]) (item [*item*])
+- ```fanfix``` --search-tag
+- ```fanfix``` --search-tag [*index 1*]... (page [*page*]) (item [*item*])
+- ```fanfix``` --list
+- ```fanfix``` --server [*key*] [*port*]
+- ```fanfix``` --stop-server [*key*] [*port*]
+- ```fanfix``` --remote [*key*] [*host*] [*port*]
+- ```fanfix``` --help
+
 ## Description
 
 (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.)
 
-(Il y a aussi une [TODO list](TODO.md) sur le site parlant du futur du programme.)
-
-TODO: screenshots TUI + Android (+ FR quand traduit)
-
-![Main GUI](screenshots/fanfix-1.3.2.png?raw=true "Main GUI")
-
 Le 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...)
 
 Pour vous aider à organiser vos histoires, il peut aussi servir de bibliothèque locale vous permettant :
@@ -20,20 +38,21 @@ Pour vous aider à organiser vos histoires, il peut aussi servir de bibliothèqu
 - d'importer une histoire depuis son URL (ou depuis un fichier)
 - d'exporter une histoire dans un des formats supportés vers un fichier
 - d'afficher une histoire en mode texte
-- d'afficher une histoire en mode GUI **en appelant un programme natif pour lire le fichier** (mais Fanfix peut convertir le fichier en HTML avant, pour que n'importe quel navigateur web puisse l'afficher)
+- 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)
 
-## Sites supportés
+### Sites supportés
 
 Pour le moment, les sites suivants sont supportés :
 
 - http://FimFiction.net/ : fanfictions dévouées à la série My Little Pony
 - 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
-- http://mangafox.me/ : un site répertoriant une quantité non négligeable de mangas
+- http://mangahub.io/ : un site répertoriant une quantité non négligeable de mangas (English)
 - https://e621.net/ : un site Furry proposant des comics, y compris de MLP
 - https://sofurry.com/ : même chose, mais orienté sur les histoires plutôt que les images
 - https://e-hentai.org/ : support ajouté sur demande : n'hésitez pas à demander un site !
+- http://mangas-lecture-en-ligne.fr/ : un site proposant beaucoup de mangas, en français
 
-## À propos des types de fichiers supportés
+### Types de fichiers supportés
 
 Nous supportons les types de fichiers suivants (aussi bien en entrée qu'en sortie) :
 
@@ -48,7 +67,7 @@ Nous supportons les types de fichiers suivants (aussi bien en entrée qu'en sort
 - 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)
 - 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
 
-## Plateformes supportées
+### Plateformes supportées
 
 Toute plateforme supportant Java 1.6 devrait suffire.
 
@@ -56,28 +75,32 @@ Le programme a été testé sur Linux (Debian, Slackware et Ubuntu), MacOS X et
 
 Si vous avez des difficultés pour le compiler avec une version supportée de Java (1.6+), contactez-nous.
 
-## Utilisation
+## Options
 
-Vous pouvez démarrer le programme en mode graphique (comme dans le screenshot en haut) :
+Vous pouvez démarrer le programme de deux façons :
 
 - ```java -jar fanfix.jar```
+- ```fanfix``` (si vous avez utilisé *make install*)
 
-Les arguments suivants sont aussi supportés :
+Les arguments suivants sont supportés :
 
 - ```--import [URL]```: importer une histoire dans la librairie
 - ```--export [id] [output_type] [target]```: exporter l'histoire "id" vers le fichier donné
 - ```--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é
 - ```--read [id] ([chapter number])```: afficher l'histoire "id"
 - ```--read-url [URL] ([chapter number])```: convertir l'histoire et la lire à la volée, sans la sauver
+- ```--search```: liste les sites supportés (```where```)
+- ```--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é
+- ```--tag [where]```: liste tous les tags supportés par ce site web
+- ```--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
 - ```--list```: lister les histoires presentes dans la librairie et leurs IDs
-- ```--set-reader [reader type]```: changer le type de lecteur pour la commande en cours sur CLI, TUI ou GUI
 - ```--server [key] [port]```: démarrer un serveur d'histoires sur ce port
 - ```--stop-server [key] [port]```: arrêter le serveur distant sur ce port (key doit avoir la même valeur)
 - ```--remote [key] [host] [port]```: contacter ce server au lieu de la librairie habituelle (key doit avoir la même valeur)
 - ```--help```: afficher la liste des options disponibles
 - ```--version```: retourne la version du programme
 
-### Variables d'environnement
+### Environnement
 
 Certaines variables d'environnement sont reconnues par le programme :
 
@@ -96,17 +119,33 @@ Quelques tests unitaires sont disponibles :
 
 ```./configure.sh && make build test run-test```
 
+Si vous faites tourner les tests unitaires, sachez que certains fichiers flags peuvent les impacter:
+
+- ```test/VERBOSE```      : active le mode verbeux pour les erreurs
+- ```test/OFFLINE```      : ne permet pas au programme de télécharger des données
+- ```test/URLS```         : permet au programme de tester des URLs
+- ```test/FORCE_REFRESH```: force le nettoyage du cache
+
+Notez 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).
+
+Les fichiers de test seront:
+
+- ```test/*.url```  : des URLs à télécharger en fichier texte (le contenu du fichier est l'URL)
+- ```test/*.story```: des histoires en mode texte (le contenu du fichier est l'histoire)
+
 ### Librairies dépendantes (incluses)
 
 Nécessaires :
 
-- libs/nikiroo-utils-sources.jar: quelques utilitaires partagés
-- [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
-- [libs/jsoup-sources.jar](https://jsoup.org/): une libraririe pour parser du HTML
+- ```libs/nikiroo-utils-sources.jar```: quelques utilitaires partagés
+- [```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
+- [```libs/jsoup-sources.jar```](https://jsoup.org/): une libraririe pour parser du HTML
+- [```libs/JSON-java-20190722-sources.jar```](https://github.com/stleary/JSON-java): une libraririe pour parser du JSON
 
 Optionnelles :
 
-- [libs/jexer-sources.jar](https://github.com/klamonte/jexer): une petite librairie qui offre des widgets en mode TUI
+- [```libs/jexer-sources.jar```](https://github.com/klamonte/jexer): une petite librairie qui offre des widgets en mode TUI
+- [```pandoc```](http://pandoc.org/): pour générer les man pages depuis les fichiers README
 
 Rien d'autre, si ce n'est Java 1.6+.