Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
Hier — 23 avril 2024Flux principal

Flyde – Comme scratch mais pour les vrais dev

Par : Korben
23 avril 2024 à 09: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.

À partir d’avant-hierFlux principal

Porter .NET sur Windows 95 ? Défi technique relevé !

Par : Korben
12 avril 2024 à 10:45

Aujourd’hui, j’aimerai vous parler d’un truc qui va en faire rêver plus d’un parmi vous : Faire tourner des applis .NET modernes sur ce bon vieux Windows 95 ! Impossible vous dites ? Et bah non, figurez-vous qu’un développeur un peu barré a réussi cet exploit !

Ce génie du code s’appelle Matt et il a même partagé son projet dingue sur GitHub. Son objectif était simple : Backporter .NET 2.0 à 3.5 sur Windows 95. À la base, même le support de Windows XP n’était pas prévu pour ces versions de .NET, alors Windows 95, n’en parlons pas !

Mais ça n’a pas découragé notre bidouilleur qui s’est retroussé les manches. Déjà, il a fallu installer Internet Explorer 5.01 et le Microsoft USB Supplement sur une version de Windows 95 OSR 2. Pas le choix, c’est nécessaire pour que .NET puisse fonctionner.

Ensuite, le plus gros du boulot a consisté à implémenter toutes les APIs Windows manquantes que .NET utilise sur les versions plus récentes de l’OS. Un vrai travail de titan et Matt a dû recoder des trucs dans tous les sens, intercepter des appels système, bref, il a mis les mains dans le cambouis et vous savez quoi ?

Ça marche !

Bon, c’est sûr que tout n’est pas parfait, il y a encore quelques bugs et incompatibilités par ci par là, mais on peut déjà faire tourner pas mal d’applications .NET sur Windows 95 grâce à son projet. La classe non ?

Franchement, chapeau bas. C’est ce genre de projets fous qui font qu’on kiffe toujours autant l’informatique. Bon par contre, je ne suis pas sûr que ce soit très utile dans la vraie vie, mais qu’importe, l’idée c’est de repousser les limites !

Je vous laisse avec ses explications. C’est un vrai film, vous allez voir !

En tout cas, si vous voulez vous amuser à installer des applis .NET sur votre Windows 95 (ou dans une VM hein, on n’est pas des sauvages), n’hésitez pas à tester son projet. Vous pourrez ensuite mettre ça sur votre profil Tinder et frimer en montrant à votre futures conquêtes une capture écran de Paint.NET qui tourne comme par magie sur votre vieux coucou ! (Je plaisante, NE FAITES PAS ÇA !!)

Source

Android Studio intègre l’IA Gemini Pro

Par : Korben
9 avril 2024 à 06:20

Ça y est, c’est officiel !

Google vient d’annoncer une nouvelle qui va faire plaisir au petit monde du développement Android. En effet, Android Studio, l’IDE préféré (ou pas) des développeurs, utilise maintenant le modèle Gemini 1.0 Pro pour rendre le développement d’applications Android plus rapide et plus facile.

Pour rappel, Gemini Pro, c’est un modèle d’IA de dernière génération, une sorte de super assistant intelligent qui va vous faciliter la vie quand vous codez vos apps Android, comme ça, si vous galérez sur une fonction complexe, hop, Gemini Pro débarque tel un chevalier blanc et vous propose gentiment de générer le code pour vous. J’expérimente déjà ça avec Github Copilot / ChatGPT / Claude 3 dans Visual Studio Code est c’est vraiment ce qu’on appelle un « Game Changer ». Alors si votre IDE c’est Android Studio, vous allez kiffer.

Par exemple, si vous voulez ajouter le support de la caméra à votre application, il fallait se farcir toute la doc, chercher les bonnes APIs, se prendre la tête avec les permissions… et bien maintenant, vous demandez gentiment à Gemini Pro « Hey, comment je peux ajouter la caméra à mon app ?« , et hop, il vous pond le code nécessaire en un rien de temps.

Ou encore, si vous voulez créer un écran de login avec Jetpack Compose, avec un champ pour le nom d’utilisateur, un autre pour le mot de passe, un bouton « Se connecter », et tout le tralala et bien au lieu de tout coder à la main, de galérer avec les alignements et les espacements… vous décrivez simplement à Gemini Pro ce que vous voulez, et il vous génèrera le code Compose nécessaire avec les meilleures pratiques intégrées.

Et au delà de l’aspect Chatbot, avec le système d’auto-complétion intégré et boosté à l’IA, vous allez également gagner beaucoup de temps durant vos journées de boulot.

Alors est ce que Google va pomper tout le code produit par des milliers de dev autour de la planète ? Et bien visiblement, non, puisque les réponses de Gemini Pro sont basées uniquement sur votre historique de conversation et pas le code à proprement dit. C’est donc toujours vous qui contrôlez si vous voulez partager du contexte supplémentaire ou non.

Vous pouvez même exclure certains fichiers et dossiers sensibles avec un petit fichier .aiexclude et bien sûr, Google s’engage à respecter ses fameux principes d’IA éthique et responsable.

L’outil peut aussi vous aider à intégrer des fonctionnalités d’IA directement dans vos applications grâce au template « Gemini API Starter » disponible dans la dernière version bêta d’Android Studio. Chatbot, génération d’images, traduction… Gemini Pro est votre allié pour proposer de l’IA dans vos apps.

Et niveau tarifs ? Et bien pour l’instant, Gemini Pro est disponible gratuitement pour tous les développeurs Android. C’est donc le moment d’en profiter et de tester cette merveille avant qu’elle ne devienne payante.

Source

Cloudflare Calls – La plateforme WebRTC serverless pour vos apps temps réel

Par : Korben
4 avril 2024 à 16:09

Cloudflare nous sort encore un truc marrant : Cloudflare Calls ! Il s’agit d’une plateforme WebRTC serverless qui vous permet de créer des applications temps réel que ce soit de l’audio, de la vidéo ou même de la data. Le tout, sans vous prendre la tête avec l’infrastructure. Ça peut servir d’unité SFU (selective forwarding unit) pour router intelligemment les flux, ou même de système de diffusion pour broadcaster du contenu. Bref, les possibilités sont énormes !

Le gros avantage, c’est que ça tourne sur le réseau mondial de Cloudflare, présent dans des centaines de villes. Donc niveau latence et qualité, vous êtes aux petits oignons et pas besoin de vous soucier de la scalabilité ou des régions, puisque c’est géré.

Pour commencer à bidouiller avec Cloudflare Calls, rien de plus simple. Vous créez une app dans le dashboard, vous récupérez les identifiants, et hop, vous pouvez commencer à coder votre propre app WebRTC. Il y a même un exemple complet sur GitHub, l’app de démo « Orange Meets – room Korben ^^ ». (Non, ça n’a rien à voir avec l’opérateur du même nom, même si c’est de la téléphonie…)

Après, faut quand même mettre les mains dans le cambouis hein. Mais si vous êtes à l’aise avec WebRTC, vous allez vous éclater. Sinon, c’est l’occasion d’apprendre ! Et puis la doc est plutôt bien foutue, avec des tutos pas à pas. Ça ouvre un paquet de possibilités pour créer des apps temps réel fun ou utiles comme un outil de collaboration en ligne, avec un tableau blanc partagé et de la visio. Ou même un petit jeu multijoueur. Avec Cloudflare Calls, vous pouvez prototyper ça rapidement sans vous soucier de l’infrastructure.

Après, attention quand même, c’est encore en beta. Donc à utiliser en prod avec précaution. Mais pour tester et apprendre, c’est parfait. Et puis connaissant Cloudflare, le produit final sera sûrement béton.

Bref, je vous invite à aller jeter un œil à Cloudflare Calls, à tester la démo « Orange Meets », et pourquoi pas, à vous lancer dans le développement de votre propre app WebRTC serverless.

Jpegli – La lib JPEG nouvelle génération de Google

Par : Korben
3 avril 2024 à 22:44

Google vient de publier en open source une nouvelle bibliothèque de codage JPEG appelée Jpegli qui permet de compresser vos images 35% plus efficacement qu’avec les codecs JPEG traditionnels, tout en conservant une qualité d’image supérieure.

Non seulement Jpegli est rétrocompatible avec le standard JPEG original, mais en plus il offre des fonctionnalités intéressantes comme le support des composantes 10 bits et plus, ce qui permet d’éliminer les vilains artefacts dans les dégradés pour avoir un rendu beaucoup plus ultra-smooth ^^.

Pour cela, Jpegli utilise de la quantification adaptative et une sélection améliorée des matrices de quantification. En gros, ça réduit le bruit, améliore la qualité d’image, et ça fait des miracles sur la taille des fichiers.

De plus, Jpegli reste aussi rapide que les solutions de codage actuelles, donc vous pouvez intégrer cette merveille dans vos workflows sans sacrifier les performances. Alors voilà, si vous voulez donner un coup de boost à vos sites web et offrir de meilleures images plus belles et plus légères, allez jeter un œil à Jpegli ! Pour le moment, y’a pas encore d’outils de conversion mais les sources sont dispo sur le Github, alors y’a plus qu’à attendre que le monde se l’approprie.

Source

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

Par : Korben
1 avril 2024 à 08: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

Lapce – L’IDE codé en Rust qui dépote

Par : Korben
29 mars 2024 à 09:00

Si vous êtes un développeur à la recherche d’un nouvel éditeur de code, vous allez être content avec Lapce dispo pour Windows, Linux et macOS. Encore en version pré-alpha, Lapce n’a d’autres ambitions que de venir chatouiller les orteils de Visual Studio Code.

Pour le moment, on en est loin, mais cet éditeur a quand même quelques atouts dans sa manche. Tout d’abord, son interface graphique et ses performances sont au top du top de l’optimisation grâce au langage dans lequel il est codé, à savoir Rust.

En effet, grâce à l’accélération GPU intégrée à l’interface graphique native, les lags au lancement de l’éditeur et lors de la saisie sont totalement éliminés. Pour les développeurs de Lapce, tout ralentissement lors de la frappe est considéré comme un bug et sera donc résolu.

L’une des fonctionnalités les plus intéressantes de Lapce est la possibilité de se connecter à une machine distante en toute transparence via SSH, pour bénéficier d’une expérience « locale ». Cela vous permet de profiter d’un environnement identique à votre serveur de production ou d’exploiter toutes les performances de la machine distante. Idéal pour les développeurs travaillant en équipe ou en télétravail.

Côté mise en forme du code, Lapce utilise Tree-sitter pour la coloration syntaxique, ce qui est une solution bien plus rapide et efficace que les techniques à l’ancienne basées sur les expressions régulières (regex). De plus, la prise en charge intégrée du protocole LSP (Language Server Protocol) permet à Lapce de proposer de la complétion de code, des diagnostics ainsi que des actions éventuelles sur le code analysé en temps réel.

Si vous êtes un utilisateur de Vim, bah déjà bon courage. Mais surtout, ne vous inquiétez pas, Lapce intègre nativement une expérience d’édition similaire à Vim, sans avoir besoin d’installer de plugin. Vous n’avez qu’à activer l’option d’édition modale dans les paramètres de l’IDE et vous pourrez utiliser tous vos raccourcis Vim comme un bon tröll velu.

Pour encore plus de personnalisation, vous pouvez aussi écrire vos propres plugins pour Lapce en utilisant n’importe quel langage de programmation capable d’être compilé pour produire du WASI (WebAssembly System Interface). Ainsi, vous pouvez choisir un langage de programmation que vous aimez pour créer des plugins rapidement sans apprendre un truc spécifique.

Enfin, Lapce vous permet de lancer un terminal directement dans le répertoire de votre espace de travail, sans quitter l’éditeur. Cette fonction simplifie la gestion des fichiers et des dossiers, rendant votre workflow encore plus fluide.

Bref, bien que Lapce soit encore en phase pré-alpha, et loiiiin d’égaler Visual Studio Code, cet éditeur open source écrit en Rust, est promis à un bel avenir chez tous ceux pour qui les perfs sont très importantes (tout le monde quoi…).

Rendez-vous sur lapce.dev pour en savoir plus ! Et la doc est ici.

Merci à Lorenper

Black – Pour formater votre code Python rapidement et sans douleur

Par : Korben
24 mars 2024 à 09: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 à 09: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 à 11: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 à 09: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 à 02: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 !

Volonté de la Maison Blanche de bannir les langages C et C++ pour des raisons de sécurité

Par : UnderNews
5 mars 2024 à 13:55

Fin février, l’administration Biden encourage les développeurs à se détourner des langages de programmation C et C++ au profit de langages sécurisés pour la mémoire, comme Rust, pour diminuer le risque de cyberattaques. Cette initiative fait suite à des constatations montrant que la majorité des failles de sécurité proviennent de problèmes liés à la gestion de […]

The post Volonté de la Maison Blanche de bannir les langages C et C++ pour des raisons de sécurité first appeared on UnderNews.

Agence ou freelance : à qui faire appel pour créer votre application mobile ?

Par : UnderNews
4 février 2024 à 18:07

Vous avez un projet d’application mobile et vous souhaitez confier son développement à un professionnel pour son développement ? Deux choix principaux s’offrent à vous. Faire appel à une agence de développement d’application mobile ou à un freelance spécialisé. Dans cet article, nous allons étudier point par point les avantages et inconvénients de chaque solution […]

The post Agence ou freelance : à qui faire appel pour créer votre application mobile ? first appeared on UnderNews.
❌
❌