Triathlon d’Obernai 2017 – Distance S

Retour sur le triathlon d’Obernai du 4 juin 2017. Publié ici pour en garder une trace dans un espace que je contrôle, écrit le lendemain de la course.

Après une deuxième place aux régionaux routes en senior il y a trois semaines, changement de sport ce week-end en participant au triathlon d’Obernai, distance S, pour découvrir ce format de course. Enchaînement de trois sports : natation, vélo et enfin course à pied. Un beau parcours et une très bonne organisation.

La grande difficulté de la journée s’est situé du côté de la natation; c’est surprenant lorsqu’on ne l’a jamais vécu et bien loin des séances de natation en piscine. Des gens devant, derrière, sur les côtés, des pieds, des bras dans tous les sens. Au niveau ressenti, j’ai l’impression de mettre laisser enfermé dans la première ligne droite et donc de ne pas avoir nagé au mieux de mes capacités. Le passage de la première bouée fut également compliqué à cause d’un effet entonnoir. Au final, mon temps de nage estimé via montre me donne 11:11 pour 500m (en tri-fonction et donc sans combinaison). Ce qui n’est pas si mal pour 10 séances d’entraînement, une discipline que je devrais donc pouvoir améliorer en continuant de pratiquer régulièrement. Après la nage à Benfeld, direction Obernai en vélo pour rallier le lieu de la course à pied en 21km. De très bonne sensation sur cette partie vélo, tant sur le plat, que dans la petite montée vers Heiligenstein, j’en profite pour mettre la gomme et remonter dans le classement. J’atteins Obernai après 44 minutes de vélo environ pour partir à l’assaut du mont national dans une boucle de 5km de course. N’ayant pas effectué d’entraînements spécifiques sur cette discipline, mon objectif était d’adapter l’allure en fonction des sensations. Au final, pas de surprise, je finis mon tour de course à pied en un peu moins de 25 min, ce qui correspond assez bien à mon allure « habituelle » de 5 minutes au kilomètre.

Pour ce premier triathlon, je me classe donc 95e au classement général et 17e de ma catégorie (S2 -> Senior 2?), avec le détail suivant :
Natation (500m) + transition: 13:52 (159)
(A priori natation 11:11, transition 2:41)
Vélo (21km): 44:42 (64, +95)
Transition Vélo – Course: 01:46
Course à pied: 24:36 (127, -37)
Temps Total: 1:24:56

Une jolie course donc, un peu courte peut-être, mais une bonne distance pour découvrir le triathlon et se présenter sans un entraînement spécifique dans les trois disciplines. Bref, une bonne introduction qui donne envie d’augmenter les distances pour passer au format M et aller affronter la montée du mont Saint-Odile. Affaire à suivre…

Note de service : HTTPS par Let’s Encrypt

Courant mars, j’annonçais le passage à Let’s Encrypt pour la gestion des certificats. Je donnais rendez-vous aux lecteurs aujourd’hui 26 mai pour la vérification du renouvellement automatique du certificat.

Il se trouve que le certificat a été renouvelé bien avant puisque la période de validité actuelle s’étend du 27 avril 2017 au 26 juillet 2017. J’en déduis donc que la « mise à jour » du certificat peut intervenir dans les 30 jours précédents son expiration.

Installation d’un package npm depuis un dépôt GitLab

Pour utiliser un dépôt hébergé sur sa propre instance GitLab, rien de bien compliquer, si ce n’est le protocole à utiliser : git+https et pas juste https (ou git+http au lieu de http).

Ce qui nous donne pour la branche master d’un projet :

{
  ...
  "dependencies": {
    "mon-projet": "git+https://<mon-domaine-gitlab>/<user>/<mon-projet>#master",
    ...
  }
}

Illustration pour récupérer une configuration eslint sous forme de module dans son dépôt propre :

{
  ...
  "devDependencies": {
    "eslint-config-unicoda": "git+https://gitlab.unicoda.com/vvision/javascript-convention#master",
    ...
  }
}

Let’s Encrypt. Enfin!

Cela fait pratiquement une éternité dans le monde de l’informatique que l’initiative Let’s Encrypt a été lancé. Je dois dire que si l’idée me plaisait beaucoup, au moment où les premières annonces avaient été faites, j’ai longtemps répugné à m’y mettre. Jusqu’à présent, j’utilisais StartSSL pour établir mes différents certificats. Avec quelques limitations bien sûr, un certificat par sous-domaine, génération d’une demande de certificat sur le serveur, transfert des infos vers StartSSL, récupération du certificat, transfert des fichiers sur le serveur et redémarrage d’Apache. De nombreuses opérations manuelles donc, mais une fois la procédure en place, c’est relativement rapide et les certificats ainsi générés sont valables un an. Pas de nécessité donc de mettre en place des certificats Let’s Encrypt, même si j’ai suivi les expérimentations des uns et des autres avec intérêt, et gardé en marque-page certains articles sur le sujet.

Tout allait bien dans le meilleur des mondes, jusqu’à la sortie de Firefox 51. En effet, à partir de cette version, Firefox (et Chrome aussi) arrête de faire confiance aux certificats signés par StartSSL après la date du 21 octobre 2016. Il se trouve, que deux de mes sous-domaines étaient concernés. Je me suis donc (re)plongé dans la documentation de certbot, pour découvrir l’outil et effectuer mes premiers tests.

L’ensemble a plutôt bien évolué par rapport à ce dont je me souvenais. Après plusieurs relectures et quelques tests, j’ai abouti à une procédure qui me convient. J’effectue donc la première demande de certificat manuellement, en conservant pour le moment l’isolation des sous-domaines qui m’avait été imposées par StartSSL. Je conserve ainsi une certaine liberté si je décide de migrer un service d’un serveur vers un autre. Je suis également arrivé à la configuration commune suivante, que je déploie à l’emplacement attendu par certbot, à savoir /etc/letsencrypt/cli.ini :

# Certbot Config

# Use a 4096 bit RSA key instead of 2048
rsa-key-size = 4096

# Register with the specified e-mail address
email = <e-mail>

# Use the standalone authenticator on port 80
authenticator = standalone
preferred-challenges = http-01

De cette manière, la demande d’un nouveau certificat pour un domaine reste concise, il n’est plus nécessaire de renseigner tous les paramètres du fichier de configuration et on obtient donc par exemple :

certbot-auto certonly -d www.unicoda.com

Une fois le certificat généré, les lignes suivantes sont nécessaires du côté d’Apache :

SSLCertificateFile /etc/letsencrypt/live/<domaine>/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/<domaine>/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/<domaine>/chain.pem

Redémarrage d’Apache que l’on avait arrêté le temps d’effectuer la procédure de demande de certificat et ça y est le navigateur affiche un fabuleux « Vérifié par : Let’s Encrypt ».

Du côté du renouvellement, je vais passer par la crontab pour qu’une vérification quotidienne des certificats soit effectuées. Le programme certbot s’occupant d’arrêter puis de redémarrer Apache :

certbot-auto renew --quiet --pre-hook "service apache2 stop" --post-hook "service apache2 start"

En théorie, le renouvellement automatique est donc en place, et le moment venu, les anciens certificats devraient être remplacés par des nouveaux sans que cela ne bouleverse (trop) le fonctionnement du site. Comme nous ne sommes jamais à l’abri d’une erreur de configuration malgré les nombreuses vérifications effectuées, et que je ne pourrais en être sûr qu’une fois les nouveaux certificats en place, je vous donne rendez-vous aux alentours du 26 mai 2017, date d’expiration du premier certificat Let’s Encrypt pour www.unicoda.com. Normalement, l’opération devrait être transparente pour tous, et je me réveillerais donc un matin (beau de préférence) avec un certificat tout neuf, sans avoir rien eu à faire.

Il ne reste plus qu’à patienter.