GameShell, le retour

Posté par  . Édité par palm123, Benoît Sibaud et bobble bubble. Modéré par Benoît Sibaud. Licence CC By‑SA.
Étiquettes :
50
26
juin
2021
Ligne de commande

Il y a quelques mois, je postais une dépêche décrivant “GameShell”, un jeu que j’avais développé pour enseigner les bases de la ligne de commandes. Cette dépêche avait provoqué discussions, corrections de bugs et suggestions intéressantes.

Trois mois et quelques centaines de commits plus tard, je me permets de faire une petite mise à jour.

Globalement (mais je suis un peu biaisé), le GameShell d’aujourd’hui est nettement mieux que le GameShell d’hier. Ceci a un coût : la taille d’une archive GameShell a été multipliée par 3. On est passé de 44kio à 140kio !
Je ne sais pas comment on traduit “bloat” en français (“boursouflage” ?), mais pour le moment, ça ne m’empêche pas de dormir !

La version précédente avait été testée par plusieurs générations d’étudiants, parfois très inventifs. Alors n’hésitez pas à vous mettre dans la peau d’un étudiant en faisant une partie avant de me faire un retour.
Je suis preneur de toute critique, suggestion, rapport de bug, ticket, contribution et j’en passe.

Si certains veulent créer des missions, je pourrais faire une petite description de l’architecture d’une mission type. Ce n’est pas très compliqué, et une année, j’ai même eu un étudiant qui en a ajouté une comme « question bonus » !

GameShell, apprendre les rudiments du shell en s'amusant

Posté par  . Édité par Xavier Claude et Pierre Jarillon. Modéré par Pierre Jarillon. Licence CC By‑SA.
Étiquettes :
77
26
mar.
2021
Ligne de commande

Il y a 4 ans, j'ai pris en charge un nouveau cours intitulé « système d'exploitation » en première année de licence. Le programme est assez large, avec un peu d'architecture, un peu de système, et même un peu de réseau. Là dedans, je devais faire une introduction au shell. Le risque avec ce genre du truc, c'est de se retrouver avec un catalogue de commandes qui rebutera même les étudiants les plus motivés.

Et c'est comme ça qu'est né GameShell, ou gash pour les intimes. GameShell est un jeu où il faut entrer des commandes dans un shell (bash) pour valider des « missions ». Comme il n'y a pas eu de gros bug ces deux dernières années, je me dis que je pouvais en faire la pub. (Attention, il reste probablement plein de bugs. C'est juste que les étudiants ne sont pas encore tombés dessus !). Ça peut intéresser les gens qui veulent apprendre, ou enseigner les rudiments du shell.

Le code est disponible sur GitHub (promis, je changerais un de ces jours) avec une licence GPL : GameShell sur GitHub

N'hésitez pas à me faire des retours d'utilisation, des rapports de bugs, proposer des fonctionnalités, ajouter des missions, etc.
Si vous l'utilisez « en public », ça serait juste bien d'inclure un lien vers le dépôt et / ou mon nom.

GameShell est un jeu en ligne de commandes, où le joueur doit taper des commandes bash pour valider des « missions ».

Quelle palette de couleurs pour vos outils ?

Posté par  (site Web personnel) . Édité par Davy Defaud. Modéré par ZeroHeure. Licence CC By‑SA.
Étiquettes : aucune
57
12
mai
2020
Ligne de commande

Je passe pas mal de temps avec Neovim et des lignes de commande dans un un terminal. J’apprécie d’avoir des couleurs agréables et homogènes. Mais comme c’est quelque chose de très personnel, je vais vous présenter plusieurs alternatives pour choisir une palette de couleurs.

Une capture d’écran avec le thème Nord d’un terminal avec tmux

Trois utilitaires : Delta, Dust et Watchexec

Posté par  (site Web personnel) . Édité par Xavier Teyssier, Benoît Sibaud et Davy Defaud. Modéré par Xavier Teyssier. Licence CC By‑SA.
Étiquettes :
47
11
mai
2020
Ligne de commande

J’avais présenté, il y a quelque temps, trois utilitaires écrits en Rust pour remplacer grep, ls et find (à savoir ripgrep, exa et fd). Cette dépêche est l’occasion de présenter trois nouveaux utilitaires également écrits en Rust : delta, dust et watchexec.

« Internet est cassé » ou plutôt : comment tester du TCP ou de l’UDP

Posté par  (site Web personnel) . Édité par Arkem, Davy Defaud et Yves Bourguignon. Modéré par Julien Jorge. Licence CC By‑SA.
Étiquettes :
35
3
juil.
2019
Ligne de commande

N. D. L. A. : cet article est généré via une commande du type ansible-playbook InternetEstCassé.yml pour tester réellement les commandes.

Internet est cassé. Le Web ne marche plus. Le réseau est pété. Ça marche pas. Ce site est indisponible. Des lutins bloquent ma connexion. Les tuyaux sont bouchés. Y a Firefox qui veut pas, etc. Quand il y a un souci de réseau, toutes sortes d’imprécations, de suppositions, de supplications ou de raisons sont lancées. Peut‐on aller plus loin et essayer d’y voir plus clair, de déboguer un peu le souci et d’identifier le problème.

On va parler un peu d'IP — surtout la version 4 —, de TCP, d’UDP, d’ICMP, d’ARP, de DNS, de HTTP, etc., d’un peu de vue pratique de vérification du bon fonctionnement ou de recherche d’un souci. En dehors des pages Wikipédia, une lecture utile : la RFC 1180 « A TCP/IP Tutorial » (avec une traduction en français disponible).

Bogue, fonctionnalité, mauvais usage ? Un cas pratique

Posté par  (site Web personnel) . Édité par Davy Defaud, David Marec, ZeroHeure et ymz. Modéré par ymz. Licence CC By‑SA.
Étiquettes :
52
31
mar.
2019
Ligne de commande

Dans la rétrospective LinuxFr.org de la première quinzaine de mars 2019, il était question de la réponse surprenante de diff : « Le fichier /var/lib/lxc/alpha/rootfs/dev/full est un fichier spécial‐caractères alors que le fichier /var/lib/lxc/beta/rootfs/dev/full est un fichier spécial‐caractères. »

Les choses auraient pu en rester là. Mais quand même, ça reste une bonne occasion de se demander si c’est un bogue, une fonctionnalité ou un mauvais usage, non ? Jouons un peu avec ce cas pratique.

Dark Moon : une distribution GNU/Cygwin portable pour Windows

Posté par  . Édité par Yves Bourguignon, BAud, Nils Ratusznik, Davy Defaud, palm123, Nÿco, Benoît Sibaud, Bruno Michel, ZeroHeure et pulkomandy. Modéré par Pierre Jarillon. Licence CC By‑SA.
Étiquettes :
14
16
août
2018
Ligne de commande

Dark Moon est un émulateur de terminal open source développé par Mehdi Boutayeb Ferkatou, étudiant à l'université Paul Sabatier, et édité par MBK logiciel dans sa version UWP sur le Microsoft Store.

Dark-Moon

Dark Moon est à ce jour la seule distribution GNU/Cygwin disponible sur le Microsoft Store et sur le site de l’éditeur.

Présentation de The Log File Navigator

Posté par  (site Web personnel) . Édité par Davy Defaud, Xavier Teyssier, Nils Ratusznik et ZeroHeure. Modéré par Xavier Teyssier. Licence CC By‑SA.
Étiquettes :
64
2
août
2018
Ligne de commande

The Log File Navigator, ou lnav en plus court, est un outil en ligne de commande pour afficher des journaux, sous licence BSD. Par rapport aux classiques cat, grep ou less, il propose quelques fonctionnalités supplémentaires :

  • il offre de la coloration syntaxique ;
  • il permet d’afficher plusieurs journaux en même temps, les lignes étant triées en fonction de la date et de l’heure à laquelle l’événement est survenu (c’est pratique pour corréler des informations entre plusieurs processus) ;
  • il offre différents modes d’affichage.

Trois outils pour développeur : MailHog, Tokei et Pandoc

Posté par  (site Web personnel) . Édité par Davy Defaud, patrick_g et Nils Ratusznik. Modéré par patrick_g. Licence CC By‑SA.
Étiquettes :
51
9
avr.
2018
Ligne de commande

Dans cette dépêche, je vais vous présenter trois outils que j’utilise de temps en temps et qui pourraient servir à d’autres développeurs :

  • MailHog permet d’attraper des courriels pour les examiner ;
  • Tokei compte les lignes de code d’un projet ;
  • Pandoc est un couteau suisse pour manipuler des fichiers et les transformer d’un langage de balisage à un autre.

Des alternatives à grep, ls et find

Posté par  (site Web personnel) . Édité par Xavier Teyssier, Davy Defaud et palm123. Modéré par Xavier Teyssier. Licence CC By‑SA.
Étiquettes :
69
19
mar.
2018
Ligne de commande

Les outils en ligne de commande comme ls, grep et find existent depuis de nombreuses années et, même s’ils continuent de s’améliorer, il est parfois intéressant de regarder les alternatives. Je vais vous parler de ripgrep, exa et fd.

Quel terminal pour 2018 ?

Posté par  (site Web personnel) . Édité par Davy Defaud, Benoît Sibaud et Xavier Claude. Modéré par Xavier Claude. Licence CC By‑SA.
Étiquettes :
68
10
mar.
2018
Ligne de commande

Vous connaissez les terminaux, ces petites fenêtres le plus souvent noires où l’on tape des lignes de commande bizarres ? Eh bien, vous risquez d’être surpris : le choix du logiciel pour faire ça n’est pas aussi simple que ça en a l’air et des gens continuent de proposer de nouvelles alternatives. Cette dépêche vise à présenter rapidement quelques fonctionnalités intéressantes que les terminaux historiques ne géraient pas forcément et à présenter quelques terminaux.

Optimisations et corrections pour Fim 1.2.3

Posté par  . Édité par Davy Defaud, Florent Zara, Nÿco, palm123 et ZeroHeure. Modéré par ZeroHeure. Licence CC By‑SA.
17
8
juin
2017
Ligne de commande

Fim (File Integrity Manager) sort dans sa version 1.2.3 avec diverses corrections.

Fim est un gestionnaire de fichiers libre (licence GPL v3) qui permet de gérer de nombreux fichiers de n’importe quelle taille. Il peut, par exemple, gérer des musiques, des photos ou des vidéos. Il est capable de gérer des centaines de milliers de fichiers occupant une taille totale de plusieurs téraoctets. Il peut détecter les fichiers dupliqués et les effacer.

Fim Logo

Effacement des doublons et historique complet pour Fim 1.2.2

31
24
oct.
2016
Ligne de commande

Fim (File Integrity Manager) sort dans sa version 1.2.2 avec diverses améliorations et un support de présentation en français.

Fim est un gestionnaire de fichiers libre (licence GPL v3) qui permet de gérer beaucoup de fichiers de n’importe quelle taille. Il peut, par exemple, gérer des musiques, des photos ou des vidéos. Il est capable de gérer des centaines de milliers de fichiers occupant une taille totale de plusieurs téraoctets. Il peut détecter les fichiers dupliqués et les effacer.

Fim Logo

Sortie de it-edit (Integrated Terminals Editor) 2.91

31
21
juil.
2016
Ligne de commande

IT-Edit (Integrated Terminals Editor) est disponible en version 2.91.

Cette nouvelle version n'apporte pas de nombreuses améliorations par rapport à la version 2.0, mais constitue une étape importante, car elle est désormais basée sur la nouvelle version majeure de la bibliothèque libvte (bibliothèque implémentant un widget d'émulateur de terminal, utilisé par Gnome-terminal.) IT-Edit se met donc à niveau. À cette occasion, de nombreux bugs et imperfections ont été corrigés.

capture d'éran de it-edit-2.91

Liquid Prompt 1.10

Posté par  (site Web personnel) . Édité par ymz, ZeroHeure, Florent Zara, Pierre Jarillon et palm123. Modéré par Pierre Jarillon. Licence CC By‑SA.
39
2
juin
2016
Ligne de commande

Le Liquid Prompt est un prompt fluide affichant de manière limpide des informations utiles dans le prompt de votre shell bash ou zsh. Le liquidprompt était déjà bien rempli de fonctionnalités, certaines ont été ajoutées, d'autres corrigées, et leurs performances ont encore été améliorées avec les 216 commits durant les 17 mois écoulés. Il était temps de sortir une nouvelle version officiellement stable.

Je profite de cette dépêche pour remercier chaudement les 35 contributeurs qui par leurs patchs ont contribué à cette version.

Quelques changements sont présentés dans la suite de cette dépêche.

Focus sur les performances avec Fim 1.2.0

Posté par  . Édité par ymz, Benoît Sibaud et Nÿco. Modéré par Florent Zara. Licence CC By‑SA.
18
25
mai
2016
Ligne de commande

Fim (File Integrity Manager) sort dans sa version 1.2.0 avec divers gains de performance.

Fim est un gestionnaire de fichiers libre (licence GPLv3) qui permet de gérer beaucoup de fichiers de n'importe quelle taille. Il peut par exemple, gérer des photos ou des vidéos. Il est capable de gérer des centaines de milliers de fichiers occupant une taille totale de plusieurs téraoctets. Il peut détecter les fichiers dupliqués et aider à les effacer.

Fim Logo

WebVim, une distribution Vim pour le dévelopment web

Posté par  (site Web personnel) . Édité par Benoît Sibaud et Nils Ratusznik. Modéré par ZeroHeure. Licence CC By‑SA.
42
13
nov.
2015
Ligne de commande

WebVim est une distribution Vim qui vient avec un lot de greffons pré-configurés et optimisés pour le développement web et JavaScript/node.js.

Logo WebVim

WebVim offre par défaut quelques fonctionnalités sympas, dignes de certains IDE et éditeurs de code spécialisés :

  • coloration syntaxique ;
  • affichage des erreurs de syntaxes et de styles ;
  • auto-complétion ;
  • refactoring ;
  • curseurs multiples ;
  • formatage et alignement automatiques ;
  • prise en compte de conventions d'édition (editorconfig) ;
  • prise en charge de git ;
  • navigation dans les modules nodes.js ;
  • un mode hardcore (où par exemple la touche Esc et les flèches sont désactivées) ;
  • et tout ce que Vim fournit par défaut (par exemple la vérification orthographiques) !

WebVim utilise le gestionnaire de greffons vim-plug en arrière plan et un système de chargement et de configuration avancé.

Kakoune, un éditeur de texte qui a du caractère

Posté par  (site Web personnel) . Édité par Lucas, mawww, yPhil, Benoît Sibaud, patrick_g et Thomas Debesse. Modéré par Benoît Sibaud. Licence CC By‑SA.
Étiquettes :
55
11
nov.
2015
Ligne de commande

Kakoune est un éditeur de texte en console qui gagne a être connu. Cette dépêche a pour but de le faire découvrir à plus de monde.

NdM : Le logiciel est placé par ses auteurs dans le domaine public.

Fim 1.1.0

Posté par  . Édité par Nils Ratusznik et Benoît Sibaud. Modéré par ZeroHeure. Licence CC By‑SA.
31
2
nov.
2015
Ligne de commande

Fim (File Integrity Manager) est un gestionnaire de fichiers libre (licence GPLv3) qui permet de gérer beaucoup de fichiers de n'importe quelle taille. Il peut par exemple, gérer des photos ou des vidéos. Il est capable de gérer des centaines de milliers de fichiers occupant une taille totale de plusieurs téraoctets. Il peut détecter les fichiers dupliqués et aider à les effacer.

Logo de Fim

Les nouveautés de la version 1.1.0 :

  • réécriture de l'algorithme de hachage pour hacher un bloc au début, un au milieu et un à la fin (détails ici) ;
  • détection de corruption due au matériel ou de bug du système de fichiers (détails ici) ;
  • sauvegarde et restauration des permissions des fichiers, utilisation des labels SELinux si disponibles (détails ici) ;
  • prise en compte des fichiers .fimignore pour ignorer des fichiers ou des répertoires (détails ici).

Atelier CLI de la semaine 45/2015 à Bordeaux

Posté par  (site Web personnel) . Édité par Xavier Claude et Benoît Sibaud. Modéré par Xavier Claude. Licence CC By‑SA.
8
27
oct.
2015
Ligne de commande

Les ateliers CLI (Command Line Interface) permettent de progresser en ligne de commande au sein d'un groupe, autour d'un outil ou d'un thème.

Au cours de l'atelier CLIdu mardi 03 novembre, j'ouvrirais le premier atelier consacré aux contrôles d'accès dont le sujet sera les permissions Unix traditionnelles, abrèv. TUP. Lieu : Le Node 12 rue des Faussets 33000 Bordeaux.

L'atelier CLI suivant, fixé au mardi 10 novembre, sera ouvert à la pratique à l'aide d'exemples concrets. Lieu : Labx, à la Cité numérique, 2 rue Marc Sangnier 33130 Bègles.

Les ateliers CLI ont lieu :

  • débutant : animé par Stéphane Ortega, le lundi de 19h00 à 20h30;
  • avancé : animé par un professionnel ou un expert, le mardi de 20h00 à 22h00.

Katal, catalogue de fichiers

Posté par  (site Web personnel) . Édité par Benoît Sibaud, ZeroHeure et Nils Ratusznik. Modéré par ZeroHeure. Licence CC By‑SA.
30
26
oct.
2015
Ligne de commande

Katal est un projet GPLv3/Python3/CLI/Linux-Windows : il permet de créer un catalogue de fichiers à partir de différentes sources, en filtrant les fichiers à récupérer, en les renommant à la volée; on peut alors étiqueter les fichiers obtenus.

Le répertoire de destination contient les fichiers du catalogue, une base de données, un dossier .trash et un dossier pour les logs. J'ai l'habitude de placer dans le répertoire de destination le script katal.py; ainsi, je déplace le catalogue en même temps que l'outil qui me permet de le gérer.

De l'aide est disponible dans le fichier README.md : voyez ici.
Voyez aussi le résultat de $ katal -h .

Atelier CLI de la semaine 41/2015 à Bordeaux

8
8
oct.
2015
Ligne de commande

Les ateliers CLI (Command Line Interface) permettent de progresser en ligne de commande au sein d'un groupe, autour d'un outil ou d'un thème.

L'atelier CLI du 13/10/2015 sera consacrée au langage Python, Alexandre Devert en présentera une introduction.

L'atelier suivant, fixé au mardi 20 octobre, sera ouvert à la pratique à l'aide d'exemples concrets.

Alexandre Devert est chercheur, ou plutôt « fouilleur de données » comme il aime à se décrire. Il écrit de nombreux scripts dans le langage Python afin d'explorer des résultats d'expériences.

Il est l'auteur du livre « matplotlib Plotting Cookbook », aux éditions Packt Publishing. matplotlib est une bibliothèque graphique 2D implémentée en Python.

Les ateliers CLI ont lieu :

  • pour le niveau débutant : animé par Stéphane Ortega, le lundi de 19h00 à 20h30 ;
  • pour le niveau avancé : animé par un professionnel ou un expert, le mardi de 20h00 à 22h00.

Ils se dérouleront dans les locaux du Labx, à la Cité numérique, 2 rue Marc Sangnier 33130 Bègles.

Sortie de Fim 1.0.2, qui vérifie l'intégrité de vos fichiers

Posté par  . Édité par Benoît Sibaud et Pierre Jarillon. Modéré par Xavier Claude. Licence CC By‑SA.
Étiquettes :
44
8
sept.
2015
Ligne de commande

Fim (File Integrity Manager) est un gestionnaire de fichiers libre (licence GPLv3) qui permet de gérer beaucoup de fichiers de n'importe quelle taille. Il peut par exemple, gérer des photos ou des vidéos. Il est capable de gérer des centaines de milliers de fichiers occupant une taille totale de plusieurs téraoctets. Il peut détecter les fichiers dupliqués et aider à les effacer.

Fim

Atelier CLI de la semaine 37/2015 à Bordeaux

Posté par  (site Web personnel) . Édité par Xavier Claude et Pierre Jarillon. Modéré par Xavier Claude. Licence CC By‑SA.
8
8
sept.
2015
Ligne de commande

Les ateliers CLI (Command Line Interface) permettent de progresser en ligne de commande au sein d'un groupe, autour d'un outil ou d'un thème.

Pour cette rentrée, au cours de l'atelier CLI du 15/09/2015, Jean-Maxime Philippeaux présentera le générateur de site Web statique Hugo.

Les ateliers CLI ont lieu :

  • chaque mardi de 20h00 à 22h00 pour les utilisateurs avancés;
  • un mercredi sur deux de 19h00 à 20h30 pour les utilisateurs débutants.

à la Fabrique Pola, rue Marc Sangnier 33130 Bègles.

Atelier CLI de la semaine 22/2015 à Bordeaux

Posté par  (site Web personnel) . Édité par Benoît Sibaud. Modéré par Nÿco. Licence CC By‑SA.
5
25
avr.
2015
Ligne de commande

Les ateliers CLI (Command Line Interface) permettent de progresser en ligne de commande au sein d'un groupe, autour d'un outil ou d'un thème.

Au cours de l'atelier du 28/04/2015, on pourra découvrir ou redécouvrir
rsync, une commande dédiée à la synchronisation à distance, autrement dit la sauvegarde de données.

Les ateliers CLI ont lieu :

  • chaque mardi de 20h00 à 22h00 pour les utilisateurs avancés,
  • un mercredi sur deux de 19h00 à 21h00 pour les utilisateurs débutants,

dans les locaux du Labx, à la Fabrique Pola, rue Marc Sangnier 33130 Bègles.