Vue normale

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

GriddyCode – Codez comme un boss avec ce nouvel éditeur survolté !

Par : Korben
15 juin 2024 à 07:00

Ras le bol des éditeurs de code tout mous du genou ? Si vous rêvez de coder comme un vrai killer, avec la classe et l’efficacité d’un ninja du clavier, ne cherchez plus, GriddyCode est là pour vous !

Cet IDE nouvelle génération est open-source et cross-platform, ce qui veut dire que vous pouvez l’utiliser sur votre Linux, votre Mac ou même votre Windows si vous avez perdu un pari. Et le meilleur dans tout ça, c’est qu’il est entièrement personnalisable ! Comme c’est comme c’est développé en Godot, vous pouvez le modifier assez simplement via l’éditeur Godot et le compiler comme bon vous semble sur votre plateforme, même si c’est un peu plus rock n roll.

Vous pouvez mettre le thème de votre choix mais également créer le vôtre en deux coups de cuillère à pot grâce aux fichiers de config en Lua. D’ailleurs, Lua c’est le cœur GriddyCode puisque ça permet de faire des plugins afin d’ajouter des fonctionnalités de ouf, comme de la coloration syntaxique pour votre langage préféré ou de l’autocomplétion.

En parlant de fonctionnalités, GriddyCode en a à la pelle : Il dispose comme je le disais, d’une interface minimaliste mais super efficace, avec juste ce qu’il faut où il faut. Il supporte une chiée de langages et de formats de fichiers, et il a même un mini terminal intégré pour lancer vos commandes sans quitter l’éditeur.

Y’a plein de petits détails dedans qui font la différence comme la barre de progression hyper classe en bas de l’éditeur ou encore les commentaires façon réseaux sociaux quand on fait Ctrl+L dans le logiciel.

Si vous êtes développeur ou simplement bidouilleur et que vous cherchez un éditeur de code qui en a dans le ventre, allez jeter un oeil à GriddyCode. C’est gratuit et ça marche bien.

Devika – Votre ingénieur logiciel personnel

Par : Korben
11 juin 2024 à 07:00

Si vous voulez passer à la vitesse supérieur en terme de développement, voici un projet qui va vous intéresser. Cela s’appelle Devika et c’est un outil qui agit comme un véritable pair programmer, c’est à dire un « collègue » IA capable de comprendre des instructions complexes en langage naturel, de les décomposer en étapes, de rechercher les informations pertinentes et de générer du code fonctionnel pour atteindre l’objectif. Cela vient directement concurrencer le service Devin qui a buzzé y’a quelques temps sauf que c’est totalement open source.

Grâce à ses capacités avancées de traitement du langage naturel, cette « IA » peut interpréter vos instructions de haut niveau et les transformer en un plan d’action concret. Une fois le plan établi, elle se met au travail et utilise ses connaissances en programmation et ses capacités de recherche web pour trouver les informations dont elle a besoin pour mener à bien votre projet : Snippets de code, exemples de bonnes pratiques ou explications détaillées… A partir de ça, elle peut alors générer du code dans le langage de programmation de votre choix.

Pour l’installer, il vous faudra ollama, uv, bun et suivre le tuto suivant :

ollama serve
git clone https://github.com/stitionai/devika.git
cd devika/
uv venv
source .venv/bin/activate
uv pip install -r requirements.txt
playwright install --with-deps
cd ui/
bun install
bun run dev

Puis en parallèle :

python3 devika.py

Vous devrez ensuite vous connecter à http://localhost:3000/ et remplir toutes les clés API, de votre clé OpenAI, en passant par votre clé API Google / Bing…etc. Et ensuite vous pourrez commencer à bosser les agents de Devika.

L’un des aspects les plus impressionnants de Devika, c’est sa capacité à s’améliorer constamment grâce notamment à ses algorithmes d’apprentissage automatique. Elle apprend de chaque interaction avec les développeurs et de chaque projet sur lequel elle travaille, ainsi, plus elle est utilisée, plus elle devient efficace.

Bien sûr, comme toute technologie émergente, c’est pas encore parfait et surtout, ça soulève des questions : Comment s’assurer que le code généré par l’IA est sécurisé et sans bugs ? Comment l’intégrer dans des workflows de développement existants ? Est-ce qu’il faut licencier les développeurs qui passent plus de temps sur le site de Korben qu’à bosser ? Des questions existentielles, comme vous pouvez le voir…

Si vous êtes intéressé par ce projet et que vous souhaitez l’essayer par vous-même, rendez-vous sur le dépôt GitHub du projet.

Merci à Emrik pour le partage !

Codestral – Le modèle IA des développeurs

Par : Korben
30 mai 2024 à 06:44

Codestral, le tout nouveau modèle de code de Mistral AI, débarque pour le plus grand plaisir (ou pas) des développeurs ! Créé par l’équipe de Mistral AI et lancé hier, Codestral est donc un modèle de génération de code ouvert spécialement conçu pour les tâches de génération de code. Il maîtrise plus de 80 langages de programmation, dont les incontournables Python, Java, C++, JavaScript et même le vénérable Fortran.

Si vous galérez sur une fonction, il vous aidera à la compléter en 2 coups de cuillère à pot et si vous avez besoin de tests, cet expert les génèrera à votre place pendant que vous serez parti à la machine à café. Grâce à sa capacité de remplissage au milieu (fill in the middle), il pourrait ainsi compléter n’importe quel bout de code, même le plus complexe.

En termes de performance, il établit de nouveaux records. C’est un modèle de 22 milliards de paramètres, mais grâce à sa fenêtre contextuelle de 32 000 tokens, il surpasse les autres modèles sur de nombreux benchmarks, y compris le RepoBench pour la génération de code à longue portée. Sur des tests spécifiques comme HumanEval, MBPP pour le Python et Spider pour le SQL, Codestral affiche également des performances impressionnantes devant GPT-4-Turbo et GPT-3.5.

Ce modèle est accessible sur HuggingFace, où vous pouvez le télécharger et avec l’API de Mistral AI, quelques lignes de code suffisent pour l’intégrer dans votre projet. Les adeptes de VSCode et JetBrains seront ravis puisque les plugins Continue.dev et Tabnine ont également intégré ce modèle, pour coder et interagir avec lui directement dans votre IDE préféré. Vous pouvez également y avoir accès via le Chat de Mistral.

Perso, j’utilise Claude 3 Opus et GPT-4o pour mon code mais je vais commencer à tester celui-là également. En tout cas, si ça vous intéresse, rendez-vous sur la documentation officielle de Mistral AI ici.

Source

Reprogrammer Tetris NES en pleine partie – Un hack vraiment dingue ?

Par : Korben
7 mai 2024 à 06:59

Tetris sur NES – c’est un classique indémodable, un monument du jeu vidéo mais c’est aussi un terrain de jeu sans fin pour les hackers et les bidouilleurs de génie. Tenez-vous bien, ces derniers ont trouvé un moyen de reprogrammer Tetris en pleine partie ! Je vous jure, c’est pas une blague. Ils arrivent à exécuter leur propre code en partant d’une cartouche normale, sans aucune modification matérielle.

Voici comment ça marche :

En atteignant des scores très élevés (comme le niveau 155) et en entrant des noms bien spécifiques dans le tableau des high scores, ils réussissent à réécrire des portions de la RAM du jeu. Concrètement, ils peuvent modifier les règles, ajouter des fonctionnalités, ce qu’ils veulent.

Mais le plus dingue, c’est quand ils font leur tour de magie. Bah oui, vous connaissez le fameux kill screen de Tetris ? C’est ce moment où après une partie marathon, il y a tellement de données que le jeu plante… Et bien nos petits génies provoquent volontairement ce crash qui en réalité, devient leur porte d’entrée pour injecter leur code personnel.

Techniquement, ils exploitent une faille dans la gestion des manettes car sur les Famicom, il y avait un port d’extension pour brancher des manettes supplémentaires et quand le jeu crashe, il perd les pédales et va interpréter n’importe quoi comme instruction, y compris les fameuses entrées de manettes. Résultat : vous appuyez sur des boutons bien précis au bon moment, et ça redirige l’exécution du programme exactement où vous voulez !

Évidemment, tout ça c’est d’un niveau de difficulté extrême, il faut connaître le jeu et la console sur le bout des doigts. Mais comme ils ont désassemblé le code de Tetris en langage machine, ils savent exactement ce que fait chaque octet de la ROM. Et la beauté de la chose, c’est que ça fonctionne sur une NES standard, avec une cartouche originale. Pas besoin d’un Game Genie ou d’un émulateur. Du 100% pur jus rétro

Par contre, il ne faut pas être trop gourmand non plus. On parle de reprogrammer un jeu en passant par les high scores, donc vous n’aurez jamais de quoi coder un truc plus complexe… et puis il faut rusher le truc à chaque partie, parce que dès que vous éteignez la console, pouf ça s’efface. C’est vraiment de la bidouille éphémère, il faut aimer l’art pour l’art.

Mais je trouve ça cool car il y a un côté  »hacker la Matrice » assez jouissif. Ça me donne presque envie de ressortir ma vieille NES pour essayer… Mais je suis pas encore assez bon à Tetris. Mais si vous voulez essayer chez vous, il vous faudra :

  • Une NES (ou une Famicom)
  • La cartouche Tetris
  • 2 manettes NES supplémentaires (ou un adaptateur pour manettes NES sur Famicom)
  • De la patience et de la persévérance

Ensuite, vous devrez franchir chacune de ces étapes :

  • Étape 1 : Atteignez le level 155 en mode A-Type. Assurez-vous qu’une seule ligne vous sépare du level suivant.
  • Étape 2 : Effacez cette ligne SANS appuyer sur bas (pour ne pas marquer de points) et en affichant la pièce suivante dans la zone Next.
  • Étape 3 : Branchez vos deux manettes NES supplémentaires (appelons-les manette 3 et manette 4).
  • Étape 4 : Sur la manette 3, maintenez Haut. Sur la manette 4, appuyez simultanément sur Gauche, Bas et Droite (bonne chance…).
  • Étape 5 : Maintenant, préparez-vous à entrer dans la partie la plus délicate : l’écriture de votre programme via les high scores ! L’astuce consiste à utiliser les noms et scores pour y cacher des instructions destinées directement au processeur de la NES. Pour cela, vous devez placer judicieusement certains caractères dans les high scores. Par exemple, mettez (G comme 2ème lettre du nom en 1ère position du tableau B-Type. Cela indique au processeur de sauter vers une autre zone du tableau et de lire la suite comme un bout de code. Ensuite, en 2ème position B-Type, commencez le nom par )). Puis continuez à remplir les noms et scores suivants selon votre programme. Attention, vous êtes très limité dans les instructions possibles ! Vous ne pouvez utiliser que les 43 caractères autorisés pour les noms et les 10 chiffres pour les scores. La plupart des opcodes du processeur sont impossibles à reproduire ainsi. Mais avec de l’astuce, c’est jouable. Par exemple, essayez ceci pour votre 1ère position en A-Type : (A name of '))"-P)' . Ce code basique injecte deux zéros dans les digits de poids fort du score, ce qui limite son augmentation et retarde le crash du jeu (sans le corriger complètement).
  • Étape 6 : Validez le high score. Le jeu va planter, c’est normal. Maintenez les boutons enfoncés sur les manettes 3 et 4.
  • Étape 7 : Tadaa ! Votre code personnalisé s’exécute. Vous pouvez maintenant modifier le comportement du jeu. Mais attention, tout s’efface à la prochaine coupure !

Voilà, vous savez tout. Avec un peu d’entraînement, vous pourrez à votre tour hacker Tetris comme un pro mais n’oubliez pas, c’est un grand pouvoir qui se mérite et qui implique de grandes responsabilités ! (non)

Happy hacking !

Source

Learn Python for Just $16 Through 5/5

One of our best-selling Python bundles is discounted even further to just $15.97 through May 5. Now's the time to learn the popular programming language.

Flowise – Créez des applications LLM sans coder

Par : Korben
3 mai 2024 à 07:00

Ce serait quand même cool si on pouvait créer des applications basées sur l’IA sans avoir à écrire la moindre ligne de code, vous ne trouvez pas ?

Ah mais attendez, c’est possible en fait ! Et comment ? Et bien grâce à Flowise, un outil open source dont la mission est de démocratiser l’accès aux grands modèles de langage (LLM) comme GPT-3 ou LLaMA.

Grâce à une interface intuitive de type drag & drop, Flowise permet aux développeurs de tous niveaux de concevoir et déployer rapidement des agents conversationnels évolués capables de répondre à des requêtes complexes. Comme ça, fini le temps perdu à coder des fonctionnalités de base, votre job c’est juste d’innover et de vous amuser !

Parmi les fonctionnalités phares de Flowise, on retrouve donc :

  • Une bibliothèque de plus de 100 intégrations prêtes à l’emploi (Langchain, LlamaIndex…) pour enrichir vos agents
  • Un éditeur visuel pour orchestrer et enchaîner facilement les différents composants de vos apps
  • La possibilité de créer des agents autonomes, capables d’effectuer des tâches complexes en utilisant différents outils et sources de données
  • Un système de cache et de mise en mémoire pour optimiser les performances et les coûts
  • Des options de déploiement flexibles (API, SDK, widget) pour intégrer vos créations dans n’importe quelle application

Pour vous donner quelques idées, Flowise peut vous aider à créer aussi bien un chatbot spécialisé pour votre boutique en ligne, qu’un assistant personnel pour gérer votre productivité ou encore un outil de recherche intelligent pour votre base de connaissances.

Comme je le disais, la plateforme est entièrement open source et peut même fonctionner en mode « air-gapped » (sans connexion au net) avec des modèles tournant en local, ce qui est pratique si vous avez des projets plus sensibles.

Pour bien débuter avec Flowise, rien de plus simple :

  1. Installez Node.js (version 18.15.0 ou supérieure)
  2. Exécutez la commande npm install -g flowise pour l’installer
  3. Lancez l’application avec npx flowise start
  4. Ouvrez votre navigateur à l’adresse http://localhost:3000 et c’est parti mon kiki.

Vous pouvez aussi utiliser l’image Docker si vous préférez.

Ensuite, pour vous familiariser avec l’outil, vous pourrez utiliser l’un des templates fourni pour faire un agent conversationnel avec mémoire, un chatbot capable d’analyser des documents PDF et Excel ou encore un assistant personnel multi-tâches. Et pour les plus aventureux, Flowise propose également une API et un SDK complet pour intégrer vos créations dans n’importe quel projet.

Si ça vous branche, rendez-vous sur le site officiel.

Durdraw – Un éditeur ASCII pour faire l’art rétro dans votre terminal

Par : Korben
26 avril 2024 à 07:00

Attention, pépite de l’espace à vous faire découvrir aujourd’hui ! Ça s’appelle Durdraw et c’est un éditeur de folie pour créer de l’art ASCII, ANSI et Unicode dans votre terminal !

Imaginez pouvoir dessiner des animations old school avec une palette de 16 ou 256 couleurs, en mixant allègrement les caractères CP437 de l’époque MS-DOS avec de l’Unicode moderne. Le tout avec le support de thèmes customisés et de l’export en HTML et mIRC.

Si comme moi vous avez grandi avec des softs de légende comme TheDraw et PabloDraw, vous allez retrouver direct vos repères, mais avec la puissance et la souplesse du monde Unix en plus.

Durdraw est codé en Python donc pour l’installer c’est ultra simple, un petit coup de pip ou de git clone et vous êtes parés pour entrer dans la 4ème dimension de l’ANSI art 😎.

git clone https://github.com/moneamis/durdraw-demo

cd durdraw-demo

./setup.sh

durdraw -p demo.dur

Les devs ont même pensé à inclure une config d’exemple et des thèmes bien sentis pour pas être largué en arrivant. Une fois lancé, préparez-vous à entrer dans la matrice : ça fourmille de raccourcis clavier dans tous les sens pour éditer au caractère et à la couleur près. Les nostalgiques des BBS apprécieront les commandes à base d’échappement, pendant que les plus modernes pourront même utiliser la souris pour peaufiner leurs chef d’oeuvres.

Et là où Durdraw se pose, c’est qu’il gère les animations image par image avec un contrôle total du timing. Fini l’époque où on dépendait du débit du modem, maintenant on créé des petits flip book ASCII qui restent stables même quand on redimensionne le terminal à la volée. Ça c’est de la qualité mes p’tits potes !

Bon après faut pas se leurrer, Durdraw ne rendra pas votre minitel compatible avec Unreal Engine 5 hein. Mais entre nous, est-ce qu’on a vraiment besoin d’aller jusque là quand on peut déjà pousser l’art ANSI dans ses derniers retranchements ? En plus l’auteur est hyper réactif sur GitHub pour améliorer son bébé au fil des contributions. C’est ça aussi la magie de l’open-source !

Bref, foncez sur https://durdraw.org, et lâchez-vous dans les créations bien rétro !

Merci à Lorenper pour l’info.

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 !

Un Konami Code dans Castlevania Legacy of Darkness sur Nintendo 64

Par : Korben
24 avril 2024 à 17:42

Vous pensiez connaître Castlevania sur le bout des doigts ? Eh bien 25 ans après la sortie de Castlevania: Legacy of Darkness sur notre bonne vieille Nintendo 64, des petits malins ont déniché un tout nouveau code Konami planqué dans les entrailles du jeu.

Ce code Konami est une vraie petite bombe puisqu’il déverrouille d’un coup TOUS les personnages et leurs costumes alternatifs, et ce dès le début de l’aventure ! Fini de devoir se farcir le jeu deux fois pour accéder à Henry et Carrie. Là c’est open bar direct, et ça change complètement la donne !

Moises et LiquidCat, deux fans passionnés du jeu, ont également déniché deux autres codes bien sympathiques. Le premier remplit entièrement votre inventaire, peu importe le héros que vous incarnez. Fini la galère pour trouver des potions et des équipements, vous voilà paré pour latter du vampire en claquant des doigts. Le second code, disponible uniquement dans les versions japonaise et européenne, booste votre arme au max et vous file un stock de joyaux dont même Picsou serait jaloux. De quoi rendre votre quête bien plus funky !

Pour activer ces codes, rien de plus simple :

  1. Ouvrez le jeu et sélectionnez le mode histoire.
  2. Tapez le code en doublant les inputs du code Konami classique : Up, Up, Down, Down, Left, Right, Left, Right, B, A, Start.
  3. Utilisez les boutons directionnels et A/B de votre manette N64.
  4. Appuyez sur Start pour confirmer l’activation.
  5. Enjoy ! Vous pouvez maintenant jouer avec tous les persos dès le début.

Codes bonus pour les plus curieux :

  • Inventaire au max : Up, Up, Down, Down, Left, Right, Left, Right, B, A, Start (x2)
  • Arme boostée et argent illimité (versions PAL/JPN uniquement)

Alors certes, dit comme ça, ça peut sembler un poil cheaté mais ça fait un quart de siècle que ce jeu nous nargue avec ses secrets, donc ça va, y’a tolérance. En plus, avouons-le, ces codes tombent à pic pour (re)découvrir cet opus culte car s’il y a bien un reproche qu’on pouvait faire à Legacy of Darkness, c’était ce côté un peu prise de tête avec un seul personnage jouable au début. Un choix curieux qui pouvait rebuter certains joueurs. Mais grâce à ce code Konami providentiel, ce problème est relégué aux oubliettes ! Vous pouvez enfin profiter des cinq perso et de leurs capacités uniques sans vous prendre le chou.

Alors si vous aussi vous avez une Nintendo 64 qui prend la poussière dans un coin (ou un émulateur), c’est le moment ou jamais de ressortir Castlevania: Legacy of Darkness et de tester ces fameux codes.

Source

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.

Faille de sécurité dans les terminaux de check-in IBIS – les codes d’accès aux chambres exposés

Par : Korben
2 avril 2024 à 12:39

C’est vachement pratique de pouvoir récupérer sa chambre d’hôtel après une grosse journée, simplement en passant par le terminal qui se trouve dans l’entrée de l’hôtel. On tape son nom, on paye et paf, on récupère son numéro de chambre et le code pour y accéder. Sauf que ce que vous ignorez peut-être, c’est que ce même terminal vient potentiellement d’exposer votre code d’accès à des personnes mal intentionnées…

C’est exactement ce qui s’est passé dans un hôtel IBIS Budget à Hambourg, en Allemagne. Lors d’un congrès de hackers, la société Pentagrid a remarqué une faille de sécurité pour le moins inquiétante dans le terminal de check-in. Ainsi, en entrant une série de tirets à la place du numéro, le terminal liste toutes les réservations avec leur numéro, la date d’arrivée prévue et le prix total du séjour. Puis en sélectionnant une réservation, on accède directement au numéro de chambre et au code d’accès de la porte.

Dans l’hôtel en question, pas moins de 87 réservations étaient ainsi exposées, soit près de la moitié des 180 chambres de l’établissement !

Vous imaginez le désastre si ces codes tombaient entre de mauvaises mains ? Adieu vos effets personnels, surtout dans un hôtel bas de gamme comme celui-ci qui n’est pas équipé de coffres-forts dans les chambres. Et je vous parle pas des agressions en pleine nuit ! C’est la porte ouverte à toutes les fenêtres comme dirait l’autre.

Fort heureusement, Pentagrid a immédiatement signalé cette faille à la chaîne hôtelière Accor, propriétaire des hôtels IBIS. Le problème a depuis été corrigé, mais il aura fallu quand même plusieurs échanges et relances de la part des hackers pour que des actions soient entreprises de la part d’Accor.

Mais comment une telle faille a-t-elle pu se produire ? Et bien d’après les informations fournies par Pentagrid sur leur blog, il semblerait que le terminal de check-in ait une fonction de recherche des réservations qui nécessite uniquement le numéro de réservation pour afficher le numéro de chambre et le code d’accès. Donc c’est pas un bug, c’est une feature qui a mal tournée…

Le pire dans tout ça, c’est que de base, les numéros de réservation ne sont pas une donnée très sécurisée puisqu’on les retrouve sur toute la paperasse comme les factures…etc qui peuvent ensuite être récupérées dans une poubelle par exemple. Donc n’importe qui pourrait mettre la main dessus et accéder à votre chambre.

C’est pourquoi les auteurs de cette découverte recommandent aux hôtels de mettre en place une vérification supplémentaire pour accéder aux informations de réservation, comme un code PIN qui serait communiqué séparément au client. Les terminaux devraient aussi supprimer automatiquement les réservations dès que les informations ont été imprimées ou consultées.

En attendant, si vous séjournez dans un hôtel IBIS Budget prochainement, n’allez pas vous amuser à vérifier que la faille a été corrigée sur le terminal de check-in parce que vous ne voulez pas finir en prison pour piratage (lol).

En tout cas, sachez-le, la prochaine fois que je dors à l’IBIS, je vous attendrais de pied ferme en embuscade dans mon peignoir façon biopic DSK par Liam Neeson.

Source

Justine Tunney booste encore une fois les performances de llama.cpp

Par : Korben
1 avril 2024 à 07:20

La révolution de l’IA est en marche depuis un bon moment maintenant mais faire tourner les derniers modèles de langage comme llama.cpp sur votre bécane, demande de la puissance. C’est là qu’intervient Justine Tunney, hackeuse et ex-programmeuse de chez Google, qui vient de pondre de nouveaux kernels d’algèbre linéaire pour booster les perfs de llama.cpp.

Concrètement, elle a réécrit les routines qui font les multiplications de matrices, c’est à dire les opérations au cœur des réseaux de neurones et en utilisant les dernières instructions vectorielles AVX-512 et ARM dotprod, elle a réussi à multiplier par 5 la vitesse d’exécution sur les processeurs récents d’Intel, AMD et ARM.

Mais ce n’est pas tout, elle a aussi bossé sur l’optimisation mémoire. Fini le temps où les calculs étaient ralentis par les accès à la RAM. Grâce à une utilisation intelligente du cache L2 et du prefetching, elle arrive maintenant à diviser par 2 le temps de chargement des données.

Résultat, llama.cpp et les autres modèles compatibles tournent comme des horloges, même sur des configs modestes. Fini les CUDA cores hors de prix, un bon vieux processeur avec un peu de RAM suffit. De quoi démocratiser l’accès à l’IA sans se ruiner surtout que son code est dispo sur son GitHub. Il est écrit en C++ avec zéro dépendance externe et peut être compilé sur Linux, macOS, Windows, FreeBSD et même SerenityOS.

Mais Justine ne compte pas s’arrêter là. Elle planche déjà sur le support de nouveaux formats de données comme le FP16 et le BF16 pour réduire encore l’empreinte mémoire. À terme, elle espère faire tourner les IA les plus gourmandes sur un Raspberry Pi ! Chouette non ?

D’un côté on a donc les géants comme Nvidia qui misent tout sur leurs accélérateurs graphiques propriétaires et de l’autre les hackers et les libristes qui veulent garder le contrôle de leur machine avec du code ouvert et optimisé.

En attendant, je vous invite à tester ses kernels par vous-même et à voir la différence. C’est peut-être ça le véritable sens du progrès technologique : permettre au plus grand nombre d’accéder à des outils auparavant réservés à une élite.

Source

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

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

Price Drop: Code Faster and More Accurately, Even in Collaboration, for Just $40

Microsoft Visual Studio Professional 2022 for Windows allows you to code with teams across platforms and languages, and offers advanced tools to ensure accuracy. Now at $39.97 through May 31st.

Get a Lifetime Subscription to Producti AI Pro for Only $45

21 mars 2024 à 11:00
This AI-driven app generates written content, images, codes and helps you make the right decisions with its advice as well as providing speech to text transcriptions. Better still, it’s on sale for just $45.99 at TechRepublic Academy with coupon TAKE5.
❌
❌