« Ascii » : différence entre les versions

Aucun résumé des modifications
 
(6 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
= 📖 Guide complet : <code>img2txt</code> avec <code>caca-utils</code> =
== 📖 <code>figlet</code> ==
Le paquet '''<code>figlet</code>''' sur '''Debian 13''' est un petit utilitaire en ligne de commande qui permet d’afficher du texte en '''ASCII art''' dans le terminal. C’est particulièrement utile pour ajouter une touche visuelle à des scripts, des messages de bienvenue, ou simplement pour le fun.
 
 
-----
 
=== 🔍 '''Description du paquet <code>figlet</code>''' ===
 
* '''Nom''' : <code>figlet</code>
* '''Catégorie''' : utilitaire CLI (Command Line Interface)
* '''Fonction''' : transforme du texte en grands caractères ASCII
* '''Licence''' : libre (MIT-like)
* '''Dépendances''' : très légères, fonctionne en standalone
 
 
-----
 
=== 🛠️ '''Installation sur Debian 13''' ===
 
<syntaxhighlight lang="bash">sudo apt install figlet</syntaxhighlight>
 
-----
 
=== 📦 '''Fichiers installés''' ===
 
* '''Binaire''' : <code>/usr/bin/figlet</code>
* '''Polices''' : <code>/usr/share/figlet/*.flf</code> (FLF = FIGlet Font)
 
 
-----
 
=== 💡 '''Utilisation de base''' ===
 
<syntaxhighlight lang="bash">figlet "Bonjour John"</syntaxhighlight>
Cela affichera le texte en grands caractères ASCII dans le terminal.
 
 
-----
 
=== ⚙️ '''Options utiles''' ===
 
{| class="wikitable"
|-
! Option
! Description
|-
| <code>-f</code>
| Choisir une police (ex: <code>slant</code>, <code>block</code>, <code>bubble</code>, etc.)
|-
| <code>-c</code>
| Centrer le texte
|-
| <code>-w</code>
| Définir la largeur du texte
|-
| <code>-d</code>
| Spécifier le répertoire des polices
|-
| <code>-l</code>
| Alignement à gauche
|-
| <code>-r</code>
| Alignement à droite
|}
 
'''Exemples''' :
 
<syntaxhighlight lang="bash">figlet -f slant "Hello World"
figlet -w 100 -c "Bienvenue"</syntaxhighlight>
 
-----
 
=== 🔍 '''Lister les polices disponibles''' ===
 
<syntaxhighlight lang="bash">ls /usr/share/figlet/</syntaxhighlight>
Tu peux aussi tester une police avec :
 
<syntaxhighlight lang="bash">figlet -f bubble "Test"</syntaxhighlight>
 
-----
 
=== 🧪 '''Exemple dans un script Bash''' ===
 
<syntaxhighlight lang="bash">#!/bin/bash
figlet -f slant "Bienvenue John"
echo "Chargement de l'environnement..."</syntaxhighlight>
 
-----
 
== 📖 <code>toilet</code> ==
Le paquet '''<code>toilet</code>''' sur '''Debian 13''' est un utilitaire en ligne de commande similaire à <code>figlet</code>, mais avec des fonctionnalités supplémentaires pour styliser du texte en '''ASCII art''' avec des effets visuels comme des couleurs, des bordures ou des filtres.
 
-----
 
=== 🔍 '''Description du paquet <code>toilet</code>''' ===
 
* '''Nom''' : <code>toilet</code>
* '''Catégorie''' : utilitaire CLI
* '''Fonction''' : affiche du texte en ASCII art avec des effets visuels
* '''Licence''' : libre
* '''Dépendances''' : peut utiliser <code>libcaca</code> pour les effets colorés
 
-----
 
=== 🛠️ '''Installation sur Debian 13''' ===
 
<syntaxhighlight lang="bash">sudo apt install toilet</syntaxhighlight>
 
-----
 
=== 💡 '''Utilisation de base''' ===
 
<syntaxhighlight lang="bash">toilet "Bonjour John"</syntaxhighlight>
Cela affiche le texte en ASCII art avec la police par défaut.
 
-----
 
=== ⚙️ '''Options utiles''' ===
 
{| class="wikitable"
|-
! Option
! Description
|-
| <code>-f</code>
| Choisir une police (ex: <code>mono12</code>, <code>future</code>, <code>term</code>, etc.)
|-
| <code>--gay</code>
| Applique un effet arc-en-ciel 🌈
|-
| <code>--metal</code>
| Applique un effet métallique
|-
| <code>--filter</code>
| Applique un filtre (ex: <code>border</code>, <code>crop</code>, <code>flip</code>, etc.)
|-
| <code>-w</code>
| Définit la largeur du texte
|-
| <code>-F</code>
| Applique un effet (équivalent à <code>--filter</code>)
|}
 
'''Exemples''' :
 
<syntaxhighlight lang="bash">toilet -f future "Hello World"
toilet --gay "Bienvenue"
toilet --metal "Debian 13"
toilet --filter border "John"</syntaxhighlight>
 
-----
 
=== 📁 '''Polices disponibles''' ===
 
Les polices sont généralement partagées avec <code>figlet</code> :
 
<syntaxhighlight lang="bash">ls /usr/share/figlet/</syntaxhighlight>
Tu peux aussi installer des polices supplémentaires ou créer les tiennes au format <code>.flf</code>.
 
-----
 
=== 🧪 '''Exemple dans un script Bash''' ===
 
<syntaxhighlight lang="bash">#!/bin/bash
toilet --gay --filter border "Bienvenue John"
echo "Chargement de l'environnement..."</syntaxhighlight>
 
-----
 
== 📖 Guide complet : <code>img2txt</code> avec <code>caca-utils</code> ==


<code>img2txt</code> est un outil de la suite '''caca-utils''' qui convertit des images en texte ASCII ou ANSI pour affichage dans un terminal ou export en fichier. Ce guide présente 5 commandes courantes, leurs options et leurs usages.
<code>img2txt</code> est un outil de la suite '''caca-utils''' qui convertit des images en texte ASCII ou ANSI pour affichage dans un terminal ou export en fichier. Ce guide présente 5 commandes courantes, leurs options et leurs usages.


=== 🔧 Installation sur Debian 13 ===


<syntaxhighlight lang="bash">apt install caca-utils</syntaxhighlight>
-----
-----


== 🔍 Tableau comparatif des commandes ==
=== 🔍 Tableau comparatif des commandes ===


{| class="wikitable"
{| class="wikitable"
Ligne 44 : Ligne 215 :
-----
-----


== ✅ Détails des commandes ==
=== ✅ Détails des commandes ===


=== 1. '''Conversion simple en ASCII''' ===
==== 1. '''Conversion simple en ASCII''' ====


<syntaxhighlight lang="bash">img2txt -W 100 -x 1 -y 2 picture.png > picture.txt</syntaxhighlight>
<syntaxhighlight lang="bash">img2txt -W 100 -x 1 -y 2 picture.png > picture.txt</syntaxhighlight>
Ligne 57 : Ligne 228 :
-----
-----


=== 2. '''Conversion ANSI + suppression des codes''' ===
==== 2. '''Conversion ANSI + suppression des codes''' ====


<syntaxhighlight lang="bash">img2txt -W 100 -x 1 -y 2 -f ansi picture.png | sed -r 's/\x1B\[[0-9;]*[mK]//g' > picture.txt</syntaxhighlight>
<syntaxhighlight lang="bash">img2txt -W 100 -x 1 -y 2 -f ansi picture.png | sed -r 's/\x1B\[[0-9;]*[mK]//g' > picture.txt</syntaxhighlight>
Ligne 68 : Ligne 239 :
-----
-----


=== 3. '''Conversion avancée avec dithering et ajustements''' ===
==== 3. '''Conversion avancée avec dithering et ajustements''' ====


<syntaxhighlight lang="bash">img2txt -W 150 -x 1 -y 2 -d fstein -b 0.5 -c 1.5 -g 1.2 -f ansi picture.png > picture.txt</syntaxhighlight>
<syntaxhighlight lang="bash">img2txt -W 150 -x 1 -y 2 -d fstein -b 0.5 -c 1.5 -g 1.2 -f ansi picture.png > picture.txt</syntaxhighlight>
Ligne 79 : Ligne 250 :
-----
-----


=== 4. '''Dithering sans ajustements + suppression ANSI''' ===
==== 4. '''Dithering sans ajustements + suppression ANSI''' ====


<syntaxhighlight lang="bash">img2txt -W 150 -x 1 -y 2 -d fstein -f ansi picture.png | sed -r 's/\x1B\[[0-9;]*[mK]//g' > picture.txt</syntaxhighlight>
<syntaxhighlight lang="bash">img2txt -W 150 -x 1 -y 2 -d fstein -f ansi picture.png | sed -r 's/\x1B\[[0-9;]*[mK]//g' > picture.txt</syntaxhighlight>
Ligne 90 : Ligne 261 :
-----
-----


=== 5. '''Conversion avancée + suppression ANSI''' ===
==== 5. '''Conversion avancée + suppression ANSI''' ====


<syntaxhighlight lang="bash">img2txt -W 150 -x 1 -y 2 -d fstein -b 0.5 -c 1.5 -g 1.2 -f ansi picture.png | sed -r 's/\x1B\[[0-9;]*[mK]//g' > picture.txt</syntaxhighlight>
<syntaxhighlight lang="bash">img2txt -W 150 -x 1 -y 2 -d fstein -b 0.5 -c 1.5 -g 1.2 -f ansi picture.png | sed -r 's/\x1B\[[0-9;]*[mK]//g' > picture.txt</syntaxhighlight>
Ligne 100 : Ligne 271 :
-----
-----


== 🔑 Astuces pratiques ==
=== 🔑 Astuces pratiques ===


* '''Pour un rendu coloré dans le terminal''' : utilisez <code>-f ansi</code> sans <code>sed</code>.
* '''Pour un rendu coloré dans le terminal''' : utilisez <code>-f ansi</code> sans <code>sed</code>.
Ligne 106 : Ligne 277 :
* '''Pour un rendu plus réaliste''' : activez <code>-d fstein</code> et ajustez <code>-b</code>, <code>-c</code>, <code>-g</code>.
* '''Pour un rendu plus réaliste''' : activez <code>-d fstein</code> et ajustez <code>-b</code>, <code>-c</code>, <code>-g</code>.


== 📖 <code>chafa</code> ==
=== 🖼️ <code>chafa</code> : Convertisseur d’images en ASCII pour le terminal ===
* Le paquet chafa sur Debian 13 (Trixie) est un outil en ligne de commande conçu pour convertir des images (y compris les GIF animés) en art ASCII ou Unicode affichable dans un terminal.
* Il convertit les images bitmap en représentations textuelles adaptées à l’affichage dans les terminaux. Il prend en charge plusieurs formats d’image et offre une grande flexibilité dans le rendu ASCII ou Unicode.
* Voici un aperçu de ses fonctionnalités et caractéristiques principales.
-----
=== 🔧 Installation sur Debian 13 ===
<syntaxhighlight lang="bash">apt install chafa</syntaxhighlight>
-----
=== 💡 Exemple d’utilisation ===
Voici une commande qui convertit une image en ASCII pur, sans couleurs ni tramage, et l’enregistre dans un fichier texte :
<syntaxhighlight lang="bash">chafa --format=symbols --colors=none --dither=none \
      --symbols=ascii --size=200x \
      picture.png > picture.txt</syntaxhighlight>
📄 Cette commande : - utilise uniquement des symboles ASCII (<code>--symbols=ascii</code>) - désactive les couleurs (<code>--colors=none</code>) - désactive le tramage (<code>--dither=none</code>) - fixe la largeur à 200 caractères (<code>--size=200x</code>) - enregistre le résultat dans <code>picture.txt</code>
-----
== Comparaison entre les deux outils '''<code>chafa</code>''' et '''<code>img2txt</code>''' ==
=== 🔸 '''1. chafa''' ===
* '''Langage''' : C (librairie + CLI)
* '''Fonctionnalités''' :
** Supporte les images animées (GIF).
** Utilise des caractères Unicode pour une meilleure qualité visuelle.
** Plusieurs modes de sortie : <code>symbols</code>, <code>sixels</code>, <code>iterm</code>, <code>kitty</code>, etc.
** Très configurable : alignement, transparence, optimisation, etc.
** API C disponible pour intégration dans des projets.
* '''Avantages''' :
** Moderne, maintenu activement.
** Compatible avec les terminaux récents.
** Très rapide et efficace.
* '''Inconvénients''' :
** Moins simple que <code>img2txt</code> pour une utilisation ultra-basique.
-----
=== 🔸 '''2. img2txt''' (inclus dans le paquet <code>caca-utils</code>) ===
* '''Langage''' : C (basé sur la librairie <code>libcaca</code>)
* '''Fonctionnalités''' :
** Conversion d’images en ASCII simple.
** Moins de support pour Unicode ou couleurs avancées.
** Très léger et minimaliste.
* '''Avantages''' :
** Ultra simple à utiliser.
** Suffisant pour des terminaux très basiques.
* '''Inconvénients''' :
** Moins de qualité visuelle.
** Pas de support pour les images animées.
** Moins de personnalisation.
-----
=== 🏆 '''Quel est le meilleur choix ?''' ===
{| class="wikitable"
|-
! Besoin
! Choix recommandé
|-
| Qualité visuelle élevée
| '''chafa'''
|-
| Support Unicode et couleurs
| '''chafa'''
|-
| Images animées (GIF)
| '''chafa'''
|-
| Simplicité et rapidité
| '''img2txt'''
|-
| Environnements très limités
| '''img2txt'''
|}


-----
-----


= '''Autres ressources''' =
== '''Autres ressources''' ==
<code>
<code>
ASCII art in one lin<br />
ASCII art in one lin<br />
Ligne 128 : Ligne 382 :
[[Catégorie:Dev]]
[[Catégorie:Dev]]
[[Catégorie:Geek]]
[[Catégorie:Geek]]
[[Catégorie: Terminal Tools]]