Array : Différence entre versions
(→Mode opératoire) |
(→Mode opératoire) |
||
Ligne 92 : | Ligne 92 : | ||
===V1.2=== | ===V1.2=== | ||
− | La version 1.0 était contraignante en ce qu'elle ne faisait pas appel à l'aléatoire, l'utilisateur choisissant lui même, mot après mot, la phrase qu'il désirait construire. Alors pour plus d'effet de surprise nous avons, avec l'aide très très précieuse de Maud, apporter quelques menues modifications au script. C'est à dire en fait qu'on a fait table rase des array pour se lancer à corps perdu dans le $RANDOM. | + | La version 1.0 était contraignante en ce qu'elle ne faisait pas appel à l'aléatoire, l'utilisateur choisissant lui même, mot après mot, la phrase qu'il désirait construire. Alors pour plus d'effet de surprise nous avons, avec l'aide très très précieuse de [[Utilisateur:Maud_Hazgour_(1)|Maud]], apporter quelques menues modifications au script. C'est à dire en fait qu'on a fait table rase des array pour se lancer à corps perdu dans le $RANDOM. |
<nowiki> max1=`wc -l < Groupe1.txt` | <nowiki> max1=`wc -l < Groupe1.txt` | ||
Ligne 116 : | Ligne 116 : | ||
<nowiki> | <nowiki> | ||
cat Artmurder1.txt </nowiki> | cat Artmurder1.txt </nowiki> | ||
− | + | ||
+ | On affiche le résultat dans le terminal au moment de l'exécution du script | ||
==Pistes et références== | ==Pistes et références== |
Version du 4 décembre 2018 à 17:44
Introduction
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 une étudiante 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.
"Derrière toute parole, tout objet, tout évènement, toute manifestation humaine, il y a du langage"
Mode opératoire
V1.0
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. 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.
V1.2
La version 1.0 était contraignante en ce qu'elle ne faisait pas appel à l'aléatoire, l'utilisateur choisissant lui même, mot après mot, la phrase qu'il désirait construire. Alors pour plus d'effet de surprise nous avons, avec l'aide très très précieuse de Maud, apporter quelques menues modifications au script. C'est à dire en fait qu'on a fait table rase des array pour se lancer à corps perdu dans le $RANDOM.
max1=`wc -l < Groupe1.txt` let "random_line1=(($RANDOM % $max1) + 1)"
On a un fichier texte avec un mot à chaque lignes, grâce à cette commande chaque lignes devient une variable
max2=`wc -l < Groupe2.txt` let "random_line2=(($RANDOM % $max2) +1)"
On fait pareil avec le deuxième fichier, soit ce qui va composer le deuxième mot de la phrase. Puis le 3ème, puis le 4ème.
head -$random_line1 ~/Desktop/PartNum/Groupe1.txt | tail -1 > ~/Desktop/PartNum/Artmurder1.txt head -$random_line2 ~/Desktop/PartNum/Groupe2.txt | tail -1 >> ~/Desktop/PartNum/Artmurder1.txt
Maintenant on demande au script de choisir une variable aléatoire (et donc, une ligne du fichier txt. Et re-donc, un mot) et de balancer la sauce dans un nouveau fichier texte qui se trouve dans le même dossier.
cat Artmurder1.txt
On affiche le résultat dans le terminal au moment de l'exécution du script
Pistes et références
Pour le fond
La tyranie de la langue par Barthes
Noam Chomsy se questionne sur le language
Gaston Bachelard et l’héritage de l’invisible
George Steiner et la Barbarie de l’ignorance
Anthropologie du language
Questionner ce langage par le prisme du numérique
Pour la forme
Du cut-up
Prenez un journal. Prenez des ciseaux. Choisissez dans ce journal un article ayant la longueur que vous comptez donner à votre poème. Découpez l’article. Découpez ensuite avec soin chacun des mots qui forment cet article et mettez-les dans un sac. Agitez doucement. Sortez ensuite chaque coupure l’une après l’autre. Copiez consciencieusement dans l’ordre où elles ont quitté le sac. Le poème vous ressemblera. Et vous voilà un écrivain infiniment original et d’une sensibilité charmante, encore qu’incomprise du vulgaire.
C'est ainsi que Tzara exprima pour la première fois en 1920 cette recette, il vise à abolir la poésie comme objet et comme forme. Au delà de ça, il questionne aussi la notion de "hasard", cette fameuse variable du random. Difficile de définir cependant le hasard.
Lorsqu'il est érigé en principe de création d'un sorte d’un anti-art, et donc ici d'un anti-langage de l'art qui nui lui même à l'art (combien de fois n'avons nous pas lu des notes d'intentions, souvent écries par l'artiste lui même parlant de lui à la troisième personne du singulier dont le fond, finalement, ne se résumais qu'à un pamphlet égocentrique ?) Ce hasard vient à assassiner par l'absurde, ou tout du moins détacher, l'acte de création résultant d'une force divine, de la "muse" inspirant l'artiste, soufflant à l'écrivain persécuter par ses voix intérieurs les dialogues qu'il s'empressera d'écrire, seul. À la lumière d'une bougie si possible. Le tout parfumé d'un alcoolisme sous-asent.
Cette nouvelle manière a créer ne nécessite donc pas de ce placer dans un état préparatoire à la création mais de devoir l'outil, manuel pour le moment, d'un happening sur le vif sur lequel personne n'a d'emprise. XXX rédigé ainsi, il en aurait pu être autrement.
à la table de radotage…
Raymond Quenaud