Demake de Atomix fait avec PuzzleScript

Fans de mini-jeux de réflexion, bonjour.

atomix_water

Vous avez peut-être déjà découvert PuzzleScript (dans ce blog ou ailleurs). Voici ma première œuvre réalisée avec ce langage. Plus précisément, c’est la deuxième, mais la toute première était un cadeau pour une amie, et reste donc du domaine privé.

Concernant l’idée originale, je ne me suis pas foulé et j’ai repris le principe d’Atomix, un jeu où vous devez déplacer des atomes afin de reconstituer une molécule. La particularité, c’est que lorsqu’un atome est en mouvement, il continue jusqu’à être stoppé par un mur ou un autre atome. (Je suis sûr qu’en mécanique quantique, tout se passe exactement comme ça).

atomix-2

Concernant les niveaux du jeu, je ne me suis pas foulé non plus, et j’ai pompé ceux d’un certain draknek (http:// blog.draknek.org/post/93360531842/if-i-wanted-to-clone-atomix-this-is-where-id).

Ils sont intéressants et épurés de toute casse-couillerie inutile. Merci à lui.

Hyponitrous acid (mais vous le saviez sûrement déjà).

Hyponitrous acid (mais vous le saviez sûrement déjà).

Là où j’ai été obligé de me fouler, c’est pour implémenter le fonctionnement d’Atomix dans PuzzleScript. Le langage est assez souple et bien fichu, mais ne permet pas vraiment de décrire des comportements « globaux » prenant en considération une zone étendue de l’aire de jeu. J’ai donc eu recours à quelques bidouilles hasardeuses pour le processus vérifiant l’égalité entre la molécule-modèle et la disposition des atomes.

D’autres part, il n’y a pas de notion de variables. Pour tester « est-ce que l’atome dans le modèle est égal à l’atome dans l’aire de jeu ? », je n’ai pas trouvé de meilleure solution que de tout décrire verbeusement : « est-ce que l’atome du modèle est un hydrogène et celui de l’aire de jeu un hydrogène ? ou bien est-ce que l’atome du modèle est un carbone et celui de l’aire de jeu un carbone ? etc. ».

Il y a une petite documentation au début du script indiquant les contraintes à respecter pour créer les niveaux, ainsi que quelques commentaires ici et là. Ça mériterait d’être documenté plus en détail, ou pas.

puzlescript_code

Le sus-mentionné draknek a employé kp-atomix (https:// github.com/figlief/kp-atomix) pour publier les niveaux qu’il a créés, ce qui est une aubaine, car ils y sont décrits via un fichier json au format assez facile à comprendre.

Et quitte à me fouler pour coder, je me suis fendu d’un petit programme (en python, évidemment) convertissant les niveaux json de kp-atomix en niveaux de PuzzleScript. Ça aurait certainement pris moins de temps de les convertir à la main, mais ça aurait été tellement moins rigolo.

Ce programme a été honorablement documenté, car il est possible que certains de ses morceaux me resservent par la suite. Tout cela est évidemment dans un repository github, comme le veulent les conventions asociales à la mode en ce moment.

J’aime beaucoup PuzzleScript. Ça regroupe un grand nombre d’idées de mes rêves : des jeux de réflexion à foison, un moyen inhabituel de raconter des histoires, la création d’un langage dédié relativement souple et générique. Je vais voir si je peux faire quelque chose avec tout ça.

Comme vous le savez, les atomes sont liés ensemble par des liaisons de covalence. Voici donc une image de liaison, presque tout aussi idiosyncratique (même si je sais pas ce que ça veut dire).

double_dildo

L’histoire de la personne qui voulait pas régler les problèmes des autres.

Ce serait l’histoire d’une personne à qui on demanderait de régler un problème d’équilibrage de poils. Mettons, par exemple, qu’une de ses amies a un poil pubien qui s’est emmêlé avec un poil de dessous de bras. L’amie vient voir la personne pour lui demander si elle peut les démêler.

Mais la personne en question, elle ne lui démêle pas. À la place, elle lui donne ses anciens outils de travail du poil, ceux qu’elle utilisait au tout début de son apprentissage. Ils sont un peu vieux ces outils, un peu passés de mode et un peu usés, mais ils sont quand même efficaces et fonctionnels. Et puis il y a une petite valeur sentimentale liée à ces outils, alors c’est beau. Dans l’histoire que je vous raconte, ça fait quelque chose de beau.

Ensuite, la personne va sur internet et récupère un tutoriel pilositaire. Un ouvrage assez bien fichu, qui commence vraiment par les bases et qui est en français. La personne explique que la plupart des tutoriels dans ce domaine sont en italien, car le savoir pilositaire italien rayonne dans le monde entier. On peut trouver de la littérature dans d’autres langues, mais tôt ou tard, on finit par devoir lire des textes en italien. Ce n’est pas très difficile, il faut prendre le temps de s’y mettre.

Puis la personne explique à son amie que ce tutoriel va lui permettre d’acquérir des premières connaissances, mais que ce sera assez long. Le plus embêtant, c’est que même après l’avoir lu intégralement, l’amie ne saura pas forcément régler le problème spécifique de poils qu’elle a en ce moment. Pire que ça, l’amie se rendra compte qu’il y aurait plein d’autres chose à apprendre sur le sujet, une foison d’autres tutoriels à lire et de choses à essayer, et qu’elle n’aura de toutes façons pas assez d’une vie pour tout réaliser. Il faudra qu’elle fasse des choix, car pour avoir la capacité d’avancer, elle n’aura pas d’autres moyens que de se fermer des portes qui auraient menées vers d’autres chemins.

L’amie demande à la personne pourquoi elle lui montre tout ça.

Alors la personne fond en larme. Elle s’asseoit, met sa tête dans ses mains et pleure, pleure tout ce qu’elle peut. Elle est secouée de sanglots, elle essaie d’expliquer ce qu’elle a voulu exprimer en lui donnant les outils et le tutoriel, mais elle n’y arrive pas. Elle pleure et elle pleure encore. Elle s’excuse auprès de son amie. Elle dit qu’elle est fatiguée, qu’elle va très bien, que sa vie est très heureuse, mais qu’elle est juste fatiguée. Et tout ça c’est beau, c’est vraiment beau.

On sait pas si l’histoire s’arrête là. Est-ce que l’amie lit le tutoriel ? Est-ce que la personne finit par lui démêler le poil pubien et le poil de dessous de bras ? Est-ce que l’amie console la personne ? Est-ce qu’elle pleure avec elle ? On sait pas. Mais toujours, c’est beau.

Pas d’images pour cet article. Les blogs, ça doit aussi servir à écrire des trucs à la va-vite à 4h30 du matin, sans fioritures.

Merci d’avoir lu tout ça.

Test de Kingdom Rush Frontiers

Chers lecteurs, voici un test de Kingdom Rush Frontiers, un jeu de Tower Defense bien sympa (http:// www. kongregate.com/games/Ironhidegames/kingdom-rush-frontiers).

Il s’agit du deuxième épisode, le premier ayant déjà été terminé et décortiqué par votre serviteur (qui ne vous servite à rien). Comme d’habitude, je me suis orienté vers la version Flash non payante, sur Kongregate.

kingdom-rush-frontiers

o057yw6thdd

Mon avis général

On reste dans la lignée du premier, et ce pour notre plus grand plaisir.

Le bien

Des idées de monstres originales :

  • Vers de Sable : impossible à toucher, sauf lorsqu’ils sont bloqués par des soldats,
  • Saurian Téléporteurs,
  • Shamans Protecteurs : aura de protection pour les unités alentours,
  • Poukai Riders : ennemis volants attaquant les soldats, qui se transforment ensuite en ennemis volants très rapide,
  • Saurians Brood Guard : de plus en plus rapide au fur et à mesure qu’ils perdent de la vie.

Des idées de tours et d’upgrades originales aussi :

  • Necro-Tower : transforme les cadavres environnants en mignons petits squelettes,
  • Battle Mecha : comme une tour, mais déplaçable dans un périmètre restreint,
  • Génies/Efreets : détruisent instantanément un ennemi, du très bon contre les gros monstres peu nombreux.

Des éléments interactifs utiles/rigolos, des références à des films, des aliens comme dans le film Alien, la race saurienne, des capacités de héros inventives, des boss bien vilains, etc.

Le pas bien

Le jeu n’est pas clair sur des points de fonctionnement particuliers :

La tour Falconeer augmente la portée des tours adjacentes. Super. Mais qu’est-ce que ça a comme effet sur les Battle Mecha ? Est-ce que ça augmente la portée de déplacement (auquel cas, c’est peu utile), ou la portée de tir ?

La tour Axe Thrower a un totem de silence, empêchant les ennemis d’utiliser leurs sorts. Concernant les auras de protections, c’est assez clair. Mais y’a-t-il d’autres capacités bloquées ? Qu’en est-il de la téléportation et l’invisibilité des Saurians, la génération des Saurian Brood Guards, la génération des Momies, etc ?

Ah, la partie de mon cerveau qui s’occupe de limiter les fois où je passe pour un bouffon me prévient que c’est expliqué en détail ici (http:// kingdomrushtd.wikia.com/wiki/Tribal_Axethrowers).

J’aurais également aimé avoir la possiblité de buter Beresad, le dragon noir pionçant dans un niveau de Saurians, soit par une astuce interactive, soit en fin de partie sous forme de mini-boss. Mais il est peut-être exploité avec plus d’intérêt dans un autre épisode ou un add-on.

beresad

Comparaison des tours

Les Archmage : ça arrache !

La capacité Tornade de cette tour est surpuissante : multi-cibles, cause des dégâts, fait reculer les ennemis tout en les retirant momentanément du jeu, ne coûte pas si cher que ça. Cette capacité suffit à elle seule à régler le problème du gros packs d’ennemis lents et résistants des waves finales (Gorillon, Saurian Brute, …). Ils avancent trop lentement pour espérer sortir de la zone d’action de la tornade !

Dans le premier Kingdom Rush, je mettais systématiquement en fin de parcours un Arcane Wizard (tour mage violette) dotée de la capacité de téléportation. Dans le même ordre d’idée, pour ce deuxième opus, j’y place une Archmage tornadée au maximum.

La capacité Critical Mass permet de bien nettoyer les swarms (ennemis faibles mais nombreux). On se retrouve donc avec une tour puissante et polyvalente, efficace pour tout un panel d’ennemis. Faudrait presque la nerfer en fait.

Les Necros : ça envoie du gros

Les tours de mages sont décidément à l’honneur dans cet épisode. Placez une Necro Tower proche d’une tour à swarm (Dwaarp ou autre), elle disposera alors à sa proximité d’une quantité conséquente de cadavres, qu’elle transformera en une primesautière armée de squelettes. Ces nouveaux amis riches en calcium mettront tout leur enthousiasme en œuvre pour ralentir les ennemis à peu de frais. Ajoutez à cela la capacité de Poison, et vous avez une chouette tour ayant à la fois les fonctions de ralentissement et de dégâts.

pocket-power-glow-bones5

Battle Mecha : mais … caca

J’aime pas trop. Au départ, la bombarde est lente mais puissante, il est donc conseillé de la placer à portée de plusieurs segments de chemins séparés, afin de multiplier les moments où elle a au moins un ennemi à portée. Mais lorsqu’on l’upgrade ensuite en Battle Mecha, elle se place directement sur le parcours, ce qui fait qu’elle ne se cantonne plus qu’à un seul segment. Ça impliquerait une réorganisation complète des fonctions touriennes, ce qui n’est bien évidemment pas possible.

Je la préconise donc sur des spots mono-segments. Si vous êtes large sur le pognon, faites en une dans un coin paumé et mettez-lui les missiles. Ça touche n’importe quel ennemi, et c’est si poétique lorsqu’ils sont tirés, on croirait un lâcher de ballons.

Dwaaarp : dwaaaaaarp !

Bien sympa, surtout avec l’aire d’effet qui enflamme les ennemis. Mais je n’aime pas trop le drill. Trop cher pour ce que c’est et il faut avoir le coup de bol pour que ça tombe sur un ennemi puissant.

Crossbow Fort : pas si bow gosse que ça

J’ai jamais été très fan des tours d’archers, que j’ai du mal à considérer comme autre chose que de la taffiotade. Celle-ci se rattrape un peu avec la capacité Falconeer. J’essayais d’en mettre une à chaque niveau juste pour la satisfaction psychologique d’en avoir une. Bien entendu, c’est à mettre au milieu de tours attaquant à distance. Les casernes de soldats, on s’en fiche complètement.

Tribal Axethrowers : pas trop de la balle

Bien, sans plus. Le Totem of Spirits est une bonne idée, mais à vrai dire, je n’ai pas eu l’impression d’avoir été gêné par les auras de protection des Savage Spellcasters. Même quand il y a à la fois l’aura magique et l’aura physique.

Knigths Templar : t’empale !

De très bons bloqueurs, ce qui est la fonction principale des casernes. De plus, elle a les upgrades qui vont bien pour que ces vaillants petits soldats plein d’abnégation ne meurent pas trop vite.

Juste pour l’esthétique, j’aurais aimé une tour qui ne ressemble pas aux paladins du premier Kingdom Rush. Il y aurait sûrement eu moyen de créer une unité avec les mêmes stats et les mêmes upgrades, mais un aspet graphique totalement différent : demi-troll, homme-arbre, fantôme gazeux, golem de choucroute, … Il y a tellement d’idée possible.

Assassin’s guild : ah, ça seins !

L’upgrade de Pickpocket est fort cossue, à mettre en début de parcours sur des maps un peu longue. Les Assassins se feront continuellement trucider, mais ça vous fera un centre à farming de pognon.

D’autre part, ces mignons personnages m’ont sauvé la vie au dernier niveau. Leur production très rapide a permis de bloquer une de ces cochonneries de petit creep boueux qui s’était dangereusement approché de l’arrivée. Le temps de mourage de l’assassin par le creep était à peu près égal à son délai de respawn.

dedic5p

Comparaison des héros

Vu que j’ai testé la version gratoche, je n’avais accès qu’au 3 premiers héros. Ce sera donc rapide.

Alric

Bof. Pas vraiment testé. Je suis très vite passé aux héros suivants.

Mirage

Bof aussi. Sa capacité de déplacement rapide est fort louable, mais je parviens difficilement à gérer ce genre de subtilité. En général, je pose mon héros à l’endroit qui me semble le plus approprié, puis je n’y touche plus. J’ai déjà bien à faire ailleurs, entre les tours, les reinforcements, les météorites, …

Si vous avez suffisamment de cerveau pour micro-manager votre héros, prenez Mirage. Moi, personnellement, pas.

Cronan

Mon préféré. la compétence Stampede (les rhinocéros qui chargent) est dévastatrice contre des swarms. Je le place en fin de parcours, là où les rhinos auront le plus d’effet, et donc, je ne le bouge plus.

De plus, sa régénération fait qu’on n’a pas trop à se soucier s’il va crever. Une raison de plus pour ne pas le micro-manager, par exemple dans un moment difficile où il faudrait le mettre hors de portée.

marvel-comics-the-rhino

Charge de rhinocéros

Mes conseils

*)

Globalement, j’ai l’impression qu’il faut commencer par monter un petit peu toutes les tours, puis en maxer quelques unes. Je dis ça en tant qu’expert auto-proclamé en jeux de Tower Defense, mais il est fort possible que d’autres gens pensent autrement.

Comme dit plus haut, une tour d’Archmage en fin de parcours, ça aide bien. Si plusieurs fins de parcours : une tour pour chacun.

*)

Les météorites, c’est comme les reinforcements : à balancer dès que possible, à l’endroit où ça fait le plus mal. Ne cherchez pas à les conserver en prévision d’un éventuel moment critique. Le but des météorites, c’est justement de les utiliser de la manière la plus optimale possible afin d’éviter la future apparition de moments critiques.

Ce n’est pas ce que je faisais dans le premier Kingdom Rush, où je les gardais parfois pour plus tard. Eh bien c’est une bêêêtise. Chaque microseconde de jeu durant laquelle les reinforcements ou les météorites ne se rechargent pas est une microseconde non optimisée.

*)

Voici maintenant une astuce un peu cheapos. Si vous êtes coincé en veteran (le mode de difficulté le plus haut), mettez-vous en casual et réussissez quelques niveaux pour obtenir des étoiles ; ceci afin de débloquer quelques upgrades globaux. Il n’y a pas de décompte séparé entre les étoiles gagnées en veteran et celles gagnées en casual.

Pour chaque niveau, le mode de difficulté avec lequel il a été remporté est indiqué. Si vous souhaitez éprouver un sentiment d’accomplissement intégral du jeu, vous aurez donc besoin de refaire en veteran des niveaux déjà réussi (replay value, tout ça, …). Cependant, attention au story mode, dans lequel chaque niveau rapporte entre 1 et 3 étoiles. Si vous en terminez un en casual avec 3 étoiles, puis que vous le terminez en veteran avec une seule, vous n’aurez pas le détail, et il sera indiqué que vous l’avez terminé en veteran avec 3 étoiles.

Je conseille de noter quelque part les niveaux dans ce cas. Vous pourrez ensuite y revenir et remporter réellement les 3 étoiles en veteran, pour la garantie d’un sentiment d’accomplissement ultime et pour la génération dans votre cerveau de la satisfaction psychologique qui en décombe. (N’oubliez pas de compléter les achievements et de leveler tous vos héros au max).

superstarxxx

Des étoiles ! It’s full of stars !

*)

Durant les dernières waves du dernier niveau, vous récupérez une somme de brouzoufs assez conséquente. Mettez-la de côté. Le dernier boss vous réserve une surprise de merde.

*)

L’achievement Highlander est un peu lourdingue à obtenir : un soldat Templar doit réussir 5 résurrections d’affilée. C’est juste de la chance. Heureusement, il y a un niveau pratique pour ça : Ma’qwa Urqu (http:// kingdomrushtd.wikia.com/wiki/Ma%27qwa_Urqu).

Placer des Templars à l’arrivée du haut, avec l’upgrade de résurrection au max (mais aucune autre upgrade). Posez quelques autres tours ici et là pour la survie. Des Savages Sarbacaniers arriveront régulièrement, ils empoisonneront vos Templars qui verront leurs points de vie diminuer en continu. Vous obtiendrez ainsi des occasions de résurrections multiples. Ça reste de la chance et ça prend du temps, mais la fréquence de tirage aléatoire est augmentée.

*)

Il faut bichonner ses soldats. Un soldat pourri avec peu de point de vie risque de provoquer l’un des désagréments suivant :

  • se faire bouffer par un Savage Warrior, qui récupérera ainsi un peu de vie,
  • se faire alieniser par un Alien Spider, ce qui créera un Guerrier Alien,
  • se faire mordre par un Saurian Myrmidon, qui, là encore, récupérera de la vie.

Dans les trois cas, votre soldat pourri aura créé plus de problème que s’il n’y avait pas eu de soldat du tout.

Conclusion

J’aime bien nommer un chapitre « Conclusion », parce que les profs du collège nous disaient de ne pas le faire.

Il est fort probable que je finisse par m’acheter le troisième épisode : Kingdom Rush Origins et que j’en fasse un test ici. Je peux juste pas vous dire quand. Comme toujours, c’est pas un problème d’argent, mais de temps. J’ai encore tellement d’autres jeux à finir, gratuits ou déjà achetés.

Les gens de chez IronHide ont actuellement décidé de s’orienter vers un autre genre, pour nous créer un RTS : Iron Marines. (http:// ironhidegames. com/post.php?id=112).

Je surveille ça de loin. Cependant, j’ai déjà un jeu de retard chez eux et les infos concernant Iron Marines sont distillées via un compte-goutte atteint de canicule. En attendant sa sortie, je suggère donc de vivre comme des princes et des princesses et de cueillir le moment présent. Yalatza-tza timbala timbadzoing.

iron_marine

image de Martine modifiée avec sa tronche en métallisée

Iron Martine (à la montagne, à la plage, …)

Blarg sur Github

C’est le jeu que j’avais fait il y a quelques années. Il est maintenant disponible ici : https://github.com/darkrecher/Blarg.

Même que j’avais lancé une campagne de crowdfunding sur Ulule et j’avais gagné la mirobolesque somme de 50 euros. J’avais ensuite gagné un peu plus grâce à des dons généreux et totalement inattendus provenant d’une personne étrange, mais c’est une autre histoire.

Le jeu en lui-même n’a pas changé, c’est le même code source. Par contre j’ai tout bien documenté et rassemblé les données qui s’étaient éparpillées : articles, annonces, procédure pour générer les exécutables à partir du code, etc.

Il y a une doc de conception, car j’essaye d’en rédiger une pour chacun de mes « gros » projets. Pour celui-ci, elle est séparée en deux :

  • la doc à propos du jeu en lui-même,
  • la doc à propos du système d’interface (boutons, menus, etc).

Eh oui, j’avais presque réussi à créer une librairie d’interface graphique, réutilisable pour d’autres jeux. Mériterait-elle d’être reprise, modernisée et améliorée ? Je ne sais pas et de toutes façons j’ai tellement d’autres idées que celle-ci va probablement rester à l’abandon.

On peut même configurer les touches.

On peut même configurer les touches.

Et ensuite ?

Je suis en train de mettre dans github tous mes vieux trucs qui périclitent sur mes disques (disques durs et disques compacts, c’est vous dire la portée temporelle de cette fouille archéologique).

D’autre part, j’ai l’honneur de vous annoncer que mon twitter expressionotron a dépassé les 30 followers. Comme promis, je vais donc libérer son code source (la libération des listes de mots viendra plus tard, si j’ai encore plus de followers). J’en profiterais pour démochifier ledit code.

Bref, ça va bouger sur mon github dans les semaines qui viennent.

mappear_brouillon_5

Allez hop, pour fêter ça, image de femme ronde déguisée en magicienne (plus précisément en Elvira-Mistress-of-the-dark).

C'est une sorcière, donc une magicienne, donc ça colle avec le sujet de l'article.

C’est une sorcière, donc une magicienne, donc ça colle avec le sujet de l’article.

 

 

 

Sublime Text : détection des indentations tab/space

Alors voilà, vous vous êtes mis à Sublime Text 2 (http:// www. sublimetext.com/2), parce que c’est un éditeur de texte topissimissime.

Vous prévoyez de vous en servir pour un ensemble de projets et de fichiers de code existants, ayant des conventions différentes concernant les indentations en tabulations/espace. Pour diverses raisons, (justifiées ou non), vous n’avez pas envie de tout homogénéiser à grands coups de replace, alors vous avez gardé cette configuration :

"translate_tabs_to_spaces": false,

 

Le problème

Vous vous attelez à un projet indenté avec des espaces, vous y créez un nouveau fichier de code (mettons que ce soit du python). Dès la première définition de fonction, vous tapez manuellement les 4 espaces d’indentation, afin de bien indiquer à Sublime Text que c’est ça que vous voulez. Lorsque vous passez à la ligne suivante, c’est bien des espaces qui sont automatiquement ajoutés.

Ensuite, c’est la merde.

Pour reculer d’une indentation, vous êtes obligé d’appuyer 4 fois sur backspace. Et chaque fois que vous écrivez un if, un while ou autre, le niveau d’indentation automatiquement ajouté est écrit avec une tabulation.

Vous vous retrouvez donc avec de la cagassade comme ça :

screenshot_space_tab_02,

ce qui ne manque pas de faire hurler l’interpréteur python.

Vous êtes constamment obligé de remettre manuellement des espaces. Vous ne comprenez pas pourquoi cet abruti de Sublime Text ne comprend pas la convention de ce fichier en particulier, alors que celui-ci contient déjà trouzemille lignes de code indentées bien comme il faut.

 

L’interrogation existentielle

La configuration de Sublime Text est définie dans différents fichiers, qui se recouvrent les uns à la suite des autres (config globale, config d’un package, d’un projet, …). Ce n’est pas toujours évident de déduire les valeurs utilisées au final. Heureusement, il est possible de les vérifier.

Vous ouvrez la console, via l’option du Menu principal « View -> Show Console », puis vous tapez fébrilement les commandes suivantes :

view.settings().get("translate_tabs_to_spaces")
False
view.settings().get("tab_size")
4
view.settings().get("detect_indentation")
True
view.settings().get("auto_indent")
True
view.settings().get("smart_indent")
True

sublime_text_console

Tout semble normal.

Alors, vous décidez que Sublime Text n’est pas si génial que ce qu’on en dit, et vous reprenez ce bon vieux Notepad (pas Notepad++, Notepad tout court). C’est de la chiottasse, mais au moins, c’est de la chiottasse maîtrisée.

Notepad à l'apogée de son utilisation

Notepad à l’apogée de son utilisation

 

La solution

Sublime Text est capable de simplifier les ajouts et retraits d’indentation, qu’ils soient en tab ou en espace. Mais pour y parvenir, il doit préalablement déduire la convention du fichier à partir de son contenu actuel. Cette déduction n’est déclenchée qu’à l’ouverture. Comme il s’agit d’un fichier que vous aviez créé, rien n’a été déduit puisqu’il était vide au départ.

Il suffit de fermer puis réouvrir le fichier, et tout va mieux. (Pas la peine de redémarrer Sublime Text, juste l’onglet du fichier concerné). Il existe par ailleurs une commande pour relancer la déduction, mais je ne sais plus où elle est, et osef.

Il faut un nombre suffisant de lignes indentées (une dizaine) pour que cette déduction soit garantie. Naturellement, il faut qu’elles soient toutes homogènes, et si c’est des espaces, il en faut le même nombre à chaque fois.

 

La sodomie drosophilienne

(Ça veut dire « enculage de mouche »)

La déduction d’indentation est également déclenchée lorsqu’on copie-colle une quantité conséquente de texte dans un fichier vide. On va jouer un peu avec ça.

Créer un nouveau fichier (File -> New File, ou raccourci Ctrl+N). Copier-collez le texte suivant dedans :

def truc():
    1
    2
    3
    4
    5
    6
    7
    8
    9
    0

(Il y a 10 lignes indentées, chacune avec 4 espaces).

Placez votre curseur juste après le « 0 » de la dernière ligne.

Appuyez sur « Entrée ». Une ligne indentée s’ajoute. Elle comporte 4 espaces.

Appuyez sur Backspace.

Les 4 espaces sont retirés en une seule fois et le curseur revient au début de la ligne. Sublime Text a compris que l’indentation de ce fichier est sous forme de 4 espaces. Il n’est même pas nécessaire de préciser que la syntaxe est du python. (D’ailleurs c’en est pas vraiment, car écrire des lignes ne comportant qu’un chiffre n’a que peu de sens).

copypast_ok

Recréez ensuite un nouveau fichier. Ne repartez pas du fichier précédent, car Sublime Text lui a déjà attribué une convention.

Copier-collez le même texte mais sans la dernière ligne.

Placez votre curseur juste après le « 9 ».

Appuyez sur « Entrée ». Une ligne indentée s’ajoute. Elle comporte 4 espaces.

Appuyez sur Backspace.

Seul un espace est retiré. Sublime Text n’a pas compris que l’indentation de ce fichier est sous forme d’espaces. Il garde le comportement par défaut, qui est une indentation indéterminée.

copypast_fail

Pour info, j’utilise Sublime Text version 2.0.2, Build 2221.

Toute cette drosophilophilie pour dire qu’avec la dernière génération d’éditeurs de texte (Sublime, Atom, …), on n’a plus vraiment besoin de se soucier du choix tabulations/espaces. J’ai récemment créé un nouveau projet python + django, j’ai passé 3 jours dessus avant de m’apercevoir que certains fichiers étaient indentés avec des espaces et d’autres avec des tabulations !

Ça ne dérange ni python, ni Sublime Text, ni la personne qui code d’avoir des fichiers mixés. Cependant, il est toujours nécessaire d’appliquer la même convention au sein d’un même fichier, et il vaut mieux comprendre avec précision le comportement et l’intelligence de ces nouveaux éditeurs de texte.

Malgré ces petites gênes qui subsistent, il semble donc que la rivalité millénaire entre les tabulistes et les espaciens s’estompe progressivement, ce qui est à mon avis une bonne chose.

Strips-Indentation-600-final

 

Le réconfort

Maintenant que vous connaissez cette subtilité, à vos claviers, mesdames les codeuses et messieurs les codeurs !

moretomeasure_by_fatty_lover-d5stsk4

Puzzlescript et des audits de jeux

Plotrochk à vous, chers gens et gensses.

Ce mois-ci, petit article court. Mon cerveau doit se remettre des 3 énormes articles que j’ai récemment perpétré, concernant mon changeage de crémerie.

Puzzlescript

En partant du blog de randomnine (http: //wootfu.com/) et en passant par divers endroits que j’ai oublié, je suis tombé là-dessus (http: //www.puzzlescript.net/)

C’est absolument génial. C’est un langage de script relativement simple et bien foutu, permettant de créer des jeux à énigmes en 2D carroyée.

Je suis fortement fan de ce genre de jeux : Atomix, Adventures of Lolo, Tiny Skweeks, Pushover, Drod, … Haaaaaa ! Drod ! Tiens ça me rappelle cet article dans lequel je décrivais les principes régissant ces jeux : https://recher.wordpress.com/2009/03/12/regles-a-respecter-pour-les-jeux-a-enigmes/

Je vous laisse fouiner sur internet, il y a plein d’œuvres sympas réalisées avec PuzzleScript, ainsi que des tentatives de recréer des jeux existants, appelées « demakes ». C’est comme un remake, mais au lieu de refaire un jeu, on le défait dans le sens où on décortique son fonctionnement pour ensuite le reformuler en un script de PuzzleScript.

Il existe des demakes de Démineur, de Match-3, de Drod (assez éloigné de la version initiale), de Portal, etc. Je vous laisse les trouver par vous-même.

Le langage de script comporte quelques manques : pas de « variables » ni de gestion des diagonales par exemple. Mais il est plutôt souple et permet déjà plein de choses. Le site officiel est doté d’une documentation assez complète : tutoriels, référence du langage, exemples, etc. Ceux qui veulent le découvrir commenceront par un inévitable Soko-ban.

C’est tout en HTML5. Du coup : Windows, Mac, Linux, Smartphones, MonCulSurLaCommode, ça marche (à peu près) pareil partout.

Le seul souci, c’est que c’est très moche. Tous les éléments du jeu et toutes les cases sont des images de 5 * 5 pixels maximum. Rustique.

J’ai déjà fait un jeu pour une amie (un cadeau personnel que je ne mettrais donc pas ici). Si je suis motivé, j’essaye de demaker Atomix, et peut-être même 4 Elements.

Et maintenant parlons d’autre chose.

Audit de jeux vidéo amateur

Alors voilà. Vous avez créé un petit jeu dans votre coin, et vous avez envie de savoir s’il est cool/intéressant/bankable. Pour cela, vous pouvez faire appel à mes services : j’analyse votre jeu et vous rédige un rapport d’audit décrivant les axes d’améliorations, les points problématiques, la bankabilité, etc.

Nan j’déconne. J’emploie le mot « audit » juste pour faire classe. En vrai je le testerai pendant deux heures grand maximum et je vous dirai à l’arrache ce que j’en pense. Mais ce simple petit service peut déjà vous intéresser.

J’ai peu de légitimité en tant qu’auditeur de jeux. J’en ai créé à peine un et demi et des poussières. J’ai pas de console, pas de smartphone, pas de tablette, pas de compte Steam, pas de jeux AAA et je dois m’y reprendre à 3 fois avant de parvenir à sortir une boule de feu dans Street Fighter (le 2, les suivants je les ais jamais testés).

À défaut de boule de feu...

À défaut de boule de feu…

Mais en tant qu’auditeur amateur, j’ai toute la légitimité pour analyser vos jeux vidéo amateur. Les amateurs ne devraient pas éprouver de honte à se faire aider par d’autres amateurs.

C’est bien évidemment gratuit. La seule condition à respecter est que le résultat de mon analyse soit publié d’une manière ou d’une autre sur internet, avec un lien vers ce blog. Un commentaire ou un message de forum peut tout à fait convenir.

Voici quelques exemples d’audit déjà réalisés (auprès de personnes qui ne me l’ont pas spécialement demandé, mais on va pas s’arrêter sur ces détails) :

J’ai également rédigé quelques tests de jeux (Kingdom Rush, Lugaru, …), que vous arriverez à retrouver, si vous êtes courageux et désœuvré, dans ce blog ou dans les magazines 42. Mais ces tests ne contenaient pas de recommandations personnelles, puisque je ne m’attends pas à ce que les auteurs de ces jeux non-amateurs perdent leur temps à lire mes blablas.

Pour demander un audit, il vous suffit de claquer un commentaire à cet article.

official_audit_seal

J’ai changé de crémerie (3/3)

Suite et fin de la catharsis de mon incarnation professionnelle à Zarma.pro.

Collègue Je-Sais-Tout

Vous vous rappelez, quand vous étiez gamin, on vous parlait souvent d’un Monsieur ou d’une Madame Je-Sais-Tout ? Eh bien le Monsieur c’est lui. Je l’ai rencontré en vrai.

Inutile de décrire sa particularité comportementale, je vais vous narrer sans plus tarder ses anecdotes rigolotes.

*)

Je lui dit que je vais mettre mes écouteurs, car j’ai besoin de me focuser sur du code. Du coup, il me demande ce que j’aime comme musique.

Cette question m’a toujours embêté. D’un côté il y a les mélomanes intégristes, qui connaissent exactement tous les sous-genres de ce qu’ils apprécient et qui sont capables de vous sortir des phrases comme « Hannnn, mais n’importe quoi ! C’est pas du trash-metal que t’écoutes, c’est du grindcore, ça n’a riiiiieeeeen à voir ! ». De l’autre côté il y a moi.

Lorsque j’écoute une musique, je sais dire si je l’aime ou pas. Je sais dire quelle type générique de son ou de mélodie j’aime entendre, même si, lorsque je l’écris, ça donne pas grand-chose :

J’aime la musique qui fait ‘rotototototom’ avec des ‘wobwobwob’. Et si en fond il y a un petit ‘pala-lala-pam’, je kiffe taquet grave.

Mais j’ai toujours été incapable de donner le genre précis de la musique qui me plaît. Je crois que j’aime la dub. Il est possible que je me fourvoie sur ce qu’est réellement ‘la dub’ et qu’en réalité ce que j’aime soit du dubstep, du trip-hop ou juste de l’électro. J’en sais rien. D’ailleurs faudrait que je planche sur le sujet, car ça me pose problème lorsque je cherche des nouvelles choses à écouter sur internet.

J’explique à Collègue Je-Sais-Tout mon ignorance des genres musicaux. Il me demande s’il peut écouter. Je lui prête les oreillettes. 10 secondes plus tard, il me sort tout fier : « c’est de la world techno ».

Ah ouais d’accord. Je me disais aussi. Heureusement qu’il est là pour m’apprendre des trucs.

Je n’ai aucune idée de ce qu’est la ‘world techno’, il est tout à fait possible que ce soit réellement ça que j’écoute. Mais ce dont je suis sûr, c’est qu’il ne connait rien à ce domaine de la musique. Lui il écoute du rock. C’est très bien le rock, il s’y connait sûrement à fond. Mais mon embryon de connaissance mélomanique me permet quand même de savoir que le rock n’a pas grand chose à voir avec le/la dub/trip-hop/electro/world-techno. Il serait donc gentil de la boucler.

En plus, ce boulet écoutait de la radio main-stream gavée de pub, genre RTL2. Il pourrissait sonoriquement notre burlingue avec. Du main-stream en streaming, ha ha ha.

www.pcwalls.ru_4498

World ? Techno ?

*)

Il me dit de trier régulièrement mes mails et de les classer comme il faut dans des répertoires. Je lui explique que ça prend vachement de temps, que pour retrouver un mail c’est plus simple et plus rapide de faire une recherche. Ce à quoi il a répondu : « Trier, c’est important. Ça permet de mieux s’y retrouver. Force-toi à le faire ».

Un rangement sous forme d’arborescence de répertoires, que ce soit pour des mails ou autre chose, ça finit très souvent par des incohérences ou des impossibilités. On se dit qu’on y arrivera car on est beau et pailleté, qu’on tombera pas dans les pièges stupides où d’autres sont tombés. On crée vaillamment un répertoire par client, dans lequel on met un répertoire par projet, ou vice-versa. Tout est beau et propre. Et puis un beau jour, un projet est vendu à plusieurs clients, ou un client envoie un mail récapitulant les points en cours sur plusieurs projets, et tout foire.

L’idéal c’est un système de tags, ça permet des relations de type n-n. Sauf que ça prend tout autant de temps, sinon plus, que de ranger par répertoire, et ça reste moins pratique que de faire des simples recherches de mots.

Du coup je m’étais fait un répertoire ‘à ranger’. Quand Je-Sais-Tout constatait un trop-plein de mails dans ma boîte de réception et qu’il me demandait de les trier, je mettais tout en vrac dedans. Il y avait une jolie arborescence bidon juste à côté, pour faire genre. Hop, ni vu ni connu je t’embrouille.

papers

*)

Dans mon dernier article, j’ai raconté l’épisode le plus merdique vécu à Zarma.pro. Voici maintenant l’un des plus stressants. Ça s’est passé lors d’une grosse démo, d’un logiciel que nous appellerons ‘Chabraque’. Aaaaah, les démos ! Tout le monde aime les démos.

La veille, on prépare tout bien comme il faut. (‘La veille’ ≠ ‘Complètement à l’arrache’. Je nous serais considéré à l’arrache uniquement si on avait préparé le jour même). Collègue Je-Sais-Tout installe Chabraque sur un mini-ordinateur. C’était pas une tablette ni un ultra-portable, mais un machin bizarre avec une poignée, un peu comme un jerrycan. (À Zarma.pro, on se retrouvait très souvent avec une palanquée de matos bizarre, j’ai jamais su pourquoi).

Collègue SuperCommercial vient vérifier que tout est prêt. Il demande si ce machin à poignée pourra afficher la démo sur le grand écran prévu à cet effet. Je-Sais-Tout répond : « Oui, pas de souci. Regarde, ça c’est une prise écran. Je brancherai ce câble dessus, et tac-tac-boum ! C’est exactement comme ton ordinateur qui a deux écrans. Tout pareil, mec. Tout pareil ! »

Collègue SuperCommercial redemande si c’est vraiment sûr que ça marchera. Je-Sais-Tout confirme.

Le lendemain, on arrive sur place, on tente de brancher. Epic fail ! La prise du machin à poignée n’était pas du VGA (pour les écrans) mais du série (pour un peu n’importe quoi, surtout des vieux appareils, mais certainement pas des écrans).

Panique totale. Il nous restait deux heures pour préparer, sauf qu’on ne pouvait pas retourner à la boîte et qu’on n’avait pas d’autre matos adapté. On a poireauté-stressé en attendant que Collègue SuperCommercial arrive avec son PC portable normal et sans poignée, on a tout installé dessus à l’arrache, ça a merdé à cause du middleware tantrique de merde (la foirure déjà mentionnée dans mes articles précédents) et finalement on a installé Modeli-Morvax 1.0 encore plus à l’arrache. Pour la démo, on ne s’en est pas trop mal tiré : on en a déroulé un bout sur le Chabraque du machin à poignée qu’on faisait passer parmi les gens et l’autre bout sur Modeli-Morvax.

On s’est bien évidemment fait engueuler par tous les chefs, comme quoi qu’on testait jamais rien jusqu’au bout et qu’on balarguait toujours tout en direct-live comme les dangereux gougnaffiers du chaos qu’on était.

Soyons clair, on méritait de se faire engueuler, on avait effectivement fait une connerie.

Soyons clair, je jette pas la pierre à Je-Sais-Tout pour cette bourde. Les prises séries et VGA, ça a tendance à se ressembler.

 

port série

port série (pour vieux trucs)

port VGA (vidéo)

port VGA (pour écrans)

Soyons clair, je suis aussi fautif que lui. La veille, j’avais tout le temps de vérifier le branchement ou d’insister auprès de Je-Sais-Tout pour qu’il vérifie jusqu’au bout. Je n’ai rien fait de ces actions. On aurait pu se rendre compte plus tôt que les prises faisaient pas papa-maman, ce qui nous aurait permis de régler le problème au calme.

Le problème n’est pas là. Le problème, c’est ce qu’a ensuite raconté Je-Sais-Tout à d’autres collègues. Il s’est plaint qu’on s’était fait engueuler, dans les termes suivants : « C’était pas la bonne prise. Pas de bol. Par contre, on s’est fait pouuuuuurriiiiiiiiiiiir ! ».

Non. Pas : ‘pas de bol’. C’est pas de la malchance, andouille. C’était de NOTRE FAUTE. Tu seras bien gentil de pas la ramener et d’occulter cet épisode de ta vie, afin qu’il soit progressivement oublié par le reste du monde. Parce qu’en rappelant une connerie qu’on a faite et en insistant lourdement dessus, tu jettes quelques tonnes de discrédit sur toi-même et accessoirement sur moi aussi. Donc ta gueule, Je-Sais-Tout. Tu fermes simplement ta gueule.

universal_converter_box

*)

Pour notre fameux produit Modeli-Morvax, il a fait un premier document de spec globales listant les fonctions à implémenter ainsi qu’un planning prévisionnel, à l’aide d’un logiciel de gestion de projet (je ne sais plus lequel).

Puis on a oublié qu’il avait fait tout ça. Il a refait la liste des fonctions et le planning, avec un autre logiciel de gestion de projet.

Et je me demande même si ça ne s’est pas répété une troisième fois.

Ça m’a toujours fait beaucoup rire les logiciels de gestion de projets. J’ai jamais vraiment compris ce qu’ils étaient censés faire, de plus ils sont tous payants.

Tout ce que je sais, c’est qu’à la fin, ça te chie un diagramme de Gantt, que Je-Sais-Tout était super content d’avoir. Chaque tâche était conditionnée à la réalisation de la tâche précédente, du coup le diagramme était une simple ligne descendante. Ça valait pas le coup de perdre du temps ni de la vie pour ça, on aurait pu tout lister vite fait dans un fichier texte.

Je pense qu’il aurait dû ajouter la tâche « remplir le diagramme de Gantt » dans son diagramme de Gantt.

220px-Henry_L._Gantt

*)

Un jour, Je-Sais-Tout s’est mis en tête de recenser les menus et fenêtres de ce toujours aussi fameux Modeli-Morvax. Il voulait les mettre dans un espèce de diagramme de pas-Gantt, en représentant les liens entre eux. C’est fort louable, surtout qu’on commençait à avoir pas mal d’éléments, et ça aurait pu faire un joli schéma à intégrer dans le manuel utilisateur.

Ce taré a fait trouzemille screenshots, les a imprimés et les a placés sur un grand poster. Je lui ai suggéré : « Euh… ce serait pas mieux de le faire en employant, tu sais, l’informatique ? À l’aide d’un, wouhou, logiciel, genre Visio, Powerpoint, ou même Paint, il est possible de créer des objets virtuels multimédias directement dans le cyberespace. C’est formid’ ! ».

Il m’a répondu par cet argument imparable : « on voit mieux quand c’est en grand sur du papier ». Bien sûr, suis-je bête.

Son atelier ‘découpage & collage’ a duré tout un après-midi. On avait décidé que la majorité de l’interface de Modeli-Morvax serait sur fond noir geeko-classe. Sur un écran, ça rend bien, mais dans le monde réel, c’est relativement crapouillou. Ses feuilles étaient devenues de véritables éponges gorgées de plusieurs gigalitres d’encre, ce qui l’a obligé a utiliser du papier plus épais et de qualité supérieure. La cartouche de noir était aussi vidée qu’un pitbull pédophile dans un jardin d’enfants. Bref, un concentré de gaspillage de temps et d’argent assez impressionnant.

Pour parachever l’absurdité de son œuvre, il avait tout assemblé à l’arrache avec des bouts de scotch claqués à la hussarde porcasse. Comme quoi : « en grand et sur du papier », on voit mieux que ça a été fait dégueulassement.

Quelques mois plus tard, on est passé à la version 2 de Modeli-Morvax. L’interface n’avait plus rien à voir. Son monstre de papier collant et dégoulinant a été mis à la benne. Une bien triste fin.

paper_golem_1_by_vargasni-d7alj0s

*)

Oh, et il y a eu la fois où Collèguette MesCouilles présentait son nouveau projet à toute la Te-boî. Elle a dit une phrase genre « concrètement, ça nous offre le challenge de devoir littéralement faire des cascades avec des requins », quelqu’un de quelconque a renchéri d’une blague du style : « attention, te fais pas mal, lol ! ». MesCouilles a alors répondu : « certes, mais on aura une bonne mutuelle ».

(Expliqué de cette manière, ça a l’air débile. Mais dans le contexte, ça se tenait).

Je-Sais-Tout, qui était assis à côté de moi, m’a discrètement soufflé à l’oreille : « c’est très habile, comme réponse ».

Il faut reconnaître que c’était effectivement semi-habile. Ces derniers mois, on était en pleine discussion sur le choix de la mutuelle qui allait devenir obligatoire et que les patrons allaient devoir payer à leurs ouvriers (ha ha ha ! pwnz ! ). Il est étrange que les entreprises doivent s’occuper de considérations relatives à la santé, mais c’est un sujet totalement autre, que nous n’aborderons pas ici. MesCouilles suggérait donc subtilement aux patrons qu’ils avaient intérêt à faire péter une mutuelle digne de ce nom.

Je-Sais-Tout avait donc raison en m’annonçant que c’était ‘très habile’. Et c’est cool. Sauf que c’est un peu du Captain Obvious. Et donc moi, en tant que personne un minimum au courant du monde physique à ma proximité, j’aurais dû approuver Je-Sais-Tout, afin de montrer que j’avais moi aussi repéré la très-habileté du propos.

Malheureusement, j’étais occupé à mesurer l’amplitude des mouvements de seins de Collèguette MesCouilles lorsqu’elle se déplaçait du côté droit de l’écran géant à PowerPoint vers le côté gauche de l’écran géant à PowerPoint. Du coup, j’avais pas repéré le Captain Obvious. Tout ce que j’ai trouvé à répondre à Je-Sais-Tout, c’est : « Ah bon ? ». Il m’a alors regardé d’un air malicieux.

Il a cru que je n’étais pas assez subtil dans ma tête pour repérer l’habileté de Colléguette MesCouilles. Je me suis alors dit : « Merde, il pense que j’ai vraiment besoin de lui pour comprendre les réalités de la vie, il va se déchaîner en continu à me sortir des brouettées de Captain Obvious ».

L’avenir montra qu’il n’a pas sorti plus de Captain Obvious que ce qu’il aurait pu sortir s’il m’avait pris pour un mec intelligent et pas accro aux nichons. Donc finalement tout va bien. C’est l’intérêt des gens qui sont dans leur petit monde de Je-Sais-Tout-itude. Tu peux faire n’importe quoi à côté d’eux, ils se comporteront toujours de la même manière.

thenug-4VbgimoWHL

*)

Pour les loisirs et les discussions hors travail, Je-Sais-Tout se la pétait également.

Il a découvert Battle for Wesnoth, un jeu de stratégie tour par tour bien sympa. Tout fier, il m’explique qu’il emploie une ‘stratégie par annihilation complète’. La façon dont il m’a énoncé cette vérité montrait bien qu’il pensait avoir inventé un concept totalement inédit. J’ai bien senti qu’il se gargarisait d’avance de me l’expliquer afin d’étaler sa science et me tartiner son génie jusque dans les parois internes de ma boîte crânienne.

Sa ‘stratégie par annihilation complète’ consiste à conserver provisoirement le dernier bâtiment d’une base ennemie. La partie n’est pas immédiatement gagnée, ce qui permet d’explorer toute la map et d’éliminer les unités hostiles restantes. La plupart des joueurs font ça. Et ceux qui ne le font pas ont au moins eu l’idée de le faire.

Ensuite, il m’a expliqué que juste avant l’attaque d’un de ces personnages, il sauvegardait et rechargeait sa partie tant que 100% des coups n’avaient pas touchés. Là encore, il était tout fou-fou de m’apprendre ça.

Je profite de l’occasion pour vous apprendre un mot de vocabulaire, tout en ayant l’humilité d’envisager la possibilité que vous le connaissiez déjà. Cette technique de sauvegarde-rechargement se nomme ‘save scumming’. Et donc, si ça porte un nom, c’est forcément que d’autres personnes y ont pensé avant ce cher Je-Sais-Tout.

wesnoth-1.12.4-4

*)

Il m’a également fait une ‘Star What’, ce qui est assez peu étonnant venant de lui. Il s’agit d’un acte assez fréquent, même les quotidiens les plus sérieux s’y amusent (http:// www. legorafi.fr/2015/12/15/le-gorafi-a-vu-pour-vous-star-wars-le-reveil-de-la-force/).

Vous ne savez pas ce qu’est une Star What ? Attendez, je vous la fais :

« Star Wars n’est pas un film réaliste, car en vrai il n’y a pas de sons dans l’espace. »

Les gens qui commettent des Star Whats, j’ai envie de les cogner. Bande d’abrutis ! Des rayons lasers qui s’arrêtent au bout de 40 centimètres, c’est réaliste ? Et un robot à roulettes qui se déplace dans du sable sans se vautrer lamentablement ? Et la créature aux gros doigts poilus qui ne se trompe jamais lorsqu’elle appuie sur les tout petits boutons du tableau de bord d’un vaisseau spatial ? (Vaisseau spatial que le propriétaire doit certainement traiter toutes les deux semaines contre les poux et les parasites vu la touffasse de poils du sus-mentionné machin).

Je vous laisse vous renseigner sur la notion de ‘suspension consentie de l’incrédulité’.

Le seul truc ‘incohérent’ (et non pas ‘irréaliste’) que je vois dans Star Wars, c’est Jar Jar Binks ayant réussi à atteindre l’âge adulte sans que personne ne l’ait préalablement massacré d’agacement. Il ne semble pas y avoir plus de sons dans l’espace que de darwinisme chez les Jar-jar-binkiens (j’emmerde le type dans le fond qui vient de piailler que ce sont des Gungans).

jar-jar-binks-is-dead

*)

Comme vous le savez (ou pas, mais osef), j’utilise la disposition de clavier Dvorak-bépo (https:// bepo. fr/wiki/Accueil). J’en ai chié des briques au début, puis je me suis senti suffisamment en confiance pour l’installer sur le PC du boulot.

J’en ai fait part à différents collègues, principalement pour me la péter mais aussi pour tenter de les convertir. (L’un d’eux s’y est essayé, ça m’a fait plaisir).

Je-Sais-Tout, pour qui toute idée ne venant pas de lui-même est systématiquement de la merde en branche, m’a très sérieusement expliqué que j’allais me retrouver dans la même situation que les gauchers. Ces pauvres gens ingâtés par la nature doivent continuellement switcher leur cerveau, selon qu’ils utilisent des objets génériques à préférence droitière ou des objets spécifiques à préférence gauchère. Je subis le même désagrément lorsque je passe momentanément sur un clavier azerty ‘normal’.

Ce switching est la raison pour laquelle les gauchers ont une espérance de vie un peu plus courte (leur cerveau et leurs muscles s’usent plus vite). Comme eux, je risque de mourir plus tôt.

Woaouw.

C’est bien connu : les bilingues, les gens utilisant plusieurs véhicules, les bisexuels et les bi-biphoques meurent tous prématurément.

J’ai lu quelque part que l’espérance de vie des gauchers semble statistiquement plus courte car les ‘gauchers seniors’ ne sont pas enregistrés comme tel. Il y a quelques dizaines d’années, on forçait tout le monde à utiliser sa main droite, et des gens qui auraient du être gaucher ont fini droitier ou gaucher contrarié. Il faut donc attendre encore une génération ou deux pour avoir des données fiables sur cette caractéristique.

Et même si les prédictions divinatoires de Je-Sais-Tout se révélaient exactes, je préfère mourir un peu plus tôt que vivre rongé par le regret permanent de ne pas avoir eu le courage de passer au clavier Dvorak-bépo. J’ai gagné la petite satisfaction personnelle d’avoir réussi à changer une habitude qui m’a été imposée par la masse populaire. Utiliser le Dvorak-bépo vous rend hype.

Lorsque je fais découvrir cette disposition de clavier à d’autres personnes, la plupart ne sont pas intéressées, trouvent ça bizarre ou estiment que c’est une perte de temps. C’est là ou Je-Sais-Tout est plus fort que les autres : il considère tellement que c’est une idée de merde qu’il tente de m’en sauver en me disant qu’elle va me faire vieillir prématurément. C’est une sorte d’égocentrique altruiste. Je ne savais même pas que c’était possible.

Attention, c'est une arme de vieillissement prématuré massif !

Attention, c’est une arme de vieillissement prématuré massif !

*)

Un jour, je lui ai dit comme ça : « C’est bizarre, à chaque fois que je prends une douche, j’ai soif juste après. »

Il m’a répondu : « Oui. L’eau, ça assèche. »

Du coup, je reste beaucoup moins de temps sous la douche, de peur de finir déshydraté.

*)

Lorsqu’il a appris la manière dont j’ai trouvé mon nouvel emploi (une candidature spontanée qui a mariné pendant un an avant de réapparaître), il a proféré d’une voix collégiale : « tu as pris un risque énoooooorme ».

Il voulait dire que cette candidature aurait pu ne pas aboutir, tout en parvenant malgré tout aux oreilles de Zarma.pro. Ça ne m’aurait pas mis en situation avantageuse : les divers chefs et collègues auraient été en droit de me le reprocher.

Je ne vois pas où est le problème. J’en avais vraiment marre de Zarma.pro (pour avoir le détail, lire mes articles précédents). J’essayais de faire ressentir cette marritude à mes chefs tout en leur empêchant d’y opposer du bullshit de type : « tu n’es qu’un gamin pleurnichard. Fais des efforts et on trouvera le moyen de te récompenser. Blabla implication blabla engagement blabla proactif. ».

Qu’ils apprennent d’une manière détournée que j’en ai ma claque au point de vouloir me barrer, ça me semblait être un signal d’alerte acceptable. Je m’en suis également servi pour m’aider à préserver ma santé mentale : je m’accrochais à ces petites lueurs d’espoir, ces candidatures spontanées que je lançais de ci de là, telles des bouteilles à la mer. ♫ ♪ ♬ Pris dans leur vaisseau de verre, les messages luttent, na na la la la la-la la, nia nia nia nia sur les rocheeeeeeeeeers ♪ ♫

De toutes façons, les chefs auraient fait quoi en ‘représailles’ ? Bloquer mes augmentations de salaire ? Me donner des tâches que j’aime pas tel que des maintenances client, au lieu de me laisser m’auto-kiffer sur du développement ? Me stresser à tel point que je me sente obligé de faire des heures sup’ d’esclaves sans même qu’ils aient besoin de me le demander explicitement ? Me dire en continu pendant plusieurs années que c’est pas le bon moment pour prendre des vacances ? Me retirer les projets que j’aime pour les jeter en pâture à Drache-Code qui les a gloubiboulgatisés ?

Ah non, c’est bon. Ils ont déjà fait tout ça. Du coup il n’y avait plus de représailles possibles.

Je soupçonne Je-Sais-Tout d’être un peu jaloux. Lui aussi aurait peut-être aimé partir de Zarma.pro. Là, il s’aperçoit qu’il avait une chance de le faire, mais elle lui est passée sous le nez. Alors il essaye de s’auto-rassurer en se disant qu’il n’aurait pas pu la saisir, car ça aurait impliqué qu’il prenne ‘un risque énoooooorme’. Peut-être qu’il est triste dans son coin et que pour minimiser cette tristesse, il se dit qu’il n’y pouvait rien, car il a choisi la sécurité pour sa vie professionnelle et familiale.

Honnêtement, je ne crois même pas que je puisse me vanter d’avoir pris un risque. Je ne pense pas être quelqu’un de vraiment courageux, en particulier pour tout ce qui concerne le Travail. Faire des candidatures spontanées, ce n’est pas un truc de ouf. Faut arrêter la parano.

Paranoia

D’autres gens

J’avais vraiment besoin de me lâcher sur mes chefs et quelques collègues en particulier. Ceci étant fait, il reste des personnes sur qui j’ai une quantité honorable de bêtises à dire. Je vous met tout en vrac.

Colléguette Dièse-effe-huit-effe

L’une des secrétaires. Elle s’appelle ainsi rapport à sa couleur préférée.

J’étais son délégué suppléant. Oui, figurez-vous que suite à un concours de circonstances un peu long à raconter et totalement inintéressant, j’ai été élu délégué du personnel et faisais partie du comité d’entreprise. Je l’ai techniquement souhaité, et je me suis dit que ce serait l’occasion de faire des trucs cools.

L’ensemble des délégués a accompli une foule de choses : organiser des repas de Noël, négocier cette fameuse mutuelle d’entreprise, reprendre les calculs d’indemnisation des déplacements, etc. Mais je n’ai personnellement servi à rien dans toutes ces réalisations.

J’assistais aux réunions et notais les phrases rigolotes de chacun pour me donner une contenance. C’est tout. Concernant les actions concrètes, je ne savais jamais par où commencer, et n’osais pas demander de peur de passer pour encore plus débile que je ne l’étais. Mon absolue inutilité a certainement fini par se voir, mais personne n’a eu la cavaliéritude de me le dire.

J’espère que Dièse-effe-huit-effe n’a pas été trop embêtée d’avoir eu un suppléant aussi plante-vertesque. Elle ne méritait pas ça, c’était une nana cool.

Cette expérience m’a apporté deux choses :

  • Si on me demande de refaire délégué du personnel, je pourrais répondre, sans éprouver la moindre culpabilité : « non merci, j’ai déjà fait, je ne me suis pas trouvé très compétent ».
  • J’ai décidé que je ne dénigrerai jamais le travail effectué par d’autres délégués du personnel. Je leur demanderai des choses en cas de besoin, mais je ne dirai jamais qu’ils font de la merde ou qu’ils branlent rien.
Le repas de Noël. Mais y'avait pas Jésus.

Le repas de Noël. Mais y’avait pas Jésus.

Colléguette Maryse-Gâteau

Une autre secrétaire.

Je n’ai pas bien compris pourquoi tout le monde la portait aux nues. Elle travaillait beaucoup, sérieusement et bien, mais beaucoup d’autres gens dans la boîte faisaient montre de la même abnégation sans qu’on chante leurs louanges (oui, je m’inclus dedans). Est-ce que c’est parce qu’elle avait ‘un certain âge’ ? Je ne sais pas.

Le fait que tout le monde la portait aux nues lui donnait le droit implicite d’être exigeante envers les autres, ce qui m’a valu un moment merdique de plus.

Je suis dans le bureau-open-space en compagnie d’un stagiaire. Collègue Eurod’ était présent le matin mais était ensuite parti en déplacement. Je suis donc le seul à pouvoir répondre au téléphone. Celui-ci sonne. Un client avec un problème urgent. Il me blablate ses symptômes, je prends le contrôle de son PC par TeamViewer et commence à dépatouiller son bronx.

Le téléphone re-sonne. Un autre client avec un autre problème. Il me précise que c’est ‘urgent urgent urgent’, soit deux ‘urgents’ de plus que le client précédent. Je décide donc de m’en occuper tout de suite. (Je m’étais établi mon propre système de hiérarchisation des tâches, suite aux non-définitions de priorités par Chef Random). Blablatage symptôme, TeamViewer, débronxage en cours.

Le téléphone de Collègue Eurod’ sonne. Un client jean-foutre qui veut qu’on lui renvoie son contrat de maintenance, parce qu’il ne parvient plus à le retrouver dans son bordel. C’est une tâche administrative, j’estime donc que ce n’est pas à moi de la faire, d’autant plus que je ne sais même pas où trouver ce papier à la con. Je lui dit de voir ça avec notre secrétaire et lui donne le numéro à appeler. Normalement on ne doit pas faire comme ça, on doit transférer l’appel. Mais je ne suis jamais sûr d’y parvenir avec ces téléphones auxquels je ne comprends rien et je voulais me débarrasser très vite de ce clampin car j’étais toujours au téléphone avec le client urgent urgent urgent.

Le téléphone de Collègue Eurod’ re-sonne. C’est Maryse-Gâteau pour me dire qu’elle vient d’avoir un client à la con requérant son contrat de maintenance à la con. Je lui dit que je suis au courant et que c’est moi qui l’ai refilé à Dièse-Effe-Huit-Effe. Mais cette dernière n’était pas à son bureau, c’est donc Maryse-Gâteau qui a pris l’appel. Cette dernière-dernière voulait avoir Collègue Eurod’ pour qu’il lui donne ce putain de contrat. Mais ce dernier n’était plus là. Mais elle ne s’en est pas rendu compte puisqu’elle l’avait vu le matin. Elle me dit : « Tu peux pas lui donner toi-même, ce contrat de maintenance ? ». Je dit que non, parce que je sais pas où il est. Elle rétorque « Ah bah voilà, si personne n’y met pas un peu du sien », puis elle raccroche.

5 minutes plus tard, Maryse-Gâteau débarque dans mon burlingue-open-space, ouvre un placard, en sort un classeur à paperasse, le referme en faisant « blong » bien fort et repart en clac-claquant des talons.

Je dis à mon client en cours que j’ai un petit truc urgent urgent urgent urgent à faire et que je le reprendrai dans quelques minutes. Je vais voir Maryse-Gâteau. Elle s’était construit un superbe regard lourdement armé de reproches. Je me confonds en excuses. Elle m’engueule comme quoi on est passé pour des imbéciles auprès du client qui a dû appeler plusieurs numéros à la suite, que j’aurais dû transférer l’appel ce qui m’aurait permis d’expliquer préalablement la situation.

Elle avait raison, mais j’estime que je ne méritais pas de me faire engueuler à ce point là. Je ne lui ai même pas dit que j’avais deux maintenances simultanées en cours. D’une part j’ai pas osé parce que ça risquait de la foutre encore plus en colère que je me permette de lui parler de MES problèmes de Travail, d’autre part elle m’a pas laissé en placer une et d’autre-autre part j’entrais dans la période où je commençais à en avoir plus rien à foutre de cette boîte.

Quelques semaines plus tard, je fais mon entretien quadri-annuel d’évaluation avec Chef Random. Il mentionne cette désastreuse histoire et fournit son avis personnel, à savoir que j’avais vraiment merdé. Ce gros nul avait tout suivi depuis son bureau juste à côté, il s’en servait pour me pourrir non-subtilement. Quand je vous disais que ce mec était un tocard social.

Lorsqu’elle devait s’absenter, Maryse-Gâteau me demandait parfois si elle pouvait rediriger son téléphone vers le mien. J’avais alors la charge de secrétaire. J’étais un tout petit peu fier qu’elle me confie cette tâche. Étrangement, elle ne me l’a plus jamais demandé ensuite. À vrai dire ça m’arrangeait. Je suis nul en secrétaire, j’ai une voix de benêt au téléphone et je fais des « euuuuh » d’adolescent de 13 ans.

Avant que tout cela n’arrive, il m’était arrivé une fois de rêver d’elle. Un rêve bizarre, mais tout public. Elle s’était monté un stand en plein milieu d’un immeuble en construction, avec une porte posée sur des tréteaux, et elle vendait des gâteaux. Les ouvriers passaient à côté d’elle sans vraiment y faire attention, mais elle gardait le sourire et l’espoir.

C’était mignon comme rêve et ça collait super bien à sa personnalité et ses hobbies. Je me suis dit que j’aurais pu lui raconter, à l’occasion, durant une pause café. Ça l’aurait fait rire. Je ne l’ai pas fait parce que raconter ses rêves relève d’une ouverture à l’autre assez intime. Elle aurait peut-être été gênée que je lui dévoile quelque chose d’aussi personnel. Finalement, j’ai bien fait d’avoir gardé ça pour moi.

Oui, c'est un gâteau. En forme de téléphone.

Oui, c’est un gâteau. En forme de téléphone.

Un jour, Collègue Tourbator avait lancé un concours de pâtisserie. Tous les mardis, quelqu’un apportait un gâteau fait maison. On le mangeait pendant la pause, on donnait des notes et le gagnant recevait je-sais-plus-quoi. J’avais participé avec un gâteau-minecraft qui me valut de ne pas terminer dernier, j’étais assez content de moi.

Maryse-Gâteau a remporté la palme avec des ultimo-tartelettes vraiment délicieuses. Est-ce qu’elle méritait vraiment de gagner ou est-ce que des gens lui ont hypocritement donné une très bonne note parce qu’ils la portent aux nues ? Je ne sais pas.

Une autre fois, elle a envoyé un mail pour signaler qu’un outil mis en place par Collègue SuperFlamby ne lui convenait pas. Elle avait raison, le bidule l’obligeait à faire une double saisie. Hou que c’est vilain les doubles saisies ! Personne n’aime ça.

Sauf qu’elle a envoyé ce mail à tout le monde au lieu de le limiter à SuperFlamby. On ne crie pas intempestivement à la face du monde ses râleries professio-personnelles, c’est donc une faute qui aurait pu lui être reprochée. J’ose espérer que MegaChef Storitel s’en est chargé, c’est quand même le rôle d’un chef d’effectuer ce genre de recadrage. Mais parmi les collègues de même rang professionnel : bernique. Je n’ai eu vent d’aucune remarque qui lui aurait été faite. Alors que par ailleurs, divers déblaterrages sur diverses personnes s’échouaient dans mes récepteurs auditifs et visuels.

Une autre-autre fois, elle a traversé notre burlingue-open-space en se faisant la plus discrète possible tout en nous montrant qu’elle voulait être discrète. Je lui demande : « Tout va bien, Maryse-Gâteau ? ». Elle nous explique qu’elle venait de déblaterrer sur une technicienne-Cliente, la traitant de conne et autres noms d’oiseaux, et qu’ensuite elle s’était aperçue que cette personne attendait dans le couloir juste à côté. C’est pourquoi elle avait préféré s’éclipser discrètement par un chemin détourné.

C’est vrai que pourrir un Client alors qu’il y a un risque qu’il entende tout, c’est vachement moins grave que de le balader d’un numéro de téléphone à un autre. Mais là encore, personne n’est allé lui reprocher son erreur, alors que je n’étais pas seul dans le burlingue lorsqu’elle est passée.

Tout ça pour dire que je n’étais vraiment pas à l’aise avec Colléguette Maryse-Gâteau. J’avais l’impression d’être le seul sur Terre à m’apercevoir qu’elle faisait parfois des bêtises (comme tout humain normalement constitué) tandis que le reste du monde la portait aux nues et la trouvait constituée à 100% d’awesomeness professionel.

Maryse-Gâteau en stealth mode.

Maryse-Gâteau passant dans le burlingue en stealth mode.

Collègue SuperFlamby

C’était pas tout à fait un ‘collègue’, il était également chef d’un ensemble de bazar technique. Mais osef.

À chaque fois qu’il devait trancher, il choisissait la solution intermédiaire, d’où sa flambitude. Il utilisait des mots et des expressions pas très viril : « banette », « en regard de », « douchette », « lever un flag d’alerte » (en faisant le geste d’un petit drapeau qui se lève), …

Les scientifiques fous, dont j’ai parlé précédemment, avaient commandé un audit pour la conception de leur fameux logiciel d’analyse d’acariens. SuperFlamby avait rédigé un rapport assez bien ficelé, qui faisait office de document de spécification.

Ce rapport contenait plusieurs ‘stories’, des petites descriptions courtes racontant une utilisation particulière d’une fonctionnalité du logiciel. Il avait donc défini plusieurs profils d’utilisateurs, en attribuant un prénom à chacun, comme si c’était des gens du monde réel.

Je ne savais pas qu’on pouvait rédiger un document de spécification de cette manière. Ça aboutit à quelque chose de peu viril dans sa formulation, mais assez clair et bien présenté.

Par contre, là où il a complètement merdé, c’est au moment de baptiser les profils. Il y avait une « Renata ». WTF ? Même en Afrique post-colonialiste personne ne s’appelle comme ça !

C’était peut-être un clin d’œil scientifique à cette personne, ou celle-là (https:// en.wikipedia.org/wiki/Renata_Kallosh, https:// fr.wikipedia.org/wiki/Renata_Briano).

Hell Yeah ! Science !

Hell Yeah ! Science !

Actionnaire Roux

Étant donné mon niveau hiérarchique, je n’ai évidemment jamais eu la possibilité de l’approcher ni de m’imprégner de son aura divine.

Mais j’ai tout de même eu la chance de le voir apparaître à une méga-réunion annuelle corporate. Il nous a dit qu’en tant qu’Actionnaire, il était « confiant » et « rafraîchi » par des réunions comme ça.

Ensuite, on est allé bâffrer gratoche au traditionnel apéro empiffratoire du midi.

Collègue Nounours

J’en ai déjà parlé ici et là.

C’était un rayon de soleil pour mes espoirs de glandage professionnels. Je le voyais soit buller, soit faire des trucs qui ne servaient à rien. Il était ma preuve secrète de la possibilité d’atteindre un jour mon nirvana personnel, à savoir : donner l’impression à tout le monde que je travaille tout en glandant comme un porc et en passant mes journées à coder des jeux vidéos et écrire des articles de blogs.

Il allait parfois démarcher des gens pour présenter nos super-logiciels. À son retour, Cheffette Gothique lui demandait comment ça s’était passé. Il se contentait de répondre « tu sais, avec ce type de clients, c’est sur du loooooooong terme. » C’est tout. Ça consistait l’intégralité de son compte-rendu de démarchage. Un rayon de soleil, vous dis-je.

Une autre fois, il s’est mis en colère parce qu’il ne retrouvait plus des papiers qu’on lui avait déplacés lors d’un de nos déménagements à moment merdique. Il nous a dit : « merde, merde, merde ET MERDE ! ». Quelques jours plus tard, il les a retrouvés. C’était très drôle.

Du looooooooong terme.

Du looooooooong terme.

Collègue KoupChou

Le responsable ‘infrastructure du monde physique’.

C’est auprès de lui que je venais pleurer ou m’excuser quand je foutais le bordel avec l’alarme du bâtiment. (Le dernier à partir devait allumer l’alarme, mais y’avait toujours une capilotade qui empêchait de le faire. Je ne peux pas vous raconter ces épisodes foireux car j’y comprenais jamais rien).

Un jour, on a été envahis par des cochonneries de petits insectes. Je ne sais pas du tout ce que c’était, on les nommera donc : ‘ploncres’.

Je vais voir Collègue KoupChou pour lui en parler. Et là, est-ce que tu sais ce qu’il me répond, lecteur ?

« Oui, c’est rigolo. Quand on shoote dans l’un d’eux, il se recroqueville sur lui même et roule comme une petite bille ! »

Je veux bien entendre qu’être responsable monde-physique soit une charge compliquée et que la quantité de tâches qui en décombe ait pour conséquence qu’on ne puisse correctement prévoir ni repousser une invasion de ploncres. Mais quand ça arrive, ce serait bien d’avoir la décence de pas faire son malin.

Je m’attendais à ce que KoupChou ait une réponse éventuellement impuissante, mais au moins humble : « on a été attaqué par surprise, j’ai pas le temps de m’en occuper maintenant ». Eh bien non. De son joyeux aplomb auto-validant, il n’éprouve aucune culpabilité à brâmer : « Bibilles ! Lol ! « .

Je vous passe les considérations d’hygiène qu’on pourrait hypothétiquement avoir quant à la prolifération de ploncres.

Ploncre rush !

Ploncre rush !

Collègue SuperCommercial

Un type un peu inquiétant. Il disait tellement que ce qu’on faisait était génial, que ça ne semblait pas naturel. Surtout que des fois on faisait quand même bien de la merde.

J’ai eu un road trip à faire avec lui. Ça a été très compliqué, mais pas pour la conversation. C’est un super-commercial, il a donc ce super-pouvoir de générer automatiquement un sujet dès qu’il y a un blanc. Le problème a été la conduite. Je suis une incommensurable quiche dès que j’ai un volant à la main. Au début ça allait, c’était de l’autoroute. Puis on est arrivé dans une ville, il a fallu regarder le GPS en même temps que conduire. Multi-drames :

  • Je me suis planté 3 fois de route (le GPS indiquait le bon chemin, mais je n’arrivais pas à analyser précisément ce qu’il me disait),
  • je me suis arrêté en plein milieu d’un embranchement sans savoir où aller,
  • mon cerveau me faisait paniquer en continu à tel point que je ne voyais plus les feux passer au vert,
  • pour se garer, SuperCommercial m’a pris le volant des mains car je ne comprenais même plus dans quel sens ça tournait quand on reculait (au reste, j’ai jamais vraiment compris le fonctionnement de ce concept extrêmement bizarre de ‘marche arrière’).

Il était totalement désespéré. Je pense qu’il avait dépassé le stade de la pitié pour atteindre une sorte d’état supérieur s’apparentant à celui d’un observateur externe étudiant un singe dans un zoo.

Je déteste conduire, c’est de la merde. Mais si je me lance dans ce sujet j’en ai encore pour 12 articles.

Un autre truc marrant avec ce monsieur, c’était son utilisation outrancière des anglicismes. Ça ne me dérange pas, ça fait partie de ses super-pouvoirs, d’ailleurs je dois certainement en utiliser moi-même sans m’en rendre compte. Là où ça devient rigolo, c’est avec le mot ‘bid’.

‘Bid’ signifie ‘offre’ ou ‘proposition’ (de vente ou d’autre chose). Dans une phrase en français, ça produit un effet assez ridicule : « on va faire un bid ! », « c’est vraiment un très gros bid », …

B1XnYMvCAAEZ1Ew.jpg large

Collègue NinjaBlingBling

Un mec cool. Je l’aimais bien, il avait pas peur d’ouvrir sa gueule et lâchait rien, il s’accordait donc à merveille avec des gens comme moi ayant une personnalité flambie.

Il a découvert une souris morte au milieu du couloir (c’est impressionnant la quantité de bestioles débiles qui squattait cette boîte). Il l’a jeté et a envoyé un mail de pourrissage général pour signaler qu’évidemment personne d’autres que lui n’avais fait l’effort de le faire et que donc on était tous très vilains. Sauf que son action héroïque, il l’a accomplie vers 8 heures du matin, en étant parmi les premiers arrivés. Alors oui forcément, personne n’a pu le faire avant lui.

Je me permet d’ajouter que quand j’ai décollé un cadavre de lapin mort sur le parking, je n’ai pas pourri la totalité de l’univers connu à coups de mails héroïques, ni signalé que « chacun doit nettoyer son propre caca ».

2982390777_b89b01987b

Collègue GenerationY

J’en ai déjà parlé. Un mec bizarre.

Petite anecdote merdico-rigolote : lorsqu’il jouait à la belote à la pause de midi, il râlait et s’énervait tout seul parce qu’il n’avait jamais un bon jeu et que son partenaire du moment jouait comme un pied. J’ai fait une seule partie avec lui, ça a été un rouspéto-roumégage continu.

Maintenant que j’y pense, mon cerveau est vraiment un abruti de m’avoir mis mal à l’aise durant ces moments pouilleux où Collègue GenerationY me faisait bien sentir que j’étais un boulet. Le fait que c’était un petit enfant mauvais joueur aurais dû me donner la force de caractère pour m’immuniser contre ses influences boulettisantes.

Bref, encore un beau tocard de bonne facture.

De toutes façons j’ai jamais rien pigé à la belote. Je préfère le Perudo.

MégaChef De L’Industrie

Il est arrivé un peu de nul part. Mais sa légitimité a été automatiquement et unanimement approuvée lorsqu’on nous l’a présenté durant une grande messe corporate et qu’on nous a dit qu’il venait « de l’industrie ».

C’est sérieux l’industrie. Couillu, viril et tout. Pas comme ces petites taffiotades de logiciels qui sont des produits immatériels et qu’on ne peut donc pas physiquement bifler même en étant doté d’un énorme pénis d’industriel.

L’une des équipes de la boîte fonctionnait mal (pas Test-0-Steron, une autre). MégaChef De L’Industrie était chargé de la ‘redresser’. Il a étudié le tout, a écouté chaque personne et a donné une consigne générale :

« Messieurs les commerciaux, vendez. Vendez tout et n’importe quoi. Même des choses qui n’existent pas encore. Nous derrière, on saura vous fournir les moyens qu’il faut pour les faire exister. »

Vous la sentez venir, la cagafouillade géante ?

Les commerciaux, stressés par cette consigne, casseront les prix. Ils retourneront voir De L’Industrie, l’œil hagard et le costume débraillé, en clamant : « j’ai réussi à vendre un logiciel féérique et inexistant pour 100 euros. C’est un peu bas comme prix, mais je n’ai pas pu obtenir mieux, pourtant je me suis démené comme un beau diable ».

Ensuite, De L’Industrie dira aux ouvriers-codeurs de créer la féérie très très vite. Il ajoutera (ou pas) les « moyens qu’il faut ». Ça monopolisera trouze-mille jour-hommes et à la prochaine grande messe corporate, toute l’équipe sera pointée du doigt comme étant vilainement pas rentable.

Parce que « vendre tout ce qu’on peut » et « vendre tout ce qu’on peut en étant rentable », c’est pas la même chose. Mais si je dis ça, c’est sûrement parce que j’y connais rien en gestion d’entreprise, je viens tellement pas de l’industrie.

Ça c'est de l'industrie !

Ça c’est de l’industrie !

Collègue Moche

C’était juste un mec super moche. Ça arrive.

J’ai été choqué par le champ gravitationnel d’hypocrisie généré dans son entourage.

Aucun des autres collègues, mais absolument AUCUN, n’a mentionné son hypermocheté au détour d’une conversation quelconque. Même lorsqu’il n’était pas présent.

Ça m’a un peu inquiété. J’avais l’impression d’être le seul au monde à avoir remarqué sa pas-gueule, j’étais limite à me demander si ça faisait pas de moi un mec encore plus bizarre que je ne le pensais, ayant des critères de beauté totalement différents des autres.

Mais un jour, j’ai croisé ce collègue alors que j’étais dans un bar en compagnie de gens du pas-travail. Ils m’ont tous dit que j’avais du cran pour passer plusieurs heures par jour à moins d’un kilomètre de lui sans vomir. J’ai été rassuré.

On ne se rend pas assez compte à quel point c’est important pour sa santé mentale de côtoyer des gens qui n’hésitent pas à balancer du bon gros troll de merde.

(Ici, ne pas mettre de photo de Collègue Moche, sinon vous allez exploser).

Collègue Remplaçant

C’est donc le monsieur qui m’a remplacé lorsque je suis parti. Il était destiné à un autre morceau de la boîte, mais du coup il a été catapulté dans l’équipe Test-0-Steron.

Première rencontre avec lui, avant son embauche officielle. Cheffette Gothique lui demande : « Tu t’y connais en C# ? En karmagraphie tantrique ? En OpenGL ? ». (C’était les technos sur lesquelles je bossais).

Il répond que non, et que c’est pas ce qui l’intéresse ni ce qu’il voudrait apprendre. Cheffette est tombée des nues. La suite de la conversation a été assurée par d’autres collègues et ça a dérivé en pseudo-réunion de choix techniques sur Modeli-Morvax. Remplaçant était au milieu de tout ça, plus personne ne s’intéressait à lui (à moi non plus, mais c’était normal vu mon statut de lâcheur officiel en période de préavis de démission).

Le lendemain, Cheffette Gothique annonce à toute l’équipe que Chef «  » l’a appelée pour nous pourrir intégralement tous. Collègue Remplaçant était allé se plaindre qu’on l’avait mal accueilli et qu’il aurait du mal à s’intégrer, car on lui avait dit qu’il devait maîtriser des technologies ne faisant pas partie de ses intérêts.

Je ne peux pas savoir si Collègue Remplaçant a réellement pleuré dans les jupes de Chef «  », ou s’il a juste émis quelques remarques que Chef «  » a pris pour du pleurage de jupe. Personnellement je pencherais pour la deuxième option. Dans tous les cas, le premier contact entre Collègue Remplaçant et l’équipe Test-0-Steron a vraiment été supragénial et annonciateur d’auspices les plus suprameilleurs.

Les auspices girls ?

Les auspices girls ?

Des conneries que j’ai faites

Ayant bien déblaterré sur les déblaterrages de mes collègues et chefs, je me dois de rétablir un minimum d’équilibre dans l’univers global. Voici donc la liste de mes conneries. Je ne vais pas trop détailler car je ne suis vraiment pas fier de ces actes. Si vous ne comprenez pas de quoi je parle, ce n’est pas grave, passez à la suite. (Ce conseil s’applique également à l’ensemble de mon blog, voire à l’univers global).

*)

Je devais installer sur le poste d’un client le middleware tantrique de merde dont j’ai déjà parlé maintes et maintes fois. Comme toujours, cette action n’était pas censée prendre plus d’un quart d’heure. Comme toujours, y’a eu une merde. L’installation ne marchait pas, sans que je sois capable de déterminer pourquoi. J’en ai eu marre et j’ai dit au client qu’il y avait qu’à copier les fichiers du middleware. Ce que j’ai fait, en prenant ceux que j’avais sur mon poste. Ça a fonctionné, je suis passé à autre chose. Ensuite, le client à recopié ces mêmes fichiers sur une dizaine d’autres de ses postes, ce qui n’était pas déconnant puisque je lui avais dit que ça passait crème.

3 mois plus tard, tout a pété chez eux. La copie des fichiers avait embarqué notre clé de licence. Or il s’agissait, non pas d’une clé client, mais d’une clé partenaire, qui doit être renouvelée tous les ans.

C’est Collègue Drache-Code qui a dû réparer un par un tous les postes. Force est de reconnaître que cette fois-ci il a fait quelque chose de bien. Mais il était pas jouasse. Il a dit à la cantonnade de l’équipe : « j’en ai marre de nettoyer les merdes de tout le monde ». Je me suis confondu en excuses.

Oups... Boulette.

Oups… Boulette.

*)

Y’a aussi l’histoire de Machin, un mec d’une société partenaire qui a dit à Chef Random qu’il passerait peut-être nous voir (on savait pas trop dans quel but). Après moultes tergiversations, il a envoyé un mail pour demander : « finalement, je me radine ou bien ? ». Je me suis dit que des gens plus importants que moi s’occuperaient de cette relation publique, je n’ai donc pas répondu, et je n’ai pas non plus transmis.

Chef Random vient me voir et me dit : « Yo. Il est mort pendant eul’ trajet, Partenaire Machin, ou bien ? ». Et là, un doute m’habita. Je reconsulte le mail et m’aperçois que les seuls destinataires sont moi et Collègue Eurod’ (qui était en congés). J’ai signalé ma boulette à Chef Random, mais c’était trop tard. L’heure du rendez-vous éventuel était pas-dépassée-mais-presque. Chef Random a été obligé de s’excuser auprès de Partenaire Machin. Ensuite il m’a engueulé.

*)

Je suis en partie responsable de L’IHM pourrie de Modeli-Morvax v1.0. Elle était tellement pourrie qu’on ne comprenait pas toujours les effets d’un clic ou d’un glisser-déplacer, ce qui a contribué à faire dire à Chef «  » que « Modeli-Morvax, il fait n’importe quoi ».

Mais sur cette connerie, j’étais pas tout seul. Drache-Code en était l’instigateur principal.

*)

Ça faisait plusieurs mois que je travaillais sur GLORP, un outil de mise à jour des glorps. À chaque livraison, le client nous balançait une liste de bugs. (Au passage, certains d’entre eux étaient la conséquence de spécifications initiales pas claires, mais ça c’est comme d’habitude).

Lors de l’une des livraisons, le client nous re-signale un bug déjà signalé la fois précédente. Je vérifie. Effectivement : j’avais oublié de coder la correction !

Je savais ce que je devais faire pour cette livraison, je m’étais concocté une petite liste. Eh bien j’ai oublié un truc dans cette liste.

Ça fait vraiment bizarre. On peut se planter de plein de manières quand on fait du dev, mais ‘oublier’ quelque chose, c’est rare, il faut vraiment être à la masse. (Je l’étais, ça faisait plusieurs mois que je codais régulièrement les soirs et les week-ends pour cette merde).

Après ça, on a décidé de créer des tests de validation pour GLORP. Excellente idée ! D’ailleurs, ne serait-ce pas ce qu’il aurait fallu faire dès le début ?

Sorry, my bad.

forgetfulness

*)

Il y a également les autres conneries que j’ai déjà racontées : la confusion prise série / prise VGA, la clusterisation de persona-pixels et le non-transfert du téléphone avec Maryse-Gâteau.

D’autres trucs en vrac

*)

Lorsqu’on part d’une boîte, on a droit à des vacances de fait : durant toute la période de préavis, vous pouvez glander, vous n’en avez plus rien à foutre. Légalement, cette période dure 3 mois. Mais les entreprises savent très bien que leurs ouvriers en profitent pour buller à foison tels des cachets d’aspirine dans l’eau, donc elles « acceptent gracieusement » de réduire ce temps à 2 mois.

Cette putain de boîte ne m’a même pas accordé la totalité de cette période magique. Lors de mon embauche 4 ans plus tôt, j’avais accepté d’avoir le statut de technicien et non pas d’ingénieur. Nonobstant la paye de merde, mon préavis était d’un mois seulement.

Sans que je comprenne pourquoi, j’éprouvais une espèce de stupide conscience professionnelle, certainement due au fait qu’ils m’avaient conditionné pour faire de moi un bon petit soldat corporate. Ce sentiment m’a forcé à travailler à nouveau les soirs et les week-ends, pour documenter tous les projets sur lesquels j’avais travaillé. Mon abruti de cerveau m’a forcé à ne pas partir en laissant mes collègues dans la merde.

Même ce tout petit mois de glandage autorisé, je n’en aurais pas profité pleinement. D’autre part, il est fort possible qu’ils ne lisent pas ma documentation. Clampins.

*)

Sur une période de plusieurs mois, j’ai gaspillé le temps libre que la société civile actuelle daigne m’accorder pour coder un super algorithme d’appariement de caractochromes karmagraphiques. Ça m’intéressait vraiment et c’était un chouette challenge de code.

L’algo fonctionnait plutôt bien. On s’en est servi pour fournir des prestations one-shot à des Clients. Chef Random et Collègue SuperFlamby ont eu vent de ma réalisation, l’ont trouvé sympa et m’ont dit que ça pourrait être sujet à du CIR (Crédit d’Impôt Recherche). Ça rapporterait peut-être pas beaucoup, surtout que d’autres projets bien plus sérieux avait été soumis, mais du pognon gratuit c’est jamais négligeable. Chef Random a laissé sous-entendre que ça pourrait même mériter une augmentation ou une prime.

J’étais super fier de moi. Beau gosse, bon petit soldat, viril et tout.

Ensuite, SuperFlamby m’a demandé de rédiger des documents pour argumenter la demande de CIR. Il les fallait évidemment pour avant-hier. J’ai à nouveau dépensé du temps libre, à un moment où je voulais le garder pour moi et me faire plaisir. Je n’ai jamais vu la couleur de mon augmentation ou de ma prime. Je ne me souviens même plus si le CIR en question a été validé.

Cette déliquescence est assez représentative de la déliquescence progressive générale de ma motivation dans cette boîte.

Je m’en veux d’avoir brûlé tout ce temps libre. On ne m’y reprendra plus jamais. Si un jour j’ai une super-idée d’un super-projet super-génial pour la super-boîte dans laquelle je super-bosse actuellement, j’en parlerais peut-être à des collègues, mais je ne claquerai pas une microseconde de Temps Libre pour ça.

"M'appelez pas CIR. Je ne suis plus roi."

« M’appelez pas CIR. Je ne suis plus roi. »

*)

Je me suis petitement remboursé de mes heures sup’ d’esclave et de mon salaire de misère non-augmenté, en volant régulièrement des serviettes essuie-mains que j’utilisais ensuite comme mouchoir. De plus, comme expliqué dans un ancien article, mon corps s’est inconsciemment entraîné à faire caca uniquement durant le travail.

Pendant plusieurs années, j’ai donc très peu acheté de mouchoir en papier et de PQ. Il n’y a pas de petites victoires.

Je tiens à remercier mon corps pour son dévouement et sa ténacité durant ces opérations d’optimisation de budget.

*)

Comme déjà écrit, on devait tracer le temps qu’on passait sur nos différentes tâches. Ça se faisait avec une interface poucrave et pas pratique, bien évidemment développée en interne. C’est marrant, la situation était la même à Merluchon Corp (ma précédente-précédente boîte). Il y aurait peut-être du fric à gagner à vendre ce genre d’outil.

Je m’étais développé un petit script dans mon coin, (en python, of course). Il récupérait les décomptes de temps que j’avais écrit à l’arrache dans un fichier texte, ajoutait automatiquement le pipeautage nécessaire pour compléter ce que je n’avais pas (ou ne voulais pas) noter et générait un bout de Javascript. Je n’avais plus qu’à le copier-coller dans la console du navigateur et ça envoyait les requêtes Ajax comme si c’était moi qui saisissait tout bien comme il faut.

Cheffette Gothique a fini par me choper avec ce script. Elle a été gentille et l’a bien pris. Tant que les stupides décomptes étaient déclarés, elle ne trouvait rien à redire.

De toutes façons, les valeurs étaient totalement fausses et hypocrites. C’est le cas dans la plupart des boîtes, mais dans celle-ci c’était particulièrement flagrant. Attendez, je vous explique.

Le but annoncé de ces traçages de temps est de « pouvoir estimer les charges de travail des projets futurs, afin d’évaluer ceux qui seront les plus rentables ». Partons du principe que ce n’est pas une vaste blague.

Au début, l’unité utilisée était l’heure. Quand on faisait des heures supplémentaires, on arrivait à un total journalier supérieur à 8.

Le problème pour les chefs, c’est qu’un tel système traçait les heures sup’, qu’on aurait pu ensuite s’amuser à compter et à revendiquer. Il a donc été décidé d’utiliser l’unité de « fractions de journée ». La somme quotidienne des comptages de temps devait toujours être égale à 1, les heures sup’ n’était plus visibles.

Du coup, ces comptages étaient inévitablement faux, on ne pouvait en déduire la charge de travail réelle d’un projet, ni estimer celle des projets futurs. Le but annoncé au départ n’était donc bien qu’une vaste blague.

Autre chose amusante à ce sujet. Nos fringants financiers avaient estimé le coût journalier d’un ouvrier-codeur, afin de pouvoir directement évaluer si un projet est rentable ou pas. Ce coût journalier était bien plus haut qu’un salaire journalier d’ouvrier-codeur, ce qui est normal : il faut compter les charges, jours de congés, loyers, frais fixes ainsi que les salaires des « improductifs » : chefs, gens de l’infrastructure du monde physique, secrétaires, financiers, …

Ça vaudrait le coup de se poser la question d’un tel système, qui ne permet de mesurer que la productivité des gens productifs, mais je ne vais pas m’étendre là-dessus. Rappelons que je n’ai aucune idée de la manière dont est censé être géré une boîte et que je m’en fous complètement.

Un beau jour, ce fameux coût journalier a été recalculé par les financiers, qui l’ont instantanément fait grimper de 150 euros ! Je veux bien croire que tout augmente, mais aussi rapidement c’est un peu suspect. Soit c’est du flan pour nous faire culpabiliser qu’on coûte cher et nous message-subliminaler qu’on doit travailler plus. Soit ils étaient complètement à l’arrache et n’avaient pas réajusté le coût depuis des années. Dans les deux cas, ça rend leurs savants calculs pas crédibles.

bigstock-Businesswoman-Looking-At-Colle-66711544

Je suis parti

*)

J’étais venu dans cette boîte parce que la paye de merde était contrebalancée par le fait que la totalité des 35 heures étaient sous forme de RTT. Ça m’aurait fait plein de temps libre, ce qui est plus important que l’argent pour moi.

Je n’ai jamais pu prendre toutes ces belles RTT, pas plus que mes jours de congés. J’ai été obligé d’en cumuler une quantité stratosphérique. Ils m’ont tout remboursé quand je suis parti, sauf que c’était sur la base de mon salaire de merde. J’aurais vraiment préféré avoir ça sous forme de temps libre.

*)

Avant de partir, j’ai fini toutes les bouteilles entamées qui traînaient dans les frigos. Ça m’a donné un sentiment de nettoyage très soulageant. J’ai été heureux d’avoir pu saisir cette occasion de rendre service.

*)

À chaque fois qu’on change de boîte, on lance les dés. Si vous faites un triple 6 avec deux dés, vous arrivez dans un endroit magique dans lequel vous pouvez raisonnablement glander et faire des choses pour vous pendant les heures de travail. Mais vous ne pouvez jamais savoir à l’avance le résultat des dés.

Vous pouvez demander une foule de choses durant l’entretien d’embauche : Est-ce bien payé ? Y’a-t-il des formations ? Quelles sont les technologies utilisées ? Quels sont les projets en cours ? Comment sont les collègues ? Le café est-il bon ?

On ne vous dira peut-être pas la vérité. Mais vous pouvez au moins poser la question.

En revanche, vous ne pouvez pas demander s’il y a possibilité de glander. Ce n’est pas une question acceptable. À la limite, vous pouvez demander si le rythme est stressant ou pas, mais c’est délicat, et vous êtes à peu près sûr qu’on vous mentira.

D’où l’analogie avec le jet de dés.

Et là j’avais vraiment envie de les jeter à nouveau.

f3c4_adventurer_dungeon-building_dice_set

Et dans la nouvelle boîte ?

Lorsque c’est la merde dans une boîte : délais non-euclidiens, projets pourris, collègues psychédéliques, etc. ça ne l’est jamais dès le départ. Mes débuts à Zarma.pro étaient fabuleux.

Je Travaille maintenant chez « ConcreteWorld.🌏 ». (Le dernier caractère se prononce « 1F30D »). Pour l’instant tout est fabuleux, mais je ne veux pas crier victoire trop vite. Ça fait 7 mois que j’y suis, je considère encore que c’est les débuts.

J’essayerai de vous raconter ce qu’il s’y passe au fur et à mesure. Ça m’évitera de balancer un roman en 3 articles géants au moment où j’en partirais. En attendant, voici quelques remarques rapides :

  • Le cœur de métier de cette entreprise est la conservation de la réalité. Peu de gens savent qu’un travail de fourmi est effectué dans l’univers entier, par une multitude d’entreprises et d’organismes, pour conserver la réalité telle que vous la connaissez. Les incohérences et autres paradoxes sont détectés et circonscrits au plus vite. Sans nous, des principes de base comme la causalité, l’entropie, la tridimensionnalité ou la constance de la constante cosmologique ne seraient pas intégralement garantis.
  • Un point négatif : la radio est diffusée en continu dans les toilettes. Ça me lourde vraiment d’entendre les connards de Peugeot ou de Lidl dégueuler leurs abruticités pendant que je me masturbe. C’est encore cette putain de RTL2 gavée de pub. Elle me suite partout cette radio de merde à la con.
  • Comme à chacun de mes changements de boîte, je fais vœu de non-flatulence. Celui-ci a tenu 3 jours.
  • Je suis beaucoup moins dérangé par des clients idiots ou des collègues impertinents. C’est quand même beaucoup mieux pour se concentrer. Lorsque je mets mon casque sur mes oreilles je peux avoir l’espoir d’écouter au moins 4 morceaux de musique en entier. À ce propos, je suis en train de me monter une bonne playlist dub dans soundcloud. Si ça vous intéresse c’est par ici : https://soundcloud.com/recher

tumblr_lpcwk0YCJj1qj3mtao1_1280