FreshRSS

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

Envie d’ajouter une GUI à votre code Python ?

7 mai 2022 à 09:00
Par : Korben

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.

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

30 avril 2022 à 09:00
Par : Korben

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 !

IPFS – Le web permanent

22 mars 2022 à 13:33
Par : Korben

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'écran 2016-01-04 06.10.22

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

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

21 mars 2022 à 09:00
Par : Korben

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.

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

14 mars 2022 à 09:00
Par : Korben

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.

Convertir la sortie d’une commande au format JSON

10 mars 2022 à 09:00
Par : Korben

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.

GitUI – Une interface pour Git dans le terminal

7 mars 2022 à 09:00
Par : Korben

Il y a quelque temps, je vous avais présenté une interface graphique (GUI) pour Git mais l’inconvénient des interfaces graphiques, c’est qu’elles ne sont en général pas dans le terminal.

Mais si malgré les astuces que je vous ai données pour débuter avec Git ne rentrent pas dans votre cerveau tout mou ou si trouver la bonne commande git en fonction de ce que vous voulez faire est un périple, je vous propose de tester GitUI.

C’est une interface pour Git qui se pilote au clavier et qui fonctionne dans le terminal. Pas besoin de mémoriser des tas de raccourcis clavier, il suffit de sélectionner la bonne commande avec les touches de votre clavier et hop ! A vous les commits, les inspections de code, les stages, les push, les créations de branches et j’en passe.

Comparé à LazyGit, GitUI est plus rapide et prend moins de place en mémoire.

Pour l’installer sous macOS :

brew install gitui

Pour Windows, il faudra utiliser Scoop ou Chocolatey. Et pour Linux, tout est expliqué là.

Comment créer un petit bouton javascript qui permet aux gens d’ajouter votre événement à leur calendrier

22 février 2022 à 09:00
Par : Korben

Si vous organisez des réunions, des conférences téléphones ou des grosses teufs avec champagne et cluster de covid, il est pratique de pouvoir proposer à vos invités d’ajouter cet événement dans leur calendrier. Pour cela, aujourd’hui je vous propose un script qui s’appelle Add To Calendar Button. Il s’agit tout simplement d’un petit bout de JavaScript qui une fois paramétré et inséré dans vos pages web ressemblera à ceci :

Le code de ce script fonctionnera sur desktop et mobile et peut être entièrement paramétré et traduit comme bon vous semble. Il permet d’ajouter une invitation dans les calendriers les plus connus (Google Calendar, Yahoo Calendar, Microsoft 365 et Outlook calendar sans oublier la génération de fichiers iCal / ICS pour les autres calendriers comme celui d’Apple.

Pour mettre en place ce bout de code, téléchargez-le depuis le dépôt Github. Ensuite, copiez les fichiers présents dans le dossier assets sur votre site, puis intégrez ces fichiers à votre page comme ceci :

<link rel="stylesheet" href="./assets/css/atcb.min.css">

<script src="./assets/js/atcb.min.js" defer></script>

Puis créez un bouton comme ceci :

<div class="atcb" style="display:none;">
  {
    "name":Le titre de l'événement",
    "startDate":"02-21-2022",
    "endDate":"03-24-2022",
    "options":[
      "Google"
    ]
  }
</div>

On a la une configuration minimale, mais sachez que vous pouvez ajouter beaucoup plus d’options comme ceci :

<div class="atcb" style="display:none;">
  {
    "name":"Le titre de votre événement",
    "description":"Une petite description",
    "startDate":"02-21-2022",
    "endDate":"03-24-2022",
    "startTime":"10:13",
    "endTime":"17:57",
    "location":"Roubaix",
    "label":"Ajouter au calendrier",
    "options":[
      "Apple",
      "Google",
      "iCal",
      "Microsoft365",
      "Outlook.com",
      "Yahoo"
    ],
    "timeZone":"Europe/Berlin",
    "timeZoneOffset":"+01:00",
    "trigger":"click",
    "iCalFileName":"Reminder-Event"
  }
</div>

Je vous invite vraiment à lire la documentation pour intégrer facilement ce genre de petit bouton.

[FR] Introduction au langage Bash

15 juillet 2021 à 08:00
Par : Mr Xhark

Qui n'utilise pas l'interpréteur Bash ? Peu importe votre niveau il y a toujours une petite astuce que vous ne connaissez pas.

Eric Sanchis, professeur à l'IUT de Rodez a mis en ligne un guide en français de 140 pages en accès libre.

Introduction à la programmation en Bash

Le guide français est accessible gratuitement sous Licence GNU :

▶IntroProgBash.pdf (miroir)

Merci Eric 👍

Vous n'aimez pas le RSS : abonnez-vous par email 📥
Vous devriez me suivre sur Twitter : @xhark

Article original écrit par Mr Xhark publié sur Blogmotion le 15/07/2021 | 2 commentaires |
Attention : l'intégralité de ce billet est protégée par la licence Creative Commons

Cet article [FR] Introduction au langage Bash provient de : on Blogmotion.

Fix Unable to Run Yarn in Windows Terminal – PowerShell

30 mai 2021 à 18:08

If you run into an error with your brand new machine when trying to run any custom scripts like npm, yarn or any node modules you might run into an error similar to below.

yarn : File C:\Program Files\nodejs\yarn.ps1 cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at 
https:/go.microsoft.com/fwlink/?LinkID=135170. 

At line:1 char:1 + yarn + ~~~~ + CategoryInfo : SecurityError: (:) [], PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess

To fix it, open PowerShell as administrator, again make sure to run this in PowerShell, not with the regular command prompt (cmd). Copy and paste the code below and run it.

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted

This will grant you the necessary permission to run any executable scripts in your PC’s terminal. You only have to do this once and any future yarn or npm commands will run successfully.

Hope this helps with your quick tip on solve why yarn or npm not running on your PC. The same will be true for Ruby’s bundler to manage gems, or Python’s pip package manager.

The post Fix Unable to Run Yarn in Windows Terminal – PowerShell appeared first on Next of Windows.

❌