FORTUNE(6)

NOM
fortune — Afficher un mot d’esprit aléatoire, qu’on espère intéressant

SYNOPSIS
fortune [-acefilosuw] [-n taille] [ -m motif] [[n%] fichier/répertoire/tous]

DESCRIPTION
Quand fortune est lancé sans arguments, il affiche un mot d’esprit aléatoire. Les mots d’esprit sont classés selon plusieurs catégories, chacune de ces dernières étant à son tour subdivisée en deux sous-catégories : celle des mots d’esprit qui sont potentiellement offensants et celle des mots d’esprit qui ne le sont pas.

  Options
Les options sont les suivantes :

-a  Chosir parmi toutes les listes de mots d’esprit, offensants ou non (voir l’option -o pour plus d’informations à propos des mots d’esprit offensants).

-c  Afficher le fichier de cookie d’où provient le mot d’esprit.

-e  Considérer que tous les fichiers de mots d’esprit sont de la même taille (lire l’explication ci-après sur les fichiers multiples).

-f  Afficher la liste des fichiers qui seraient parcourus, mais ne pas afficher de mot d’esprit.

-l  Mots d’esprit longs seulement. Voir l’option -n pour la définition de « long » dans ce contexte.

-m motif
    Afficher tous les mots d’esprit qui correspondent au motif sous forme d’expression rationnelle de base. La syntaxe de ces expressions dépend de la définition donnée par votre système de re_comp(3) ou regcomp(3), mais elle doit néanmoins être similaire à la syntaxe utilisée dans grep(1).

    Les mots d’esprit sont affichés sur la sortie standard, tandis que les noms des fichiers dont sont tirés les mots d’esprit sont affichés sur la sortie d’erreur standard. L’une ou l’autre, ou les deux, peuvent être redirigées ; si la sortie standard est redirigée vers un fichier, le résultat est un fichier de base de données de mots d’esprit valable. Si l’erreur standard est aussi redirigée vers ce fichier, le résultat est encore valable, mais il y aura des « faux » mots d’esprit, c’est-à-dire les noms de fichier eux-mêmes, entre parenthèses. Cela peut s’avérer utile si vous voulez isoler les correspondances de leurs fichiers d’origine, puisque chaque enregistrement de nom de fichier précédera les enregistrements du fichier qu’il désigne.

-n taille
    Définir la taille du plus long mot d’esprit (en nombre de caractères) considéré comme « court » (la valeur par défaut est 160). Tous les mots d’esprit dépassant cette longueur sont considérés comme « longs ». Faites attention ! Si vous définissez une taille trop petite et que vous demandez des mots d’esprit courts, ou si vous définissez une taille trop grande et que vous demandez des mots d’esprit longs, fortune entrera dans une boucle infinie.

-o  Ne choisir que des mots d’esprit potentiellement offensants. L’option -o est ignorée si un répertoire de mots d’esprit est spécifié.

    S’il vous plait, ne demandez un mot d’esprit potentiellement offensant que si et seulement si vous croyez, du fond de votre cœur que vous êtes prêt à être offensé (et que vous cesserez d’utiliser l’option -o plutôt que de nous faire des reproches à ce sujet, OK ?)

    ... gardons à l’esprit la philosophie de base qui régit la fraternité et qui se résume magnifiquement par ces mots : nous croyons au rire sain et franc — quitte à ce que ce soit aux dépens de l’humanité toute entière, s’il le faut. Et il le faudra.
        --H. Allen Smith, "Rude Jokes"

-s  Mots d’esprit courts seulement. Voir l’option -n pour la définition d’un mot d’esprit « court ».

-i  Ignorer la casse pour les motifs de l’option -m.

-w  Attendre avant de quitter pendant un certain temps calculé à partir du nombre de caractères du mot d’esprit. Cela s’avère utile si fortune est exécuté en tant qu’élément de la procédure de déconnexion pour s’assurer que le mot d’esprit pourra être lu avant que l’écran ne soit vidé.

-u  Ne pas convertir les mots d’esprit encodés en UTF-8 vers l’encodage des paramètres régionaux lors d’une recherche ou d’une traduction.

L’utilisateur peut spécifier des mots d’esprit de remplacement. Il est possible spécifier un fichier précis, un répertoire qui contient un ou plusieurs fichiers, ou le mot spécial all qui indique l’utilisation de toutes les bases de données standards. Toutes ces spécifications peuvent être précédées d’un pourcentage sous la forme d’un nombre n entre 0 et 100 inclus, suivi d’un « % ». Si c’est le cas, il y aura une probabilité de n % pour qu’un mot d’esprit soit choisi dans ce fichier ou ce répertoire. Si la somme des pourcentages n’est pas égale à 100, et s’il y a des spécifications sans pourcentage, le pourcentage restant s’appliquera à ces fichiers et/ou ces répertoires, et la probabilité de sélection parmi un de ceux-là sera basée sur leurs tailles relatives.

Par exemple, soient deux bases de données drôle et pas-drôle, avec drôle deux fois plus grosse (en nombre de mots d’esprit, pas en taille brute) ; taper :

    fortune drôle pas-drôle

produira des mots d’esprit issus de drôle deux fois sur trois. La commande

    fortune 90% drôle 10% pas-drôle

choisira 90 % de ses mots d’esprit dans drôle (le « 10 % » devant pas-drôle n’est pas nécessaire, puisque c’est tout ce qui reste).

L’option -e fait que tous les fichiers sont considérés comme égaux ; ainsi

    fortune -e drôle pas-drôle

est équivalent à :

    fortune 50% drôle 50% pas-drôle

FICHIERS
Remarque : ce sont les valeurs par défaut telles que définies à la compilation.

/usr/share/games/fortunes
    Répertoire pour les mots d’esprit non offensants.
/usr/share/games/fortunes/off
    Répertoire pour les mots d’esprit offensants.

Si une série particulière de mots d’esprit n’est vraiment pas la bienvenue, il existe une solution facile : supprimer le fichier .dat associé. Les données restent intactes, au cas où l’on voudrait les utiliser plus tard, mais comme fortune ne trouve plus le fichier de pointeurs, il ignorera le fichier texte.

BOGUES
Les bases de données de fortune fournies ont été « charcutées » pour corriger les erreurs d’orthographe et de grammaire, et en particulier pour éviter les redites et la répétitivité. Cette opération ne s’est pas soldée par un succès total ; au cours du processus, des mots d’esprit ont aussi pu être perdus.

Les bases de données de fortune sont maintenant divisées en un plus grand nombre de fichiers plus petits, certains organisés par format (poésie, définitions), et d’autres par contenu (religion, politique). Il y a des fichiers de même nom dans le répertoire principal et dans le répertoire des fichiers offensants (par exemple, fortunes/definitions et fortunes/off/definitions). Tous les mots d’esprit potentiellement offensants ne sont pas dans les fichiers de mots d’esprit offensants, et tous les mots d’esprits contenus dans les fichiers offensants ne sont probablement pas potentiellement offensants, bien qu’un grand effort ait été fourni pour obtenir une plus grande cohérence. Il serait ainsi souhaitable d’élaborer une division plus efficace.

Lorsqu’on indique des fichiers à fortune, les répertoires doivent être spécifiés à l’aide de leurs chemins absolus et les noms de fichiers commençant par un point sont ignorés (voir http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=241888).

HISTORIQUE
Cette version de fortune est basée sur la version 1.4 de fortune de NetBSD, mais avec plusieurs corrections de bogues et améliorations.

Le format d’origine fortune/strfile utilisait un seul fichier ; strfile(1) lisait le fichier texte et le convertissait en chaînes terminées par le caractère NULL, qui étaient stockées après le tableau de pointeurs dans le fichier .dat. Depuis la version 1.4 de fortune de NetBSD, deux fichiers séparés sont désormais utilisés : le fichier .dat qui contient seulement l’en-tête (le tableau de pointeurs, plus les drapeaux ; voir strfile.h), et les chaînes de texte laissées dans leur propre fichier. Le problème potentiel ici est que les fichiers texte et d’en-tête peuvent se désynchroniser, mais cela permet l’édition simple du fichier texte sans avoir recours à unstr(1), et il y a des économies potentielles d’espace disque (avec l’hypothèse que l’administrateur système garde les deux fichiers .dat avec les chaînes et le fichier texte).

La plupart des améliorations par rapport à la version de NetBSD ont été élaborées pour un système Linux, ce qui provoquait un plantage sur d’autres plateformes, y compris les BSD. Le code source a depuis été corrigé pour être plus générique, et il fonctionne actuellement sur SunOS 4.x ainsi que sur Linux, avec une prise en charge d’autres plates-formes espérée dans le futur. Notez que certains bogues ont été découverts de manière accidentelle et corrigés pendant ce processus.

Apparemment, un grand nombre de personnes ont travaillé sur ce programme, la plupart sans faire mention de leur contribution.

VOIR AUSSI
re_comp(3), regcomp(3), strfile(1), unstr(1)

TRADUCTION
La traduction française de cette page de manuel a été créée par Lucien Gentis <lucien.gentis@univ-lorraine.fr>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 (https://www.gnu.org/licenses/gpl-3.0.html) concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.