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

Qui doit avoir un QR Code pour les JO de 2024 ?

21 avril 2024 à 17:19

multipass 5e élément

La plateforme pour obtenir un laissez-passer dématérialisé doit ouvrir en mai 2024. Elle sera incontournable pour avoir un QR Code qui sera réclamé à l'entrée de certains périmètres sécurisés, durant les Jeux olympiques de Paris.

Une action contre les QR Codes pour circuler à Paris pendant les JO échoue

19 avril 2024 à 17:45

qr code

Une requête déposée devant le Conseil d'État a tenté de contrer la future plateforme qui mettra en place les QR Codes pour circuler à Paris durant les Jeux olympiques. Mais l'instance administrative a retoqué l'action, considérée comme prématurée.

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

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

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

Manage Docker with VS Code

8 février 2024 à 10:18
You can manage Docker images and containers directly within Visual Studio Code (VS Code) with Microsoft's Docker extension. This article walks you through adding Docker files to a Workspace, creating a containerized application environment, and explains how to build and run Docker containers directly from the VS Code interface.

Piratage – Attention aux QR Codes !

Par : UnderNews
8 janvier 2024 à 14:37

Ces derniers jours, des propriétaires de voitures électriques dans le Loiret ont été victimes de vols de données bancaires à cause de QR Codes compromis sur les bornes de recharge. Si cette campagne est pour l’instant limitée géographiquement, avec un montant dérobé de 80 Euros au total, des actions ont été prises par la mairie, […]

The post Piratage – Attention aux QR Codes ! first appeared on UnderNews.
❌
❌