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

Gérez vos PRs et issues GitHub comme un pro avec gh-dash

Par : Korben
28 mai 2024 à 06:30

gh-dash est une extension pour l’interface en ligne de commande gh de GitHub qui va vous permettre de visualiser et d’interagir avec vos Pull Requests et Issues dans un tableau de bord ultra-pratique, entièrement configurable selon vos besoins.

Vous lancez gh-dash dans votre terminal, et d’un coup d’œil, vous avez comme ça une vue d’ensemble de toutes les pull requests qui vous concernent, que ce soit celles que vous avez créées, celles qui attendent votre revue ou encore celles auxquelles vous êtes abonné. Idem pour les issues, regroupées par catégories : celles que vous avez ouvertes, celles qui vous sont assignées, celles que vous suivez… Et tout cela, trié et filtré exactement comme vous le souhaitez grâce à la puissance des filtres GitHub.

L’outil permet de définir des sections en utilisant des filtres GitHub, de rechercher des PRs et des issues, et de personnaliser les colonnes avec les propriétés hidden, width et grow. Vous pouvez également visualiser les détails d’une PR ou issue via une barre latérale détaillée. De plus, gh-dash permet d’agir directement sur vos PRs et issues depuis le tableau de bord.

Vous voulez faire un checkout sur une branche pour une PR ? Ajouter un commentaire ? Fusionner une PR ? Ouvrir une issue dans votre navigateur ? Toutes ces actions sont à portée de main, d’un simple raccourci clavier. Vous pouvez même définir vos propres raccourcis personnalisés pour lancer les commandes de votre choix.

Vous pouvez aussi choisir un thème visuel pour avoir un rendu plus joli (surtout si vous avez installé une police Nerd Font), et même définir plusieurs fichiers de configuration pour basculer entre différents tableaux de bord selon vos besoins. Vous pouvez ajuster divers paramètres dans votre fichier config.yml comme le nombre de résultats maximum par section, l’intervalle de rafraîchissement automatique du tableau de bord, les chemins vers les dépôts pour le checkout… Bref, de quoi avoir un outil qui s’adapte parfaitement à votre workflow.

Pour installer gh-dash, assurez-vous d’abord d’avoir une version minimum de gh (2.0.0). Ensuite, vous pouvez installer l’extension en exécutant la commande suivante :

gh extension install dlvhdr/gh-dash

A vous de jouer maintenant !

Source

RustPython – Python puissance Rust

Par : Korben
26 mai 2024 à 16:47

Un interpréteur Python 3 flambant neuf, entièrement réécrit en Rust, ça claque, non ? Pour ceux qui hibernent, Rust, c’est le langage de programmation qui monte, qui monte et qui cartonne notamment grâce à sa rapidité légendaire et son bon niveau de sécurité.

Et en fusionnant avec Python, on obtient le meilleur des deux mondes, puisque ça permet d’utiliser Python comme un langage de script dans vos applications Rust. Vous pourrez ainsi, grâce à RustPython, profiter de la simplicité et de l’expressivité de Python, tout en bénéficiant des performances et de la robustesse de Rust.

RustPython peut aussi être compilé en WebAssembly, ce qui permet d’avoir du Python directement dans votre navigateur, sans installer quoi que ce soit et ainsi, votre code s’exécutera à la vitesse de la lumière. Évidemment ce projet est open-source et libre comme l’air et pour l’utiliser, c’est simple comme bonjour.

Tout d’abord, assurez-vous d’avoir installé Rust sur votre machine. Si ce n’est pas le cas, filez sur rustup.rs dare-dare ! Ensuite, clonez le dépôt GitHub de RustPython :

git clone https://github.com/RustPython/RustPython

Placez-vous dans le répertoire RustPython fraîchement cloné, puis lancez la démo :

cd RustPython
cargo run --release demo_closures.py

Et voilà, vous venez d’exécuter du code Python à la vitesse du son grâce à RustPython ! Notez que cet outil dispose également d’un compilateur JIT expérimental qui compile les fonctions python en code rust natif.

Si vous avez envie d’en savoir plus, rendez-vous sur https://rustpython.github.io.

Source

Il code un serveur Node JS uniquement avec des fichiers texte !

Par : Korben
23 mai 2024 à 16:35

Et si on pouvait coder un serveur web sans écrire une seule ligne de JavaScript, de TypeScript ou tout autre langage de programmation ? Juste des instructions en anglais (ou en français) tout ce qu’il y a de plus classique dans de simples fichiers texte ?

Ça paraît dingue mais c’est exactement ce qu’a réussi à faire un développeur un peu fou avec Node.js et OpenAI !

Son projet baptisé Node-in-English est donc composé de fichiers sources qui sont des .txt contenant des commandes détaillées en anglais dans le texte. Un script de build Node.js se charge alors de « compiler » ces fichiers pour générer automatiquement le code du serveur et le déployer. Cette technologie repose ainsi sur l’utilisation du langage naturel pour définir les actions et comportements d’un serveur web et le script utilise l’API d’OpenAI pour interpréter ces instructions textuelles et générer le code nécessaire pour créer les endpoints du serveur. Chaque build consomme ainsi environ 4000 tokens chez OpenAI.

Évidemment, on ne peut pas juste demander « build me a server »… Les instructions doivent être suffisamment précises pour guider le modèle de langage vers le résultat attendu. Cela implique une certaine compréhension des librairies et frameworks sous-jacents, et l’auteur admet d’ailleurs que l’expérience de coder en langage naturel est plus frustrante comparée à un vrai langage de programmation car la quantité de texte et le nombre d’essais nécessaire pour obtenir un résultat précis est bien plus important.

Mais l’idée c’était plutôt de montrer ce qu’il est possible de faire à des gens qui ne peuvent pas, ne veulent pas ou n’osent pas se lancer dans le développement classique. Un genre de porte d’entrée vers le développement en douceur, en quelque sorte. L’auteur voulait surtout voir s’il était possible de construire un serveur sans écrire de code et comprendre dans quelle mesure des compétences techniques étaient nécessaires pour créer un serveur web fonctionnel.

Le serveur généré, accessible sur https://nie.avoguard.com/, propose plusieurs endpoints basiques :

  • / : une page d’accueil HTML listant les différentes routes
  • /list : retourne la liste des endpoints au format JSON (ou parfois un tableau JSON, selon son humeur du jour)
  • /quote : affiche une citation aléatoire à partir d’une liste générée lors du build
  • /ping : répond « pong », ce qui est toujours rassurant
  • /about : retourne une courte description du serveur, ou une erreur 404
  • /contact : retourne des informations de contact, ou une erreur 404

Des endpoints DELETE et POST font aussi parfois leur apparition de manière aléatoire selon les compilations.

C’est là tout le charme (et le côté flippant) de la chose… On a beau fournir les mêmes instructions en entrée, on n’est jamais certain de ce qu’on va obtenir à l’arrivée.

Maintenant, d’un point de vue technique, les fichiers .txt du dossier text-src sont combinés dans l’ordre défini dans le script /index.js, qui représente l’unique morceau de code écrit par un humain. L’auteur compte améliorer son système pour permettre de définir des routes plus complexes et plus fiables et y’a même une petite doc pour ceux qui veulent essayer de compiler ça eux-même.

Alors, est-ce que coder en français ou en anglais est l’avenir du développement web ? Peut-être un jour mais pour le moment, on reste quand même sur un projet bien expérimental, avec un Proof of Concept à la fois amusant mais surtout instructif au niveau de ses prompts.

Alors qui sait, peut-être que dans quelques années le métier de développeur consistera à remplir des fichiers .txt plutôt qu’à pisser des lignes de code obscures. Une sorte de no-code nouvelle génération en somme…

Source

Quel est le bon age pour lancer votre langage de programmation ?

Par : Korben
21 mai 2024 à 16:00

Les langages de programmation, c’est vraiment un truc incroyable. Ça nous permet de façonner le monde et nos usages mais vous êtes-vous déjà demandé à quel âge les développeurs derrière ces langages avaient conçu leurs bébé ?

Prenons par exemple ce bon vieux Dennis Ritchie, le créateur du célèbre langage C. Et bien, figurez-vous qu’il avait sa modeste 31ème bougie sur son gâteau d’anniversaire quand il a créé ce monument en 1972. Pas mal, non ?

Et JSON, ce format de données ultra populaire ? Son inventeur, Douglas Crockford, avait déjà 46 ans bien tassés quand il a sorti ce truc en 2001. Comme quoi, il n’y a pas d’âge pour innover ! Et que dire de Kenneth E. Iverson, qui a créé le langage J à l’âge de 70 ans en 1993 ? Respect l’ancien !

D’ailleurs, si on regarde les statistiques de plus près, on se rend compte que la moyenne d’âge pour créer un langage de programmation est de 37,5 ans. Avec un record à 70 ans pour Kenneth E. Iverson avec J et un jeune prodige qui a fait ses preuves à 16 ans. Devinez qui c’est ? Roulement de tambour…

Mais oui, c’est bien Aaron Swartz ! Ce petit génie qui nous manque cruellement, a créé le format atx en 2002 à l’âge où la plupart d’entre nous galérait encore sur les équations du second degré. C’était déjà impressionnant et par la suite, Il a d’ailleurs continué à innover, travaillant plus tard avec John Gruber pour créer le format Markdown en 2004.

En parlant de jeunes prodiges, saviez-vous que Rasmus Lerdorf a créé PHP à seulement 27 ans en 1995 ? Et oui, pendant que certains cherchaient encore leur voie en fac de socio, lui changeait déjà la face du développement web !

Et à contrario, regardez aussi TypeScript (2012, Anders Hejlsberg, 52 ans), Go (2009, Rob Pike, Ken Thompson et Robert Griesemer, 53 ans en moyenne) et Clojure (2007, Rich Hickey, 48 ans), ces langages ont été concoctées par des quadras et des quinquas bien expérimentés ! La preuve que l’expérience a du bon.

Notons également que Brendan Eich a créé JavaScript à 34 ans en 1995, Guido van Rossum a développé Python à 35 ans en 1991, et Tim Berners-Lee a inventé HTML à 36 ans la même année. Quant à Richard Stallman, il a conçu Emacs Lisp à 32 ans en 1985 et avant ça Emacs à l’age de 23 ans en 1976.

Bref, si vous rêvez de créer votre propre langage de dev ou votre propre format de données et que vous arrivez dans votre quarantaine ou que vous êtes un petit jeune qui sort à peine de l’école, y’a pas d’age pour vous lancer. C’est fun et gratifiant, et qui sait, peut-être que votre petit monstre deviendra le prochain C ou JavaScript !

Source

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

Par : Korben
21 mai 2024 à 07: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 !

Project IDX – L’IDE nouvelle génération de Google arrive en bêta publique !

Par : Korben
15 mai 2024 à 14:17

Project IDX, le petit dernier de Google dans la famille des IDE, sort enfin de sa phase d’incubation pour se frotter au grand public ! Fini le club sélect des happy few triés sur le volet, maintenant tout le monde peut mettre les mains dans le cambouis de cet environnement de dev’ d’un nouveau genre.

Oubliez vos bon vieux IDE installés sur votre bécane, là on parle d’un Visual Studio Code en ligne propulsé à l’IA Google, c’est à dire Gemini 1.5. IDX intègre une armada d’outils et de fonctionnalités censées vous faciliter la vie : templates pour les frameworks tendances du moment (React, Vue, Angular, Flutter…), autocomplétion et suggestions de code intelligentes, debugger intégré, prévisualisation en direct, et même des émulateurs iOS et Android pour tester vos créations immédiatement.

Mais la vraie star du show, c’est donc Gemini, le modèle d’IA de Google spécialisé en dev. Cette petite merveille est capable de comprendre votre code, de vous aider à le débugger ou à l’optimiser, et même de générer des bouts de programme entiers à partir de vos instructions en langage naturel.

Par exemple, vous lui dites « crée-moi une todolist en Rust » (ce que j’ai fait) et hop, Gemini vous sort le code presque clé en main mais pas trop quand même !

Car après avoir testé la bête, je vais pas vous mentir, c’est pas encore totalement au point. Des fois Gemini part en vrille et sort du code incomplet ou bancal.

Et l’ergonomie générale de l’IDE est parfois un peu brouillonne. Ça se voit que c’est encore une bêta. Perso, j’ai une petite préférence pour l’IDE Cursor (payant) qui intègre aussi de l’IA (GPT-4o ou Claude ou ce que vous voulez) mais de façon plus fonctionnel et efficace je trouve. Mais bon, ça c’est l’avis de quelqu’un qui a ses petites habitudes. Je ne doute pas que Google va rapidement améliorer et peaufiner son bébé.

Bref, si vous voulez essayer le dernier joujou à la mode, foncez sur idx.dev pour vous inscrire et mettre les mains dans vos premiers Project IDX.

Amusez-vous bien et codez bien !

Source

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

Par : Korben
12 mai 2024 à 19: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.

❌
❌