FORTUNE(6)

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

SYNOPSIS

  fortune [-acefilosw]
     [-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
    Choisir 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é.

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

Cette version de fortune prend aussi en charge la méthode de BSD qui consiste à ajouter « -o » aux noms de base de données pour sélectionner les mots d’esprits offensants. Ce n’est cependant pas de cette façon que fortune les stocke : les mots d’esprit offensants sont stockés dans un répertoire séparé dont le nom ne contient pas le suffixe « -o ». Un nom de base (c’est-à-dire autre qu’un répertoire ou un chemin de fichier) qui se termine par « -o » sera considéré comme une base de données offensante, verra ce suffixe supprimé, et sera recherché dans le répertoire des mots d’esprit offensants (et cela même si aucune des options -a ou -o n’a été spécifiée). Non seulement cette fonctionnalité assure une rétro-compatibilité, mais elle permet aussi aux utilisateurs de faire la distinction entre des bases de données de même nom.

Supposons par exemple qu’il existe une base de données nommée definitions dans les deux collections non offensante et potentiellement offensante ; la commande suivante va alors sélectionner la base de données non offensante 90 % du temps, et la base de données potentiellement offensante les 10 % du temps restant :

fortune 90% definitions definitions-o

FICHIERS

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

/usr/share/fortune Répertoire pour les mots d’esprit non offensants.

/usr/share/fortune/off Directory for offensive fortunes.

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

La différenciation des mots d’esprit offensants et non offensants par répertoires plutôt qu’avec le suffixe de fichier « -o » n’est pas 100 % compatible avec la version originale de fortune de BSD. Bien que le suffixe « -o » soit reconnu comme faisant référence à une base de données offensante, les fichiers des bases de données offensantes doivent quand même se trouver dans un répertoire séparé. Pour contourner ce problème, il suffit bien entendu de déplacer les fichiers « -o » dans le répertoire des bases de données offensantes (avec ou sans renommage), et d’utiliser l’option -a.

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.

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.