Weekly Shaarli
Week 27 (July 4, 2022)
Le NIST a choisi les algorithmes de cryptographie à clé publique que l'on pourra utiliser dans un monde post-quantique !
Ces algorithmes ont été selectionné suite à un concours organisé depuis 2016 par les USA.
C'est ce qui avait été fait pour le chiffrement symétrique AES (Advanced Encryption Standard), c'est l'algorithme Rijndael qui avait gagné le concours en 2001.
Ce sera donc:
C'est ensuite un chiffrement AES classique qui devrait être utilisé pour les données, comme c'est le cas aujourd'hui.
C'est une grande nouvelle car lorsque les calculateurs quantiques seront disponibles, ils mettront à mal la cryptographie à clé publique actuelle sur laquelle repose tous nos échanges.
Notamment via l'algorithme de Shor qui permet de factoriser en nombre en produit de facteurs premiers et donc de casser les crypto-systèmes basé sur RSA mais aussi les plus modernes utilisant ECDSA.
Maintenant que le NIST a choisi, il se passera très certainement plusieurs années avant que ces algorithmes ne soient mis en place pour nos échanges de clés.
Pour les plus curieux, une implémentation a déjà été faite par Cloudflare en Golang: Circl
Une autre tentative de framework fullstack mais cette fois en utilisant un langage de haut niveau pour décrire une application.
Le "compilateur" Wasp (plutôt un générateur) va ensuite générer le code backend (Node.js), frontend (React) et le modèle de données (Prisma ORM).
C'est intéressant comme démarche mais à priori je vois deux limitations importantes:
- introduction d'un nouveau langage dans la stack (qui plus est un langage peu mature)
- manque de personnalisation du code généré (pour aller au delà du CRUD quoi)
Ça ressemble à ça le WASP:
// file: main.wasp
app TodoApp {
title: "Todo App"
}
route RootRoute { path: "/", to: MainPage }
page MainPage {
component: import Main from "@ext/pages/Main.js" // Importing React component.
}
query getTasks {
fn: import { getTasks } from "@ext/queries.js", // Importing NodeJS code.
entities: [Task]
}
entity Task {=psl
id Int @id @default(autoincrement())
description String
isDone Boolean @default(false)
psl=}Une comparaison entre Chrome, Firefox et Safari sur la rapidité de leurs moteurs de rendu CSS.
Firefox remporte haut la main avec son moteur Stylo avec des performances entre 25 et 100 ms
Chrome se situe plutôt entre 250 et 1000 ms ! (Sauf pour le Shadow DOM)

Une enquête des journalistes de Blast sur des fonds qui auraient été distribués par le Quatar à des personnalités et des ONG:
- Carla Bruni Sarkozy: 6 millions d'euros en 2009
- Bernard-Henri Lévy: 9.1 millions d'euros en 2011
- Laurent Platini (le fils du footballeur): 9.1 millions d'euros en 2010
- Human Rights Watch: 3 millions d'euros en 2018
Ce qui est rigolo c'est si on replace ces dons dans un contexte historique.
Bernard-Henri Lévy pendant les révolutions arabes, avant l'offensive Française en Libye pour laquelle il a fait du lobbying et qui à priori arrangeait les qatari pour étendre leur zone d'influence
Laurent Platini avant que la FIFA se réunisse pour voter l'attribution de la coupe du monde 2022.
Human Rights Watch qui a par la suite publié des rapports faisant l'éloge des "progrès" du Qatar en termes de droits humains.
Le simple fait de chercher sur Google comment avorter peut être retenu à charge contre vous.
Dans le roman 1984 d'Orwell, le "crime de pensée" est un acte incriminant en soi, Big Brother en a rêvé, les États Unis et Google l'ont fait.
Encore un très bon exemple de l'importance du contrôle sur ses données personnelles, si vous n'avez rien à caché aujourd'hui ça ne sera peut-être pas le cas dans 10 ans lorsqu'un nouveau gouvernement sera en place.
Un jeu pour apprendre à utiliser Git !
Ce qui est génial c'est de pouvoir visualiser l'évolution des structures internes à chaque commande 😄
Un autre excellent site pour apprendre Git visuellement: https://learngitbranching.js.org/
Et un autre site pédagogique visuel en mode bac à sable: https://git-school.github.io/visualizing-git/
Ce sont ceux que j'utilisais lorsque je donnais des cours mais aujourd'hui je conseillerais d'utiliser Oh My Git plutôt :-)
Liste de builtin Bash et comment les utiliser
Celle que je retiens à force d'en avoir besoin:
# Positional arguments
$0 $1 $2 ...
# All arguments as an array
$@
# Return code of the last command
$?
# Print each script line as it is executed (debug)
set -x
# Exit the script immediately if a command return an error (CI/CD)
set -eTim Berners-Lee flingue le Web3 qui promeut la décentralisation à base de blockchain.
Selon lui "cette nouvelle itération du Web était inutile".
C'est un peu hypocrite de sa part après avoir vendu un soi disant NFT à plusieurs millions d'euro mais au moins ça donne un autre son de cloche que celui des ayatollah de la blockchain qui veulent "révolutionner" le monde.
Non, la blockchain ne va pas décentraliser internet et la blockchain ne va pas remplacer le système bancaire