Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog
Laurent COCAULT

Servez à ce monsieur une bière et des kiwis

Servez à ce monsieur une bière et des kiwis

Les utilisateurs de MS Word qui ont un certain âge ou qui sont réfractaires aux montées de version ont peut-être déjà vu le titre de cet article s'afficher dans leur éditeur de texte Micro$oft. Il suffisait pour cela de saisir le texte "=rand(1,1)" suivi d'un retour à la ligne pour voir la formule remplacée par ce message énigmatique. Ceux qui se sont attardés sur ce curieux comportement et qui ont joué sur les valeur numériques ont pu observer qu'ils influaient sur le nombre d'occurrence du texte et le nombre de lignes affichées. Ce comportement n'était pas réservé aux versions françaises de l'éditeur de texte; sur une version anglaise, vous pouviez observer le même comportement avec un texte différent: "The quick brown fox jumps over the lazy dog".

Connaissant ce comportement, votre première hypothèse pouvait assez logiquement vous laisser suspecter une défaillance mentale des développeurs de chez Micro$oft. L'hypothèse n'est pas inintéressante et la qualité de certains de leurs logiciels semble accréditer la thèse. Pourtant le texte anglais nous donne une piste sur l'intention des équipes de l'éditeur de Redmond: il s'agit d'un pangramme.

Un pangramme (du grec ancien πᾶς / pâs (« tout ») et γράμμα / grámma (« lettre »)) est une phrase comportant toutes les lettres de l'alphabet.

En français, un pangramme comporte au moins 26 lettres. Il doit en compter au moins 42 si on compte les lettres accentuées et les ligatures (à, â, é, è, ê, ë, î, ï, ô, ù, û, ü, ÿ, ç, æ et œ). Si l'on peut atteindre la limite théorique en recourant massivement aux abréviations et aux sigles, le talent consiste à construire une phrase cohérente la plus courte possible, sans lettres solitaires, ni abréviation ou sigle.

Wikipédia

Si le texte anglais est bel et bien un pangramme, ce n'est pas le cas du texte français qui ne comporte pas les lettres suivantes: f, g, h, j, l, p, q, x, y. On peut même y ajouter la lettre "a" si on considère que sa version accentuée n'est pas acceptable comme représentant de la lettre.

Dans la série "Ne perdons pas une occasion de coder une fonction simple", un algorithme de calcul de pangramme.

#!/usr/bin/env python3
""" Check if a string is a pangram
Usage:
    See "help"
"""

import argparse

def get_missing_letters(text):
    """Get a list of letters between 'a' and 'z' that are not included in the
    given text.

    Args:
        text: Text to check

    Returns:
        List of letters not in the text
    """

    missing_letters = []
    for letter_index in range(ord('a'), ord('z')):
        letter = chr(letter_index)
        if text.find(letter) == -1:
            missing_letters.append(letter)

    return missing_letters


def is_pangram(text, display_missing_letters):
    """Check if the given string is a pangram, i.e. its lower case equivalent
    has at least one occurrence of each letter between 'a' and 'z'

    Args:
        text: Text to check
        display_missing_letters: Flag to display the missing letters

    Returns:
        True if the text is a pangram, False otherwise
    """

    missing = get_missing_letters(text.lower())
    for letter in missing:
        print("{} is missing".format(letter))

    return len(missing) == 0


if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument(
        "--verbose",
        "-v",
        help="Display the missing letters",
        action="store_true")
    parser.add_argument(
        "text",
        help="Text to evaluate as a potential pangram")
    args = parser.parse_args()
    if (is_pangram(args.text, args.verbose)):
        print("This is a pangram")
    else:
        print("This is not a pangram")
 

L'utilisation d'un pangramme dans la version anglaise et, en français, d'une phrase utilisant des caractères d'usage peu fréquents (tels que le "k" et le "w" qui expliquent la présence récurrente des kiwis et du whisky dans les pangrammes français) semble indiquer la volonté d'être repésentatif en termes de contenus affichés. En effet, si vous souhaitez choisir une police de caractères, il peut s'avérer particulièrement utile de disposer d'une phrase comportant un exemplaire de chaque lettre pour mettre en évidence leur représentation.

Si on réalise la même opération (l'insertion de "=rand(1,1)") avec une version récente de MS Word, on obtient un résultat différent:

Les vidéos vous permettent de faire passer votre message de façon convaincante.

Cette phrase n'est pas plus un pangramme que le titre de cet article. Mais allons plus loin et jouons avec les paramètres de la fonction "rand". Augmentons d'abord la valeur du second argument de la façon suivante: "=rand(1,5)".

Les vidéos vous permettent de faire passer votre message de façon convaincante. Quand vous cliquez sur Vidéo en ligne, vous pouvez coller le code incorporé de la vidéo que vous souhaitez ajouter. Vous pouvez également taper un mot-clé pour rechercher en ligne la vidéo qui convient le mieux à votre document. Pour donner un aspect professionnel à votre document, Word offre des conceptions d’en-tête, de pied de page, de page de garde et de zone de texte qui se complètent mutuellement. Vous pouvez pas exemple ajouter une page de garde, un en-tête et une barre latérale identiques.

C'est presqu'un pangramme; il ne nous manque que les lettres "k" et "y". Bon, difficile de caser un whisky compte tenu du thème du discours. Doublons la mise avec "=rand(1,10)"

Les vidéos vous permettent de faire passer votre message de façon convaincante. Quand vous cliquez sur Vidéo en ligne, vous pouvez coller le code incorporé de la vidéo que vous souhaitez ajouter. Vous pouvez également taper un mot-clé pour rechercher en ligne la vidéo qui convient le mieux à votre document. Pour donner un aspect professionnel à votre document, Word offre des conceptions d’en-tête, de pied de page, de page de garde et de zone de texte qui se complètent mutuellement. Vous pouvez pas exemple ajouter une page de garde, un en-tête et une barre latérale identiques. Cliquez sur Insérer et sélectionnez les éléments de votre choix dans les différentes galeries.Les thèmes et les styles vous permettent également de structurer votre document. Quand vous cliquez sur Création et sélectionnez un nouveau thème, les images, graphiques et SmartArt sont modifiés pour correspondre au nouveau thème choisi. Quand vous appliquez des styles, les titres changent pour refléter le nouveau thème. Gagnez du temps dans Word grâce aux nouveaux boutons qui s'affichent quand vous en avez besoin.

Il ne nous manque plus que la lettre "k". La lettre "y" nous a été apportée avec style. Dans ce texte, un autre élément doit attirer notre attention. On peut y trouver deux erreurs:

- "Vous pouvez pas exemple [...]" au lieu de " Vous pouvez par exemple" qui se traduit par une faute de grammaire.

- "[...] les différentes galeries.Les thèmes [...]" où l'absence d'espace derrière le point se traduit par une erreur orthographique.

Ces deux erreurs permettent donc de visualiser la représentation des marqueurs de vérification d'orthographe et grammaire de MS Word. Difficile de croire que ces erreurs ne soient pas intentionnelles; il semble plus légitime de considérer qu'il y a là aussi un objectif de représentativité.

Jouons maintenant avec le premier argument de la fonction "rand" en saisissant "=rand(5,1)".

Les vidéos vous permettent de faire passer votre message de façon convaincante.
Quand vous cliquez sur Vidéo en ligne, vous pouvez coller le code incorporé de la vidéo que vous souhaitez ajouter.
Vous pouvez également taper un mot-clé pour rechercher en ligne la vidéo qui convient le mieux à votre document.
Pour donner un aspect professionnel à votre document, Word offre des conceptions d’en-tête, de pied de page, de page de garde et de zone de texte qui se complètent mutuellement.
Vous pouvez pas exemple ajouter une page de garde, un en-tête et une barre latérale identiques.

La logique semble maintenant évidente. Alors que le second paramètre permettait de jouer sur le nombre de phrases à afficher, le premier joue sur le nombre de paragraphes. Il est alors possible de combiner ces deux paramètres pour produire un contenu assez étoffé destiné à évaluer des options de mise en page. Si vous jouez avec des valeurs assez élevées, vous pourrez constater que le même texte est repris et segmenté en accord avec les paramètres retenus.

Un de mes anciens collègues m'avait fait découvrir cette pratique consistant à prendre un texte de référence pour évaluer la mise en forme d'un contenu représentatif; tout du moins un contenu qui dépasse la simple phrase et qui est susceptible de mettre en évidence certains dysfonctionnements d'affichage (typiquement des dépassements de capacité). C'est ainsi que j'avais découvert le "Lorem ipsum".

Le lorem ipsum (également appelé faux-texte, lipsum, ou bolo bolo1) est, en imprimerie, une suite de mots sans signification utilisée à titre provisoire pour calibrer une mise en page, le texte définitif venant remplacer le faux-texte dès qu'il est prêt ou que la mise en page est achevée.

Généralement, on utilise un texte en faux latin (le texte ne veut rien dire, il a été modifié), le Lorem ipsum ou Lipsum. L'avantage du latin est que l'opérateur sait au premier coup d'œil que la page contenant ces lignes n'est pas valide et que l'attention du lecteur n'est pas dérangée par le contenu, lui permettant de demeurer concentré sur le seul aspect graphique.

Wikipédia

Les lettres "k", "w" et "x" manquent à ce texte pour en faire un pangramme. Vous pourrez néanmoins très facilement insérer le "lorem ipsum" à vos documents MS Word puisque l'éditeur propose également une fonction, configurable comme la fonction "rand": "=lorem()".

Et comme nous n'avons encore eu la chance de tomber sur un pangramme français dans ce billet, je conclurai avec ce conseil: "Grimpez quand ce whisky flatte vos bijoux"

Partager cet article
Repost0
Pour être informé des derniers articles, inscrivez vous :
Commenter cet article