Journal opa-watch: compilation et lancement automatique à l'édition

Posté par  .
3
21
sept.
2012

Éditer, Compiler, Lancer… c'est une boucle que vous ne connaissez que trop. Vous avez la flemme de réécrire un n-ième script bash à base de inotify-wait et notify-send (ou quelque chose de plus exotique).

opa-watch vous permet de vous concentrer sur la boucle Editer, Editer, Editer…

Le but d'opa-watch est de faciliter la vie des développeurs Opa mais il est également conçus pour être utilisable pour d'autres langages (voir pour d'autres activités que le développement).

Par exemple ce journal (…)

Un prompt bash utile, sans poudre aux yeux

Posté par  (site web personnel, Mastodon) . Modéré par NeoX. Licence CC By‑SA.
Étiquettes :
40
7
juil.
2012
Ligne de commande

La configuration de l'invite de commande du shell est un sujet largement traité sur le web. Cependant, on y voit le plus souvent des configurations du type « j'affiche l'horloge sur une ligne complète en arc-en-ciel clignotant ». Pas cool.

Le prompt idéal doit permettre de se rendre compte intuitivement de l'environnement où vous êtes (connexion ssh, root, dépôt git, etc.) et ne doit afficher les informations contextuelles que si elles sont nécessaires. Cool.

Le prompt bash que je vous propose a les fonctionnalités suivantes :

  • couleurs vives pour une connexion root,
  • affichage du nom d'hôte uniquement en cas de connexion distante, avec une couleur différente selon le type de connexion (ssh, telnet),
  • dans les répertoires GIT, affichage du nom de la branche, avec une couleur indiquant le statut des commits
  • rappel du nombre de jobs attachés au terminal, si besoin est
  • alertes batterie et/ou charge système, si besoin est, avec un dégradé de couleurs

dfc 3.0.0 : nouvelle version majeure pour cette alternative haute en couleurs à l'utilitaire df(1)

Posté par  (site web personnel) . Édité par Nÿco, claudex et Florent Zara. Modéré par Florent Zara. Licence CC By‑SA.
34
31
mai
2012
Ligne de commande

Pour ceux ayant raté ma dépêche présentant dfc(1) le 1er avril dernier, sachez qu'il s'agit d'un utilitaire en ligne de commande se voulant une alternative au vénérable df(1), apportant notamment de nombreuses options supplémentaires ainsi qu'un affichage coloré comportant des barres de graphe.

Plusieurs lecteurs de LinuxFr.org avaient fait part de leurs suggestions d'améliorations et requêtes de nouvelles fonctionnalités en commentaire de la dépêche et elles ont pour la plupart pris place dans cette nouvelle version majeure de dfc(1), aux côtés d'autres améliorations.

Mosh, the Mobile Shell

Posté par  . Édité par Nÿco, baud123 et claudex. Modéré par NeoX. Licence CC By‑SA.
58
16
avr.
2012
Ligne de commande

Mosh est une application permettant d'ouvrir une session à distance et sécurisée sur une machine de type Unix.

À la différence du célèbre et incoutournable SSH, Mosh offre la possibilité de maintenir une session ouverte tout en étant connecté par intermittence (roaming IP), d'où son nom : Mobile Shell.
Ce dernier est une alternative au couple SSH+Screen.

Fonctionnement

Mosh utilise SSH pour se connecter sur l'hôte distant. Une fois la connexion établie, un processus mosh-server prend le relais sur un port UDP en ouvrant une nouvelle session sécurisée et ferme la session SSH. Le client communique alors directement avec mosh-server. Avantage de la solution ? Si le client change d'adresse IP et qu'il retente une connexion à travers SSH, mosh-server reprend le dialogue avec la nouvelle adresse IP.

Mosh utilise aussi une approche différente de SSH pour la gestion de l'affichage du terminal client. Mosh n'attend pas une réponse de l'hôte distant pour afficher ce qui a été saisi par l'utilisateur. Le client et le serveur possèdent chacun un instantané (snapshot) de l'écran à afficher. La solution de Mosh repose sur la synchronisation de ces deux états. Ce qui permet à l'utilisateur de réduire les impressions de latence si la qualité de sa connexion est mauvaise.

Autres points importants :

  • Mosh n'a pas besoin des droits super-utilisateur pour s'exécuter.
  • Mosh impose un environnement en UTF-8 et ne gère pas d'autres encodages.
  • Mosh ne gère pas encore le X-forwarding, ni le Port-forwarding.

Autojump : nouvelle version et nouvelles fonctionnalités

Posté par  (site web personnel) . Édité par claudex, Malicia, Benoît Sibaud et Nÿco. Modéré par Benoît Sibaud. Licence CC By‑SA.
Étiquettes :
40
11
déc.
2011
Ligne de commande

Je viens de publier la 19ème version d'autojump et je saisis l'occasion pour présenter ce petit utilitaire ainsi que ses nouvelles fonctionnalités.

Pour ceux et celles qui ne le connaissent pas, autojump est un utilitaire qui permet de se déplacer plus facilement dans son système de fichier depuis le shell. Plus précisément, il maintient une trace des répertoires dans lesquels l'utilisateur passe le plus de temps et permet de sauter de l'un à l'autre en saisissant un fragment du nom du répertoire cible. Plus de détails dans la seconde partie de la dépêche.

Autojump supporte bash et zsh, et est disponible sous forme de paquet pour un bon nombre de distributions. Il fonctionne également sous Windows et Mac OS. Il est distribué gratuitement sous licence GPL v3.

Journal Weboob - Web out of Browsers - l'outil qui a changé ma vie

Posté par  . Licence CC By‑SA.
47
22
nov.
2011

Sommaire

Monjour, nal !

Aujourd'hui, si je prends ma plume numérique, c'est pour te parler d'un soft. Ce soft, nous ne le connaissons pas. Ni vous ni nous (oh le petit chat).

Il s'agit de weboob.

Weboob, koitesse ?

Weboob, comme son petit nom l'indique, permet d'accéder au web en dehors des navigateurs Web. Ça (…)

htop atteint la version 1.0  !

Posté par  (site web personnel) . Édité par Davy Defaud, patrick_g et Nÿco. Modéré par Xavier Teyssier. Licence CC By‑SA.
Étiquettes :
56
22
nov.
2011
Ligne de commande

htop est un outil en mode texte qui permet d’afficher les processus qui tournent et les informations associées à ces processus, comme leur utilisation du temps processeur ou leur consommation mémoire. htop est publié sous licence GPL et vient d’atteindre la symbolique version 1.0.

htop est un clone de top, mais en mieux. Il permet par exemple :

  • d’avoir un défilement (scroll) horizontal et vertical ;
  • de tuer un processus sans avoir à entrer à la main son identifiant PID ;
  • de démarrer plus rapidement ;
  • d’afficher des barres colorées pour indiquer l’utilisation processeur globale et la consommation mémoire.

Bref, je vous encourage à essayer htop, c’est un très bon remplaçant à top.

Python Quvi

Posté par  (site web personnel) . Modéré par baud123. Licence CC By‑SA.
27
25
sept.
2011
Python

La bibliothèque Quvi permet d'analyser le contenu de plus de 40 sites de médias tels que YouTube, Dailymotion, Google Video… Cette bibliothèque fournit aussi un outil en ligne de commande, nommé « quvi » qui permet d'analyser et récupérer les informations de la page depuis un terminal.

Le projet Python-Quvi vise à permettre l'accès à cette API depuis Python.

ack 1.96 — mieux que grep

Posté par  (site web personnel) . Modéré par Xavier Teyssier. Licence CC By‑SA.
48
20
sept.
2011
Ligne de commande

Ack est un outil qui permet de rechercher du texte à l’intérieur de fichiers. C’est donc un clone de grep avec quelques améliorations notables. Voici donc dix raisons de passer à ack si vous utilisez grep :

  1. ack est très rapide, car il ne recherche que ce que vous voulez chercher ;
  2. il recherche récursivement par défaut ;
  3. il ignore les trucs inutiles, comme les répertoires utilisés par les [VCS], les fichiers de sauvegarde (« foo~ » et « #foo# »), les binaires, etc. ;
  4. vous pouvez spécifier simplement le type de fichiers à rechercher, comme « --perl » ou « --nohtml » ;
  5. la coloration syntaxique des résultats est là par défaut ;
  6. vous pouvez utiliser les expressions régulières de Perl, pas juste le sous‐ensemble de GNU ;
  7. l’apprentissage d’ack est très simple, car il reprend les mêmes options en ligne de commande que grep (« -c », « -l », « -w », etc.) ;
  8. il est possible d’avoir des options par défaut dans un fichier « ~/.ackrc » ;
  9. la commande fait 25 % de caractères en moins à taper ;
  10. en fait, c’est même 50 % de gagné par rapport à « grep -r ».

La version 1.96 d’ack est sortie dimanche et apporte quelques améliorations notables :

  • les fichiers JavaScript « minifiés » sont ignorés par défaut ;
  • le langage Groovy est supporté (extensions : « .groovy », « .gtmpl », « .gpp », « .grunit ») ;
  • les fichiers Perl et Lua sont mieux détectés.

Note : pour installer ack sur Debian et Ubuntu, il faut faire un « apt-get install ack-grep » (et pas juste « ack »). En revanche sous Archlinux, un « pacman -S ack » sera suffisant. Les autres distributions (Fedora, Gentoo) utilisent également le simple nom « ack »).

Journal Survivre en milieu hostile

Posté par  . Licence CC By‑SA.
37
8
sept.
2011

Bon nombre d'entre vous parmi les informaticiens de tous poil qui fréquentez ce site, ce sont déjà retrouvé à travailler dans un environnement Unix/Linux depuis une machine Windows sans pouvoir changer facilement cet état de fait. Vous avez alors, forcément, ne serait-ce qu'entendu parler de PuTTY.

De même, il vous est sûrement arrivé de pester de ne pas trouver le programme find (je ne parle pas de celui de Windows...) ou bien grep ou encore sed, lorsque vous vous échiniez (…)

Journal ddate n'est plus

Posté par  .
18
6
sept.
2011
$ ddate
Today is Prickle-Prickle, the 30th day of Bureaucracy in the YOLD 3177

(sisi)

D'après ce lien, il semble que l'utilitaire permettant d'afficher une date du calendrier de la discorde, qui fait parti du paquetage util-linux ne soit plus compilé par défaut :

Don't build this crazy thing by default.
Signed-off-by: Karel Zak kzak@redhat.com

Les différentes distributions activeront-elles cette option ? Encore combien de temps ?

Qui s'en sert pour de vrai ? Pourquoi, où, quand, comment (…)

Coccigrep, un grep sémantique pour le langage C basé sur Coccinelle

Posté par  (site web personnel) . Modéré par patrick_g. Licence CC By‑SA.
45
2
sept.
2011
C et C++

Lorsque l'on travaille sur un projet C comportant un certain nombre de fichiers et de lignes de code, il arrive fréquemment que l'on se pose des questions comme "Mais où est modifié le champ data de ma structure Packet ?". grep ne suffit pas pour répondre à ce genre de questions car ne comprenant pas C, il ne sait pas, par exemple, que la variable monbopkt est une structure Packet.

coccigrep, basé sur coccinelle qui est un outil très puissant de recherche et de modification automatique de code, est un logiciel libre chargé de répondre à ce genre de questions. Il vient d'être publié en version 1.0rc1, sous licence GPL v3. Il est écrit en Python et s'interface avec les éditeurs Vim et Emacs, ce qui permet de faire les recherches depuis l'éditeur.

Journal Line meurt

Posté par  (site web personnel) . Licence CC By‑SA.
17
2
sept.
2011

ou la victoire de la tête

Il se peut que vous ne la connaissiez pas, et pourtant cette commande était présente sur tous les systèmes Linux, je veux parler de line.

Voici sa page man, dernier vestige d'une disparue :

NAME
line - read one line

SYNOPSIS
line

DESCRIPTION
The utility line copies one line (up to a newline) from standard input to standard output. It always prints at least a newline and returns an exit status of 1 (…)

Sortie de IPython 0.11

Posté par  . Modéré par baud123. Licence CC By‑SA.
33
2
août
2011
Python

IPython est une console interactive et améliorée écrite en python sous licence BSD, ce qui facilite son intégration par d’autres programmes. Cette nouvelle version arrive deux ans après la précédente, elle est le résultat de nombreux changements dans l'ensemble du code avec en prime le passage à Git pour favoriser les contributions.

Les principales fonctionnalités de IPython sont la complétion des commandes Python et des fonctions associées à un objet ou encore les classiques commandes du shell pour se déplacer dans les répertoires ou lister les fichiers.

Ce qui rend cette console particulière, ce sont les fonctions magiques qui permettent de lancer un script puis d'étudier les objets créés, de sauvegarder des macros ou également de profiter pleinement de matplolib en lançant ipython avec l'option -pylab.

Les principales nouveautés sont : l'architecture du code qui va servir de base à la future version 1.0, la console Qt qui permet d'afficher des graphes dans la même fenêtre que les commandes ainsi que le support de Python 3.

Sortie de Ansilove 1.08, convertisseur multiformats de fichiers texte en PNG

Posté par  (site web personnel) . Modéré par patrick_g.
28
13
juil.
2011
Ligne de commande

Ansilove est un ensemble d'outils écrits en PHP permettant de convertir des fichiers texte au format ASCII, ANSI ainsi que divers formats dérivés vers des images au format PNG. Il se compose d'un convertisseur en ligne de commande ainsi que d'une bibliothèque utilisable sur des pages web afin de générer des conversions à la volée. Ansilove gère l'ensemble des pages de codes IBM PC ainsi que les fontes Amiga les plus répandues, et permet d'obtenir un résultat identique au pixel près aux rendus en mode texte.

Créé au départ afin de pouvoir intégrer et afficher fidèlement de l'ASCII et de l'ANSI art sur des sites WEB, Ansilove peut également être utilisé pour créer des images à partir de n'importe quel texte, par exemple pour de l'obfuscation d'adresse e-mail, pour créer des screenshots d'opérations en ligne de commandes pour des documentations ou manuels, ou bien encore pour créer des logos et boutons pour des interfaces, etc. La liste des formats, jeux de caractères et fontes pris en charge est donnée en deuxième partie.

Je profite également de cette dépêche pour annoncer la réouverture du site Sixteen Colors, une archive regroupant vingt ans de packs d'ASCII et d'ANSI que l'on peut visionner en ligne directement dans son navigateur sans avoir besoin de logiciel particulier : une mine d'or pour tous les amateurs du genre !