
Un soir de semaine, après avoir débarrassé la table de la cuisine, je me suis retrouvée face à une liste de courses codée en Python qui refusait de coopérer, me faisant regretter mon vieux carnet à spirales. C'est le genre de moment où le silence de l'appartement à Clermont-Ferrand devient pesant, seulement rompu par le ronronnement du frigo dans le silence de la cuisine pendant que je fixe mon curseur qui clignote sur une erreur de syntaxe.
Avant d'aller plus loin, je préfère être honnête avec vous : ce petit carnet de bord contient quelques liens affiliés. Si vous cliquez dessus pour acheter une ressource, je touche une petite commission sans que cela ne change votre prix. Je ne partage ici que les outils que j'utilise vraiment sur le coin de ma table, comme la Formation au langage Python qui a été mon véritable point de départ dans cette aventure.
Pourquoi mes listes me rendaient chèvre
Depuis le début de l'hiver dernier, environ 6-7 mois maintenant, je m'obstinais à tout ranger dans des listes. Vous savez, ces trucs entre crochets []. Au début, c'était simple. Mais après environ trois semaines de lutte avec les listes, mon script de courses est devenu illisible. Pour savoir que l'index 0 était le lait et l'index 1 le prix, il fallait une mémoire d'éléphant que je n'ai plus après une journée de boulot.
C'est là que j'ai compris que les listes sont comme des tiroirs anonymes : on sait qu'il y a quelque chose dedans, mais il faut les ouvrir un par un pour trouver les chaussettes. En discutant avec un collègue, j'ai réalisé que pour quelqu'un qui a la tête pleine — comme un étudiant en période d'examen ou une adulte avec une charge mentale de ministre — l'approche par exploration logique des listes est épuisante. On a besoin d'une mémorisation visuelle immédiate. C'est là que les dictionnaires entrent en scène.

La bataille des accolades et des deux-points
Un mardi soir pluvieux en février, j'ai tenté mon premier dictionnaire. Sur le papier, ça a l'air simple : une clé, une valeur. Mais dans la pratique, mes doigts s'emmêlaient. J'ai passé un temps infini à mélanger les accolades {} pour le dictionnaire, les crochets [] pour appeler une valeur, et ces satanés deux-points qui séparent le nom du prix.
J'ai fait une erreur qui m'a rendue dingue : avoir passé quarante minutes à chercher pourquoi mon code ne trouvait pas 'Pomme' alors que j'avais écrit 'pomme' avec une minuscule. En Python, la casse change tout. C'est comme si mon code refusait de reconnaître mon voisin parce qu'il a mis un chapeau. C'est frustrant, mais c'est aussi là qu'on apprend la rigueur. J'ai même failli tout plaquer pour essayer le langage JavaScript, pensant que l'herbe était plus verte ailleurs, avant de me raviser.
Le déclic de la sérénité avec .get()
Fin avril, j'ai enfin eu mon moment "Euréka". Jusque-là, si je demandais au dictionnaire une clé qui n'existait pas, tout mon programme s'arrêtait net avec une erreur rouge vif. C'est très stressant quand on essaie juste de voir si on a assez de budget pour des poireaux. Et puis, j'ai découvert la méthode .get().
C'est une petite révolution. Au lieu de dire "donne-moi le prix de X", on dit "regarde s'il y a un prix pour X, sinon dis-moi que c'est zéro". Pour que ça marche, il faut bien penser au nombre de parenthèses pour une méthode get() : il y en a 2, une ouvrante et une fermante, qui encadrent tout le petit monde qu'on interroge. C'est devenu ma bouée de sauvetage. Depuis que je l'utilise, mes épaules se relâchent d'un coup quand le terminal affiche enfin le résultat voulu sans une seule ligne de texte rouge.

L'ordre des choses et le confort visuel
Le week-end dernier, j'ai appris un truc technique qui m'a rassurée, même si je ne comprends pas tout le jargon derrière. Il paraît que depuis la version de Python stabilisant l'ordre des dictionnaires, à savoir la version 3.7, l'ordre dans lequel on tape nos éléments est conservé. Avant, c'était le bazar, Python rangeait ça comme il voulait. Pour moi qui suis visuelle, savoir que mon "Lait" restera en haut de la liste parce que je l'ai écrit en premier, c'est un vrai confort.
C'est ce que je disais sur la surcharge cognitive : quand on apprend sur le tas après 18h, on n'a pas l'énergie pour des structures de données mouvantes. On a besoin de repères fixes. C'est pour ça que j'ai pris le temps de bien installer Python sur Windows correctement dès le début, pour ne pas rajouter des problèmes techniques à mes problèmes de logique.
Mon petit stock domestique tourne enfin
Aujourd'hui, mon script de gestion de stock tourne sur mon vieux PC. Ce n'est pas une application qui va changer le monde, mais pour moi, c'est énorme. Je me demande si les vrais développeurs ressentent aussi cette petite décharge d'adrénaline juste pour avoir réussi à afficher un dictionnaire sans erreur. Je suppose que oui, au fond.
Si vous débutez aussi, ne vous laissez pas impressionner par les termes comme "clés immuables" ou "tables de hachage". Voyez ça comme une étiquette collée sur une boîte. L'étiquette (la clé) ne change pas, mais ce qu'il y a dans la boîte (la valeur) peut évoluer. Si j'ai réussi à intégrer ça entre deux lessives et la préparation des repas, tout le monde peut le faire. J'ai encore beaucoup à apprendre sur les boucles for et while pour parcourir ces dictionnaires plus vite, mais chaque chose en son temps.

Pour la suite, j'ai déjà repéré une Formation Cisco pour plus tard, quand je serai plus à l'aise avec les réseaux, mais pour l'instant, je reste sagement sur mes bases. Si vous cherchez par où commencer sans vous noyer, je vous conseille vraiment de jeter un œil à la Formation au langage Python. C'est ce qui m'a permis de transformer mes gribouillages sur carnet en lignes de code qui ont enfin du sens. On se retrouve au prochain chapitre, quand j'aurai enfin compris comment imbriquer un dictionnaire dans un autre sans me faire un nœud au cerveau !