Événement corporate : les Temps Forts de Pochtronarr (1/2)

Hey vous, voici le récit d’un événement corporate.

Y’en a une tartine, donc je l’ai coupé en deux.

Contextualisation rapide

Je travaille à ConcreteWorld.🌏, une société qui a pour mission de conserver la réalité dans l’univers.

Nous détectons et corrigeons les événements de non-application des lois de la physique avec une réactivité et un soin exemplaire. Vous avez entendu parler des bugs dans la Matrice ? Eh bien dans les mètres-cubes-seconde de coordonnées spatio-temporelles dont nous avons la charge, il en est survenu très peu. Notre activité grandit progressivement, car la confiance de nos clients, la ténacité de nos commerciaux et l’abnégation de nos techniciens nous font remporter de plus en plus de m³.s.

Cette description provient de notre site internet. J’espère que vous ne m’en voudrez pas trop pour le corporate bullshit.

Comme toute entreprise qui se respecte, nous utilisons un « outil de gestion de trucs ». Celui-ci supervise, entre autres, les latences de causalité, les pertes d’euclidianité, la localisation des relais de synchronisation d’entropie, la surveillance de la machine à café, les stocks de papiers toilette, etc.

Très souvent, le fameux outil « pour tout gérer » ne gère finalement rien, mais ce n’est pas intrinsèquement de sa faute. C’est juste qu’il faudrait finir de le configurer, le maintenir, saisir les données nécessaires, mettre à jour les processus, etc. Bref, tout ce qui été malencontreusement pas mentionné ni prévu lors de son achat. L’outil végète donc dans un coin et est utilisé pour 0.05 trucs sur les 1000 imaginés au départ. Pour achever le tout, il est souvent indisponible et avec un temps de réponse décourageant, car le serveur sur lequel il a été installé héberge maintenant 10 autres applications qui elles, sont utilisées réellement.

À ConcreteWorld.🌏, c’est un peu différent. Si l’outil qui gère tout ne gère rien, ce n’est pas uniquement à cause de son environnement, c’est aussi et surtout la faute de l’outil lui-même, buggé jusqu’à la garde. Je ne vais pas vous faire la liste complète des aberrations de ce charnier de code, j’en aurais pour une bonne douzaine d’articles de blogs. Retenez juste ces 3 informations principales :

  • L’outil se nomme Pochtronarr.
  • Il est édité (et vendu à un prix non négligeable) par une société appelée « Ploucocratt ».
  • Il est tout pourri.

Le décor étant planté, je peux maintenant vous narrer l’événement corporate dont il est question : Ploucocratt nous a convié à un rassemblement de leurs Clients, afin de nous présenter les évolutions des produits, d’échanger entre nous, de participer à des tables rondes, de bouffer gratuit, etc. Ils ont baptisé cette journée : « Les Temps Forts de Pochtronarr », en précisant bien qu’elle serait placée « sous le signe de la convivialité ». Youpi.

L’invitation à ces Temps Forts nous est arrivée sous forme d’un mail, dont la première ligne était :

Bonjour, cher {nom_du_contact}.

Petit souci de template de mass mailing. M’étonnerait pas qu’ils aient programmés ça avec Pochtronarr.

J’étais moyen chaud pour faire le déplacement, mais Semi-Chef Pez y tenait grave taquet, alors j’ai fini par dire « banco ».

Semi-Chef Pez est le responsable de la mise en place de Pochtronarr. En fait c’est un Collègue, mais Chef Peyotl m’a donné pour ordre de suivre ses directives, ce qui l’a donc promu au grade de Semi-Chef.

Il s’appelle Pez car il a une dépendance au sucre. Il a toujours un chargeur de ces petits bonbons, et en ingère un de temps en temps dans un petit bruit de « cla-clak ».

Chef Peyotl s’appelle ainsi car il a visité tous les pays du monde pour trouver l’alcool qu’il apprécierait le plus. Ça s’est révélé être le peyotl.

 

En route !

Nous voilà donc partis en road trip, Semi-Chef Pez et moi, en direction du fief de Ploucocratt.

Comme précédemment révélé, je suis une grosse quiche au volant. Il existe des conducteurs qui maîtrisent, mais qui aiment les sensations fortes, ce qui les rend dangereux. Moi c’est plus simple, je maîtrise juste pas.

Semi-Chef Pez est une grosse quiche en guidage de conducteur, car il ne sait pas se servir d’un Tom-tom.

Nous avons donc très intelligement attribué le rôle de conducteur à moi-même, et celui de copilote à Pez. Plusieurs mois après, il m’a avoué que mon style de conduite chaotique lui avait fait « chier de l’huile » durant tout le trajet.

On devrait avoir le droit de dire sur son CV qu’on est, voituralement parlant, un handicapé saltimbanque cyclothymique.

Rien d’autre de notable à dire sur ce passage de ma vie. On arrive à l’hôtel, on s’installe, on se retrouve pour bouffer, on a une discussion conventionnelle, on se retire chacun dans notre chambre-bungalow respectif. Je trouve un scolopendre dans le lavabo, mais osef.

 

Le matin

Mini-trip en voiture, mini-chiage d’huile par Pez et nous arrivons au prestigieux lieu des Temps Forts. Nous sommes accueillis par des Ploucocratiens habillés en semi-formal, ce qui souligne la convivialitude de l’événement, tout en montrant qu’ils ont fait un petit effort pour nous, car un peu de lèche-bottage ne fait jamais de mal.

On nous donne à chacun un sac à goodies contenant du bla-bla de présentation, un formulaire de participation à un quizz stupide, un polo et un chargeur universel de trucs rechargeables. Ce serait des objets intéressants s’ils n’étaient pas estampillés « Pochtronarr ».

Nous nous voyons également offrir un petit carton à notre nom, à accrocher à notre boutonnière, afin de savoir qui est qui et de quelle boîte. Nonobstant le fait que la police de caractère utilisée est le Comic Sans MS, les prénoms ne sont pas écrits. C’est « Monsieur Machin », « Madame Truc », etc. C’est pas ce qui aide le plus à se placer « sous le signe de la convivialité ».

On prend place pour les premières démonstrations, le thème étant « les nouveautés de la nouvelle version ». Je ne vous conte pas tout en détail, ce serait lourdingue (autant que le fait que cela nous est présenté sous forme de Power Point). Voici donc un florilège des moments les plus amusants.

*)

Diapo de remerciement général, avec les logos de tous les gentils clients, disposés de manière à former le mot « merci ». Celui de ConcreteWorld.🌏 n’y est pas. On ne doit pas être assez prestigieux, ou alors ils nous détestent parce qu’on arrête pas de relever leurs bugs et leurs failles de sécurité.

Diapo de trombinoscope des fringants employés ploucocratiens. Le locuteur annonce : « je vais lister les gens de gauche à droite » et il les liste de haut en bas.

Nous avons :

  • Fournisseur-Mega-Chef TecNoTIC.
  • Fournisseur-Consultant Frigo.
  • Fournisseuse-Commerciale Jacquotte.
  • Fournisseur-Dir-Tech Ashereff.
  • Fournisseur-Sous-Mega-Chef Mick-Jagger.
  • Fournisseur-Support Jeunot.
  • Fournisseur-Consultant Craquelé.
  • Fournisseur-Développeur Drache-Code 1
  • Fournisseur-Développeur Drache-Code 2
  • etc.

Vous l’avez certainement déjà compris : leur titre de noblesse à tous est préfixé de « Fournisseur » car ils sont fournisseurs de ConcreteWorld.🌏. On aurait pu utiliser le préfixe « Sous-Traitant », mais c’est moins classe, et ça aurait fait des titres encore plus long.

Nous expliquerons au fur et à mesure du récit les noms de certaines de ces personnes.

Diapo animée vantant les fonctionnalités de Pochtronarr, avec des engrenages qui tournent. Ils ne sont pas synchros et se traversent. C’est très amusant et très représentatif de l’outil : à première vue tout fonctionne, mais dès qu’on fait le moindre simple test, des symptômes révèlent que tout va péter et que c’était totalement irréaliste de croire que ça allait marcher.

*)

Dans une présentation corporate, l’humilité assumée est le nouveau moyen de se la péter. On dit qu’on s’est planté, pour pouvoir ensuite insister sur le fait qu’on a été suffisamment observateur pour détecter le problème, suffisamment intelligent pour se remettre en question et suffisamment re-intelligent pour trouver une autre approche. Fusent alors des expressions comme : « on s’est aperçu que », « on a corrigé les erreurs de jeunesse », « on reconnaît que », etc.

*)

Expressions qui claquent :

« On se développe à l’international, nous avons maintenant des clients à Monaco. »

Ouais, sauf que la base de données de l’outil est encodée en Latin-1. Du coup, vous allez vous développer à l’international-anglais. Oublions les chinois, les arabes, les russes et les grecs.

« Nous éditons un ERP Métier ».

Le mot « Métier », ça impressionne toujours.

« Une solution adaptée au marché, avec les nouvelles technologies ».

En vrai c’est du C#, les pages web sont en asp.net, et le langage de script pour implémenter les process Métier c’est du … On verra ça plus tard, je vous laisse la surprise.

« On a un existant qui est lourd ».

Ça veut dire que leur base de code est pourrie, mais qu’ils n’ont pas la capacité intellectuelle et/ou financière de poser leurs gonades sur leur clavier et de tout remettre à plat. Donc ils rajoutent des couches de bordel, des patchs, des bouchons, des solutions de secours, des outils externes qui rattrapent les boulettes, etc. En tout cas, cet « existant lourd » est leur excuse par défaut à chaque bug que je leur signale.

*)

Un gros paquet de communication a été émis concernant la nouvelle version majeure de Pochtronarr, un paquet encore plus gros sur la refonte totale de l’aspect visuel, l’ergonomie et la convivialité. (Décidément, ce mot « convivialité », il claque, voire même il chabraque du brontosaure hydrocéphale à la scie égoïne).

Durant les différentes démonstrations, les impondérables suivants ont été relevés :

  • Un clic sur une option fait apparaître un sous-menu déroulant, mais celui-ci est masqué par certains éléments de la page. Petit souci de « z-bug ».
  • Un tableau de données s’affiche au même endroit qu’un autre texte. Il faut développer-réduire deux fois de suite ce tableau pour que ça se réorganise correctement.
  • La liste d’une combo-box est coupée par la limite du formulaire dans laquelle elle se trouve, et n’affiche que les deux premiers choix.
  • Une fenêtre d’alerte mal taillée, cachant la fin du texte du message.
  • Diverses fautes d’orthographe dans les formulaires, en particulier des terminaisons de verbe « er/é ». (Astuce futée : remplacer par un verbe du troisième groupe, le mieux étant le verbe ‘prendre’, car il permet de détecter le féminin avec ‘prise’).
  • Un mail envoyé automatiquement, comportant le mot « Mail » dans son sujet. Merci Captain Obvious.

Je dois toutefois modérer mon propos : plus tard, j’ai eu l’occasion de tester cette fameuse nouvelle version avec Chrome et Firefox, et la plupart de ces impondérables n’y sont pas apparus. C’est juste que là c’était sous IE.

*)

Madame Roupy, de la société Nil, glousse à chaque remarque prétendument humoristique.

Est-ce que c’est sexiste, de mentionner ce non-événement, ou pas ?

Ça ne devrait pas, puisque cet article brosse également le portrait d’individus masculins, en des termes aussi peu élogieux que ce que je viens d’écrire là. Mais le gloussage est une activité qu’on attribue péjorativement aux femmes, donc c’est sexiste de renforcer ce stéréotype. De plus, je mentionne beaucoup d’hommes, ce qui amène quelques petits passages avec des termes moins pas-élogieux que d’habitude. Or, je n’ai pas l’occasion de faire cela avec les femmes, puisqu’elles sont moins mentionnées. Là encore, c’est sexiste. Mais c’est pas de ma faute dans le sens où il y avaient beaucoup plus d’hommes que de femmes lors de ces Temps Forts.

Est-ce que je dois augmenter artificiellement la mention et la présence des femmes dans cet article, pour atténuer le sexisme et la non-parité inhérente aux métiers de l’informatique ? Est-ce que ça ne risque pas de rendre mon article bidon, encore plus irréaliste que ce qu’il n’est déjà, et entâché de bien-pensance niaise ?

Est-ce que c’est sexiste d’avoir écrit ce paragraphe de réflexion interne, qui sous-entend lourdement que si je me suis senti obligé de l’écrire, c’est justement parce que notre époque a changé et qu’on doit maintenant faire beaucoup plus attention à ne pas balancer des remarques relevant du sexisme ordinaire ?

Je ne sais pas. Passons à autre chose.

Où sont les femmes qui auraient pu faire de l’informatique ? Ah ben elles sont là.

*)

Ces Temps Forts sont également l’occasion pour les ploucocratiens de s’envoyer des fleurs entre eux et se faire des petites blagounettes de convivialititude.

« Le rendu des graphiques en mode image était très mauvais. Mais nos développeurs ont arrangé ça et j’ai été bluffé. »

« Je ne désespère pas qu’ils améliorent la fonctionnalité des récaps. (Hu hu hu, j’en profite pour leur passer des messages). »

« On est les seuls à faire un produit qui soit compatible Oracle, postgreSQL et SQL Server »

Oui, euh… ça s’appelle un ORM (Object-relational mapping). Django le fait, pour ne citer qu’eux. Sauf que vous, vous mettez les différences de dialecte SQL au niveau des scripts de process métiers, alors que ça devrait être à un niveau plus bas (dans le moteur de l’outil). Parce que là on doit tout se repalucher à chaque script. Dans les faits, on repaluche rien, on reste sur le SGBD choisi au départ, et on prie pour qu’on n’ait jamais besoin de le changer.

« Il reste un petit souci avec les indicateurs graphiques, mais les développeurs vont nous optimiser tout ça. Il y a eu un gros effort d’intégration. »

« Haha, quel rigolo je fais ! Dans le formulaire, je n’ai coché que des PC marqués comme étant ‘en panne’. »

« Oups, ça n’a pas marché. Mais c’est normal, le champ Description est obligatoire. Quel intelligent coquin cet outil ! Il me demande de me justifier. »

Fournisseur-Mega-Chef TecNoTIC annonce fièrement :

« on a entièrement restructuré nos méthodes de travail en interne, maintenant, on est AGILE. Les développeurs sont à fond durant leurs ‘ ‘ ‘sprints’ ‘ ‘. ».

Il avait tellement mis de guillemets autour du mot « sprint » qu’on a tous compris que pour lui, ça restait un terme très exotique. Et il avait tellement mis de guillemets autour des guillemets autour du mot « sprint », qu’on avait également compris qu’il revendiquait sa non-comprenance totale de la méthode AGILE.

TecNoTIC s’appelle ainsi car il travaille dans une entreprise de TIC, mais lui-même n’y connait rien. Vous avez peut-être déjà rencontré ce genre de chef. Ils se vantent de leur ignorance. C’est un comportement que l’on pourrait relier au concept de « l’humilité assumée qui est un nouveau moyen de se la péter. ».

Mais c’est aussi une insulte envers lui-même. L’informatique fait maintenant tellement partie de notre vie que même si vous ne travaillez pas dedans, c’est important de s’y connaître un minimum.

Et c’est aussi-aussi une manifestation de condescendance, voire de mépris, envers ses employés : « la programmation est un domaine pour les gueux travaillant au bas de l’échelle. Je suis au-dessus de ça, donc je n’ai pas besoin de m’y connaître ».

Petit édulcorage de mon propos : j’ai eu l’occasion, plus tard, de rediscuter avec cette personne, il se trouve qu’il s’y connait malgré tout un minimum. Disons qu’il sait ce qu’est un cookie et qu’il a une vague connaissance du concept de l’authentification décentralisée.

Allez les gueux ! Finissez-moi ces features et pondez-moi cette release ! *claquement de fouet

*)

Je profite de toutes ces démos pour remplir la feuille du quizz à la con.

Il est gavé de questions stupides et captain-obvioussesques. C’est limite un dénigrement de mon intelligence et de ma mémoire.

La dernière question :

Qu’y a-t-il dans la nouvelle version de Pochtronarr (multi-cochage possible) ?

– Une refonte totale et endoscopique de l’interface utilisateur.

– Un module d’analyse d’image vous obligeant à utiliser des photos de vous à poil pour votre image de profil.

– Un changement de paradigme intrinsèque dans le noyau du sous-moteur déterminant la couleur des graphes en camemberts.

Je rajoute une case en dessous, sans la cocher, et j’écris : « intégration du langage python, parce que les scripts métiers en Small-Talk avec l’IDE de Scratch, on a fait mieux depuis ».

Voilà comment ont programme les scripts. Ça valait le coup de l’annoncer avec un peu de suspens.

*)

Parfois, les ploucocratiens s’envoient de vilaines petites piques.

« Nombreux sont les consultants qui ont eu un peu de mal avec la nouvelle fonctionnalité de multi-affichage. »

« On a eu quelques mauvaises surprises sur les temps de réponses. »

(Après une remarque d’un ploucocratien random) : « Non mais c’est à moi de parler, c’est pas à toi ».

« Je suis pas commercial, je fais pas d’effet d’annonce. »

*)

Et bien sûr, nous avons les inévitables aléas dûs au célébrissime « effet démo ».

« Ah, mon poste n’est pas en forme. »

Le glisser-déplacer d’un fichier dans une zone d’un formulaire web qui foire.

Une belle petite erreur 500. On a les mêmes. Elles sont totalement aléatoires.

« Moui bon, il y’a un petit souci sur les abscisses. »

(Aspect visuel, convivialitationnitudité, tout ça…)

Tentative de faire un regroupement de champ avec un tableau de données de 3000 enregistrements. Boum, ça pète.

« Ça devient moins rapide au fur et à mesure qu’on rajoute des fonctionnalités. »

Euh, non. Quand le moteur interne est bien structuré et que la fonctionnalité est ajoutée correctement, ça ralentit pas tout le reste. Mais bon…

« Ouh, vous êtes un aventurier. »

C’est la réponse que j’ai obtenue après avoir demandé qu’on teste quelque chose de particulier (je ne sais même plus ce que c’était, et osef). À vrai dire, j’avais à peine énoncé une action préliminaire à ce que je voulais réellement voir testé. Rien que ça faisait déjà de moi « un aventurier ».

« Globalement, normalement, ça fonctionne. »

*)

Parfois, les problèmes ne viennent pas d’un vilain et inattendu effet démo, mais des fonctionnalités elles-mêmes, ou de la manière de les présenter.

« À la demande de beaucoup de nos clients, l’enquête de satisfaction a été intégrée dans les mails ».

Dit comme ça, c’est impressionnant. En vérité, c’est juste des urls ouvrant sur une page spécifique de Pochtronarr. Et comme les infos de connexion ne sont pas enregistrées dans un cookie comme dans tout site qui se respecte (me demandez pas où elles sont enregistrées, j’ai même pas cherché), eh bien il faut se relogger pour répondre à l’enquête. Passons…

Démonstration de cette fonctionnalité. L’exécuteur de la démo clique sur la note la plus mauvaise (un petit smiley pas content du tout, #on_est_trop_des_geeks) et indique en commentaire : « ça ne marche pas, gros nuls ». Voilà un story-telling couronné de conconvivivialiturpitude !

« Le champ ‘Remarques’, vous oubliez ».

Ce champ contenait du putain de SQL. Merci de ne pas nous prendre pour des débiles. S’il est là, à priori c’est pas pour rien et faut justement pas « l’oublier ». D’autres part, quelle décadence d’enchaînement d’événements a-t-on dû s’infliger pour se retrouver dans une situation dans laquelle un champ intitulé « Remarques » doit contenir du SQL  ?

« Wolk on line »

Il s’agit de la manière dont Fournisseur-Consultant Frigo prononce le terme « Wake on lan ». (Plus de détails ici : https :// fr.wikipedia.org/wiki/Wake-on-LAN).

De manière générale, j’ai remarqué que l’ensemble des interfaces et de la documentation de Pochtronarr montre des symptômes inquiétants de gloubiboulgatisation sémantique et de mauvaise maîtrise du langage (qu’il soit parlé ou de programmation) : fautes d’orthographes, homonymes dans les noms de concepts, code non factorisé, encodage et caractères spéciaux non compris, etc. Ce « wolk on line » en est une confirmation.

Vous vous rappelez de Collègue Eurod’, l’anti-Raymond Devos de l’ancienne crémerie où je travaillais ? Je retrouve un petit peu de lui dans Pochtronarr.

Sur ce, les fabuleuses démonstrations du matin se terminent, il est temps de se précipiter vers la boustifaillou-graillasse.

 

Repas de midi

Sauf que c’est pas tout de suite l’instant boustifaillou-graillasse. Là c’est « temps libre pour sociabiliser avec nos homologues d’autres sociétés ». Une idée fort louable, mais pour laquelle je n’ai que très peu de talent. J’envoie un SMS à une personne imaginaire pour me donner une contenance.

Semi-Chef Pez, qui est meilleur que moi à ces mondanités, parvient à choper « Monsieur Mucarpet », un techos d’apparat de chez CarGlass affublé de lunettes de la sécurité sociale. Oui oui, ils ont des techniciens informatiques chez CarGlass. Et leurs verres de lunettes sont très épais.

C’est une belle prise de la part de Pez, car nos deux instances de Pochtronarr ont un bug en commun. Une histoire de changement d’état d’un neuro-transmetteur virtuel qui est aléatoirement non pris en compte. On est à la fois rassurés de voir qu’on n’est pas les seuls à avoir une foule de problèmes avec cette merde, et inquiets de voir que ces problèmes ne semblent pas résolus, ni même pris en compte, ni même reconnus par les ploucocratiens.

On tente de le leur faire entendre. Fournisseur-Dir-Tech Ashereff répond : « chez d’autres clients ça marche », et « c’est la faute à vos scripts métiers, quand vous en codez un, il faut toujours mettre le changement d’état en dernier ». Je veux bien être d’accord, mais le bug a lieu lors de l’exécution d’un script standard fourni avec Pochtronarr. Donc soit ils respectent pas leurs propres consignes, soit ça vient pas de là. Bref, chou blanc pour tenter d’attirer leur attention sur ce bug.

Entre temps, Semi-Chef Pez alpague d’autres ploucocratiens pour les vilipender, comme quoi l’installation de notre Pochtronarr aurait été effectuée via un concours de lancers de seaux de vomi.

Les ploucocratiens alpagués admettent sans trop de résistance que le consultant qui nous a été affecté s’est révélé par la suite être un radiateur de la planète Radiateur, déguisé en humain et visitant la Terre dans le cadre d’une excursion « Tourisme authentique de galaxies panachées ». Il a été viré depuis, mais les séquelles de son passage parmi nous restent encore.

Je suis content que Ploucocratt avoue avoir copieusement merdé. Par contre le minimum aurait été de réparer. Or, la seule chose qu’ils nous proposent c’est : « on corrige vos bugs, on finit de livrer ce que vous avez demandé au départ, on tire un trait et on repart à zéro ». Mouais bof. Je trouve ça un peu léger comme réponse. Et de toutes façons, il n’ont pas spécialement corrigé leurs bugs (se référer à ce que je viens de raconter juste avant).

Dialogue entre Semi-Chef Pez et Fournisseuse-Commerciale Jacquotte :

− On aimerait aussi avoir une fonctionnalité d’arborescentisation des psycho-tropismes. Comment on peut faire ça ?
− Pour toute demande d’évolution, voyez avec votre consultant.
− Oui, et c’est qui ? Parce que ça a changé quatre fois depuis cette histoire de radiateur déguisé en humain.
− …

Jean-Rudy Radiateur, en train de se reposer.

Fini pour aujourd’hui

Comme annoncé, je coupe ce récit en deux. La suite arrivera le mois prochain. J’imagine qu’une multitude de questions cruciales hantent maintenant votre esprit :

  • Qui remportera les cadeaux du quizz idiot ?
  • Réchèr aura-t-il l’occasion de boire suffisamment d’alcool pour se désinhiber et dire ce qu’il pense vraiment de Pochtronarr ?
  • Quel est le secret du nom de Fournisseur-Consultant Frigo ?
  • Pourquoi ?

Vous le saurez au prochain numéro.

Bonne grosse galère avec le contrôle parental intégré à Windows 10

Il a fallu que j’installe un truc comme ça, pour des amis qui n’y connaissent rien aux ordinateurs et qui ont des enfants.

La famille, c’est important.

J’avais antérieurement décidé d’arrêter de parler d’informatique aux gens, car ça les saoule et ça me saoule que ça les saoule. J’ai accepté d’installer ce contrôle parental en échange de bières, mais je ne leur ai donné qu’un minimum d’explications. De toutes façons, les amis en question n’étaient pas plus intéressés que ça de savoir comment ça marche à l’intérieur et c’est bien leur droit.

Donc, ces personnes sont nantis d’un ordinateur avec Windows 10, ainsi que de deux enfants prénommés « Enfant_A » et « Enfant_B ». Au début, ils ont hésité à leur donner des prénoms originaux tel que « Enfant_1 » et « Enfant_2 », puis ils ont préféré opter pour du semi-classique.

Il s’est occurré un ensemble non négligeable de galères. Je vais vous les décrire sans screenshots, veuillez m’en excuser. Je n’ai pas pensé à les faire sur le coup et je n’ai pas envie de les refaire car ça m’a vraiment énervé.

Je débute par quelques recherches et tombe sur cet article à la con (http:// www. cnetfrance.fr/produits/logiciels-controle-parental-39807617.htm).

On y dit que le meilleur logiciel est « Microsoft Family Safety », qu’il détecte tous les vilains trucs pas-pour-enfants et qu’il est « bien intégré au système », ce qui semble tout à fait plausible puisque produit par Microsoft.

Création du compte des parents

Le PC avait un seul compte en local. Il est précisé que Family Safety nécessite un compte connecté à Microsoft. Soit, ça a du sens.

Je dois donc transformer le compte existant. Pour cela, il faut une adresse e-mail. Je n’ai pas envie d’utiliser celle des parents, car ça voudrait dire qu’il faut que je leur demande de se connecter, de cliquer sur le lien de validation, etc, ça me lourde. Je veux faire ce qui m’est demandé en sollicitant le moins possible les demandeurs, sinon il va falloir leur expliquer des choses qu’ils ne vont pas comprendre et ça va durer des plombes. De plus, ils n’ont pas forcément envie que les vilains GAFAM prennent connaissance d’un lien évident entre leur ordinateur et leur adresse mail.

Je spécifie donc dans Windows une adresse en « yahoo.fr », puis je vais sur ledit Yahoo et je la crée vite fait.

Retour aux paramètres Windows, je clique sur « valider le compte », ce qui génère collégialement un mail comportant un lien, que je devrais cliquer pour prouver que c’est bien moi.

Sur Yahoo : pas de mail.

Après moult temps de galérage, je réalise que l’adresse est en yahoo.com et non pas yahoo.fr. J’avais vaguement vu, lors de sa création, qu’il y avait écrit « .com » et que je ne pouvais rien y changer, mais je ne m’étais pas affolé plus que ça. Je pensais que tout se redirigerait vers la même boîte. J’utilise quotidiennement une adresse en yahoo.fr qui fonctionne très bien.

Mes interrogations me mènent là dessus (https:// forums.yahoo.net/t5/Manage-your-account-settings/unable-to-create-a-yahoo-ca-account/td-p/38699).

Les mails nouvellement créés sont forcément en yahoo.com. Ça a changé à un certain moment, sans trop qu’on sache pourquoi. Merci Yahoo.

Je re-retourne aux paramètres de Windows et tente de changer l’adresse. Ça ne semble pas possible. Mais en fait si, sauf que c’est proposé au moment de l’envoi du mail de validation, et non pas directement dans les paramètres. Mais en fait non car quand je le fais et que je change en yahoo.com, j’ai un message avertissant que « l’adresse n’existe pas ».

Dans le doute, je me suis envoyé un mail de test, qui a fonctionné. Donc si ! L’adresse yahoo.com existe, espèce de connard !

Finalement, je suis reparti de zéro, j’ai créé un nouveau compte Windows connecté, avec une nouvelle adresse que j’ai définie en gardant les paramètres par défaut. Ça m’a balancé du outlook.fr, mais je suppose que vous l’aviez vu venir. En tout cas, ça fonctionne.

Au passage, j’ai dû ajouter un mot de passe au compte, ce que j’avais de toutes façons l’intention de faire, pour empêcher les enfants de s’en servir.

Création du compte des enfants

Afin d’éviter des prises de têtes supplémentaires, j’avais décidé que les deux bambins utiliseraient un unique compte Windows de type « enfant ». Celui-ci doit également être connecté pour que « Microsoft Family Safety Mes-Fesses » puisse fonctionner. Soit. On n’est plus à ça près.

Je crée ce compte. Il est possible de choisir : « cet enfant n’a pas de mail ». Très bien.

Et juste après, on me demande de spécifier une adresse mail !

J’ai été totalement WTF-isé. J’ai refait l’enchaînement des actions, j’ai essayé de voir s’il y avait des options ou des boutons que je n’avais pas vu, je n’ai rien trouvé de concluant. Je me suis peut-être trompé quelque part, mais il semblerait bien qu’on soit obligé d’avoir un mail même pour les comptes n’en ayant pas. Je suppose que c’est inévitable : si le compte doit être connecté, il faut forcément des informations d’authentifications, donc un mail.

Re-soit, j’en crée un.

Là je vous ais simplifié le récit. En réalité, j’ai tenté de créer le compte enfant et le compte parent en même temps. C’est à dire que la galère yahoo.fr / yahoo.com, je l’ai eu en double. Passons.

Je me retrouve finalement avec un compte enfant doté d’un nom à la con se terminant par « outlook.fr », qui s’affiche à l’ouverture de session et qu’on ne peut pas changer. De plus, il faut obligatoirement y associer un mot de passe. Super convivial ! Enfant_B a à peine 5 ans. Est-ce qu’on peut éviter de le faire chier à retenir un mot de passe, sachant que c’est ce qu’il fera à foison durant toute la suite de sa vie ?

Bon, c’est pas grave, re-« on n’est plus à ça près ». Je valide le tout et configure le contrôle parental dans l’interface idoine. Ça se passe assez bien, on peut configurer la durée et les plages horaires d’utilisation, des catégories de sites autorisés/interdits, une liste noire, une liste blanche. Je laisse la plupart des valeurs par défaut, les parents n’auront qu’à se démerder avec ces détails.

Edge deg’

Vient ensuite le moment du test.

Ah en fait non, je ne suis même pas arrivé jusque là.

Après avoir terminé la configuration, j’ai eu un petit message avertissant que le filtrage web ne fonctionne qu’avec le navigateur Microsoft Edge.

Les parents utilisent principalement Chrome et parfois Firefox (comme quoi ils ont un tout petit peu de culture informatique). En tout cas ils n’utilisent ni Internet Explorer, ni Edge.

Enculé de Family Safety de mon cul, et putasseries d’articles de top ten du contrôle parental. Vous pouviez pas prévenir dès le départ ? Je ne me serais pas pété les gonades à faire tout ça et je serais passé directement à autre chose ! Saloperie de merde de vieille pute camphrée de gangrène liquide de fasciite nécrosante de qksdmlf jksqmldj de mlkjmqlksdj de ʐʑʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡ ʢʣʤʥʦʧʨʩ ʪʫʬʭʮʯ de য়ৠৡৢৣ০১২৩৫ ৬৭৮ৰৱ৲৳৴৵৶৷৸ ৹৺৻ਁਂਃਅਆਇਈਉਊ !!!!!

At the edge of the world avec Microsoft Edge : au bord du gouffre.

Finalement

J’ai pris le deuxième choix du top ten : Norton Family.

C’est beaucoup plus simple.

La version gratuite est à usage illimité, et contient les fonctionnalités les plus indispensables. Tout est clairement listé ici (https://  family.norton.com/web/?ULang=fra).

Je me suis inscrit sur leur site avec une seule adresse mail, comme n’importe où ailleurs. J’ai finalement pris celui des parents, sinon j’allais craquer. J’ai installé l’application. Dans les paramètres de Windows, j’ai créé un compte local avec mot de passe pour les parents, et un compte local sans mot de passe pour les enfants. J’ai défini les correspondances avec les comptes Norton Family. Pour finir, j’ai configuré le filtrage web et la durée d’utilisation.

J’ai ensuite expliqué aux parents et aux enfants qu’ils devaient systématiquement verrouiller la session quand ils n’utilisent pas l’ordinateur. Pour les enfants, la connexion est assez facile, il suffit de cliquer sur leur compte, puis sur « se connecter ». Celui-ci a été intitulé Miss Tomate, le nom d’une des peluches d’Enfant_B. L’image d’avatar est bien entendu appropriée. Nous sommes dans le fun et le convivial.

Durant la config, j’ai eu un message signalant que je devais installer l’extension de navigateur de Norton pour que le web puisse être filtré. Vous allez rire : elle est disponible pour Firefox, Chrome, IE et quelques autres, mais il est bien indiqué qu’elle ne l’est pas encore pour Edge !

Comme quoi, le contrôle parental, c’est soit que du Edge, soit tout sauf du Edge. (Veuillez vous référer à mon flot de jurons précédent pour mon avis à ce sujet).

La nécessité de cette extension est malgré tout un gros point de faiblesse. Le jour où Enfant_A et Enfant_B s’y connaîtront un peu plus en informatique, il la désactiveront et ce sera open-bar. Je l’ai expliqué aux parents, je ne suis pas sûr qu’ils aient compris. C’est leur problème.

Je suis quand même étonné qu’il n’y ait pas moyen de mettre en place un filtrage web plus sérieux, avec une sorte de proxy local ou un bidule du genre. Quand je vais sur des sites de cul, j’ai comme par hasard mon Avast qui m’avertit que je pourrais masquer mon activité en ligne. C’est bien la preuve qu’une appli externe peut déterminer ce que je fais sur le web.

Tests et conclustion

Ça s’est bien passé.

Je me suis connecté avec le compte des enfants et suis allé sur un site de pr0n. Le tout premier blocage a pris quelques secondes, ce qui est un peu inquiétant, mais à priori, c’était juste le temps que l’extension s’initialise. Les autres sites que j’ai testés ont été immédiatement bloqué, sans « affichage d’aperçu ». Les saisies sur la plupart des moteurs de recherches sont également surveillées et filtrées.

Petit détail rigolo : les blocages de sites déclenchent un mail d’avertissement aux parents, ce qui les a quelque peu interloqués par rapport à mes tests.

« Enfant_A, Enfant_B, vous pouvez venir voir 5 minutes ? »

Il y a peut-être mieux que Norton Family, mais il n’y a certainement pas pire que Microsoft Family Safety. Durant toute la tentative d’installation et de configuration de cette merde, je me suis senti comme un cafard kafkaïen dans une bureaucratie tentaculaire et mécanique, balloté d’une administration à l’autre sans ménagement ni effort de compréhension. On râle souvent sur l’administration française, son absurdité et son amour de la paperasse. Mais les sociétés privés et l’informatique parviennent tout autant à nous faire ressentir le même sentiment de frustration.

Un jeu en PuzzleScript : Jesus Respawns

Un jour, j’ai eu une conversation avec un gamin (ouais, il m’arrive des trucs bizarres des fois). Il m’a dit : « je suis trop triste pour Jésus, parce qu’il est mort ».

J’aurais pu répondre que suivant sa logique, il aurait également dû être triste pour tous les autres humains officiellement considérés comme « gens bien » et qui sont morts depuis les derniers millénaires, mais j’ai décidé de faire simple. J’ai dit : « c’est pas grave, après il ressuscite. Il est un peu comme Mario Bros. Quand on perd la partie, on peut recommencer tout de suite après ».

D’oeuf-il-en-est-grille, je me suis retrouvé à créer un mini-jeu vidéo mettant en scène Jésus. On y retrouve une bonne partie de ses super-pouvoirs.

Le scénario tient en une seule phrase, mais qui vaut la peine, puisqu’elle comporte un jeu de mot : Jésus doit retrouver ses madeleines.

Ha ha ha ! Les madeleines-gâteaux et Madeleine la copine de Jésus. Jeux de mot ! Jeux de mot !

Vous pouvez y jouer ici (version française) .

Et ici (version anglaise) .

Le jeu de mot n’est pas présent dans le texte en anglais. Not my fault.

Ne vous attendez pas à des énigmes pointues et intéressantes. J’ai créé ce jeu pour proposer au gamin mentionné initialement une approche différente de la religion chrétienne. Parce que, honnêtement, le mec cloué sur sa croix en train de saigner, je trouve ça d’assez mauvais goût. Après on s’étonne que les enfants aient des pensées violentes dans la tête, et on dit : « c’est la faute aux jeux vidéos ». Eh bien non, pas forcément.

Un autre jeu avec Jésus dedans.

J’ai mis le code source sur mon github :  https://github.com/darkrecher/PuzzleSalad .

Vous y trouverez également un petit script en python, permettant de convertir des images en tiles PuzzleScript. Tout à l’arrache, pas documenté, débrouillez-vous ou foutez-vous en.

Jésus et ses potesses

Je vous ais déjà dit que j’aimais bien PuzzleScript ? Oui, je crois. Je vais essayer de m’investir plus dedans, à l’avenir.

Dead Cells : pas de backwalk dans le Cimetière du Val

Définition, please ?

En tant que jeux-vidéologue de renom, il est de mon devoir d’en nommer les éléments récurrents. Ceux-ci créent des codes techniques et narratifs, et démontrent que le jeu vidéo est un art au même titre que les autres.

C’est un peu comme les figures de style en littérature ou les différents types de prises de vue au cinéma (ralenti, traveling, plan subjectif, …).

Voici donc la définition du jour :

Le backwalk est un type spécifique de passage secret, placé en général au début d’un niveau, dans lequel le joueur doit faire demi-tour et découvrir une zone située à l’opposé du déroulement normal du niveau.

Désolé pour l’anglicisme du terme, ça fait tellement plus mieux.

La plupart des backwalks se trouvent dans les jeux de plate-forme 2D, pour lesquels le déroulement normal est intuitivement fixé de la gauche vers la droite. Le fait de penser à aller voir ce qu’il y a à gauche n’étant alors pas forcément évident.

Donkey Kong Country, sur la Super NES, en contient un exemple des plus typiques (https ://www .youtube.com/watch?v=whp2Y_MjTXs).

Il est assez amusant car la zone secrète correspond à l’endroit d’où sort le personnage. C’est à dire que celui-ci aurait pu de lui-même y prendre les bonus, mais il est manifestement trop stupide pour le faire. Le demi-tour du backwalk implique d’aller là où on n’est pas censé aller ; ce n’est pas forcément l’endroit où se trouvait précédemment le personnage, mais dans cet exemple, si.

Des jeux moins connus s’en sont également dotés, comme Targhan (https ://www .youtube.com/watch?v=EDqCQScMvj8).

Ce n’est pas réservé qu’aux jeux en 2D, puisqu’on en trouve un dans l’épisode « Lunar Apocalypse » de Duke Nukem 3D (https ://www .youtube.com/watch?v=6HKjYgd3Z4k).

Comme pour Donkey Kong, la zone secrète se situe à l’endroit d’où vient le personnage. Duke serait donc aussi peu malin qu’un singe pas bien malin. Heureusement que le joueur est là pour fournir sa propre intelligence.

Terminons ces exemples sur un cas un peu particulier : l’épisode 4 de Commander Keen (https:// classicreload.com/commander-keen-4-secret-of-the-oracle.html).

  • Le backwalk est dans la carte globale du jeu au lieu d’être dans un niveau.
  • Il n’est pas vraiment sous la forme d’un demi-tour. Il faut penser à explorer son propre vaisseau alors qu’on est censé aller dans des spots situés plus loin.
  • Il ne permet pas de récupérer des bonus, mais seulement d’accéder à un élément de narration environnementale : une image détaillée du vaisseau de Keen.

Et donc, dans Dead Cells…

le Cimetière du Val (le niveau juste avant le deuxième boss) semble comporter un backwalk. On démarre en sortant d’une maison-crypte. On à l’impression qu’il serait possible de monter sur le toit pour ensuite continuer à gauche et récupérer quelque menu fretin. Malheureusement, le personnage ne saute pas assez haut. Plus à droite se trouvent parfois des plate-formes en hauteur, mais trop éloignées pour être utilisées comme point de départ d’un grand saut horizontal vers la gauche.

Étant très fort et plein d’astuces, je me suis doté de deux objets spécifiques :

  • Une amulette ajoutant un saut supplémentaire : ça ne permet pas d’aller plus haut, mais de rester en l’air plus longtemps, ce qui est déjà ça.
  • Le fouet électrique : une arme avec une cadence de tir rapide, conférant une lévitation momentanée à chaque coup. (Je ne sais pas si c’est encore le cas dans les versions plus récentes du jeu).

Je suis alors parvenu à réaliser quelque chose de ce genre :

Et j’ai atterri in extremis sur le toit, tout heureux.

Puis j’ai continué à gauche, et là, déception, on est bloqué par un mur.

Attention spoilers : il y a quand même des backwalks dans Dead Cells, placés ailleurs. Je vous laisse les trouver.

Et sinon, toujours à propos de Dead Cells

J’aime beaucoup. Voici en vrac les éléments qui me plaisent.

1) Du pixel art et une ambiance glauque, constituant la marque de fabrique de deepnight, l’un des membres de la Motion Twin. Prenez le temps d’admirer le décor de fond, vous y verrez des instruments de torture d’un mauvais goût tout à fait assumé : dame de fer, pilori, chaise de Judas, …

2) Une capacité à créer un monde riche et cohérent, en employant très peu d’éléments narratifs et une parcimonie de dialogues (de toutes façons, le héros n’a pas de tête, il ne communique que par signes). Je vous invite à vous rendre dans le Sépulcre Oublié, pour une discussion courte, mais assez énigmatique.

3) Le fait que le jeu soit annoncé comme « non terminé » (même s’il reste totalement jouable et très intéressant), et que chaque mise à jour apporte, non seulement son lot de nouvelles armes et niveaux, mais également des ajustements d’équilibrage, de gameplay, etc.

Ça prouve qu’ils travaillent intensément à peaufiner les moindres détails et à offrir des dizaines de styles de jeux possibles et viables, qui vont bien au-delà du choix « arme à courte portée / arme à longue portée ». Ce n’est pas les premiers créateurs à avoir ce genre de démarche, mais je le signale quand même.

4) Les « suspensions d’incrédulité » spécifiques au média du jeu vidéo ont été intégrées dans le scénario :

  • les niveaux sont générés plus ou moins aléatoirement -> un personnage explique au début que « cette île change constamment de forme ».
  • le héros meurt à chaque fin de partie -> on ne dirige pas exactement ce héros, mais une espèce de masse verdâtre qui prend le contrôle d’un corps, que l’on suppose ne pas être le même à chaque fois.

Ça m’a un tout petit peu fait penser à la manière dont Planescape Torment a pris en compte le thème de la mort, même si on en est très loin, car ce n’est pas le même jeu, pas le même budget et pas les mêmes prétentions.

Voilà

Et comme toujours, on finit sur quelque chose de sympathique. J’ai bien vu que les petites onomatopées du schéma de saut vous avaient plu. Voici donc à nouveau une image qui fait « dzoïng ».

Not Raffarin Pète-Gonades Memorial Day #9

Cette année, j’ai laissé passé la date du Raffarin Pète-Gonades Memorial Day. Je pourrais antidater l’article, mais ce serait à la fois malhonnête et inintéressant. Et je ne vois pas trop l’intérêt d’être malhonnête si ça ne m’apporte rien.

Voilà donc un paradoxe amusant. Pendant des années, j’ai travaillé dans des entreprises plus ou moins merdiques, dans lesquelles le RPGMD était une journée de Travail comme une autre. Malgré ce vol de temps libre, je ne manquais jamais ce rendez-vous et publiais un article le jour-même.

Maintenant, j’ai trouvé une entreprise dans laquelle je me sens mieux, avec moins de pression et qui nous offre le RPGMD. Et là, que fais-je ? Je foire le coche et publie l’article en retard. Je suis vraiment un vilain.

J’avais pour habitude de profiter de l’occasion pour donner un peu d’actualité concernant le Revenu de Base Inconditionnel. Mais là, pas le temps et pas d’idée précise sur le sujet. À part dire que Benoit Hamon a baltringué et qu’il mérite pour cela la distinction honorifique du boulet de platine.

Et sinon quoi d’autre ?

Rien de spécial pour l’instant. Du coup, je voulais vous faire partager un ancien projet :

La page Facebook de Cruchard Barbemousse, zéroième secrétaire du Parti Pirate Grolandais.

(https:// www. facebook.com/Parti-Pirate-Grolandais-167128036813116/).

J’y mettais un post par jour, avec des analyses de l’actualité grolandaises, des liens intéressants, des « billets d’humeur », etc. Ça aurait dû être un truc génial qui m’aurait permis de rencontrer en personne toute l’équipe du Groland et qui m’aurait rendu célèbre. Et puis ensuite je me suis lassé et suis reparti dans d’autres projets plus ou moins intéressants et aboutis.

Je vous laisse regarder le tout, en espérant que le lien fonctionne toujours. Facebook a tendance à cramer les pages qui ne sont pas consultées depuis longtemps. Je pige vraiment rien à Facebook. Tu balances tes posts complètement à l’arrache, ça te fait un fil d’actualité long comme un jour sans nichons, tu peux rien classer, rien catégoriser, rien marque-pager pour plus tard, parce que fuck l’ergonomie.

Y’a des tas de gens qui ne sont pas sur Facebook par principe, parce qu’ils pensent que c’est le mal, parce qu’ils veulent pas nourrir les vilains GAFAM, parce qu’ils préfèrent « les vrais relations humaines », etc blablabla.

Personnellement, je ne suis pas sur Facebook parce que j’y panne nib et que je trouve ça pas pratique. Mais c’est pas pour ça que je suis bizarre, n’est ce pas ?

Toujours est-il que voilà une piratesse :

Unités, encodage et caractères spéciaux

Vous vous souvenez de ce prof de physique, au collège, qui n’avait pas tenu compte de vos réponses à un contrôle parce que vous n’aviez pas indiqué les unités ?

Vous aviez écrit « 63 » au lieu de « 63 grammes », « 2,83 » au lieu de « 2,83 mètres », etc. Ça vous avait valu un 5/20.

C’était un gros con ce prof.

Sauf qu’il avait raison.

C’était effectivement un gros con, concernant un tas d’aspects de sa personnalité. Mais pour cette histoire d’unité il avait raison.

En informatique, on a un problème équivalent avec les encodages et les caractères spéciaux.

C’est des centimètres ou des inches ?

L’encodage

Vous connaissez peut-être déjà. Il s’agit de la correspondance entre un caractère et la suite de nombre utilisée pour le représenter. Les ordinateurs ne savent rien faire d’autres que gérer des valeurs numériques. Une image, une application, des clics de souris, une connexion internet, les barrettes de RAM, tout ça c’est que des nombres. Il peut y en avoir énormément, et on ne fait pas toujours la même chose avec. Mais c’est des nombres.

Voici quelques exemples.

  • Le caractère é (e accent aigu) :
    • est représenté par la suite de nombres (195, 169) dans l’encodage ‘UTF-8’,
    • est représenté par le nombre unique 233 en ‘Latin-1’,
    • ne peut pas être représenté en ‘ASCII’,
  • la lettre A majuscule:
    • est représentée par le nombre unique 65, en UTF-8, Latin-1 et ASCII
    • est représentée par le nombre unique 193 en ‘EBCDIC’ (un encodage bizarre utilisé par IBM).

En détail, c’est un peu plus compliqué que ça, car l’encodage et le jeu de caractères sont deux notions différentes, je n’ai pas parlé du Byte Order Mark, et il existe plusieurs sortes d’EBCDIC (https:// en.wikipedia.org/wiki/EBCDIC). Mais on ne va pas se prendre la tête avec ça.

Donc une chaîne de caractères toute seule, ça ne veut rien dire et si vous ne connaissez pas son encodage, vous ne pouvez pas la manipuler avec certitude.

C’est ça qui fait que les accents sont parfois tout pourris dans une page web ou un fichier Excel. Le texte est dans un certain encodage, l’application qui le manipule croit que c’en est un autre, et paf pastèque.

Vous pouvez décider que « fuck les accents », et obligez vos utilisateurs à n’utiliser que les caractères ASCII. Mais il faut avoir conscience que cela implique « fuck tous les alphabets non latins » : « fuck les russes, les chinois, les arabes, les hébreux, les mathématiciens et les gens qui écrivent avec des smileys ».

À tout cela s’ajoute une autre couche de confusion possible.

Les caractères spéciaux

Alors voilà. Vous avez créé un site web ou une application dans laquelle l’utilisateur peut saisir du texte (par exemple pour ajouter un commentaire, décrire son chien, etc). Vous maîtrisez parfaitement ce que vous avez développé, et connaissez donc l’encodage dans lequel la chaîne de caractère a été saisie. Super ! Tout est OK ? On peut arrêter de se poser des questions ?

Que diantre nenni !

Il faudra peut-être appliquer une transformation pour protéger ou interpréter certains caractères spéciaux.

Vous voulez enregistrer cette chaîne dans une base de données ? Attention aux injections SQL, vous devez protéger les simple-quotes en les remplaçant par deux simple-quotes à la suite. (Les requêtes paramétrées permettent de le faire automatiquement).

Vous voulez la réafficher dans une page HTML ? Attention aux failles XSS et aux balises HTML. Vous devez protéger les caractères ‘<‘ et ‘>’ en les remplaçant par les HTML entities. Et comme les HTML entities s’écrivent avec le caractère ‘&’, il faut lui aussi le remplacer par son HTML entity.

C’est une URL ? Pensez à la convertir en ‘url-encoding’ : remplacer les espaces par des %20, etc.

C’est une ligne de commande ? Il va peut-être falloir protéger les antislashes en les doublant. Ou pas. Ça dépend de ce que vous avez décidé, mais il sera de bon ton de prévenir l’utilisateur des opérations appliquées.

C’est un chemin vers un fichier ? Très bien, vous n’aurez peut-être pas de conversion à faire. Mais si vous utilisez ce chemin dans une ligne de commande, n’oubliez pas de l’entourer par des guillemets, au cas où il comporterait des espaces. Vous connaissez, bien sûr, l’encodage de votre système de fichiers ?

Autres choses

Cette histoire d’unités et de vilains profs de physique est transposable à d’autres types de données : les dates.

Je ne parle même pas du format de représentation. « 02/03/14 23:45:56 », vous savez déjà que ça ne veut rien dire. Le ’02’ c’est le jour où c’est le mois ? (Au passage, merci les anglais de faire, une fois de plus, à l’envers de tout le monde). Le ’14’, c’est 1914 ou 2014 ?

Évitons ces pièges stupides, et indiquons les dates au format ISO 8601 : 2014-03-02 23:45:56. Voilà, et maintenant, plus d’ambigüité !

Perdu ! Elle est bien votre date, mais c’est quel fuseau horaire ? C’est l’heure d’été ou l’heure d’hiver ? Au fait, vous saviez que les américains effectuaient le changement d’heure, mais pas exactement au même moment dans l’année par rapport à nous ? Et les leaps seconds, on les prend en compte ou pas ?

La solution à cette histoire de date est de tout gérer avec des timestamps, et de convertir vers/à partir d’autres formats uniquement lors des entrées-sorties de ces dates dans votre programme. Le timestamp définit un nombre de secondes depuis 1970-01-01 00:00 UTC.

À partir de ce nombre de secondes, on peut retrouver toute la date. De plus, les opérations de calcul avec les intervalles sont grandement simplifiées. Par contre, ça met en incubation des bugs encore plus rigolos que celui de l’an 2000 (https:// fr.wikipedia.org/wiki/Bug_de_l’an_2038).

Quel bazar ces données ! Au moins, avec les nombres on n’est pas embêtés. Quoi que… Si vous faites de la programmation bas niveau (ce qui signifie « proche de la machine », et non pas « programmation pour les gros teubés »), un monde de normes et de notations peut vous jaillir à la figure. Comment vous représentez les nombres à virgules ? flottantes ou virtuels ? IEEE 754 ou autre chose ? Vos entiers, vous les voulez signés ou non signés ? Avec du complément à deux ou autrement ?

Même pour la donnée la plus simple possible : des nombres entiers positifs, vous devrez peut-être vous poser des questions : big-endian ou little-endian ? Des bits de contrôle ? de parité ?

Il y a encore un tas d’autres choses où le lien entre la donnée et la méta-donnée est indispensable. Vous avez récupéré un fichier, super, mais c’est pour en faire quoi ? C’est une image ? Un texte ? Autre chose ? Et sous quel format ? Et si vous tombez sur une vieille cassette vidéo, c’est du PAL ou du Secam ?

Tout ça pour dire qu’il faut faire attention aux données qu’on manipule, depuis la plus simple variable string jusqu’aux tera-octets de base de données. Il y a plein de programmeurs qui n’en ont pas toujours conscience, ça met le bazar, et je voulais vous sensibiliser sur ce sujet, tel le gros con de prof de physique que je ne suis pas.

Ce sera tout pour aujourd’hui

J’essaie de faire un article de blog par mois, et là ça a été un peu juste. Comme d’hab’, c’est la faute au monde réel, mais aussi à Dead Cells, le nouveau jeu de la Motion Twin. J’aime beaucoup, il y a énormément d’idées intéressantes, et une ambiance mignonne-glauque assez bien travaillée.

Du coup je vous laisse, je vais essayer de dégommer des Slashers au corps à corps.

#copinage : « sans droit ni loi »

Lulu les poilu(e)s !

Y’a des gens qui écrivent sur des blogs, d’autres sur du papier.

L’une des personnes écrivant sur du papier s’appelle Jacques-Yves Martin. Dit comme ça on a l’impression que c’est un pseudo. Franchement, quand on a un nom qu’est un prénom, on s’amuse pas à avoir un prénom qu’est un double-prénom. Enfin, sauf si on est un explorateur des grands froids (Jean-Louis Étienne, Paul-Émile Victor). Vous ne pouvez pas savoir si « Jacques-Yves Martin » est son vrai nom, mais ce n’est pas le plus important.

Et donc, sur du papier, il a écrit un polar, que j’ai lu et bien apprécié. Ça s’appelle « Sans droit ni loi » (https:// jacquesyvesmartin.com/sans-droit-ni-loi/).

On y retrouve des éléments de base assez classique : un policier menant une enquête, un suicide qui n’en est pas forcément un, des endroits glauques, etc. Sauf que Jacques-Yves Martin, qui n’a pas exploraté les étendues de Grande-Froidie, a eu l’occasion d’exercer le métier de policier. Du coup, son histoire est bien plus ancrée dans la réalité que d’autres. L’enquête s’étend sur plusieurs mois, au lieu d’être torchée en 3 jours par le super-sherlock de service. Des détails assez précis sont mentionnés : concernant la médecine légale, les indices présents sur un cadavre, l’administration policière, les procédures, etc.

Boris Thibert, le héros, est un justice-holique (il est accro à la justice). Alors là vous allez me dire que c’est banal, plein de personnages de polars sont comme ça. Mais c’est pas parce que quelque chose a déjà été fait qu’il ne faut pas le refaire à sa manière. En plus, un personnage justice-holique peut amener à des dilemmes moraux bien alambiqués : il pourrait glisser dangereusement vers la notion de vengeance, ou s’opposer à d’autres justice-holique n’ayant pas la même justice, etc. Les dérives potentielles sont innombrables.

Étrange mise en forme du texte

Les pensées internes du héros, ses réflexions, ses doutes et ses difficultés à s’affirmer sont écrites en italique et entre guillemets. D’autres parts, les pensées intimes du narrateur données en confidence au lecteur sont écrites en italique sans guillemets. Je ne suis pas sûr que ce soit les conventions standards, mais ça ne me dérange pas. De manière générale, j’aime bien voir la typographie un peu secouée par des nouvelles règles (cohérentes ou pas). Rappelons que dans les débuts de ce blog, il n’était pas rare de voir du texte changer de couleur pour montrer les moments où je craquais mon slip dans le but de l’accrocher fièrement au bout d’un bâton de majorette tel un étendard portant glorieusement les couleurs du ᵐ°uᵛₑᵚₑᴻt brownien gastrique (ha ha ha, mouvement « brownien » gastrique,  HAHAHAHAHA-HAAA !)

Hrrmm… Broumf. Je ne sais pas si je suis très clair avec ces histoires d’italique et de guillemets. Je vais donc vous montrer un exemple. Afin de ne pas vous spoiler l’histoire, il est de mon cru, inspiré de faits réels.

Réchèr entra dans le bar et jeta un regard circulaire pour repérer les gens intéressants.

« J’adore les volumineuses fesses de cette femme assise là-bas. »

La femme en question employa toute son attention à ne pas prêter attention à Réchèr.

Il aurait tant aimé être le tabouret de bar sur lequel elle était assise.

Il commanda une bière avec une paille et une touillette.

Vous voyez la subtilité ? La phrase en italique+guillemets est à la première personne car ce sont les pensées internes du personnage. Celle en italique simple est à la troisième personne car c’est le narrateur qui partage une intimité avec le lecteur.

Bon et alors ?

Eh bien je trouve personnellement que les italiques du narrateur sont inutiles. Le simple fait de lire un texte implique automatiquement une relation intime entre le lecteur et le narrateur. Ce n’est pas la peine d’en rajouter. Revoici mon exemple :

Réchèr entra dans le bar et jeta un regard circulaire pour repérer les gens intéressants.

« J’adore les volumineuses fesses de cette femme assise là-bas. »

La femme en question employa toute son attention à ne pas prêter attention à Réchèr.

Il aurait tant aimé être le tabouret de bar sur lequel elle était assise.

Il commanda une bière avec une paille et une touillette.

Je sais pas vous, mais moi je trouve ça plus fluide et moins insistant.

Un petit bug

C’est pas grave du tout, mais ça heurte ma sensibilité d’enculeur de mouches informaticien. L’histoire fait mention d’un « logiciel de cryptage ». Le mot « cryptage » ne devrait pas être utilisé. Explication rapide :

  • Pour rendre un message secret, on le « chiffre », en utilisant une « clé » (qui est un peu comme un mot de passe).
  • Pour retrouver le message original à l’aide de la clé, on le « déchiffre ».
  • Lorsqu’on tente d’obtenir le message original sans en avoir la clé, on le « décrypte ». C’est une opération plus ou moins faisable selon l’algorithme de chiffrement, la complexité de la clé, etc.

Le terme « cryptage » n’a donc aucun sens. Il voudrait dire qu’on rend un message secret sans avoir de clé, alors que c’est justement ce qui sert à chiffrer. Plus de détails par ici (https ://fr.wikipedia.org/wiki/Chiffrement#Terminologie).

Sinon, le logiciel de chiffrement dont il est question est « TrueCrypt », et il semblerait que ce ne soit pas le plus fiable. (https:// www. howtogeek.com/203708/3-alternatives-to-the-now-defunct-truecrypt-for-your-encryption-needs/). Mais c’est un autre sujet et rien n’interdit d’inventer des personnages qui s’en servent.

Le mec au whisky

Attention, dans ce chapitre je vous spoile la première page. J’espère que vous ne m’en voudrez pas trop.

L’histoire débute par un mec qui boit du whisky.

Or figurez-vous que je connais personnellement l’auteur. Il m’avait demandé de relire et corriger une première version de son texte, ce que je fis, en échange de quelques dix-millièmes de bitcoins.

Dans cette première version, le mec de la première page buvait du Martini. Je lui ais suggéré que ça faisait un peu boisson de tafiole, du coup il l’a changé. Je me sens super important d’avoir eu cette petite influence.

Je vous laisse acheter et lire le livre pour découvrir le rôle que tient ce fameux « mec au whisky ».

Et sinon Jacques-Yves vient de sortir un deuxième livre : Ode à Caïssa (https:// jacquesyvesmartin.com/la-deuxieme-enquete-de-boris-thibert/).

Si je trouve le temps de le lire entre deux verres de bière (je bois pas de whisky, je suis une tafiole), j’en parlerais ici même.

« Sans droit ni loi » est un polar, mais il ne comporte pas de détective, contrairement à cette image.