Archives 2022

Histoire de sport

Monday, 31 October 2022
|
Écrit par
Grégory Soutadé

Samedi soir, 22h30, l'alcool faisant son effet, les voisins braillent près de leur fenêtre. Nous sommes en automne heureusement, les fenêtres sont fermées. Malheureusement le bruit n'est pas complètement filtré. Pas très fort, mais je suis dans la phase critique d'endormissement. Si cela ne s'arrête pas d'ici 30 minutes, il faudra beaucoup de temps pour trouver le sommeil. Vers minuit le calme revient, énervé, il va se passer encore une petite heure avant de rejoindre Morphée. Pourquoi ce soir après des semaines de calme ? Pourquoi la veille de la plus grosse échéance de l'année ? La nuit n'a pas été très bonne, il a fait chaud (24°C en pic fin octobre !), je suis sorti plusieurs fois de mon sommeil. Déjà alerte, le réveil programmé à 6h45 n'aura pas le temps de se déclencher. Petite pesée matinale, simple curiosité. La balance affiche sournoisement un 66,6kg (ramené à 65,7kg en seconde pesée), j'ai pris un peu de poids... pas terrible. C'est au tour du chat de miauler frénétiquement. Peu enclin à lutter, il sortira plus tôt aujourd'hui. Le déjeuner se passe bien, j'avais tout préparé la veille. J'enfile mon t-shirt (édition 2018) et mon short. Au moment de serrer le nœud, celui-ci se déchire sur presque 10cm au niveau du cordon. On fera avec... Arrivée à Cannes vers 8h15, la circulation est fluide le dimanche matin, même au niveau du marché de Rocheville. Par chance la plupart des feux étaient au vert. Le ciel est voilé, il fait "chaud" (19°C/20°C), le vent est légèrement perceptible. Les conditions, sans être optimales, sont bonnes. Après avoir été fouillé, direction le stand pour récupérer le dossard. Les enceintes gueulent de partout, pas très agréable. Ah, il faut le bon de convocation. Je ne l'ai pas ... mais j'ai ma carte d'identité, changement de file. La personne en charge des demandes "spéciales" court partout, elle n'est pas très organisée. Finalement, je récupère la convocation sur mon téléphone, re changement de file. Dossard introuvable ! Je ne sais pas qui a buggué, le lien de téléchargement me renvoie la convocation de l'année dernière !!! Re re changement de file, départ dans moins de 15 minutes. C'est l'heure de prendre une barre et de commencer l'échauffement, tant pis pour l'échauffement. J'hésite à aller directement me ré inscrire, mais je n'ai pas mon certificat médical sur moi. Finalement je suis bien sur la liste, dossard 1041. Re re re changement de file pour récupérer mon sésame. Je le poinçonne moins délicatement qu'à l'habitude, pas le temps. Où est la consigne ? Il n'y en a pas me répond un bénévole, "vous devrez courir avec votre sac" ... (mais bien sûr !). Après plusieurs tractations infructueuses, le stand de l'AC Cannes accepte très gentiment que je le dépose (un grand merci à eux), il sera sans surveillance. Tant pis ! Il ne reste que 5 minutes avant le départ, échauffement express. Les 520 participants sont en train de se placer. Pas question de partir derrière, je me faufile jusqu'aux premiers rangs. Tiens, un collègue du travail ! On discute un peu, je commence à avoir soif. Il vise à peu près le même temps que moi (même si ça reste une course d'entraînement pour le semi de la semaine prochaine), chouet on va avoir mutuellement un point de repère. Le départ est donné à 9h pétante. Je m'élance un peu vite, histoire de se placer, avant de rapidement redescendre à mon rythme. Arf, je sens la barre qui flotte dans mon estomac, elle n'y restera pas très longtemps. Un train arrive en gare de Cannes, il actionne son klaxon en signe d'encouragement. Les 4 premiers kilomètres se passent sans difficulté malgré le tempo élevé. Vers les 4,5km/5km ça commence à devenir difficile, surtout au niveau du cardio. 5km : j'ai désormais 10 secondes d'avance sur le temps que je m'étais fixé. J'en avais espéré 20 à 25 afin d'absorber le probable ralentissement de la fin de course. Kilomètres 5, 6 et 7, j'oscille entre 7 et 9 secondes d'avance. C'est la partie la plus difficile, le cardio est à 100%, les jambes demandent à ralentir. Il ne faut surtout pas lâcher, il faut garder le rythme, "le rythme, le rythme". Je ne peux pas défaillir maintenant, pas après 1 an de préparation, pas après tous ces efforts, il faut tenir, au moins jusqu'au kilomètre 8. Je m'accroche au regard des coureurs sur la voie opposée pour me changer les idées. Mais jamais il arrive ce kilomètre 8 ??? C'est interminable, il fait chaud, les jambes sont molles, il faut vraiment se forcer pour les tirer. Je vois au loin les immeubles, la ligne d'arrivée est proche. Finalement, c'est le point de repère du kilomètre 8, enfin ! Plus que 9 minutes de course, il faut tenir encore un peu, j'ai un matelas suffisant pour y arriver. J'attends avec impatiente le point de bascule en légère descente du kilomètre 9. Je dépasse la 5e féminine. Il y a un concurrent avec 20m/30m d'avance, je suis sûr que je peux le doubler avant la fin. Le groupe qui était devant lui a déjà commencé à accélérer, je ne les reverrai plus. Ça y est, il y a le petit bâtiment de la SNCF, légère descente, on est au kilomètre 9. J'ai réussi à doubler mon vis-à-vis. Coup d'œil sur la montre, encore 8 secondes d'avance, hourra, sauf accident, je vais atteindre mon objectif ! Dernier kilomètre dans la zone rouge, 4'13 de sprint avec uniquement la ligne d'arrivée en point de mire. Je voulais absorber un maximum de temps pour passer officiellement sous la barre des 45'. La montre affiche un léger décalage à l'arrivée, je la bloque à 9,99km, la réactive et la désactive de nouveau pour être sûr qu'elle enregistre bien un 10km, cela fausse un peu les stats. Pas grave, j'ai de la marge. Je comate légèrement penché sur la barrière en essayant de retrouver mon souffle. Le suivant me double, il a 7 secondes de retard. Mon collègue n'était pas préparé spécifiquement pour le 10km et a un peu lâché aux 6km, mais il arrive quand même moins de 2 minutes plus tard. On discute un peu, je récupère mon sac (encore merci), c'est l'heure de rentrer. On ne peut pas sortir par l'entrée (!!!), il faut donc faire le tour. Au passage, je croise David Lisnard qui vient pour la remise des récompenses. Il n'a pas participé cette année (pourtant le marathon est dans une semaine). Un petit salut et direction le parking. Il faut monter deux étages, j'ai des crampes ! Obligé de m'arrêter pour ventiler. Le retour se fera sans encombres, ce qui était loin d'être gagné vu tous les signes négatifs envoyés.

C'est dans la nature de l'Homme d'en vouloir toujours plus : plus de richesses, plus de pouvoir, plus de biens, plus de terres, être plus fort, aller plus loin, plus vite. Je confesse ne pas y échapper : mon objectif était de réaliser moins de 45' sur 10km. Mais finalement, à quoi ça sert de vouloir aller toujours plus vite ? Et bien, ça ne sert à rien ! Pour la vie de tous les jours, Il n'y a aucune utilité à courir aussi rapidement une distance relativement courte. D'autant plus qu'il faut des conditions et un équipement particulier. Pourtant, ce qui est important n'est pas tant le but que le chemin parcouru. Il y a quatre ans (en 2018), j'ai pris conscience que cette barre des 45' était atteignable. Jusqu'alors je l'avais dans un coin de la tête sans vraiment y prêter attention car j'en étais habituellement assez loin. Ce jour là, j'échouais pour 25 secondes... L'année suivante, trop tendu, je me suis bloqué le dos les jours précédents (problème de sciatique). Puis, le confinement fut déclaré pour l'édition 2020. Dans la foulée je me faisais une grosse entorse de la cheville. Ce fut clairement un tournant, positif pour certains aspects. J'ai dû en effet revoir mes plans d'entraînement et réduire la voilure sur la partie "trail" : plus de plat et de cardio (pour la rééducation). La préparation courte et les conditions moyennes de course (vent fort) ont rendu l'édition 2021 très agréable car aucune pression de résultat. Avec ce retour d'expérience, j'ai ré orienté ma préparation estivale 2022 uniquement pour Odyssea, avec une intensification en septembre/octobre, notamment en mettant (temporairement) de côté le tag. C'est donc tout ce travail, ces petits sacrifices hebdomadaires (surtout les jours où on n'a clairement pas envie) qui ont payé le jour J. Ce qui rend la performance encore plus remarquable est le fait que j'étais dans l'incertitude avant le départ car je n'ai jamais tenu cette cadence. Selon mon plan, j'estimais que si j'arrivais à boucler un 10km sur mon circuit d’entraînement (plat/terre battue) avec une allure moyenne comprise entre 4'45 et 4'40, je devrais pouvoir réaliser 4'30 sur goudron. Avec un 4'38, puis un 4'36 une semaine avant Odyssea, je savais que j'étais sur la bonne trajectoire. Mais encore fallait-il confirmer ! D'autant plus qu'il n'y a qu'une édition par an et qu'avec les années, ma capacité à aller vite va diminuer. C'est un petit peu la même chose pour nos agriculteurs qui travaillent toute l'année et dont les récoltes peuvent être détruites en quelques heures. La recherche de performance implique une capacité de travail, de sacrifices, la nécessité de surveiller son alimentation (sans forcement s'imposer des privations), d'avoir une bonne hygiène de vie tout au long de l'année, d'arriver à dépasser ses limites. Le plus pénible étant l'endurance face à la souffrance : en prenant le départ, on sait que ça va être difficile, qu'il faudra être à 100% de son effort jusqu'à la fin. On pourrait faire un parallèle avec la vie : être capable de traverser les tempêtes en courbant le dos et en sortir plus fort. Travailler dur pour atteindre ses objectifs. Parallèle qui atteint vite ses limites. Le sport reste une activité physique et le physique est quelque chose de très rationnel. En suivant un plan d’entraînement adéquat, on peut atteindre beaucoup d'objectifs. Particulièrement dans la course à pied qui est un sport sans intelligence (mais qui permet de gagner du physique). Sans pratiquer, on n'imagine pas à quel point il est possible d'arriver loin dans les performances avec du travail, à quel point notre corps regorge de ressources cachées. La vie quant à elle recèle de beaucoup plus d'impondérables, de plafonds de verre et de situations difficiles à gérer. C'est une source de motivation que j'utilise particulièrement sur Odyssea : quand le cardio est à fond, que les jambes ont du mal à maintenir le rythme imposé par la tête, le corps est en souffrance. Pourtant, cette souffrance est bien dérisoire face à une chimio. Pour moi, ce sera terminé dans 20', dans 9', dans 5', pas dans 2/3/6/9 mois de traitement, et sans risque de rechute... Le sport aide à maintenir son corps en bon forme physique et permet de réduire les affections médicales (c'est ce que je ressens en tout cas), surtout dans un monde sédentaire. Il fait partie intégrante d'un équilibre de vie, nécessaire même. Sortir, se changer les idées, respirer, être dans la nature, apprendre à écouter et connaître son corps. Le côté obscur étant qu'il devient addictif quand on acquiert un niveau correct, ce qui nous pousse à se donner des objectifs toujours plus importants. C'est pourquoi il ne faut pas oublier que les sacrifices concédés (particulièrement à l'approche des compétitions) se font en général au détriment de l'entourage proche. Il faut donc veiller à trouver le bon équilibre entre recherche de performance et vie sociale.

Soulager les rhinites avec les huiles essentielles

Monday, 24 October 2022
|
Écrit par
Grégory Soutadé

Feuilles d'eucalyptus radié

J'ai toujours été très sensible du nez (en plus d'avoir un terrain allergique). Je me mouche plusieurs fois par jour (en temps normal) et je ne sors jamais sans un paquet de mouchoir à portée. C'est assez gênant, surtout pour le sport. Malgré tout, la situation s'est améliorée ces dernières années. Pourtant, quand démarre une crise, l'inflammation de la muqueuse nasale monte progressivement et peut durer toute la journée voir provoquer une sur infection.

On peut distinguer deux causes de ces crises : la cause allergique et la cause virale (rhume). Dans tous les cas, il faut traiter en priorité la source (qui n'est pas forcément facile à identifier car les symptômes sont très proches chez moi). Pour ce qui est des allergies, il faut s'éloigner de la source allergène (si possible) et utiliser des antihistaminiques. Pour ce qui est de la cause virale, malheureusement, à part le repos, il n'y a pas de solution miracle (hormis les corticoïdes, mais l'auto médication de ce genre de produit est dangereuse). Quoi qu'il en soit, l'aération (sauf pour les allergies au pollen), ou prendre une bonne douche chaude (génération de vapeur chaude) va permettre de soulager les symptômes.

Et l'huile essentielle dans tout ça ? Et bien c'est une astuce que l'on m'a donné il y a quelques années (merci Jean) et qui fonctionne plutôt bien. Dès l'apparition des premiers symptômes, j'applique 3 gouttes d'huile essentielle d'eucalyptus radié (Eucalyptus Radiata) sur le front. Il faut ensuite l'étaler sur le front et le nez. Selon la marque, il y a une petite période d'évaporation pendant laquelle il ne faut pas ouvrir les yeux. Certes, on a l'impression de devenir soi-même un eucalyptus, mais cela permet vraiment de soulager la muqueuse (même en cas de crise), au moins temporairement, le temps de changer d'air. On diminue ainsi le nombre de mouchoirs utilisé, donc moins d'inflammation et moins de sur infection ! L'huile essentielle d'eucalyptus est d'ailleurs un des composants du Vicks VapoRub (R). Pour ceux que ça intéresse, il est possible de réaliser une version maison de ce baume. La recette sur ce blog (non testée, mais les composants principaux sont ceux de la version commerciale).

Je l'utilise donc régulièrement et ma situation s'est beaucoup améliorée (le fait de s'éloigner des sources de pollution atmosphérique n'y est pas non plus étranger). Attention cependant, comme indiqué plus haut (ceci est valable pour toutes les huiles essentielles), l'huile essentielle est un produit extrêmement concentré et souvent agressif, surtout s'il est en contact direct avec les yeux/muqueuses. C'est pourquoi, il faut être très prudent quand on les utilise et encore plus quand on en administre aux enfants (même diluées, il est recommandé de ne pas l'employer avant 6/7 ans). Il faut également bien se laver les mains après application !

Virtual gift card in javascript

Sunday, 16 October 2022
|
Écrit par
Grégory Soutadé

For a birthday I wanted to offer a gift card (something to buy online or later). As I don't have a printer, I decided to create a simple web page containing this card. The address has to be flashed by a Qr Code. But, instead of directly display the gift, I wanted to have something that the person has to discover progressively.

With a little bit of javascript and thanks to HTML5 Canvas API, we can do it easily ! The idea is to create a canvas and then fill the blurred gift or a gift paper. When the person click and drag the mouse over the card, it progressively draw the clear gift card.

Here, I hardcoded some values, but it's possible to get them from image details and do it fully dynamic (Canvas API allows to scale drawn pictures in drawImage() method). Some parts of the code is just a copy/paste from Internet (sorry for copyright, I didn't save the link).

Or the same image with a gift paper :

Javascript source code :

    <center>
    <canvas id="canvas" width="400" height="200" style="cursor:url(cursor32.png), auto ;">
    </canvas>
    </center>
    <script>
      var canvas = document.getElementById('canvas');
      var ctx = canvas.getContext('2d');
      var rect = {};
      var drag = false;
      var imageObj = null, image2Obj = null;


      function init() {
          imageObj = new Image();

          // Gift paper version
          imageObj.onload = function () { ctx.drawImage(imageObj, 0, 0); };
          imageObj.src = 'paper.jpg';

          // Blur version
          imageObj.onload = function () { ctx.filter = 'blur(15px)'; ctx.drawImage(imageObj, 0, 0); ctx.filter = 'none'; };
          imageObj.src = 'gift.jpg';

          // Next
          image2Obj = new Image();
          image2Obj.src = 'gift.jpg';

          canvas.addEventListener('mousedown', mouseDown, false);
          canvas.addEventListener('mouseup', mouseUp, false);
          canvas.addEventListener('mousemove', mouseMove, false);
          canvas.addEventListener('touchstart', touchStart, false);
          canvas.addEventListener('touchmove', touchMove, false);
      }

      function drawClearImage(x, y)
      {
          var canvasRect = canvas.getBoundingClientRect();
          rect.startX = x - canvasRect.left - 5;
          rect.startY = y - canvasRect.top - 5;
          if (rect.startX < 0) rect.startX = 0;
          if (rect.startY < 0) rect.startY = 0;

          ctx.drawImage(image2Obj, rect.startX, rect.startY, 40, 40, rect.startX, rect.startY, 40, 40);
      }
      function mouseDown(e) {
          drag = true;
          drawClearImage(e.clientX, e.clientY);
      }

      function mouseUp(e) { drag = false; }

      function mouseMove(e) {
          if (drag)
              drawClearImage(e.clientX, e.clientY);
      }

      function drawClearImageForTouch(x, y)
      {
          var canvasRect = canvas.getBoundingClientRect();
          rect.startX = x - canvasRect.left - 60;
          rect.startY = y - canvasRect.top - 60;
          if (rect.startX < 0) rect.startX = 0;
          if (rect.startY < 0) rect.startY = 0;
          ctx.drawImage(image2Obj, rect.startX, rect.startY, 120, 120, rect.startX, rect.startY, 120, 120);
      }

      function touchStart(e) {
          for (var i=0; i<e.changedTouches.length; i++)
              drawClearImage(e.changedTouches[i].clientX, e.changedTouches[i].clientY);
      }


      function touchMove(e) {
          for (var i=0; i<e.changedTouches.length; i++)
              drawClearImage(e.changedTouches[i].clientX, e.changedTouches[i].clientY);
      }

      //
      init();

    </script>

gPass 1.2

Saturday, 08 October 2022
|
Écrit par
Grégory Soutadé

Logo gPass

Reminder : gPass is an online password manager. It's a free, open source and self hostable alternative to laspass. All of your passwords are stored encrypted on YOUR server and you're the only one to know the master key needed to decrypt them.

Some weeks ago I received an email from Chrome's team asking me to remove one unused permission to gPass webextension with a delay of 14 days. It makes me see that manifest v2 will not be supported starting 2023, so I decided to migrate my extension to manifest v3. What a hell ! A lot of things changed with apparently no reason. After struggling a long week trying only yo keep the same functionalities, I was able to submit a new version !

So, main changes since v1 are :

Server side :

  • Remove old v1 crypto
  • When decrypting a password for a specific website, go to the entry
  • New UI (the first one was very ugly)
  • You can filter results for masterkey validation (avoid to display all your passwords to everyone)
  • Add a button to copy password into clipboard
  • Change button's name instead of displaying an alert

Client side :

  • Update to manifest v3 (Chrome only)
  • Add an option to deactivate form's hook
  • Some bug fixes
  • Add a checkbox in popup to copy password into clipboard

Extensions are available here (Firefox) and there (Chrome). You can download server side on my project page.

Courses de fin d'année (2022)

Monday, 03 October 2022
|
Écrit par
Grégory Soutadé

Logo Odyssea

On entame cette saison 2022 le dimanche 23 octobre, boulevard du Midi Louise Moreau à Cannes pour soutenir la lutte contre le cancer du sein. Le front de mer est idéal pour les novices comme les expérimentés (quand il n'y a pas de vent). Départ 9h pétante pour le 10km. S'ensuit le 1km enfant à 10h30, puis le 5km (possibilité de le faire en marchant) à 11h. l'organisation d'Odyssea propose également un challenge connecté à réaliser la semaine précédente et jusqu'au dimanche, mais c'est quand même plus sympa d'être sur place !

Retour : Odyssea a 20 ans ! Je n'ai pas vraiment pu profiter de cette belle ambiance à cause de certains couacs. Néanmoins, ce fut une édition record avec quelques 3 450 participants et 29 000€ qui seront réparti entre le Centre de lutte contre le cancer Antoine Lacassagne, ASSO Cannes et SOS Cancer du sein PACA. Les conditions de course étaient bonnes : ciel voilé, 19°C/20°C (chaud pour fin octobre). De mon côté ce fut également exceptionnel puisque j'ai enfin franchi la barre des 45' aux 10km ! Pour être exact : 44'33 aux 10km (selon ma montre), et j'ai terminé officiellement à la 82e place (sur 521) en 44'38.

Départ course des paroisses

Trois semaines plus tard, le vendredi 11 novembre dans le massif de l'Esterel se déroulera (si tout va bien !) la course des Paroisses, organisée par la paroisse de St Raphaël. La configuration est à peu près identique à Odyssea avec un 12km, un 5km et un 1km enfant. Sauf qu'il s'ait ici à un trail nature (~200m de dénivelé pour le 12km). En parallèle, il y aura une marche familiale de 7 kilomètres à 12h30 animée par un naturaliste, un herboriste et un historien ! Départs à 11h (1km enfant), 12h30 et 13h. Super parcours, très bonne ambiance, une crêpe à l'arrivée. Bref, il n'y a que des bonnes raisons pour venir.

Retour : Encore un mois de Novembre chaud, un peu plus de 20°C au soleil. Autant dire que dès le km 2, j'avais le front plus que perlé. Heureusement que les parties à l'ombre et un peu de vent frais nous on permit de nous rafraîchir un peu ! Il faut dire que c'était une superbe édition avec un grand beau temps et quelques 460 participants, toutes courses confondues, ainsi que des supers bénévoles. La marche a également eu son petit succès avec presque 100 participants. Pour ma part, j'ai fait une préparation express sur un profil trail 12km (la récupération d'Odyssea a été difficile), plus couru depuis de long mois, donc c'était une course sans pression où j'ai pu admirer le paysage en gardant mon rythme tout du long. Ce qui ne m'a pas empêché de réaliser mon meilleur temps en 57'45 pour une honorable 71e place sur 212 (et une crêpe à l'arrivée !).

Logo Cross Amnesty International

Cette année 2022 se conclura le dimanche 11 décembre par la 39e édition du Cross d'Amnesty International à Valbonne. 11km (à 11h15) pour les droits de l'Homme dans le bassin Sophiapolitain. Une variante de 4km (10h30) est proposée (et 1km (10h) enfant). L'association proposera à cette occasion une collecte de chaussures de sport pour les réfugiés.

Retour : Peu de monde malheureusement pour soutenir Amnesty cette année (195 participants, toutes courses confondues). Pourtant il faisait beau et la pluie de l'avant veille n'a eu aucun impact sur le circuit (pas de boue). Alors, certes, les 6°C du thermomètre ont pu en rebuter certains, mais quand même ! L'organisation a, comme à son habitude, répondu présente de bout en bout, ce qui fait toujours extrêmement plaisir. Pour ma part, j'avoue avoir été un peu saisi par le froid et les premiers kilomètres ont été difficiles. Je réalise malgré tout un très bon temps en 54'38 (29/126). En espérant mieux l'année prochaine !

Logo course des pères noëm

Petit bonus de fin d'année pour l'association des chaussettes jaunes : La course des pères (et mères) noël qui aura lieu le samedi 17 décembre (départ à 17h sur le cours). Au programme : 3 boucles d'environ 2km dans le centre historique de Grasse (une version enfants se court en parallèle) qu'il est possible de réaliser déguisé ! Autant dire que l'ambiance est très très bonne. Vin chaud et gourmandises à l'arrivée !

Retour : 210 participants (dont 51 enfants et 2 joëlettes) se sont retrouvés devant le palais des congrès pour parcourir dans la joie et la bonne humeur, souvent costumés, toutes les rues et ruelles du centre historique de Grasse ! On a même eu droit à la participation du maire. Seul point négatif : le parcours un peu trop ambitieux, notamment avec deux boucles internes, a semé une grande confusion chez les coureurs et même chez les bénévoles. Mais au final tout le monde s'est retrouvé autour d'un verre de vin chaud (ou autre) sur le parvis de la toute nouvelle médiathèque. Ce qui a permis de financer les associations “Mahyana Petite Lune”, “Ensemble pour Louca” et des "Jeunes Sapeurs Pompiers".