Vue normale

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

AiFormat – Un outil en ligne de commande pour formater vos fichiers pour Claude

Par : Korben
17 avril 2024 à 09:00

Si vous vous intéressez un peu aux outils IA, vous connaissez sûrement Claude, l’assistant IA dernière génération d’Anthropic. Depuis la sortie de sa version 3, c’est d’ailleurs devenu mon meilleur pote pour coder à la vitesse de l’éclair. j’ai même pris un abonnement payant en rusant un peu.

Toutefois, le seul truc qui me ralentissait dans mes grandes ambitions, c’était de devoir copier-coller à la main tous mes fichiers de code dans la fenêtre de contexte de Claude pour ensuite lui demander d’analyser ça, et me proposer des corrections ou une nouvelle fonction. Mais ça, c’était avant car je suis tombé sur un petit bijou opensource qui va vous changer la vie : AiFormat.

Ce petit outil en ligne de commande vous permet de sélectionner des fichiers et dossiers, et de les convertir automatiquement dans un format optimisé pour Claude. En deux clics, tout est dans le presse-papier, prêt à être envoyé à votre IA préférée.

Sous le capot, AiFormat utilise Ink, une chouette librairie pour créer des CLI avec une belle interface utilisateur. Ça vous permet de filtrer et naviguer dans vos fichiers, de les sélectionner avec les flèches, et tout ça de façon super intuitive.

Pour l’installer et le prendre en main, c’est hyper simple, tout est expliqué sur la page Github du projet. Ça commence par un simple :

npm install --global aiformat

Ensuite, pour utiliser aiformat, accédez au répertoire contenant les fichiers et dossiers que vous souhaitez partager avec Claude puis lancez la commande suivante :

aiformat

Le créateur a eu la bonne idée de mettre le projet en opensource (MIT license), du coup n’hésitez pas à y jeter un œil et même contribuer si le cœur vous en dit. La communauté vous dira merci !

Franchement, si vous utilisez souvent Claude pour coder ou analyser des projets, c’est un indispensable à avoir dans sa boîte à outils. Ça vous fera gagner un temps fou au quotidien.

OpenHue CLI – Contrôlez vos Philips Hue depuis votre terminal

Par : Korben
9 mars 2024 à 09:00

Y’a pas très longtemps, je vous ai présenté le projet libre OpenHue pour contrôler vos ampoules Philips Hue via une API REST. Et bien Thibault, le développeur du projet m’a contacté pour me présenter OpenHue CLI

Comme son nom l’indique, il s’agit d’interface en ligne de commande, conçue pour interagir avec vos ampoules Philips Hue, directement depuis votre terminal.

Avec OpenHue CLI, vous pourrez vous connecter sans effort aux bridges Philips Hue, détecter l’ensemble de vos ampoules et vérifier leur état actuel. Bien sûr, vous pourrez les allumer ou les éteindre, ajuster leur luminosité et modifier les couleurs, le tout avec de simples commandes à entrer dans le terminal.

OpenHue CLI fonctionne sous macOS, Linux et Windows et si ça vous dit d’essayer, vous aurez besoin de Homebrew ou de Docker.

Ainsi pour l’installer sous macOS :

brew tap openhue/cli
brew install openhue-cli

Puis lancez la commande setup pour découvrir le bridge openhue :

openhue setup

Et si c’est via Docker :

docker pull openhue/cli
docker run -v "${HOME}/.openhue:/.openhue" --rm --name=openhue -it openhue/cli setup -b 192.168.1.x -k xxxxx

Vous pourrez ensuite lister les ampoules disponibles comme ceci :

docker run -v "${HOME}/.openhue:/.openhue" --rm --name=openhue -it openhue/cli lights list 

Bref, que vous soyez un développeur cherchant à intégrer l’éclairage Philips Hue dans ses projets ou un passionné de domotique souhaitant améliorer son installation, OpenHue CLI est l’outil qu’il vous faut.

OpenHue CLI est disponible sur GitHub à l’adresse suivante : https://github.com/openhue/openhue-cli

Merci à Lorenper

Linux : comment créer un fichier d’une taille spécifique ?

27 février 2024 à 16:22

I. Présentation

Dans ce tutoriel, nous allons voir comment créer un fichier d'une taille définie sur une machine Linux (Debian, Ubuntu, Rocky Linux, Fedora, etc.) grâce à l'utilisation de la commande "dd" et d'un fichier spécial : /dev/zero.

Que ce soit sous Linux, Windows, ou un autre système, il est intéressant de savoir créer des fichiers vide ayant une taille définie. Pourquoi ? Nous pouvons imaginer plusieurs scénarios et cas d'usages. Par exemple, pour effectuer un transfert de fichiers plus ou moins lourd et voir le taux de transfert sur le réseau, pour tester une restriction au niveau des quotas sur une machine, ou encore pour tester des commandes de recherche fichiers en fonction de leur taille.

Pour atteindre notre objectif, nous allons utiliser la commande « dd » qui est une sorte de couteau suisse permettant de nombreuses opérations dont la création de fichiers avec une taille prédéfinie. Nous allons coupler l'utilisation de la commande "dd" avec le fichier de périphérique "/dev/zero" qui a une particularité : lorsqu'on le lit, il génère des caractères nuls (des zéros). Ainsi, nous allons pouvoir générer plus ou moins de zéros en fonction de la taille de fichier souhaitée.

Passons à la pratique...

Version originale de cet article : 09 juin 2013.

II. Procédure

Voyons comment créer un fichier de 100 Mo, nommé « MonFichier.txt » (stocké dans le répertoire courant) et qui sera constitué de 100 000 blocs de 1 Ko. La seconde commande permet de lister le contenu du répertoire en affichant la taille sous une forme lisible.

dd if=/dev/zero of=MonFichier.txt bs=1k count=100000

Le paramètre « bs » correspond à « block_size » c’est-à-dire la taille d’un bloc et, « count » au nombre de blocs de cette taille qu’on doit créer. En ce qui concerne « if=/dev/zero », on appelle comme fichier d’entrée un fichier spécial qui génère des caractères nuls. De ce fait, le fichier sera rempli de 0.

Créer un fichier taille définie sous Linux avec la commande dd

Partant de ce constant, nous pouvons jouer sur les paramètres "bs" et "count" pour atteindre le même résultat en créant un fichier avec un seul bloc de 100 Mo. Ce qui donnerait :

dd if=/dev/zero of=MonFichier2.txt bs=100M count=1

Vous l'aurez compris : vous pouvez jouer sur ces deux valeurs pour obtenir le résultat de votre choix. Ainsi, nous pouvons facilement créer des fichiers de plusieurs Mo ou Go.

Si vous cherchez à mesurer les performances d'un disque, vous pouvez utiliser la commande "dd" d'une autre façon qui consiste à ajouter le flag "oflag=direct". Voici comment effectuer un test avec 10 blocs de 1 Go :

dd if=/dev/zero of=MonFichier.txt bs=1G count=10 oflag=direct

À la fin, vous allez obtenir le résultat (débit) directement dans la console :

Linux - Commande dd mesurer performances disque

Sachez que vous pouvez remplacer « /dev/zero » par "/dev/random" ou "/dev/urandom" pour remplir un fichier avec des nombres aléatoires, plutôt que d'utiliser des valeurs nulles.

III. Conclusion

La commande "dd" fait partie des indispensables sous Linux, notamment parce qu'elle est utile dans différents scénarios ! Nous pourrions également l'utiliser pour effectuer un effacement sécurisé d'un disque, mais ceci pourra faire l'objet d'un autre article.

The post Linux : comment créer un fichier d’une taille spécifique ? first appeared on IT-Connect.

Linux : comment obtenir la taille d’un répertoire ? La réponse avec la commande du

12 février 2024 à 07:00

I. Présentation

Dans ce tutoriel, nous allons apprendre à calculer la taille d'un dossier sous Linux, à l'aide de la commande "du". Que ce soit sous Linux, ou sur un autre système d'exploitation, il peut s'avérer nécessaire et utile d'être capable d'afficher la taille totale d'un dossier ou d'un fichier.

Sous Linux, la commande "du" qui signifie "Disk Usage", fait partie des commandes indispensables, notamment sur un système dépourvu d'interface graphique.

Version originale de l'article : 6 mars 2013.

II. Calculer la taille d'un dossier avec du

Pour cette démonstration, nous allons utiliser le répertoire "/home/flo/docs" qui contient plusieurs fichiers, comme le montre l'image ci-dessous :

ls -l /home/flo/docs
Calculer taille dossier Linux

Tout d'abord, il faut savoir que le fait d'exécuter la commande "du" sans option va permettre d'obtenir la taille du répertoire courant.

du

Dans le cas présent, la valeur retournée est celle-ci : 350004. Voilà, ceci correspond à la taille, en octets, de ce répertoire.

Pour que ce soit plus facile à lire, nous allons ajouter l'option "-h" qui signifie "Human readable" et qui permet d'afficher le résultat en kilo-octets, méga-octets, giga-octets, etc... Afin d'avoir une valeur plus facilement compréhensible pour un humain.

du -h

Cette fois-ci, le résultat est plus explicité : 342M, pour 342 Mo.

Voici la différence en image :

Afficher taille dossier avec commande du Linux

Ici, il n'y a pas de sous-dossiers dans "/home/flo/docs", donc la commande retourne uniquement la taille de ce répertoire. Il est à noter que s'il y a des sous-dossiers, la commande du va retourner la taille totale, ainsi que la taille pour chaque sous-dossier. Pratique, n'est-ce pas...

Voici un exemple, si l'on remonte d'un cran (/home/flo) :

commande du taille dossier et sous-dossiers

Si l'on souhaite obtenir un résultat plus compact avec uniquement la taille totale, l'option "s" doit être ajoutée, comme ceci :

du -sh

Enfin, sachez que pour calculer la taille du répertoire de notre choix, il suffit de le préciser à la suite de la commande. Par exemple, si l'on désire calculer la taille du répertoire "/etc/" de notre machine :

du -sh /etc/

Peu importe dans quel répertoire on se situe (au niveau du prompt), c'est bien la taille du répertoire cible qui est calculée.

Obtenir taille d'un répertoire sous Linux avec du

Remarque : si vous spécifiez le chemin vers un fichier, vous pouvez obtenir sa taille dans un format human readable avec l'option "h". Toutefois, cette option est également disponible avec la commande "ls" que vous connaissez certainement.

III. Obtenir la liste des répertoires les plus volumineux

La commande du, couplée aux commandes sort et head, va permettre d'obtenir la liste des répertoires les plus volumineux présents sur votre machine Linux. Dans certaines situations, notamment si l'on a besoin de libérer de l'espace disque sur un serveur Linux, ceci peut s'avérer très pratique. Ce qui est intéressant, c'est que l'on peut effectuer cette recherche sur une partie spécifique du système de fichiers : /var, /home, /etc, etc.

Sur une machine où il y a de nombreux utilisateurs, nous pourrions rechercher les répertoires "home" les plus volumineux.

Pour cela, nous allons cibler "/home" avec du puis envoyer le résultat à la commande sort pour trier les répertoires en fonction de leur taille, et enfin, nous allons envoyer la sortie de la commande sort à la commande head pour afficher que les 5 premiers répertoires (il suffit de modifier cette valeur pour avoir un Top 3, un Top 5, un Top 10, etc.).

Ce qui donne :

du -h --max-depth=1 /home/ | sort -rh | head -5

L'option "--max-depth=1" permet de prendre uniquement les répertoires de premier niveau (c'est-à-dire les répertoires avec le nom des utilisateurs, dans notre cas). C'est important, car sinon la sortie de la commande sera moins explicite.

Voici la différence avec ou sans cette option :

Linux liste des répertoires les plus volumineux

IV. Conclusion

La commande du, disponible sur Debian, Ubuntu, Red Hat, etc... est très pratique, et elle doit être connue de tous les administrateurs systèmes qui ont besoin de gérer des machines Linux. 😉

Enfin, pensez à précéder la commande "du" avec "sudo" pour éviter d'utiliser directement le compte "root" et avoir suffisamment de privilèges pour calculer la taille d'un répertoire ou d'une arborescence complète.

The post Linux : comment obtenir la taille d’un répertoire ? La réponse avec la commande du first appeared on IT-Connect.

Linux : comment utiliser grep pour rechercher un mot dans plusieurs fichiers et dossiers ?

25 janvier 2024 à 18:19

I. Présentation

Dans ce tutoriel, nous allons utiliser la commande "grep" sous Linux pour rechercher la présence d'un mot dans plusieurs fichiers et dossiers, sur une machine Linux (Debian 12, pour cet exemple).

La commande "grep" fait partie des commandes indispensables lorsqu'il est question d'administration de machines Linux. D'ailleurs, vous avez peut-être déjà utilisé la commande grep pour rechercher une chaine de caractère dans un fichier. Cette fois-ci, nous irons plus loin puisque nous allons effectuer une recherche dans plusieurs fichiers ou dossiers.

Les cas d'utilisation sont nombreux :

  • Rechercher les occurrences d'une adresse IP dans des fichiers
  • Rechercher les occurrences d'un nom d'utilisateur
  • Rechercher les occurrences d'une fonction dans un ensemble de scripts
  • Etc...

Sur un environnement Windows, vous pouvez utiliser le cmdlet PowerShell "Select-String" pour effectuer des recherches similaires :

Version d'origine de l'article : 15 août 2012

II. La commande grep et la récursivité

Pour que la commande grep recherche dans les fichiers et dossiers de façon récursive, nous devons utiliser l'option "-r". La syntaxe de la commande sera la suivante :

grep -r "mot à rechercher" /chemin/vers/le/dossier

Par exemple, si nous voulons rechercher tous les fichiers contenants le mot "it-connect" sur tout le système (la racine "/" est notre point de départ), nous allons utiliser cette commande :

grep -r "it-connect" ./

Nous pouvons également rechercher à partir d'un autre répertoire. Par exemple, si l'on souhaite rechercher dans tous les fichiers et dossiers sous "/home", nous utiliserons cette commande :

grep -r "it-connect" /home/

Voici le résultat obtenu :

Grep rechercher mot dans plusieurs fichiers dossiers

Cela signifie qu'après avoir analysé le contenu de tous les fichiers présents dans "/home/" et dans tous les sous-dossiers présents sous cette racine, grep a trouvé uniquement un seul résultat. Il s'agit du fichier "/home/flo/document.txt" et grep a identifié la chaine "www.it-connect.fr" à l'intérieur.

III. Quelques options supplémentaires

A. Grep : ne pas tenir compte de la casse

Pour étendre légèrement votre recherche, vous pouvez utiliser l'option "-i" au lancement de votre commande pour rendre grep insensible à la casse. Sinon, sans cette option, la commande est sensible à la casse, ce qui signifie qu'elle fait la distinction entre les minuscules et les majuscules, ce qui peut influencer le résultat de la recherche (c'est un mode plus strict).

grep -r -i "it-connect" /home/
# ou
grep -ri "it-connect" /home/

Cela donnera le résultat suivant:

Nous pouvons voir que la commande retourne un résultat supplémentaire, dans une page HTML où grep a pu identifier la chaine "IT-Connect".

B. Grep : afficher seulement les noms de fichiers

Vous pouvez simplifier le résultat de votre recherche en y ajoutant l'option "-l". Ainsi, seuls les noms des fichiers apparaitront. Sans cette option, et comme nous l'avons vu précédemment, vous aurez le nom du fichier ainsi que le contenu de la ligne contenant le mot recherché, ce qui peut rendre le résultat de la recherche peu lisible s'il y a beaucoup de résultats.

grep -r -i -l "it-connect" /home/
# ou
grep -ril "it-connect" /home/

Cela donnera le résultat suivant :

C: Grep : afficher les numéros de ligne

Nous pouvons afficher le numéro de ligne où une chaîne a été trouvée en utilisant l'option "-n" avec la commande grep. Cette option ne peut pas être utilisée conjointement avec l'option "-l".

grep -r -i -n "it-connect" /home/
# ou 
grep -rin "it-connect" /home/

Ainsi, nous pouvons que pour le premier résultat, la chaine a été identifiée sur la ligne n°1, tandis que pour le second résultat, la chaine a été identifié sur la ligne n°3.

grep avec numero de ligne

Une fois de plus, nous pouvons constater que grep contient beaucoup d'options d'exécution, ce qui en fait un outil très puissant !

IV. Conclusion

Grâce à cette commande facile à utiliser, nous pouvons effectuer une recherche rapidement sur un système Linux. Ceci peut permettre de gagner un temps précieux...!

The post Linux : comment utiliser grep pour rechercher un mot dans plusieurs fichiers et dossiers ? first appeared on IT-Connect.

❌
❌