Array

De Design numérique
Aller à : navigation, rechercher

Cet article aurait put avoir comme titre le nom d'un dictionnaire participatif crée au courant du début du 21ème siècle, plus précisément en l'an de grâce 2k18, appelé aussi an 17 post Iphone 1 dont l'on connais aujourd'hui l’enjeu primordial dans notre société néo-primitive. L'histoire nous raconte que, perturbée par l'usage prophétique d'un certain nombre de termes durant la première année de son cursus Lena Bruyère créa l'Alphabet Référentiel des Techniques et Maîtrises à l'Usage des Résidents De l'Erg Rassemblant et Articulant Tout les Outils de Recherche. Nom de code "Artmurderator" soit en traduction latine "Quæ occidis es" - ce qui tue.

Loin d'une quelconque volontés vindicative par rapport à ces faits : l'Artmurderator se voulait d’abord être un outil récréatif, permettant à quiconque de créer en quelque clics une phrase faisant rougir les commissaires d’expositions, une scénographie linguistique à ressortir lors des examinations en laissant pantois les auditeurs les plus pointilleux.


Voilà comment, grâce à votre dictionnaire personnalisé, vous pouvez, vous aussi, créer les prémisses de cet outil :

La première étape est de créer plusieurs fichiers .txt des mots que vous désirez utiliser pour votre propre Artmurderator (chaque noms, adjectifs ou groupe nominaux devant être séparé par un retour à la ligne)

- le premier comportant les sujets ou les groupes nominaux sélectionné, par exemple : " la cosmogonie, l’expérimentation permanente, le workshop, la galerie, le système de médiatisation du réel, et cætera..."

- le deuxième rassemblant les adjectifs tels que " expérimental, linéaire, anti-académique, autoréférentiel, clivant,..." ou bien d'autres.

- Dans le troisième il faudrait y lister des verbes conjugués au participe présent "interrogeant, restituant, critiquant, corroborant,..."

- Et enfin, dans le dernier, un ultime groupe nominal qui pulse. "La prolifération de nos spectres intimes, la restitution de sois-même, les enjeux actuels, nos flux de conscience, l'acte de penser, le prélèvement de la réalité,..."

ATTENTION : vos fichiers textes doivent bien être en UTF8, sans quoi le grand tout ne comprendrait pas toutes les singularités de notre langue française et afficherai un message d'erreur au premier accent circonflexe rencontré.

Ce n'est pas le tout d'avoir enrichis son langage, encore faut-il plonger dans un langage tout autre : celui du terminal, pour mettre tout ça en musique.

Touts les mots listées ne doivent pas rester sous la forme de "liste" mais se transformer en tableaux - traduit par "Array" en anglais ( tout s'éclaire)

Un Array est comme une variable, à cela de différent qu'elle en contient plusieurs sous forme de "case" .

Par exemple je vais écrire dans mon terminal tableau=('Roger' 'Pierre' 'Yves')

La case 1 de mon tableau contient le nom "Pierre" (car les cases sont comptées à partir de 0) Si l'ont veut que ça soit ma case 6 qui contienne le nom "Pierre" il faut écrire dans le terminal tableau[6]='Pierre' - les cases de 0 (Roger) à 6 (Pierre) n'existeront donc pas puisqu'elles sont vides.

En cas de trou de mémoire, on peut afficher l’ensemble des valeurs de l'Array grâce à la commande

${tableau[*]}

Ensuite il faut entrer dans le nano, lui dire qu'on lui parle en bash (#!/bin/bash en première ligne) Retour à la ligne et lancer un compteur partant de la valeur 0. Vous pouvez écrire par exemple

i=0 for i in $(cut -d: -f1 nomscommuns.txt); do

On défini sur quel fichier va se baser notre procédure, ici l'ont commence par les noms communs préalablement stocké dans le fichier .txt nommé "nomscommuns" et que chaque éléments, chaque noms, sortant de ce tableaux va être placés dans un rang nommé ici par la lettre "i" grace à la ligne suivante

tab[$j]=$i

puis on incrémente le compteur pour créer une nouvelle case la prochaine fois en terminant par

j=$j+1 done

La suite : le programme va demander une petite participation à l’utilisateur qui va lui même choisir par quelle lettre il veut commencer sa phrase, ce qui se traduit par la ligne de commande "echo "Saisir une lettre en débutant par une minuscule" "

C'est ce que le terminal va demander à l'utilisateur quand celui-ci lancera le programme. Imaginons qu'il écrive la lettre "r"

read input - for i in ${tab[@]}; do

   if $i = $input* 
       then
       echo $i
   fi

Le terminal va, grâce a cette commande, ressortir seulement les cases de l'array, donc les mots, débutant avec la lettre donnée par l'utilisateur.

On anime le tout d'un petit compteur

compteur=3

while $compteur -ge 0 do

       echo -e
       echo $compteur
       sleep 1
       compteur=$((compteur-1))

done

Ensuite on demande à l'utilisateur d'écrire l'un des sujet proposé (echo "saisir un des sujet proposés")

Le sujet doit devenir la case 0 du nouveau tableau créer, si l'utilisateur écrit un mot qui ne figure pas dans la liste, un message d'erreur doit apparaître et l'invité à réitérer le processus. Si au contraire le mot figure bien dans la liste, celui-ci doit automatiquement devoir la première case du nouvel Array "Phrase"

Ensuite il faut réitérer le processus jusqu'au 4ème fichier texte afin de composer la phrase complète.