Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierFlux principal

CSS Compatibility Checker – Votre allié pour un code parfaitement compatible avec tous les navigateurs

Par : Korben
25 avril 2024 à 07:00

Et si aujourd’hui, on parlait un peu de l’extension CSS Compatibility Checker pour Visual Studio Code ? Un outil juste dingue qui va vous aider à voir en un clin d’œil si votre code est compatible avec tous les navigateurs. Plus besoin de passer des heures à éplucher la doc ou de croiser les doigts en espérant que ça passe, cette petite merveille va vous changer la vie !

Imaginez un peu le topo : vous êtes tranquillou en train de tapoter votre CSS, vous balancez une propriété backdrop-filter pour flouter votre background avec classe et là bim 💥, l’extension vous remonte direct que c’est pas compatible avec certaines vieilles versions de navigateurs.

Ou alors vous utilisez un mot-clé un peu exotique genre unset et hop, elle vous alerte que c’est potentiellement casse-gueule. C’est ti pas beau ça ?

CSS Compatibility Checker s’adresse donc aux développeurs frontend un peu soucieux de la compatibilité de son code. Je sais, ils ne sont pas nombreux ^^. En un survol de souris, vous avez accès à toutes les infos dont vous avez besoin : si telle syntaxe, fonction ou propriété est dépréciée, non-standard, expérimentale ou pas supportée partout. Et c’est valable pour un tas de versions de navigateurs différentes !

Pour en profiter, vous devrez installer l’extension depuis la marketplace de VS Code, et ensuite il vous suffit d’ouvrir un fichier CSS, SCSS ou LESS et de laisser le curseur survoler l’élément qui vous intéresse. Et là, magie, une petite bulle s’affiche avec toutes les infos de compatibilité. De quoi prendre les bonnes décisions pour votre projet !

Alors certes, CSS Compatibility Checker ne va pas non plus révolutionner le monde du développement web du jour au lendemain mais pour tous ceux qui en ont un peu ras la casquette de se farcir des heures de tests sur 15 versions d’Internet Explorer, c’est définitivement une extension à avoir sous la main. Et puis c’est gratuit et open-source en plus, alors que demande le peuple ?

Merci à Lorenper pour le partage !

Flyde – Comme scratch mais pour les vrais dev

Par : Korben
23 avril 2024 à 07:00

Bonne nouvelle ! Flyde, un nouvel outil de programmation visuelle pour les développeurs, vient de sortir en Alpha et ça déchire grave !

Bon, je vous vois venir : « Encore un énième outil low-code à la mode… » Que nenni ! Flyde est vraiment unique et a été conçu pour s’intégrer parfaitement à votre base de code existante, que ce soit pour du back-end, du front, des scripts d’automatisation ou même des outils en ligne de commande.

Le truc de ouf avec Flyde, c’est qu’il permet de visualiser et de créer facilement les flux haut-niveau (flows en anglais) de votre application, tout en gardant votre code textuel pour ce qui est bas-niveau. En gros, il sublime votre code « de plomberie » qui intègre plusieurs API de manière hyper concurrente. Vos diagrammes sur Powerpoint deviennent enfin une réalité !

Et les avantages sont multiples :

  • La collaboration avec les profils non-dev (product owners, QA, support…) devient hyper intuitive. C’est comme si Zapier et votre base de code avaient un bébé !
  • Les flux servent de documentation vivante et toujours à jour pour les nouveaux membres de l’équipe.
  • La programmation visuelle ouvre de nouveaux modes de réflexion sur le code. Les nœuds s’illuminent même quand les données les traversent, c’est hypnotique !
  • Et les données de monitoring sont directement sur le « code » lui-même. Ainsi, le débogage n’a jamais été aussi rapide.

Mais alors comment ça marche ce truc ?

Et bien Flyde est composé d’un éditeur visuel (extension VS Code ou standalone), d’une bibliothèque d’exécution et d’une bibliothèque plutôt bien fournie de composants prêts à l’emploi.

Dans l’éditeur visuel, on construit des flux en connectant des nœuds via une interface « nodes-and-wires ». On peut alors mixer des nœuds customs et ceux de la bibliothèque de composants. Une fois un flux créé, on peut ensuite l’exécuter depuis son code en utilisant la bibliothèque d’exécution de Flyde. Et c’est là que la magie opère !

Car Flyde ne cherche pas à remplacer vos workflows existants mais à les sublimer. Contrairement à d’autres outils low-code qui vivent en dehors de votre base de code, Flyde s’y intègre complètement. Les fichiers de flux sont committés dans votre gestionnaire de version comme n’importe quel autre fichier, les branches, les pull requests, les revues de code fonctionnent de manière transparente, les flux sont exécutés depuis votre base de code, en réutilisant votre environnement de prod. Comme ça, pas besoin de gérer une plateforme externe ni de vous soucier de la sécurité. Enfin, ces même flux peuvent être testés avec vos frameworks de test habituels. Vous pouvez même écrire des tests en Flyde qui testent votre code traditionnel !

L’intégration avec le code existant se fait de deux manières astucieuses : Premièrement, les noeuds Flyde peuvent être des noeuds visuels ou des noeuds basés sur du code. On peut donc wrapper n’importe quelle fonction de sa base de code dans un noeud Flyde utilisable dans un flux.

Secondo, les flux de Flyde peuvent s’exécuter depuis votre code. Par exemple, si vous construisez my-cool-flow.flyde, il faudra appeler execute('my-cool-flow') dans votre code puis gérer la réponse. Les cas d’usage sont infinis : Gestionnaire de requêtes HTTP, bot, scripts, etc.

Bon, vous l’aurez compris, Flyde s’inspire des principes de programmation basée sur les flux (FBP) mais d’autres outils font déjà ça, comme Node-RED ou NoFlo, bien avant l’arrivée du bouzin.

Quelle est la plus-value de Flyde du coup ?

Déjà, Flyde adopte une approche plus pragmatique et simple que NoFlo qui était un poil trop inspiré par la vision puriste de J. Paul Morrison, l’inventeur du FBP. Ensuite, l’éditeur est une extension VS Code, donc intégré à votre IDE, alors que les autres ont des éditeurs indépendants voire carréement datés. Et surtout Flyde est davantage taillé pour coexister avec les bases de code traditionnelles et toucher un public de développeurs plus large sur des projets variés.

Si vous voulez vous faire la main sur Flyde, le mieux est d’aller direct sur la sandbox en ligne qui permet de créer et d’exécuter des flux dans le navigateur. Puis jetez un œil aux tutos pour intégrer Flyde dans un vrai projet.

Perso, je vois plusieurs cas d’usage hyper prometteurs pour Flyde. C’est d’abord un super accélérateur pour les juniors et les non-devs qui pourront prototyper rapidement des trucs qui claquent sans se prendre la tête. Ca permet également de booster la collaboration en ouvrant sa base de code aux gens du marketing ou à l’équipe produit.

De plus, c’est un formidable outil pédagogique aussi ludique que scratch pour enseigner des concepts de programmation avancés aux étudiants. Sans oublier le gain de productivité pour les devs expérimentés qui aiment bien avoir une vue d’ensemble sur des architectures d’API ou de microservices complexes.

Bref, je suis convaincu que Flyde (ou un de ses futurs fork) va changer notre façon de coder dans les années à venir. Si vous couplez ça à l’IA, ça va faire un malheur.

Rust chez Google – Une productivité doublée et du code plus fiable

Par : Korben
1 avril 2024 à 06:17

Ça y est, la vague Rust déferle sur la Silicon Valley et même le géant Google n’y échappe pas ! Le langage de programmation qui monte, qui monte, s’installe peu à peu dans les couloirs de la firme de Mountain View et visiblement, il fait des ravages… mais dans le bon sens du terme !

Lors de la récente conférence Rust Nation UK, Lars Bergstrom, directeur de l’ingénierie chez Google, a lâché une petite bombe : les équipes de dev qui sont passées à Rust ont vu leur productivité doubler par rapport à celles qui utilisent encore C++ !

On savait déjà que Rust était prometteur, avec sa gestion de la mémoire ultra safe et son système de « ownership » qui évite les erreurs de segmentation. Mais de là à imaginer des gains de productivité pareils, personne n’osait en rêver !

Et pourtant, c’est bien réel puisque quand une équipe Google migre un projet C++ vers Rust, elle divise par deux le temps nécessaire pour le développer et le maintenir. C’est énorme ! Surtout quand on sait à quel point le développement en C++ peut être chronophage et complexe. Mais alors comment expliquer un tel boost de performance ?

D’après Lars Bergstrom, c’est très simple : Rust inspire confiance. Les développeurs se sentent plus sereins quand ils codent en Rust, car ils savent que le compilateur va les aider à éviter toute une classe de bugs vicieux liés à la gestion de la mémoire. Résultat, ils passent moins de temps à débugger et plus de temps à ajouter des fonctionnalités. Et ça, c’est bon pour le moral des troupes et pour la vélocité des projets !

Autre avantage de Rust : sa courbe d’apprentissage. Contrairement à ce qu’on pourrait penser, les développeurs Google ne mettent pas des mois à être opérationnels en Rust. En moyenne, il leur faut environ 2 mois pour se sentir à l’aise et 4 mois pour retrouver leur niveau de productivité C++.

C’est sûr, Rust n’est pas le langage le plus simple à prendre en main, avec ses concepts de ownership et de borrowing qui peuvent paraître abstraits au début. Mais une fois franchie cette étape, on découvre un langage puissant, expressif et fiable. Et puis, il faut bien l’avouer, il y a un petit côté « hype » à coder en Rust en ce moment. C’est un langage qui a le vent en poupe et tout le monde en parle !

Source

Black – Pour formater votre code Python rapidement et sans douleur

Par : Korben
24 mars 2024 à 08:00

Si vous codez avec vos gros doigts boudinés toute la journée, notamment en Python, il se peut que comme 99% des codeurs, vous ne vous encombriez pas avec le formatage de votre code. Pas le temps, et l’IDE fait le minimum syndical donc ça vaaaaa.

C’est pourquoi aujourd’hui, je vous propose d’aller plus loin grâce à Black, un outil qui automatise la mise en forme de votre code Python pour qu’il soit cohérent, lisible et conforme aux normes établies notamment de PEP 8.

Pour l’installer :

pip install git+https://github.com/psf/black

Il nettoie vos merdes, mets des retours à la ligne dans vos tableaux, les fonctions, les définitions…etc., vous permet de gérer la longueur de vos lignes de code, enlève les retours à la ligne ou les points-virgules en trop, ou encore remplace les single quotes (‘) par des double quotes (« )… Et il y a encore plein d’autres petites améliorations dont vous pourrez consulter la liste ici.

black script.py

Un mode expérimental est également dispo, ce qui vous permettra de voir comment votre code sera formaté dans les prochaines versions.

black --preview script.py

Parmi les prochaines améliorations notables, on peut citer la gestion améliorée des chaînes multilignes dans les appels de fonction, où Black est désormais plus « intelligent » pour éviter d’introduire des sauts de ligne supplémentaires. En effet, avec cette nouvelle fonctionnalité, Black examine le contexte autour de la chaîne multiligne pour décider si elle doit être en ligne ou divisée en plusieurs lignes. Par exemple, lorsqu’une chaîne multiligne est passée à une fonction, Black ne divise la chaîne multiligne que si une ligne est trop longue ou si plusieurs arguments sont passés.

Il est également intéressant de noter les améliorations apportées à la gestion des parenthèses dans les dictionnaires. Désormais, pour dictionnaires avec de longues valeurs, elles sont enveloppées de parenthèses, et les parenthèses inutiles sont supprimées.

Black s’utilise donc en ligne de commande, peut aussi tourner dans un Docker et peut surtout être intégré dans vos process CI/CD pour « corriger » et formater automatiquement tout ce que vous récupérez dans les push sur le Git. Notez qu’une mesure de sécurité ralentit un peu le traitement, puisque Black vérifiera que le code reformaté produit toujours un AST (Abstract Syntax Tree) valide qui est effectivement équivalent à l’original. Si vous vous sentez en mode grosse confiance, vous pouvez utiliser le paramètre --fast pour aller encore plus vite.

Bref, c’est un excellent formateur de code qui s’intègre aussi bien dans Vim que dans Visual Studio Code ou utilisable en ligne de commande à l’ancienne comme on aime.

À découvrir ici.

Merci à Lorenper

Créez vos propres jeux Game Boy avec GB Studio !

Par : Korben
22 mars 2024 à 08:00

Hier, je vous parlais de Sprite Fusion pour faire vos niveaux 2D mais peut-être que vous rêvez carrément de créer vos propres jeux vidéo pour Game Boy. Seulement, voilà, vous ne savez pas par où commencer ?

Ne cherchez pas plus loin ! GB Studio est là, et c’est une application très facile à prendre en main qui offre aux débutants comme aux experts de créer des jeux rétro pour votre console portable préférée. Disponible sur Windows, Mac et Linux, GB Studio offre ainsi une bonne expérience de création de jeux sans avoir besoin de connaissances en programmation.

Hé oui !

Avec son interface drag’n’drop (glisser-déposer) et son scripting visuel, GB Studio simplifie vraiment la création de jeux pour les personnes ayant peu ou pas d’expérience en programmation. Que vous souhaitiez créer un jeu d’aventure ou un jeu de plateforme, GB Studio prend en charge plusieurs genres de jeux pour vous donner la possibilité de créer votre chef-d’œuvre numérique.

L’un des aspects les plus intéressants de GB Studio est sa capacité à composer de la musique pour vos jeux. L’éditeur intégré permet une écriture musicale facile en offrant des modes de piano roll et de tracker pour créer vos propres mélodies pour accompagner l’action à l’écran.

Une fois votre jeu terminé, vous pouvez créer de véritables fichiers ROM pour les jouer sur n’importe quel émulateur Game Boy. En outre, GB Studio vous permet d’exporter votre jeu pour le web avec d’excellentes commandes mobiles. Il suffit de télécharger votre jeu sur Itch.io et de le partager avec le monde entier !

Pour ceux qui sont déjà familiarisés avec la programmation, GB Studio offre également des points d’accès pour les utilisateurs avancés afin d’accéder à la machine virtuelle (GBVM) du moteur de jeu et de modifier directement le code C et l’assemblage Z80 du moteur de jeu via des plugins.

Pour obtenir la dernière version de GB Studio, rendez-vous sur la page de téléchargement d’Itch.io, et pour les versions plus anciennes, consultez les archives sur GitHub. De plus, la documentation est également disponible en format PDF.

Puis une fois que vous aurez réalisé votre rêve, vous pourrez passer à l’étape supérieure en suivant ce tuto de HxC2001 qui vous expliquera comment le mettre sur une VRAIE cartouche comme à l’ancienne !

Elle est pas belle la vie ?

Merci à Lorenper

Code Scanning Autofix – GitHub lance la correction de vulnérabilités par IA

Par : Korben
21 mars 2024 à 10:09

Les failles de sécurité dans le code sont le cauchemar des développeurs et des équipes de sécurité et font surtout le régal des hackers. Alors pour y remédier, GitHub a décidé de sortir l’artillerie lourde avec Code Scanning Autofix ! Attention les yeux, cet outil mêle IA et analyse statique et nous fait la promesse de corriger les vulnérabilités en un clin d’œil pendant que vous codez.

Concrètement, Code Scanning Autofix (actuellement en bêta publique) est activé par défaut sur tous les dépôts privés des clients GitHub Advanced Security. Et devinez quoi ? Il gère déjà plus de 90% des types d’alertes pour JavaScript, TypeScript, Java et Python. De quoi mettre une sacrée claque à la dette de sécurité applicative !

En coulisse, cette magie opère grâce à deux technologies de pointe made in GitHub : Copilot pour l’IA et CodeQL pour l’analyse statique. Une fois Code Scanning Autofix activé, il vous propose des correctifs quasi tout cuits qui sont censés régler les deux tiers des vulnérabilités détectées, le tout sans trop d’efforts de votre part.

Voici un exemple de correctif proposé :

Pour chaque faille repérée dans un des langages pris en charge, vous obtenez une explication en langage naturel du correctif suggéré, avec un aperçu du bout de code à valider, modifier ou rejeter. Cela peut inclure des changements dans le fichier en cours, d’autres fichiers, voire des dépendances du projet. Bien entendu, vous gardez le contrôle et pouvez vérifier si le correctif résout bien le problème sans casser la fonctionnalité.

L’intérêt est donc de décharger les experts en sécurité de la fastidieuse traque aux vulnérabilités introduites pendant le développement. Ils pourront alors se concentrer sur la sécurité globale de leur projet.

GitHub promet d’étendre prochainement Code Scanning Autofix à d’autres langages, en commençant par C# et Go. Et pour en savoir plus, foncez sur la doc de GitHub !

Source

Sprite Fusion – Un éditeur de niveaux 2D pour vos jeux, utilisable directement dans le navigateur

Par : Korben
21 mars 2024 à 08:00

Mes amis, laissez-moi aujourd’hui vous parler de Sprite Fusion, un outil gratuit de conception de niveaux 2D qui vous permet de créer de magnifiques cartes de tuiles (les fameuses « tiles ») directement dans votre navigateur.

Grâce à cet éditeur vous allez pouvoir concevoir rapidement des niveaux pour vos propres jeux.

Pour commencer, il est très facile de charger vos ensembles de tuiles avec un simple glisser-déposer ou un copier-coller. Ensuite, avec l’éditeur de cartes de tuiles, vous pouvez créer vos niveaux en utilisant des sélections de tuiles uniques ou multiples.

Alors, qu’est-ce qu’une carte de tuiles, exactement ?

Et bien c’est une carte 2D composée de petites images répétées pour créer une carte. Les cartes de tuiles sont utilisées dans de nombreux types de jeux, comme des jeux de plateforme ou encore des RPG.

Avec Sprite Fusion, il est possible d’exporter directement votre carte en tant que Tilemap Unity native ou en tant que scène TileMap Godot. De plus, Sprite Fusion inclut un système automatique de tuiles facile à utiliser dès le départ pour une conception rapide du terrain. Vous n’avez pas besoin de code personnalisé, il vous suffit d’exporter votre carte de tuiles en tant que package Unity ou scène Godot et de la faire glisser et déposer dans votre moteur !

Pour ceux qui souhaitent partager leurs projets avec d’autres, Sprite Fusion permet également d’exporter vos projets au format JSON compact, facilitant ainsi le partage. Avec des exemples tels que Hazmat Pixel Art – Niveau 1, Mining Odyssey, Spritesheet Dashers et Tiled Map Retro Simulator, vous pouvez voir l’étendue des possibilités offertes par cet outil.

L’utilisation de cet éditeur est totalement gratuite et ne nécessite aucune création de compte. Il fonctionne avec les principaux navigateurs et vous pouvez l’utiliser sans aucune limitation pour un usage personnel ou commercial. Et si vous avez des questions, n’hésitez pas à les poser sur leur serveur Discord.

Spite Fusion prend également en charge les collisions, vous permettant de définir n’importe quelle couche en tant que collisionneur pour utiliser les collisions dans votre jeu. De plus, il propose une fonctionnalité d’auto-tiling, qui vous permet de placer automatiquement des tuiles en fonction de leurs voisines, facilitant ainsi la conception rapide de cartes de terrain.

A vous de tester maintenant !

Merci à Lorenper

LLM4Decompile – Quand l’IA se met à décompiler du binaire

Par : Korben
16 mars 2024 à 01:15

Imaginez un monde merveilleux où les secrets enfermés dans les binaires compilés ne seraient plus inaccessibles aux simples mortels que nous sommes…

C’est exactement ce que LLM4Decompile, le premier LLM (Large Language Model) open-source dédié à la décompilation, promet de réaliser. Fruit d’un travail de recherche innovant mené par une équipe de chercheurs passionnés, ce modèle révolutionnaire ouvre de nouvelles perspectives dans le domaine du reverse engineering.

Jusqu’à présent, la décompilation, c’est-à-dire le processus qui consiste à retrouver le code source à partir d’un exécutable compilé, restait un défi de taille. Les outils existants peinaient à produire un code lisible et compréhensible par les humains, ce qui est logique puisqu’il y a une grosse perte d’informations lors de la compilation. Mais ça, c’était avant l’arrivée de LLM4Decompile !

Entraîné sur un énorme dataset de 4 milliards de tokens de code C et d’assembleur x86, ce modèle de langage surpuissant a appris à décoder les secrets des binaires. Grâce à son architecture basée sur les Transformers et ses milliards de paramètres, il est donc capable de capturer les patterns et la sémantique du code à un niveau inédit.

Mais les chercheurs ne se sont pas arrêtés là. Ils ont aussi développé le premier benchmark standardisé pour la décompilation baptisé Decompile-Eval. Basé sur des problèmes de programmation réels, il permet d’évaluer la capacité des modèles à regénérer un code recompilable et ré-exécutable. Exit les métriques de similarité de tokens, place à des critères solides et pertinents ! LLM4Decompile parvient à recompiler 90% des binaires décompilés (oui oui, je me suis pas trompé) !

Mieux encore, 21% du code re-généré réussit tous les tests unitaires, démontrant une préservation de la logique du programme. C’est 50% de plus que GPT-4, pourtant considéré comme l’état de l’art.

Cerise sur le gâteau, LLM4Decompile est entièrement open-source. Les modèles pré-entraînés de 1,3 à 33 milliards de paramètres sont disponibles sur Hugging Face, prêts à être utilisés et améliorés par la communauté. Le code, les données d’entraînement et le benchmark sont aussi accessibles sur GitHub.

Bien sûr, LLM4Decompile n’est qu’un premier pas vers la décompilation par l’IA. Il reste limité au langage C et à l’assembleur x86, et ne gère pour l’instant que des fonctions isolées. Mais les perspectives sont immenses ! On peut imaginer étendre son champ d’action à d’autres langages et architectures, voire carrément l’utiliser pour transpiler automatiquement du code entre différents langages.

Les applications potentielles sont nombreuses : reverse engineering de logiciels legacy (ça veut dire obsolète mais encore utilisé.. .argh !), analyse de malware, portage de vieux jeux vidéos, etc. Même les vieux binaires qui sentent la naphtaline n’auront bientôt plus de secrets pour nous !

PR-Agent – Pour automatiser l’analyse des Pull Requests et bien d’autres choses sur vos projets Github, Gitlab…etc

Par : Korben
19 janvier 2024 à 08:00

Si vous contribuez à des projets open source sur Github, Gitlab ou encore Bitbucket et que vous devez vous palucher tous les jours des tonnes d’issues, de questions et des pull requests, voici un outil propulsé avec de l’IA qui devrait bien vous rendre service.

Cet outil c’est PR-Agent et c’est développé par CodiumAI. Il s’agit d’un agent IA utilisant GPT-4 capable de vous soulager en générant des descriptions de pull request claires et concises de manière automatique, de faire de la revue automatique de code, ou tout simplement répondre aux questions que les gens posent et reposent sans cesse.

PR-Agent est également capable, un peu à la manière d’un Github Copilot, de faire des suggestions pour améliorer le code qui se trouve sur votre dépôt, et bien sûr d’écrire les commits si besoin.

Pour cela, une fois que PR-Agent est lancé, il suffit d’employer les commandes suivantes :

  • Description automatique (/describe) : Génère automatiquement une description du PR (Pull Request) – titre, type, résumé, description du code et étiquettes.
  • Auto Review (/review) : Feedback ajustable sur le thème principal du PR, son type, les tests pertinents, les problèmes de sécurité, le score, et diverses suggestions pour le contenu du PR.
  • Réponse aux questions (/ask …) : Réponse à des questions en texte libre sur le PR.
  • Suggestions de code (/improve) : Suggestions de code committable pour améliorer le PR.
  • Mise à jour du Changelog (/update_changelog) : Mise à jour automatique du fichier CHANGELOG.md avec les changements du PR.
  • Trouver un problème similaire (/similar_issue) : Récupère et présente automatiquement les problèmes similaires.
  • Ajouter de la documentation (/add_docs) : Ajoute automatiquement de la documentation aux fonctions/classes non documentées dans le PR.
  • Générer des étiquettes personnalisées (/generate_labels) : Suggère automatiquement des étiquettes personnalisées basées sur les changements de code du PR.

Bref, gros, gros gain de temps. Si vous voulez le tester avant de le déployer sur vos dépôts, c’est possible sur le dépôt public de Codium AI en appelant l’agent comme ceci : @CodiumAI-Agent /COMMAND

À vous de jouer maintenant !

PR Agent est disponible ici et ça peut s’installer directement via Docker.

5 certifications Kubernetes pour prouver vos compétences en 2024

Par : Korben
12 janvier 2024 à 08:30

Kubernetes

— Article en partenariat avec Ambient IT —

Alors ce début d’année ? Vous avez déjà pris vos bonnes résolutions ? Parce que si ce n’est pas le cas, j’en ai une pour vous, et qui sera (peut-être) moins fatigante que le classique « se remettre au sport ». Ou mieux, prenez les 2 … oui je sais, je mets beaucoup de confiance en vous, mais j’ai décidé de commencer 2024 en voyant votre bon côté.

Et cette résolution, c’est de vous décider à mettre toutes les chances de votre côté si vous cherchez un boulot dans le fabuleux monde du Devops ou que vous souhaitez évoluer dans votre position (demander une augmentation, etc.). En effet, les formations Kubernetes proposées par Ambient IT sont parmi les plus reconnues. Ça va booster votre niveau d’employabilité pour les recruteurs, ou vous permettre de mieux négocier votre salaire … ce n’est jamais inutile ! En plus, vous avez le choix du format entre présentiel et classe virtuelle, vous n’aurez même pas l’excuse du froid ! Autant rentabiliser votre temps à la maison cet hiver 😉

Ce ne sont pas moins de 5 certifications officielles issues de la Fondation Linux qui sont disponibles : KCNA, KCSA, CKAD, CKA et CKS. Je vous présente ça tout de suite :

La formation KCNA (pour Kubernetes and Cloud Native Associate), c’est celle qui vous permettra de maitriser toutes les bases fondamentales de la techno, mais aussi l’écosystème du cloud natif. Vous allez apprendre les architectures, les conteneurs et leurs organisations, les APIs, l’observabilité et l’optimisation des applis cloud native, etc. Si vous commencez votre parcours, c’est par là que vous allez démarrer, car il n’y a besoin d’aucun prérequis. En plus elle est assez rapide à passer (1 journée). 

La Kubernetes and Cloud Security Associate (KCSA) de son côté est plus costaude (2 journées) et vous demandera de bien maitriser les bases. Sur 2 jours vous en apprendrez beaucoup plus sur la sécurité de votre environnement Kubernetes et du cloud natif : sécurité des pods, des conteneurs, des clusters et de l’infrastructure, modèles d’attaque (attaque réseau, codes malveillants …), etc. Vous apprendrez aussi à utiliser des choses comme l’outil en ligne de commande KubeCTL, Kubelet ou le mécanisme de sécurité RBAC.

Passons à la certification CKAD (sur 2 jours aussi) qui vous permet de devenir développeur d’application Kubernetes certifié. Comme son nom l’indique, elle vous donnera la possibilité de concevoir, configurer et lancer vos applis cloud natives. Mais aussi de les faire évoluer dans le temps. Ce sera donc l’occasion d’approfondir votre connaissance des pods, des services et mise en réseau ou encore du suivi (débug, observabilité, consommation de ressources …).

Ensuite nous avons la CKA qui vous amènera à devenir administrateur Kubernetes certifié. Du stockage, au dépannage, en passant par la planification de pods et les charges de travail, vous serez à même de tout gérer. Vous apprendrez aussi à mettre en place et à gérer un cluster avec KubeADM et pas mal d’autres choses.

Assez courte (1 jour), mais plutôt dense, la formation CKS (Certified Kubernetes Security Specialist) est, elle aussi, axée sécurité. De la mise en place à la protection d’un cluster, à la sécurisation du système, de la supply chain et des micro-services, en passant par la surveillance et la détection des attaques… vous deviendrez le spécialiste ultime de la sécu. Attention le niveau est relevé, il vous faut déjà posséder la certif CKA pour suivre cette certification et la formation Kubernetes avancée est un plus.

Ces formations durent chacune 1 ou 2 journées, donc c’est assez rapide et vous pouvez les cumuler au fil des semaines/mois. Elles sont proposées à des prix assez variés (de 995€ à 2190€ HT), prix qui comprend l’examen de passage de la formation (valeur 250€ à 395€). Et comme toujours, le bon plan c’est que vous pouvez faire valoir votre crédit CPF (compte personnel de formation) et d’autres aides. Petit point à prendre en compte tout de même, si les formations sont en français, les examens se font, eux, en anglais.

Pourquoi passer par Ambient IT pour ces certifications ? Déjà parce qu’ils sont partenaires officiels de la Linux Foundation ET Kubernetes Training Partner. Ensuite parce que les formateurs sont d’un très bon niveau, que vous pouvez suivre tout cela à distance et vous recevrez même des conseils pour être paré à vos examens. De quoi vous mettre dans les meilleures conditions possibles !

Promo spéciale Korben

Si vous me lisez régulièrement, vous savez que j’essaie toujours de vous dénicher de bons plans. Et c’est encore le cas aujourd’hui ! Sur 2024, si vous vous inscrivez à l’une des 5 formations certifiantes, lors de votre contact téléphonique avec Ambient IT, n’oubliez pas de mentionner que vous venez de la part de tonton Korben, vous aurez droit en cas d’échec au rattrapage (ce qui n’arrivera pas !). Si vous échouez à l’obtention de votre certification, votre rattrapage sera offert. C’est pas la classe ça ? Merci à Ambient IT de supporter notre communauté !

Formez-vous aux certifications kubernetes !

View Rendered Source – Une extension Chrome pour explorer les entrailles des pages web

Par : Korben
2 janvier 2024 à 08:00

La curiosité est une des meilleures qualités d’un bon développeur web. Je dirais même que c’est une qualité essentielle pour quiconque veut comprendre les arcanes du web.

Aujourd’hui, je vais vous parler d’un outil qui va aiguiser cette curiosité et vous faire explorer les entrailles des sites web comme jamais auparavant. J’ai nommé: « View Rendered Source« .

« View Rendered Source », c’est une extension Chrome légère qui vous montre comment le navigateur a construit la page HTML d’origine en un Document Object Model (DOM) fonctionnel. Et non pas uniquement le code renvoyé par le serveur que vous auriez avec les outils de dev classique de Chrome.

Si, comme moi, vous aimez savoir comment les choses fonctionnent, vous allez adorer ce truc !

Pour les non-initiés, le DOM est comme la colonne vertébrale d’une page web. Il s’agit d’une représentation structurée de la page qui permet à JavaScript de la modifier à la volée. C’est comme le plan d’une maison que l’architecte utilise pour savoir où placer les murs, les fenêtres et les portes.

L’extension « View Rendered Source » vous permet de voir ce plan, mais pas seulement. Elle vous montre aussi comment il a été modifié en temps réel par JavaScript.

L’extension se divise en trois sections : le code source brut, la page rendue après interprétation en DOM, et la différence entre les deux. L’extension offre également une solution pour émuler le code source à destination des appareils mobiles.

Si ça vous dit de tester, allez sur le Chrome Web Store et installez « View Rendered Source ».

Nosey Parker – L’outil incontournable pour détecter les secrets dans vos dépôts Git

Par : Korben
23 décembre 2023 à 08:00

On a tous des secrets à cacher… Mais ça n’empêche pas certains développeurs un poil tête en l’air de placer ces secrets sur leurs dépôts Git. Vous l’aurez compris, quand je parle de « secrets » je parle surtout d’identifiants et de clés API qui pourraient malencontreusement se retrouver en clair dans des fichiers de code ou des textes qui seraient embarqués sur Github lors d’un git push.

Alors que faire pour éviter cela ?

Et bien que ce soit sous un aspect défensif ou offensif, Nosey Parker est l’outil qui vous faut pour dénicher les petits secrets cachés dans les coins sombres des codes et des fichiers textes de Github.

L’outil est capable de scanner des fichiers, des répertoires et l’historique entier de dépôts Git et de les passer au peigne fin à l’aide d’expressions régulières et quand il trouve quelque chose, hop l le mets de côté dans un datastore.

Cela va donc vous permettre de faire des audits de code ou tout simplement de vérifier que vous n’êtes pas ce développeur distrait dont je parlais en introduction d’article.

Pour utiliser Nosey Parker, vous pouvez le lancer via Docker ou récupérer l’outil pour macOS ou Linux ici.

Ensuite, pour scanner un dépôt git local, et mettre les résultats dans un datastore, il faut faire comme ceci :

noseyparker scan --datastore cpython cpython.git

Si vous voulez carrément scanner un dépôt Git, rien de plus simple :

noseyparker scan --datastore noseyparker --git-url https://github.com/praetorian-inc/noseyparker

Pour afficher à nouveau les trouvailles d’un Scan depuis son datastore :

noseyparker summarize --datastore noseyparker

Et pour avoir le rapport détaillé :

noseyparker report --datastore noseyparker

Et voilà, vous connaitrez en détail toutes vos fuites de données. Évidemment, c’est à utiliser avec intelligence pour sécuriser votre propre code, ou dans des missions d’audit sur lesquelles vous avez été validé.

Nosey Parker est à découvrir ici.

Screenshot To Code – Quand l’IA génère le code d’une page web à partir de sa capture écran

Par : Korben
13 décembre 2023 à 08:00

Vous êtes développeur, mais vous n’êtes pas designer et encore moins spécialiste en UX / UI… Alors que faire ?

Et bien le mieux c’est encore de pomper ce qu’on fait les autres. Enfin, s’inspirer… Vous m’avez compris. Et pour cela, il existe un outil merveilleux qui s’appelle Screenshot To Code et qui comme son nom l’indique, est capable de convertir une simple capture écran d’interface web en HTML / CSS Tailwind.

Mais comment est-ce possible ? Et bien Screenshot To Code utilise simplement GPT-4 Vision pour analyser le code et Dall-E pour générer des images similaires.

Vous pouvez l’installer sur votre ordinateur en suivant les instructions du Github, voire le faire tourner sur un Docker. Mais si c’est juste pour tester, le plus simple c’est encore d’aller sur cette démo en ligne.

Pour l’avoir testé, la génération du code est impressionnante, mais niveau rendu, on est très loin de la copie parfaite. Cependant, comme on peut ajuster en discutant avec l’IA, il est possible de s’approcher du rendu voulu.

Ensuite y’a plus qu’à exporter le code et voilà ! Vous avez une maquette HTML / CSS d’un site à moindres frais (ça vous coûte l’utilisation de l’API d’OpenAI)

À découvrir ici.

Pixi – Pour créer des environnements de dev aux petits oignons

Par : Korben
11 décembre 2023 à 08:00

Que vous soyez sous macOS, Linux ou Windows, si vous êtes développeur, alors Pixi risque de vous intéresser. Ce projet écrit en Rust, au logo « apéricube » n’est ni plus ni moins qu’un gestionnaire de paquets fonctionnant sur l’écosystème Conda et permettant d’installer toutes les libs et outils dont vous auriez besoin dans vos projets.

Pixi est libre et open source et s’inspire fortement de Cargo pour ceux qui connaissent. Il supporte Python, R, C/C++, Rust, Ruby et bien d’autres langages. Et permet de reproduire des environnements à l’identique entre les OS sans avoir besoin de Docker, tout simplement grâce aux fichiers lockfiles qu’il crée automatiquement.

Pour installer Pixi sous Linux et macOS :

curl -fsSL https://pixi.sh/install.sh | bash

Et sous Windows, ouvrez un Powershell et entrez la commande :

iwr -useb https://pixi.sh/install.ps1 | iex

Ensuite y’a plus qu’à créer votre projet comme ceci :

pixi init pixi-hello-world
cd pixi-hello-world

Ajoutez ensuite les dépendances dont vous avez besoin :

pixi add python

Ou si vous voulez une version spécifique du paquet :

pixi add python==3.10

Créez le code dont vous avez besoin (ici ce sera donc hello_world.py) :

def hello():
    print("Salut tout le monde !!!!")
 
if __name__ == "__main__":
    hello()

Puis lancez ce code dans votre environnement :

pixi run python hello_world.py

Sachez qu’il est également possible de mettre ce code dans une tâche (task) comme ceci :

pixi task add hello python hello_world.py

Mon code étant dans la task « hello », je peux maintenant l’appeler comme ceci :

pixi run hello

Et pour avoir un Shell dans l’environnement que vous venez de créer :

pixi shell

Et une fois que vous êtes content, y’a plus qu’à faire un

pixi build

Pour récupérer un package Conda prêt à être déployé ailleurs.

Bref, super pratique pour mettre en place un environnement aux petits oignons avec les bons paquets et les bonnes versions sans se prendre la tête. Cela permet d’avoir des environnements isolés facilement reproductibles et donc partageables.

À tester d’urgence 🙂

Protégez votre application Android des curieux grâce à la lib ARTful

Par : Korben
1 décembre 2023 à 08:00

Aujourd’hui, je vous présente ARTful, une bibliothèque Android native pour modifier l’Android Runtime (ART) sur Android 13 et 14. Ça va faire plaisir aux développeurs qui veulent mettre des bâtons dans les roues des curieux qui aiment jouer avec les apps Android en les analysant d’un peu trop près.

La magie de cette bibliothèque réside dans sa capacité à changer dynamiquement l’implémentation de n’importe quelle méthode statique, éliminant l’utilisation de références en clair et entravant l’ingénierie inverse.

Pour vous donner un aperçu concret de ce que ARTful peut faire pour vous, imaginez une application où les développeurs veulent éviter que les pirates ne mettent le nez dans leur code. Grâce à ARTful, ils peuvent modifier dynamiquement les méthodes statiques pour les rendre plus résistantes à l’ingénierie inverse. Et voilà, mission accomplie !

Et pour que tout le monde puisse profiter des bienfaits de cette bibliothèque, les concepteurs ont choisi de la rendre open source ici : Github ARTful.

Eclatez-vous bien !

Dites adieu à Postman grâce à Bruno qui vous aidera à concevoir les meilleurs API de l’univers

Par : Korben
10 novembre 2023 à 08:00

Amis du côté obscur du dev, vous avez sûrement déjà utilisé Postman pour tester vos APIs. Et je ne vous en veux pas car c’est un outil vraiment puissant qui a su trouver sa place dans le cœur de beaucoup de développeurs.

Cependant, vous savez aussi à quel point il peut être un peu lourdingue, surtout lorsqu’il s’agit de l’utiliser pour collaborer sur un gros projet.

Heureusement, j’ai quelque chose de plutôt cool à partager avec vous : Bruno. Et contrairement au ministre de l’économie du même prénom, celui-ci vous sera utile puisqu’il s’agit d’un projet open source qui promet de révolutionner le monde des clients API.

Pour bien saisir l’intérêt de Bruno, imaginez un outil qui vous permet de stocker vos collections API pour ensuite pouvoir les conserver et les tester directement depuis votre dépôt de code source, grâce au langage Bru. Vous pouvez ainsi profiter d’un contrôle de version simple et dire adieu aux espaces de travail encombrants. Génial pour bosser en collaboration avec vos collègues sans prise de tête.

Pour commencer avec Bruno, il suffit d’installer l’outil en allant le télécharger pour Windows, macOS et Linux sur le site officiel. Ensuite vous n’avez plus qu’à y décrire toute l’API que vous êtes en train de concevoir. Je vous invite à regarder cette vidéo pour bien comprendre comment ça fonctionne :

Bruno est également disponible en ligne de commande. Vous pouvez l’installer en utilisant votre gestionnaire de paquets Node préféré, comme NPM :

npm install -g @usebruno/cli

Ensuite, avec Bruno CLI en main, vous pouvez exécuter des collections entières d’API via des commandes simples directement depuis votre terminal. Cela facilite grandement le processus de test et d’automatisation des API.

Pour utiliser la CLI, commencez par accéder au répertoire contenant votre collection d’API et exécutez la commande suivante :

bru run

Vous pouvez également exécuter une requête unique comme ceci :

bru run request.bru

Ou bien, si vous voulez exécuter toutes les requêtes d’un dossier, utilisez cette commande :

bru run folder

Pour spécifier un environnement, ajoutez simplement l’option --env :

bru run --env env_name

Notez que Bruno existe également sous la forme d’une extension pour Visual Studio Code.

En somme, Bruno est une alternative légère et polyvalente aux clients API traditionnels, qui propose une approche plus simple et plus efficace pour travailler avec des collections API. Avec son intégration transparente au dépôt de code source et à la ligne de commande, Bruno facilite le travail en équipe et rend le développement d’API agréable et sans tracas.

De quoi dire adieu à Postman, non ?

Découvrez Flex Layout de Penpot – L’outil libre de design et de prototypage pour vos projets d’apps web et mobiles

Par : Korben
26 octobre 2023 à 08:36

— En partenariat avec Penpot —

Aujourd’hui, je vous invite à découvrir avec moi un outil de design que certains d’entre vous connaissent peut-être déjà : Penpot.

Si ce nom ne vous dit rien, ne vous en faites pas, je vais tout reprendre depuis le début et vous montrer pourquoi il est devenu un incontournable pour de nombreux designers et développeurs.

L’outil se présente comme une solution libre et open source que vous pouvez auto-héberger, mais qui est également accessible en ligne via votre navigateur. Conçu pour aider à la conception de designs pour les applications, les sites web et bien plus encore, il s’avère être un outil extrêmement intuitif. En quelques clics, vous placez vos éléments de design, des boutons, des images et d’autres composants, puis vous laissez Penpot générer le rendu du prototype et même le code CSS pour vous. Oui, directement du code CSS à intégrer dans vos projets web sans forcement avoir besoin de maitriser tous les paramètres de CSS.

L’une des grosses mises à jour récente de Penpot c’est son support du « flex layout ». Pour ceux qui ne sont pas familiers avec le terme, le flex layout (ou flexbox) est une norme CSS qui permet aux éléments de s’adapter automatiquement à la taille de l’écran ou de la fenêtre. Imaginez un bouton dont le texte change : au lieu de déborder, avec flexbox, le bouton s’agrandit. Penpot vous permet ainsi de créer des designs responsives, qui s’adaptent à toutes les tailles d’écran.

Evidemment, pour vous faire découvrir tout ça en détails, je vous ai concocté une vidéo tutoriel très détaillée de Flex Layout, pour que vous puissiez bien comprendre son fonctionnement et l’utiliser ensuite dans vos propres projets de sites web ou d’applications mobiles. J’espère que ça vous plaira !

A découvrir ici !

Comment automatiser un tweet intelligent à partir d’un flux RSS grâce à ChatGPT ?

Par : Korben
25 octobre 2023 à 09:15

Vous êtes-vous déjà demandé comment rendre votre compte Twitter qui poste vos news de blog, un peu plus « intelligent », ou du moins, un peu moins monotone ?

Et bien, aujourd’hui, je vais vous montrer comment faire exactement cela.

Dans cette vidéo, on va décortiquer ensemble un script Python qui permet de récupérer la dernière news d’un flux RSS, d’en faire un tweet unique grâce à ChatGPT et de poster tout ça sur Twitter. Oui, oui, vous avez bien lu : on va mixer l’automatisation de récupération de news et la magie de l’IA pour pondre des tweets qui ont du sens et de la saveur.

Un grand merci à mes Patreons

Je tenais à remercier du fond du cœur tous mes Patreons qui soutiennent ce genre de projets et permettent de continuer à explorer, à tester et à partager ces connaissances avec vous. Vous êtes les meilleurs ! ❤️

Pour ceux qui sont abonnés Patreon, vous pouvez d’ores et déjà récupérer le code source. Pour les autres, n’hésitez pas à jeter un œil à ma vidéo pour une démo en direct !

Et en bonus « Rien à voir », un petit morceau de musique :

❌
❌