L'algo du tricot

Il y a quelques semaines, pour des raisons qui restent à expliquer, j’ai ressenti l’appel impérieux de ma nouvelle passion : le tricot. J’ai donc acheté une pelote et une paire d’aiguilles no 8, et je m’y suis mise. J’ai commencé avec une vidéo youtube, puis deux, puis… puis j’ai racheté des aiguilles plus petites, et d’autres pelotes, et…

Bref, ça me plaît.

Ça me plaît même… euh… un peu trop, diraient certains.

Mais qu’importe ! Je veux vous faire partager quelques réflexions à ce sujet. Commençons par les notions de base.

Le tricot : quelques notions de base

L’action de tricoter (to knit en anglais) consiste à transformer un tas de pelotes de fil (de laine ou de coton) en quelque chose d’autre, généralement plus ou moins utile, appelé une pièce, au moyen d’une paire d’aiguilles à tricoter (ou d’un crochet). Une pièce en cours de tricotage est appelée généralement le travail.

J’imagine bien que vous vous demandez quelle mouche m’a piquée et où je veux en venir. Attendez un peu, et profitez de la connaissance à l’état pur qui s’offre à vous, bon sang ! Je continue.

On tricote des mailles (stitches en anglais), qui sont l’unité de base d’une pièce tricotée, lesquelles forment des rangs (rows). Une maille peut être tricotée à l’endroit ou à l’envers (en anglais on parle de knit ou de purl). Une augmentation (increase) consiste à ajouter des mailles dans un rang. Une diminution… je vous laisse compléter. (Et ça se dit decrease en anglais !)

On peut tricoter de deux manières :

  • en allers-retours, où on retourne le travail à chaque fin de rang (on tricote donc la première maille du rang suivant sur la dernière maille du rang précédent),
  • en rond, où on tricote le début du rang suivant sur la première maille du rang précédent (à l’aide d’aiguilles circulaires ou à doubles pointes).

Il est aussi possible de tricoter un bout du travail en allers-retours et un autre bout en rond. C’est open. Vous pouvez faire tout ce que vous voulez. Ça sera peut-être moche, par contre. On n’a rien sans rien.

Après mes premiers essais de -carrés- -rectangles- quadrilatères tricotés, j’ai voulu me fabriquer quelque chose, pour moi. Mais comme j’étais toute débutante, j’ai cherché des idées et des conseils sur le grand internet du monde…

…et au fil (haha) de ma navigation, j’ai trouvé des idées. Plein !

Ravelry : le réseau social des tricoteuses et tricoteurs

Oui, il existe un réseau social dédié au tricot et au crochet. Le site s’appelle Ravelry. Il contient un catalogue immense de modèles partagés par les membres, souvent gracieusement. On y trouve des instructions pour tricoter des chaussettes, des moufles, des pulls, des chauffe-épaules, des couvertures…

Évidemment, je me suis empressée de créer un compte dessus. Toute cette potentialité de tricot qui s’ouvrait à moi, c’était génial ! J’allais pouvoir me changer les idées du boulot ! PARFAIT !

J’ai téléchargé des dizaines de PDF d’instructions en m’exclamant « ce bonnet est trop beau », ou « j’adore ces mitaines », ou encore « il faut que je me fasse ce pull ». Et puis… et puis j’ai ouvert un des fichiers PDF sus-mentionnés. Voici ce que j’ai vu :

(RS) kfab, *kfab, slipm, kfab, knit to one st before sm; repeat from * twice, kfab, slipm, kfab, kfab. (10 sts inc.)

J’ai eu à peu près la même réaction que vous, je crois.

WHAT??

Bon, après j’ai cherché un peu dans le PDF et il expliquait tout bien les abréviations utilisées :

  • k knit
  • k2tog knit 2 stitches together
  • kfab knit into the front and back of stitch
  • LH Left Hand
  • m1 make one - increase by picking up the bar between the stitches from the front with the left needle and knit it through the back of the picked up bar.
  • p purl
  • RH Right Hand
  • RS Right Side
  • slipm slip marker from left needle to the right needle sm stitch marker
  • SOR Start of Round
  • ssk slip slip knit - Slip two stitches knit-wise one at a time. Use left needle to knit through both stitches to decrease.
  • st/s stitch/es

Après je suis retournée voir les instructions. Je les ai relues avec attention.

Et là, j’ai enfin compris.

Écrire un modèle de tricot, c’est comme écrire un programme

Mais vraiment. On peut pousser la comparaison très très loin.

Écrire kfab au lieu de knit into the front and back of stitch, c’est définir une fonction pour alléger le code.

Et *kfab, slipm, kfab, knit to one st before sm; repeat twice from *, en programmation, ça s’appelle une boucle for.

Et ces gros tableaux imbitables en fonction de la taille du vêtement que l’on tricote, c’est presque une utilisation de variables. (Ou en tout cas ça serait bien !)

Et on a même des mélange : une définition de fonction (ici, tour d'aug pour « tour d’augmentation ») qui contient une boucle for.

tour d'aug: 1 end, M1, *end jusqu'à 1 m avant le marqueur, M1, 2 end, M1*; répéter la séquence *…*  deux fois encore, end jusqu'à la dernière m, M1, 1 end.

On a aussi des boucles while. Par exemple, « tricoter tout à l’envers, puis tricoter tout à l’endroit, répéter ces deux rangs jusqu’à ce que la pièce mesure 30 cm ».

On a même une notion de somme de contrôle : je croise souvent des à la fin de ce rang, vous devriez avoir 118 mailles.

Donc, qu’on ne vienne pas me répéter que les nanas ne savent pas coder : celles qui écrivent des modèles de tricot font preuve d’une capacité d’abstraction et de modélisation plutôt remarquable. Et celles qui arrivent à comprendre un modèle comme ça se débrouillent sûrement bien aussi.

(Fin de la parenthèse féministe.)

Poussons la métaphore encore plus loin

Si le modèle, c’est le programme, ne boudons pas le plaisir de creuser la question encore plus !

Le programmeur, c’est la personne qui écrit le programme, donc ici, l’auteure du modèle. Le processeur, la machine qui exécute le programme… ce serait… la tricoteuse ? Moi, donc ?

Les pelotes sont les données d’entrées, le pull est la donnée de sortie, le résultat de l’exécution du programme. Les aiguilles sont… la tête d’écriture sur le disque dur ?

On a des programmes qui se prêtent bien au multi-thread (on peut se mettre à plusieurs tricoteuses pour fabriquer chacune un carré de couverture et tout assembler à la fin) et d’autres, pas du tout (un pull tricoté en rond sans couture, il faut le faire seule… ou à la limite on peut se mettre chacune sur une manche vers la fin).

Sinon, plus subtil : vous savez qu’un programme est analysé par l’ordinateur pour en faire des instructions qu’il comprend (on parle de langage machine, ou de langage bas niveau). Je sais que mon cerveau n’est pas capable d’interpréter directement les instructions complexes ci-dessus. J’ai besoin de les redécouper en instructions plus simples (quoique pas forcément élémentaires) : au lieu de « répéter les deux rangs précédents 8 fois », je vais me faire un fichier excel avec 9 fois les deux rangs décrits, et je vais les cocher au fur et à mesure. Donc je travaille avec une représentation de niveau intermédiaire, du genre « je tricote 118 mailles à l’endroit, une augmentation, 2 mailles à l’endroit… »). Le langage machine, de très bas niveau, ce serait plutôt « je pique l’aiguille dans la maille, j’enroule le fil et je ramène l’aiguille ».

Alternance débile de rangs normaux et de rangs d'augmentation, dont les 8 premiers sont cochés

D’ailleurs je vois en écrivant cette note qu’il manque 3 rangs d’augmentation dans mon excel… Cela pourrait expliquer que mon truc ait l’air trop petit. Je vais recompter.

(Oui, je fais des excel de tricot, et j’assume. Voilà.) (Ah oui et effectivement, je tricote en franglais. Ça va plus vite de dire knit et purl dans ma tête que tricoter une maille à l’endroit et tricoter une maille à l’envers !)

Conclusion

Je suis nulle en conclusions. J’hésite entre « Embauchez des tricoteuses ! » et « rabattez toutes les mailles et rentrez les fils ».

Disons les deux, alors ? Embauchez des tricoteuses, puis rabattez les mailles et rentrez les fils. À bientôt !