close

Un petit groupe de #chercheuses et de chercheurs du Centre National français de la #Recherche Scientifique ( #CNRS ) et de la Fédération de Recherche Photovoltaïque ( #FedPV ) a formé un atelier pour travailler collectivement sur les questions posées par le #développement du solaire #photovoltaïque en #France.

L’une d’entre elle : le solaire est-il compétitif en terme de #coût et de €durabilité par rapport aux autres #énergies ?

  • chevron_right

    Envie d’ajouter une GUI à votre code Python ?

    news.movim.eu / Korben · Saturday, 7 May - 07:00

Si vous faites des scripts en Python, mais que vous n’avez toujours pas franchi le pas des interfaces utilisateurs, voici un moyen simple de le faire.

Basée sur la célèbre lib Tkinter qui permet de faire des GUI, la lib Guizero permet aux débutants de concevoir facilement leurs interfaces graphiques en Python.

Une fois installé à l’aide de :

pip3 install guizero

Il est ensuite assez simple de dessiner vos interfaces graphiques en y intégrant tous les widgets nécessaires. Cela va du bouton à cocher à la liste en passant par l’import d’image ou le champ de saisie.

Du classique, mais du facile à implémenter. Par exemple, un petit Hello World ressemblerait à ça :

Allez jeter un oeil à la doc. Vous verrez que c’est super easy et ça vous permettra à vos utilisateurs d’avoir des interactions plus simples avec vos outils en ligne de commande, sans pour autant y passer trop de temps.

À découvrir ici.

  • chevron_right

    Écrire des scripts shell en Node.js avec Google ZX

    news.movim.eu / Korben · Saturday, 30 April - 07:00 · 1 minute

Si vous faites des scripts en bash, déjà ça veut dire que vous êtes une belle personne. Mais ça veut également dire que Google pense à vous.

En effet, cette petite entreprise qui un jour sera connue dans le monde entier, j’en suis sûr, a mis en ligne sur son Github un outil qui s’appelle ZX et qui permet d’écrire des scripts beaucoup plus simplement et beaucoup plus rapidement.

Reposant sur NodeJS, ZX ne perdra pas tous ceux qui sont déjà familiers avec JavaScript et Node.js. ZX a la particularité de faciliter la création de child_process et la gestion des messages sortants (stdout et stderr).

Prenons un exemple type hello world qui va utiliser la commande « ls » pour lister les fichiers d’un répertoire et récupérer la sortie de cette commande.

On va d’abord créer un répertoire :

mkdir hello
cd hello

Puis on va initialiser un nouveau projet dans le dossier :

npm init --yes

Ensuite, pour installer zx, il faudra passer par npm comme ceci :

npm install --save-dev zx

On va ensuite créer un script avec l’extension .mjs

nano hello.mjs

Dont voici le code… En gros, on initialise le shebang et y’a plus qu’à utiliser les fonctions de récupération des commandes comme elles sont décrites dans la documentation .

Ainsi, on importe la fonction $ (shell) et on lui passe la commande ls. On récupère la sortie (stdout) de ls dans la variable output et on affiche cette variable.

#! /usr/bin/env node

import { $ } from "zx";

const output = (await $`ls`).stdout;

console.log(output);

ZX est une façon agréable de faire des scripts bash avec NodeJS sans trop se prendre la tête. Vous pouvez même mixer ça avec de la doc en markdown pour exécuter le contenu « code » contenu dans un fichier .md.

Évidemment, je vous recommande lire la doc pour aller au-delà de mon petit exemple.

Ah et en bonus, pour les Patreons, je vous ai même fait un tuto en vidéo .

Merci de votre soutien !

  • chevron_right

    Vous voulez apprendre le développement ? Ces 4 jeux vont vous y aider

    news.movim.eu / JournalDuGeek · Thursday, 14 April - 14:30

template-jdg-2022-04-14t122209-692-158x105.jpgJim Carrey Bruce tout puissant

Si vous avez toujours voulu apprendre le développement, ces quatre jeux peuvent vous aider.

Vous voulez apprendre le développement ? Ces 4 jeux vont vous y aider

  • chevron_right

    IPFS – Le web permanent

    news.movim.eu / Korben · Tuesday, 22 March - 12:33 · 1 minute

Actuellement, lorsque nous nous connectons à un site web, nous utilisons majoritairement le protocole HTTP afin d’aller chercher ce qui nous intéresse sur un serveur. Il existe cependant un autre protocole de diffusion baptisé IPFS (InterPlanetary File System) qui fonctionne sur un principe de peer to peer.

Edit du 22/03/2022 : J’ai réalisé une vidéo tutorial pour les gens qui me soutiennent sur Patreon. Elle est maintenant disponible pour tous ici.

L’idée est ambitieuse et Kyle Drake, l’inventeur de IPFS, explique dans ses vidéos que son protocole permet d’éviter les points uniques de défaillance . Il s’agit d’un système de fichier versionné (Git) dont les blocs sont partagés en P2P (Kademlia + BitTorrent), ce qui rend le web vraiment décentralisé.

En gros, il applique le principe du téléchargement bittorrent à tout ce qui constitue le web. Si vous consultez une page web en IPFS, les images, les CSS, le HTML et les JavaScript seront récupérés bloc par bloc chez d’autres utilisateurs d’IPFS (ou CDN connectés en IPFS). Cela rendra le chargement de la page plus rapide et il sera impossible de la supprimer ou de la censurer si on n’en est pas le propriétaire.

IPFS est un projet open source qui est d’ores et déjà disponible en version alpha et des API pour tous les langages sont disponibles, ce qui vous permettra d’implémenter ce protocole dans vos projets.

Capture d

Voici une démo en vidéo de ce que ça peut donner en conditions réelles :

Si par exemple Mozilla s’emparait de cette techno, ça pourrait commencer à devenir passionnant ! (Edit 22/03/2022 : Brave l’a fait !)

Vous trouverez plus d’infos sur le site d’IPFS .

Article initialement paru le 06/01/2016 – Mis à jour le 22/03/2022

KorbensBlog-UpgradeYourMind?d=yIl2AUoC8zAKorbensBlog-UpgradeYourMind?i=3D61Gfr1ryg:PT55Q3pQhlM:D7DqB2pKExkKorbensBlog-UpgradeYourMind?i=3D61Gfr1ryg:PT55Q3pQhlM:GG6oivYVkFsKorbensBlog-UpgradeYourMind?d=qj6IDK7rITsKorbensBlog-UpgradeYourMind?i=3D61Gfr1ryg:PT55Q3pQhlM:gIN9vFwOqvQKorbensBlog-UpgradeYourMind?d=7Q72WNTAKBA
  • chevron_right

    L’API qu’il vous faut pour faire tourner des programmes DOS dans un navigateur

    news.movim.eu / Korben · Monday, 21 March - 08:00

JS-DOS est comme son nom l’indique un projet de bibliothèque JavaScript qui vous permet de faire fonctionner un programme DOS dans un navigateur sans trop vous prendre la tête.

Une fois en place dans votre projet vous pourrez alors lancer rapidement un programme DOS rapidement :

Dos(element).run("game.jsdos")

Des couches emulators et emulators-ui vous permettront également d’utiliser l’API de JS-DOS et de faire tourner l’émulation dans différents environnements ou encore de concevoir votre propre lecteur de programmes DOS.

C’est vraiment des outils et une API qui vous permettront soit de monter votre propre site comme DOS Zone ou votre propre application mobile d’émulation. Mais je pense également à des outils pros encore sous DOS et encore utilisés dans certaines entreprises, qui pourraient de cette manière être mis en ligne sur un serveur, évitant ainsi des installations bordéliques sur des machines récentes.

Tellement de possibilités.

Quoiqu’il en soit, JS DOS est disponible sur ce site . Amusez-vous bien et surtout, pensez à lire la doc .

KorbensBlog-UpgradeYourMind?d=yIl2AUoC8zAKorbensBlog-UpgradeYourMind?i=NRbSNGwZzEk:aOGRBEwaV34:D7DqB2pKExkKorbensBlog-UpgradeYourMind?i=NRbSNGwZzEk:aOGRBEwaV34:GG6oivYVkFsKorbensBlog-UpgradeYourMind?d=qj6IDK7rITsKorbensBlog-UpgradeYourMind?i=NRbSNGwZzEk:aOGRBEwaV34:gIN9vFwOqvQKorbensBlog-UpgradeYourMind?d=7Q72WNTAKBA
  • chevron_right

    Une extension VS Code qui génère de la documentation à l’aide d’IA

    news.movim.eu / Korben · Monday, 14 March - 08:00

On le sait tous, les développeurs sont les pires feignasses de la Terre quand il s’agit d’écrire de la documentation. Heureusement, dans la lignée de CoPilot dont j’ai parlé ici, voici AI Doc .

AI Doc est une extension pour Visual Studio Code qui génère de la documentation. Vous surlignez une de vos fonctions ou une partie de votre code, vous cliquez sur le bouton « Generate Docs « . Si vous êtes sous Mac vous pouvez aussi utiliser la combinaison de touches : ⌘ + .

Et PAF, vous aurez un peu de doc simpliste, mais qui fera l’affaire.

Voici une démo en vidéo de la bestiole. Vraiment cool, j’adore !!

Et le plus beau, c’est que c’est sous licence libre ici .

KorbensBlog-UpgradeYourMind?d=yIl2AUoC8zAKorbensBlog-UpgradeYourMind?i=bgVbzOdE-68:dmkMPAqE5vs:D7DqB2pKExkKorbensBlog-UpgradeYourMind?i=bgVbzOdE-68:dmkMPAqE5vs:GG6oivYVkFsKorbensBlog-UpgradeYourMind?d=qj6IDK7rITsKorbensBlog-UpgradeYourMind?i=bgVbzOdE-68:dmkMPAqE5vs:gIN9vFwOqvQKorbensBlog-UpgradeYourMind?d=7Q72WNTAKBA
  • chevron_right

    Convertir la sortie d’une commande au format JSON

    news.movim.eu / Korben · Thursday, 10 March - 08:00 · 1 minute

Si vous codez ou que vous faites de la ligne de commande et que vous avez besoin de récupérer la sortie d’un outil en ligne de commande ou de fichiers type XML and co et d’exporter tout ça en JSON ou dictionnaires pour Python, j’ai ce qu’il vous faut.

Ça s’appelle JC et c’est dispo sous la forme d’un outil en ligne de commande ou d’une lib Python. Vous pouvez ainsi rediriger avec un pipe la sortie d’une commande vers JC comme ceci en précisant le parseur dig (Il y a pleins de parseurs disponibles) :

dig example.com | jc --dig

Et ainsi obtenir ça :

[{"id":38052,"opcode":"QUERY","status":"NOERROR","flags":["qr","rd","ra"],"query_num":1,"answer_num":1,"authority_num":0,"additional_num":1,"opt_pseudosection":{"edns":{"version":0,"flags":[],"udp":4096}},"question":{"name":"example.com.","class":"IN","type":"A"},"answer":[{"name":"example.com.","class":"IN","type":"A","ttl":39049,"data":"93.184.216.34"}],"query_time":49,"server":"2600:1700:bab0:d40::1#53(2600:1700:bab0:d40::1)","when":"Fri Apr 16 16:09:00 PDT 2021","rcvd":56,"when_epoch":1618614540,"when_epoch_utc":null}]

Si vous vous sentez pousser des ailes, vous pouvez même l’enchainer avec la commande jq comme ceci pour récupérer simplement une info :

dig example.com | jc --dig | jq -r '.[].answer[].data'

Très pratique pour récupérer de la data dans vos scripts Pythons ou sortir cette donnée en JSON pour ensuite l’importer ailleurs. Avec ça vous pourrez parser des commandes comme crontab, ls, free, mount, hosts, ping, ps, systemctl, tracerout ou des formats de fichiers comme le CSV, XML, YAML…etc.

Il y a même une démo en ligne si vous voulez tester avec d’installer .

Si ça vous intéresse, le dépôt Github est ici.

Merci à l__l_l_l__ pour le partage.

KorbensBlog-UpgradeYourMind?d=yIl2AUoC8zAKorbensBlog-UpgradeYourMind?i=fkeUG809bIs:8qxZSm8w47E:D7DqB2pKExkKorbensBlog-UpgradeYourMind?i=fkeUG809bIs:8qxZSm8w47E:GG6oivYVkFsKorbensBlog-UpgradeYourMind?d=qj6IDK7rITsKorbensBlog-UpgradeYourMind?i=fkeUG809bIs:8qxZSm8w47E:gIN9vFwOqvQKorbensBlog-UpgradeYourMind?d=7Q72WNTAKBA