En général autour du mois de mars c’est un peu le mois de la lose. Ça a commencé par des galères perso il y a quelques années, ça a évolué en pandémie, puis en guerre et hier mon smartphone est tombé dans l’eau et clignote dans tous les sens ce matin. Bref, ma poisse du mois de mars commence à réellement influencer le monde.
Sachez que je m’en excuse.
Toutefois, en bon péon, je ne me laisse pas (trop) abattre et j’espère que vous non plus. Je bosse dur la journée : le blog, les Patreons, les travaux dans la maison, le jardin de l’extrême…
Le soir on s’endort avec la satisfaction d’une journée bien remplie qui se termine enfin pour se réveiller avec le seum d’une nuit bordélique qui sera suivi d’une journée à nous farcir les émotions puantes et gluantes des uns et des autres. Nos Karen, Ken et autres Vladimir se comportent comme des ados de 13 ans et nous les subissons, épuisés.
On rêve tous d’une trêve qui n’arrivera jamais. La ligne d’arrivée est sans cesse repoussée comme un mirage qui s’éloigne au fur et à mesure qu’on avance.
Heureusement, bien qu’épuisés nous sommes forts et nous sommes résilients. Nos journées sont comme des vols affrétés par Nepal Airlines : il arrive qu’elles se passent bien. Souvenons-nous-en.
– Article en partenariat avec LiteBit . Cet article n’est en aucun cas un conseil en investissement, mais simplement la présentation d’un projet technique autour de la blockchain –
Je continue cette série de présentation de projets cryptos avec un incontournable du marché depuis plusieurs mois : Solana. Il s’agit d’une blockchain de niveau 1 (layer 1), c’est-à-dire une blockchain qui permet à d’autres protocoles de se greffer dessus et d’interagir ensemble. Dans le même esprit qu’Ethereum (ETH), Near Protocol (NEAR) ou encore Harmony (ONE) dont je vous ai déjà parlé.
Edit du 02/05/2022 : Je précise que cet article a été rédigé très longtemps avant la panne que le réseau beta a rencontré durant ces dernières 24h.
Présentation du projet
Solana a été fondé par Anatoly Yakovenko, Stephen Akridge et Greg Fitzgerald (tous ex-employés de chez Qualcomm et/ou Intel) et Raj Gokal (ex-General Catalyst).
L’idée de départ c’était que des réseaux existants comme Bitcoin ou Ethereum n’étaient pas adaptés à une utilisation à grande échelle : trop lent, trop de frais … et donc il fallait un système permettant de gérer le cumul de différents flux de transactions aussi importants que ceux du réseau Visa (pour les paiements), le Nasdaq (pour la finance), etc. tout en gardant un coût très bas (< 1 centime la transaction).
Si le whitepaper existe depuis fin 2017, le lancement officiel de la blockchain (mainnet) est bien plus jeune puisqu’il date de 2020. Écrit en langage Rust, open source, utilisant les technos des smart-contracts (comme Ethereum) et du Proof-of-Stake … Solana innove aussi avec son concept de Proof-of-History (voir la vidéo ci-dessous pour plus d’infos).
Ce dernier est censé permettre une plus grande rapidité de traitement des transactions (65 000 à la seconde actuellement Vs 15 pour Ethereum par exemple), ce qui permet une meilleure scalabilité dans le temps. On parle quand même (enfin surtout eux) d’un potentiel 710 000 transactions/sec dans le futur, de quoi laisser rêveur.
C’est simple en 2021 Solana a été l’une des cryptos les plus en vues, passant de la 112e place en termes de capitalisation (2.16$) à la 6-7e (et un prix max de 260$). On lui doit en partie l’explosion du marché des NFTs, elle a su profiter des tarifs énormes d’Ethereum pour attirer de nombreux utilisateurs ne pouvant pas se permettre de payer des frais excessifs.
Le token SOL
Le code du token natif Solana est le $SOL. Il permet principalement de payer les frais de transaction ou à transférer de la valeur (achat/vente/spéculation …), mais surtout à sécuriser le réseau via le staking. Si vous ne savez pas ce qu’est le staking, c’est simple. Vous déléguez vos $SOL à un/des validateur(s) qui vont sécuriser les différentes transactions et en échange vous recevez des $SOL gratuitement (à hauteur de 6-7% par an en ce moment). Le token permet également de donner son opinion lors des propositions d’améliorations faites sur le réseau, cela vous donne un droit de vote (gouvernance).
Pour les utilisateurs plus avancés le token $SOL peut aussi être utilisé pour apporter de la liquidité sur certaines plateformes décentralisées. Si vous croyez au projet vous pouvez tout simplement les conserver sur un wallet (type Ledger ou Trezor, voire Metamask …) pour le long terme et pis basta, pas de prises de tête.
Pourquoi Solana est un projet intéressant ?
En tant que blockchain de 3e génération, Solana permet à de nombreuses applications et protocoles variés de venir se greffer sur le réseau principal et bénéficier de ses avantages. Place de marchés ou lancement de collections NFTs, applications et plateformes de finance décentralisée (DeFi), Web3, logiciels, gaming, metaverse, etc.
Plus de 400 autres projets profitent déjà de leur technologie, ce qui en fait un des écosystèmes actuellement les plus développés. Solana est d’ailleurs depuis quelques mois dans les 5 ou 6 des blockchains à posséder une des plus grosses valeurs totales immobilisées (Total Value Locked), c’est-à-dire la capitalisation totale de tous les tokens qui sont bloqués dans son secteur DeFi. Ils ont aussi un gros soutien de la part de Sam Bankman-Fried et de l’exchange FTX. C’est pas rien comme qui dirait.
Vous connaissez le projet du moment, StepN, qui vous permet d’être payé pour marcher ou courir (beuuuurk) ? Ça tourne sur Solana. La plateforme musicale décentralisée Audius ? C’est sur Solana. L’exchange décentralisé Serum ? Solana. Le protocole de staking liquide Marinade Finance ? Encore Solana. Les jeux Star Atlas ou Legends of Elumia ? Toujours Solana. Vous en trouverez des dizaines d’autres sur cette page.
Solana Pay arrive bientôt, il s’agira d’un moyen de paiement pair à pair qui sera utilisable pour effectuer des achats en ligne ou en magasins physiques. Les NFTs de la blockchain seront aussi bientôt disponibles sur la plus grosse plateforme du marché, OpenSea. Bref beaucoup de bonnes choses dans les tuyaux.
Alors une fois dit tout ça il faut aussi noter les soucis qui ont touché le réseau Solana ces derniers mois.
Le nombre de tokens maximum était annoncé au départ à 8 millions, puis à 13, limite maximale qui n’existe plus aujourd’hui. Suite a une attaque de bots la blockchain a été stoppée unilatéralement en septembre 2021 pour être redémarrée (jusqu’à 400 000 fausses transactions/sec), remettant en cause sa décentralisation. Elle a connu des périodes de congestions durant lesquelles les transactions étaient bloquées ou plus chères que prévues, etc. Ce sont des choses (très) importantes et qui demandent d’être réglées rapidement, sinon ça risque vite de poser problème. Surtout que d’autres blockchains plus robustes et/ou plus décentralisées existent déjà ou sont en cours de développement.
Quel est le cours du SOL ?
Où acheter des SOL ?
Pas de surprises au vu de la popularité de Solana, le token peut s’acheter sur quasi toutes les plateformes existantes. Aussi bien les exchanges centralisés que décentralisés la proposent donc vous n’aurez pas à aller bien loin pour vous en procurer. De mon côté j’utilise LiteBit depuis un très long moment (bien avant qu’ils deviennent partenaires de mon site). Interface simple, expérience de plusieurs années, respect des réglementations européennes, etc., jamais eu le moindre souci. J’ai d’ailleurs fait un article complet (+ tuto d’inscription) de pourquoi je recommande LiteBit.
Encore plus que d’habitude, Solana est un projet énorme avec de nombreuses ramifications qui partent dans tous les sens. je n’ai fait que présenter rapidement les choses sans trop entrer dans les détails. Cela viendra peut-être dans d’autres articles. En attendant, je vous laisse faire vos propres recherches, ils ont de la doc dans tous les sens : le site officiel, le whitepaper, le GitHub, le podcast ou encore leur section actu.
À bientôt pour la présentation d’un autre projet crypto !
Plus de 25 ans après Mario dans Super Mario 64, c’est enfin au tour de Kirby d’avoir son propre jeu de plateforme en 3D ! C’est fou quand on y pense. 🤯 Bien sûr la petite boule rose est déjà sortie de son carcan en deux dimensions, mais jamais pour son aventure principale et avec de véritables déplacements dans toutes les directions. Est-ce que cette transformation est réussie ? Nous allons voir ça en détail.
Oui. … Bon OK je détaille un peu plus ! 😀 Tout d’abord, il faut reconnaître que le charme de Kirby, dans son univers ultra mignon, opère immédiatement. Soyons clairs, on est loin d’un Elden Ring car ici tout est bucolique, apaisant, enchanteur.
Grâce à un aspect technique extrêmement soigné, l’expérience est satisfaisante à chaque instant. Chaque personnage est joli, les animations parfaites, les bruitages, les musiques, je me sens un peu idiot à lister tout ça, mais vraiment, on sent l’amour du travail bien fait et on est toujours surpris par de petits détails.
Manette en main, pareil, c’est un bonheur. Tous les mouvements sont fluides, la caméra est toujours parfaitement placée… Certains pouvoirs demanderont plusieurs essais avant d’être maîtrisés, mais il s’agit surtout de bien comprendre leur fonctionnement.
Et oui, j’ai parlé de pouvoirs ! Si vous ne le saviez pas, Kirby peut (quasiment) tout avaler, même les ennemis, et ainsi copier leurs capacités spéciales : épée, feu, foreuse, bombe… Non seulement il y a beaucoup de possibilités, mais en plus on peut les améliorer en retournant dans le village Waddle Dee qui nous sert de base.
D’ailleurs, d’autres activités y seront débloquées au fur et à mesure de votre progression. En plus de l’aventure principale, il y a plein de petites choses à faire ! Tout comme dans chaque niveau, il y a plein de petits secrets à découvrir… Sans parler des épreuves bonus, ou encore du transmorphisme, qui permet d’utiliser certains objets d’une manière… Heu… Très originale !
Vous l’avez compris, c’est un jeu généreux. On peut même jouer à deux, en coopération ! Comme tout jeu Kirby, c’est parfaitement adapté aux enfants, mais on peut y trouver son compte à tout âge : si finir tous les niveaux est à la portée des moins habiles, libérer tous les Waddle Dee et dénicher tous les secrets demandera un peu plus de réflexion et de dextérité. 🙂 Une chose est sûre : l’aventure n’est jamais frustrante.
Dans cet article, nous allons voir comment créer des composants unitaires réutilisables à l’aide de Svelte, avec pour objectif d’avoir un widget permettant d’afficher les derniers articles de Korben.info, que nous pourrons ensuite intégrer sur n’importe quel site.
À propos de ESENS
ESENS accompagne ses clients dans leurs projets d’innovation technologique, et ses équipes tout au long de leur parcours professionnel à Paris, Bordeaux, Lyon, Toulouse, Rennes, Nantes, Caen et Lille. Intégrer ESENS, c’est s’offrir la possibilité d’évoluer dans les domaines que vous souhaitez, puisque la société répond aux besoins web, mobile, IoT, design et big data de ses clients, qu’ils soient des startups ou des leaders historiques de leur marché.
Mais la passion première d’ESENS, c’est l’innovation, et ils mettent tout en œuvre pour l’assouvir via les travaux de recherche de leur Lab et les développements de Produits internes de l’Agence.
Donc que vous soyez développeur.se front, back ou full stack, ingénieur.e en BI ou en Big Data, Tech Lead confirmé.e ou jeune diplômé.e, ESENS priorise avant tout l’esprit d’équipe etla motivation pour recruter ses collaborateurs.
Commençons maintenant par poser les bases de ce tuto Svelte :
Qu’est-ce qu’un Web Component ?
Les Web Components sont un ensemble de plusieurs technologies du Web qui permettent de créer des éléments personnalisés, réutilisables et unitaires. Cela signifie que leur code et leurs styles sont isolés pour chaque composant, et qu’ils peuvent donc être utilisés au sein de n’importe quelle page ou application Web.
Regardons un peu comment se compose un Web Component :
Un exemple de Web Component tel que représenté dans les sources d’une page web
Les Web Components utilisent l’API Custom Element pour créer des balises avec un nom personnalisé.
Ils utilisent le Shadow DOM pour isoler les fonctionnalités et styles dans un arbre DOM masqué au reste de la page.
Ils peuvent être constitués de Gabarits HTML tels <slot> et <template> non affichés sur la page…
… mais qui permettent entre autres de rajouter du contenu à votre composant au moment de son utilisation.
Ces fonctionnalités sont disponibles sur l’ensemble des navigateurs ou presque, et vous pourriez même les utiliser nativement pour créer vos Web Components.
Cela peut s’avérer ardu cela dit, car il vous faudra également prendre en compte et gérer les différentes étapes du cycle de vie du composant ainsi créé.
Heureusement, il existe un grand nombre de solutions permettant la création de ces Web Components, dédiées à leur développement ou non, comme présenté dans cette comparaison des différents outils.
Dans le cadre de cet article, nous étudierons comment développer des Web Components à l’aide de Svelte, un framework minimaliste, performant, et de plus en plus populaire.
Qu’est-ce que Svelte ?
Svelte est un framework lancé en 2016, servant à créer des applications web basées sur des composants.
Ce framework a comme particularité de ne pas utiliser le Virtual DOM, modifiant ainsi directement le DOM, ainsi que de passer plutôt par une compilation vers du pur JavaScript, permettant d’avoir une application plus légère et plus rapide puisque la page n’est plus obligée d’embarquer le code du framework.
Svelte offre aussi des éléments qui permettent d’utiliser beaucoup moins de code que d’autres frameworks comme React ou Vue, ce qui profite également à la légèreté des livrables.
Développer un composant Svelte
Comme nous vous le disions plus tôt, l’objectif de ce tutoriel est de créer un composant listant les derniers articles deKorben.info. Pour ce faire, nous allons utiliser le flux RSS gracieusement mis à disposition : https://korben.info/feed.
Nous commencerons par créer un composant Svelte standard, et nous verrons ensuite comme faire en sorte que ce composant puisse être utilisé comme Web Component.
Il existe plusieurs méthodes pour créer un projet Svelte utilisant différents outils de compilation. Aujourd’hui, nous utiliserons le template par défaut recommandé par Svelte sveltejs/template, qui va initialiser notre projet avec une configuration rollup.js et un exemple de composant.
Commençons donc par récupérer et installer ce template, à l’aide de l’utilitaire degit :
npx degit sveltejs/template web-component-korben
cd web-component-korben
npm install
Ce qui nous génère un projet avec la structure suivante :
Vous pouvez ensuite exécuter la commande npm run dev pour lancer et exposer votre application :
Notre premier Hello World en Svelte !
Créons maintenant un nouveau fichier Korben.svelte à côté du fichier main.js, composé d’une balise <script> contenant la logique du composant permettant de récupérer les articles, d’une balise <style> dans laquelle on définit la feuille de style propre à ce composant et enfin de la structure HTML du composant.
Dans la section HTML de notre composant, vous pourrez observer quelques-unes des nombreuses directives propres à Svelte :
{#await} pour traiter les promesses et observables, ici, le retour asynchrone de fetchKorbenArticles(). Vous pouvez également observer l’utilisation de {:catch}, qui nous permet de traiter les erreurs remontées par notre méthode de récupération d’articles.
{#if} pour gérer les conditions.
{#each} pour parcourir des tableaux.
{@html } pour insérer du contenu HTML.
Notre composant prêt, il est maintenant temps de l’importer et de l’afficher dans notre composant racine : App.svelte
<script>
import Korben from "./Korben.svelte";
</script>
<Korben />
Cela fait, vous devriez pouvoir voir dans votre navigateur la liste des derniers articles de Korben.info
Notre widget en action
Transformer notre composant en Web Component
Pour pouvoir être utilisé en tant que Web Component, nous allons devoir configurer notre composant pour qu’il soit utilisé en tant que Custom Element, et non pas en tant qu’élément Svelte.
Commençons par définir le nom de notre balise HTML, en définissant le tag au début de notre fichier Korben.svelte :
Nous devons également préciser à notre compilateur que nous avons besoin de compiler des éléments faisant partie de l’API Custom Element, en modifiant le fichier de configuration rollup.config.js et en y ajoutant la propriété customElement dans les options de compilation :
En exécutant la commande npm run build, nous pouvons désormais construire un bundle de notre application en vanilla JavaScript, c’est-à-dire sans librairie additionnelle. Cela va produire un fichier public/build/bundle.js que nous pouvons ensuite insérer dans n’importe quelle page HTML.
Cela dit, notre composant a ici été compilé avec l’ensemble des autres composants de notre projet, et nous souhaiterions plutôt que notre livrable ne contienne pas de code non utilisé par notre Web Component, afin qu’il soit le plus léger possible.
Pour ce faire, nous avons juste besoin de modifier notre fichier rollup.config.js, pour passer le fichier de notre composant en entrée et non pas le point d’entrée de l’application:
À la construction, un nouveau fichier public/build/bundle.js est alors créé, qui ne contient cette fois que le code strictement nécessaire à notre Web Component, qu’on peut alors intégrer au sein de n’importe quel site.
C’est bon, vous savez désormais créer un Web Component avec Svelte !
Intégrer le Web Component dans un site existant
Votre composant compilé, il est maintenant aisé de l’intégrer à n’importe quel site web, comme nous avons pu le faire sur le bas de page de notre site esensconsulting.com :
Voilà, comme vous avez pu le voir, il est très simple de créer nos propres Web Components à l’aide de Svelte, et il ne tient plus qu’à vous de créer et partager vos idées de composants
Vous pouvez retrouver le code de notre composant sur Github et l’ensemble de nos articles sur le blog d’ESENS.
Vous êtes développeur.se front, back ou full stack, confirmé.e ou jeune diplômé.e ? ESENS recherche avant tout un bel esprit d’équipe pour vous accompagner tout au long de votre projet de carrière.
VGC Software a mis au point une technologie permettant de faciliter la création d’illustrations et d’animations indépendamment de la résolution. Vous le savez, en animation, pour que ça rende bien, l’oeil humain a besoin de percevoir un minimum de 24 images par seconde. En dessinant à la main, cela signifie qu’il faut produire 24 dessins pour une seconde de film.
Avec son logiciel VPaint, encore en beta, il est possible gratuitement de dessiner à la main et ensuite définir la largeur des traits, leur courbure, leur lissage en vectoriel, et mettre ensuite tout ça en couleur.
Mais le plus beau là-dedans, c’est qu’il devient possible ensuite de créer une animation en dessinant chaque image ou en générant automatiquement les images de transition. L’outil intègre également un système de calques, ce qui permet de superposer plusieurs vues.
Même si je me doute que les professionnels de l’animation utilisent des outils beaucoup plus complexes et onéreux, VPaint permet à tous de créer par exemple un petit dessin animé, une animation pour un site web voire un logo à main levée qui sera ensuite « corrigeable » facilement.
Si vous n’avez pas d’ami, pas de famille, pas de travail et peu d’interactions sociales, il est temps de vous sortir les doigts de la combinaison spatiale pour vous rendre sur la Station Spatiale 14 !
Grâce à ce RPG libre et open source, vous allez pouvoir rejoindre une mission spatiale dans laquelle vous incarnerez un astronaute qui devra joué son rôle à la perfection. L’idée de jeu, c’est vraiment de faire du roleplay (jeu de rôle), c’est-à-dire de jouer à fond son personnage comme si c’était la vraie vie.
Il pleins de serveurs disponibles donc à vous de choisir la communauté qui vous plaira le plus, et vous pourrez embrasser une carrière d’astrobiologiste ou de clown de l’espace. Bref, devenir presque comme Thomas (Pesquet).
Comme c’est un logiciel libre, il n’est pas simple à prendre en main, donc il faudra vous accrocher. N’oubliez pas que pour vous déplacer, ce sera les touches WASQD à l’ancienne.
Si vous faites des scripts en bash, déjà ça veut dire que vous êtes une belle personne. Mais ça veut également dire que Google pense à vous.
En effet, cette petite entreprise qui un jour sera connue dans le monde entier, j’en suis sûr, a mis en ligne sur son Github un outil qui s’appelle ZX et qui permet d’écrire des scripts beaucoup plus simplement et beaucoup plus rapidement.
Reposant sur NodeJS, ZX ne perdra pas tous ceux qui sont déjà familiers avec JavaScript et Node.js. ZX a la particularité de faciliter la création de child_process et la gestion des messages sortants (stdout et stderr).
Prenons un exemple type hello world qui va utiliser la commande « ls » pour lister les fichiers d’un répertoire et récupérer la sortie de cette commande.
On va d’abord créer un répertoire :
mkdir hello
cd hello
Puis on va initialiser un nouveau projet dans le dossier :
npm init --yes
Ensuite, pour installer zx, il faudra passer par npm comme ceci :
npm install --save-dev zx
On va ensuite créer un script avec l’extension .mjs
nano hello.mjs
Dont voici le code… En gros, on initialise le shebang et y’a plus qu’à utiliser les fonctions de récupération des commandes comme elles sont décrites dans la documentation.
Ainsi, on importe la fonction $ (shell) et on lui passe la commande ls. On récupère la sortie (stdout) de ls dans la variable output et on affiche cette variable.
ZX est une façon agréable de faire des scripts bash avec NodeJS sans trop se prendre la tête. Vous pouvez même mixer ça avec de la doc en markdown pour exécuter le contenu « code » contenu dans un fichier .md.
Évidemment, je vous recommande lire la doc pour aller au-delà de mon petit exemple.
Les plus écolos d’entre vous font sûrement attention à ce qu’ils mangent, à leur moyen de locomotion, à leurs achats en ligne… Mais est-ce que vous faites attention à la consommation électrique de vos serveurs et autres machines virtuelles ?
Pas forcement, car oui ce n’est pas simple à mesurer. Mais grâce à Scaphandre, vous allez pouvoir prendre connaissance de la consommation électrique de vos serveurs bare metal, de vos machines virtualisées (kvm, qemu)…etc. et pourquoi pas, afficher tout ça dans de jolis tableaux de bord.
Le but de Scaphandre est de permettre aux entreprises comme aux particuliers de connaître en détail la consommation électrique et de récupérer des données pour ensuite les injecter dans des outils comme Riemann ou Warp10 et de les exporter au format JSON.