Vue normale

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

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

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

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

Les IA comme ChatGPT aident-elles réellement les étudiants en informatique ?

Par : Korben
15 avril 2024 à 12:13

Vous êtes un étudiant en informatique, tout frais, tout nouveau, et on vous balance des exercices de programmation à faire. Panique à bord !

Mais attendez, c’est quoi ce truc là-bas ?

Ah bah oui, c’est ChatGPT, votre nouveau meilleur pote ! Il est capable de résoudre vos exos en deux temps trois mouvements, grâce à des techniques de traitement du langage naturel (NLP) et d’analyse de langage de programmation, mais attention, c’est pas si simple.

Des chercheurs ont voulu creuser la question et voir comment ces générateurs de code IA influencent vraiment l’apprentissage des étudiants et pour cela, ils ont réalisé 2 études. Dans la première, ils ont pris 69 étudiants, des novices complets en Python et les ont séparés en deux groupes : Ceux qui utiliseront l’IA et ceux qui coderont à l’ancienne sans IA.

Durant 7 sessions, ils leur ont donné des exos à faire. Les Jedis boostés à l’IA avaient accès à un générateur de code basé sur Codex, un modèle d’apprentissage automatique qui utilise le NLP et l’analyse de langage de programmation pour générer du code à partir des entrées des utilisateurs. Les autres, eux, devaient se débrouiller.

Résultat des courses ?

Les dev augmenté à l’IA ont cartonné ! Ils ont fini 91% des tâches contre 79% pour les autres. En plus, leur code était beaucoup plus correct. Toutefois, sur les tâches où il fallait modifier du code existant, les deux groupes étaient au coude à coude. Ensuite, ils ont fait passer des tests de connaissance aux étudiants, sans l’IA. Et là, surprise ! Les deux groupes ont eu des scores similaires. Mais quand ils ont refait les tests une semaine plus tard, les étudiants du goupe boosté à l’IA ont mieux retenu ce qu’ils avaient appris.

Dans la deuxième étude, les chercheurs ont analysé comment les étudiants utilisaient vraiment le générateur de code. Et là, révélations ! Certains en abusaient grave, genre copier-coller direct la consigne sans réfléchir. Pas cool ! 😅 Mais d’autres étaient plus malins et s’en servaient pour décomposer le problème en sous-tâches ou vérifier leur propre code.

Alors, que faut-il en retenir ?

Et bien que l’IA peut être un super outil pour apprendre à coder, mais à condition savoir l’utiliser intelligemment. C’est pourquoi les concepteurs d’outils et les profs doivent encourager une utilisation responsable et auto-régulée de ces générateurs de code. Sinon, c’est le drame assuré !

Pour ma part, vous le savez, le développement, c’est pas mon truc. Mais depuis que l’IA a débarqué dans ma vie, « sky is the limit » et ça m’aide énormément. Et comme ces étudiants, si je pose mon cerveau que je passe en mode copié-collé IA, à la fin, je vais avoir du caca. Mais si je comprends ce que je veux faire, si je maitrise mon code plus comme un chef de projet bien technique et bien c’est redoutablement efficace. Et ce qui est encore plus cool, c’est que j’apprends plein de trucs. On dit souvent qu’il faut forger pour devenir forgeron. Et bien là c’est le cas, car je ne m’encombre plus des problématiques de syntaxe, et je construis brique par brique mes outils en comprenant tout ce que je fais. Donc l’IA pour développer, oui !! Mais en laissant le cerveau allumé.

En tout cas, une chose est sûre, c’est en train de révolutionner l’apprentissage du code. Ça promet pour le futur mais faudra veiller à ce que les étudiants apprennent vraiment à faire les choses et ne deviennent pas des zombies du copier-coller (on avait déjà le souci avec StackOverflow, cela dit…).

Source

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.

Un Konami Code dans Castlevania Legacy of Darkness sur Nintendo 64

Par : Korben
24 avril 2024 à 19: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

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

Par : Korben
25 avril 2024 à 09: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 !

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

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

weAudit – Une extension Visual Studio Code pour ceux et celles qui font de l’audit

Par : Korben
29 avril 2024 à 09:00

Salut les codeurs !

Aujourd’hui, je vais vous causer d’un truc qui va révolutionner votre façon d’auditer le code : l’extension VSCode weAudit ! C’est développé par les génies de Trail of Bits et c’est vraiment chouette, vous allez voir.

Il s’agit un outil de revue de code collaborative (d’audit quoi…) qui vous permet de prendre des notes et de traquer les bugs directement dans VSCode. Plus besoin de jongler entre 36 outils, weAudit centralise tout

Il est d’ailleurs bourré de fonctionnalités ultra pratiques :

  • Des signets pour vos trouvailles et vos notes
  • Un suivi des fichiers audités pour savoir où vous en êtes
  • De la collaboration pour bosser en équipe sans vous marcher dessus
  • La création directe d’issues GitHub bien formatées

Comme ça, plus besoin de vous prendre la tête avec des outils externes. Vous pouvez aller jeter un œil au code sur le repo GitHub.

Bon allez, je vous donne un petit exemple pour vous montrer à quel point c’est facile à utiliser. Disons que vous tombez sur un bout de code louche. Hop, vous sélectionnez ce code et vous utilisez le raccourci Cmd+J pour ajouter un signet « Finding ». Ça va surligner le code en rouge et ajouter une note dans la liste des findings. Et si vous voulez ajouter des détails sur le problème, pas de souci ! Cliquez sur le finding, remplissez les champs et même créez direct une issue GitHub.

Je ne sais pas comment on faisait avant weAudit.

Pour l’installer, rendez-vous sur le marketplace VSCode. Et si vous êtes à fond dans la sécurité des extensions VSCode, jetez aussi un œil aux articles de blog de Trail of Bits sur les vulnérabilités d’extensions VSCode mal configurées et comment s’échapper d’extensions VSCode bien configurées.

Allez, je vous laisse jouer avec weAudit. Vous m’en direz des nouvelles.

Flowise – Créez des applications LLM sans coder

Par : Korben
3 mai 2024 à 09: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.

CodingFont – Trouvez la police parfaite pour votre éditeur de code

Par : Korben
12 mai 2024 à 21:34

Ceci est un truc qui peut paraître anodin mais qui, croyez-moi, peut totalement changer votre vie de développeur : les polices de caractères ! Et ouais, on n’y pense pas forcément mais ça a un impact énorme sur notre confort et notre productivité. Un peu comme choisir entre un bon vieux clavier mécanique qui claque bien et un clavier tout mou qui vous bousille les articulations. Bref, vous voyez l’idée…

Je suis tombé grâce à Lorenper (merci) sur un site vraiment sympa qui s’appelle Coding Font qui permet de tester des dizaines de polices et de les comparer pour voir laquelle vous convient le mieux. Et croyez-moi, y a du choix ! Des polices fines, des grasses, des arrondies, des plus carrées… Y en a pour tous les goûts.

Perso, celle que m’a recommandé le site et qui me conviendrait le mieux est Red Hat Mono.

Après, les goûts et les couleurs hein… L’essentiel, c’est de trouver chaussure à son pied ou plutôt police à son éditeur. Ça peut paraître un détail mais je vous assure que quand vous passez 8h par jour le nez dans votre code, avoir une police confortable, c’est mieux pour la fatigue.

Pour tester et trouver la police qui vous convient le mieux c’est par ici.

FR-Alert détourné pour promouvoir le Pass JO Paris 2024 ! Pas biiiien !!!

Par : Korben
14 mai 2024 à 00:48

On n’est pas passé loin d’une attaque cardiaque généralisée ! Lundi soir à 20h pétantes, tous les téléphones des Parisiens se sont mis à sonner de concert, un peu comme si E.T. essayait de téléphoner maison. Mais non, c’était juste notre cher gouvernement de bras cassés qui avait décidé de tester le dispositif FR-Alert pour nous rappeler gentiment l’arrivée imminente du fameux Pass Jeux pour les JO de Paris 2024. Oui oui, ce QR code à la con dont on ne va plus pouvoir se passer pour circuler dans la capitale pendant les Jeux.

WTF j’ai sursauté pour ça??? UTILISEZ FR ALERT POUR ÇA PUTAIN pic.twitter.com/lv07mAhJcf

— Slowpoke ԅ(¯﹃¯ԅ) (@_Ellexa) May 13, 2024

FR-Alert, c’est basé sur la technologie Cell Broadcast, un truc qui permet d’envoyer des messages d’alerte sur tous les téléphones mobiles d’une zone, même s’ils sont en mode silencieux. C’était déjà utilisé dans plein de pays, genre le Japon, la Corée-du-Sud ou les États-Unis, pendant que nous on se farcissait l’application merdique SAIP qui n’a jamais marché.

D’ailleurs, le gouvernement a enfin réussi à utiliser FR-Alert correctement le 11 juillet 2023, quand des méchants d’orages ont défoncé l’Est de la France. Ils ont envoyé des messages d’alerte et des consignes aux gens des départements en vigilance rouge. Il était temps !

Mais revenons à nos moutons parisiens (bêêê).

Le message de lundi soir, envoyé par ces clowns du Ministère de l’Intérieur pour causer du Pass Jeux obligatoire pendant les JO, a foutu un sacré bordel. Maintenant tout le monde gueule parce qu’ils ont utilisé le terme « Alerte extrêmement grave » juste pour parler de leur QR code de victimes.

Bien sûr, sur les réseaux sociaux, les gens s’inquiètent que ça fasse perdre toute crédibilité à FR-Alert, qui devrait normalement être déclenché que pour des trucs vraiment graves et urgents : catastrophe naturelle, accident industriel, attentat, etc. Ils craignent aussi que cette « alerte QR code » à la con pousse les gens à désactiver les notifications et qu’ils loupent des infos importantes en cas de vraie urgence. Puis surtout ça énerve d’être mis en situation de stress pour un truc aussi inutile.

Bref, un gros couac de communication qui risque bien de bousiller la réputation de cet outil d’alerte tout à fait honorable. Espérons juste que le gouvernement sera un peu moins teubé à l’avenir quand ils utiliseront FR-Alert, histoire que ça garde un minimum de sens et d’efficacité pour la sécurité des gens.

Sinon, dans quelque mois, ça finira comme ça :

Source

Hier — 21 mai 2024Korben

Votre lecteur PDF.js préféré peut exécuter du code malveillant !

Par : Korben
20 mai 2024 à 16:57

La bibliothèque JavaScript de visualisation de PDF développée par Mozilla, connue sous le nom de PDF.js, est au centre d’une nouvelle découverte de sécurité assez préoccupante ! Une faille dans le code de rendu des polices permet à un attaquant d’exécuter du JavaScript arbitraire simplement en ouvrant un PDF malveillant. Et attention, cela affecte toutes les applications utilisant PDF.js, y compris Firefox, certains éditeurs de code et navigateurs de fichiers. Aïe aïe aïe !

En gros, lorsque PDF.js affiche une police spéciale, il convertit la description des glyphes en instructions pour dessiner ces glyphes. Cependant, un hacker mal intentionné peut injecter son propre code dans la description de la police, résultant en l’exécution de ce code par le navigateur.

La vulnérabilité, estampillée CVE-2024-4367, repose donc sur une manipulation des commandes de rendu de polices. La commande transform utilisant fontMatrix est exploitée pour insérer du code JavaScript puis PDF.js compile dynamiquement les descriptions de polices pour optimiser les performances. Normalement, ce tableau contient uniquement des nombres, toutefois, cette faille permet d’y injecter des chaînes de caractères. Et en insérant du code JavaScript dans ce tableau, il est possible de déclencher du code lors du rendu d’une police.

Un exploit bien forgé permettrait diverses attaques telles que l’exécution de code arbitraire, le vol de données, ou même la prise de contrôle complète du système via des attaques XSS ou l’exécution de code natif. La vulnérabilité touche actuellement les versions de PDF.js inférieures à 4.2.67.

Selon les chercheurs de Codean Labs, cette vulnérabilité affecte non seulement les utilisateurs de Firefox (<126), mais également de nombreuses applications web et basées sur Electron utilisant indirectement PDF.js pour la fonctionnalité d’aperçu. Ils soulignent également que cette faille exploite une partie spécifique du code de rendu de la police, un segment que les développeurs devraient vérifier attentivement.

Bref, pensez à mettre à jour PDF.js vers une version supérieure à la 4.2.67 et à mettre à jour vos outils vers des version égales ou supérieures à Firefox 126, Firefox ESR 115.11 et Thunderbird 115.11.

Source

GritQL – Le langage de requête pour manipuler du code source

Par : Korben
21 mai 2024 à 09:00

Aujourd’hui, je vous présente GritQL qui va vous permettre de fouiller et triturer du code source, sans avoir besoin d’être un crack en AST ou en parsing. Le truc génial avec ce langage de requête pour la recherche, l’évaluation et la modification du code, c’est que n’importe quel bout de code est une requête valide. Vous mettez un extrait de code entre guillemets simples, et hop, GritQL vous trouve tous les endroits où ce pattern apparaît !

Bon OK, vous allez me dire : « Mouais, mon grep il sait faire ça aussi… » sauf que GritQL est boosté aux stéroïdes notamment grâce à son moteur en Rust capable d’analyser des repos de 10 millions de lignes en un clin d’œil. Votre vieux grep, il peut aller se rhabiller ! 😜

Vous pouvez même utiliser des variables ($comme_ça) dans vos patterns pour identifier des bouts de code puis appliquer des transformations en mode « rechercher/remplacer » pour refactoriser à la volée.

Pour l’installer :

curl -fsSL https://docs.grit.io/install | bash

Et si par exemple, vous voulez remplacer tous vos console.log par des winston.log, c’est facile :

grit console.log($msg) => winston.log($msg)

Et bim, votre code est mis à jour !

GritQL dispose également d’une bibliothèque standard avec plus de 200 patterns réutilisables, comme ça, plus besoin de réinventer la roue pour les tâches courantes. Et si vous avez des patterns spécifiques, vous pouvez même les partager avec la communauté.

Autre point fort : une fois que vous maîtrisez GritQL, vous pouvez l’utiliser avec tout un tas de langages. Que vous codiez en JavaScript, Python, Java, Go, Rust ou même en SQL, plus besoin d’apprendre 15 outils différents, un seul suffit !

Et cerise sur le gâteau, il permet d’inclure facilement des règles de « auto-fix » dans vos patterns. Comme ça, vous pouvez corriger et nettoyer votre code en même temps que vous le cherchez. Pratique pour maintenir la qualité sans se prendre la tête ! 👌

Bref, je vous conseille vraiment d’aller jeter un œil à GritQL sur GitHub.

Happy hacking !

❌
❌