<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://doc.ycharbi.fr/index.php?action=history&amp;feed=atom&amp;title=Dialog</id>
	<title>Dialog - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://doc.ycharbi.fr/index.php?action=history&amp;feed=atom&amp;title=Dialog"/>
	<link rel="alternate" type="text/html" href="https://doc.ycharbi.fr/index.php?title=Dialog&amp;action=history"/>
	<updated>2026-05-19T08:06:54Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://doc.ycharbi.fr/index.php?title=Dialog&amp;diff=658&amp;oldid=prev</id>
		<title>Ycharbi : Page créée avec « Category: Shell [https://en.wikipedia.org/wiki/Dialog_(software) Dialog] est un utilitaire [https://fr.wikipedia.org/wiki/Ncurses ncurses] permettant de recueillir des... »</title>
		<link rel="alternate" type="text/html" href="https://doc.ycharbi.fr/index.php?title=Dialog&amp;diff=658&amp;oldid=prev"/>
		<updated>2017-11-15T10:20:34Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « &lt;a href=&quot;/index.php/Cat%C3%A9gorie:Shell&quot; title=&quot;Catégorie:Shell&quot;&gt;Category: Shell&lt;/a&gt; [https://en.wikipedia.org/wiki/Dialog_(software) Dialog] est un utilitaire [https://fr.wikipedia.org/wiki/Ncurses ncurses] permettant de recueillir des... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category: Shell]]&lt;br /&gt;
[https://en.wikipedia.org/wiki/Dialog_(software) Dialog] est un utilitaire [https://fr.wikipedia.org/wiki/Ncurses ncurses] permettant de recueillir des choix utilisateurs afin de créer des menus interactifs pour des programmes. Vous l&amp;#039;avez forcément déjà croisé ne serai-ce que lorsque vous avez installé Debian puisque qu&amp;#039;il l&amp;#039;utilise pour le choix des paquets à installer.&lt;br /&gt;
=Installation=&lt;br /&gt;
 apt install dialog&lt;br /&gt;
=Usage=&lt;br /&gt;
&amp;#039;&amp;#039;Dialog&amp;#039;&amp;#039; renvoi un code retour en fonction du choix de l&amp;#039;utilisateur. Dans le cas d&amp;#039;un booléen, il renvoi &amp;lt;source lang=&amp;quot;bash&amp;quot; inline&amp;gt;0&amp;lt;/source&amp;gt; si la réponse est &amp;#039;&amp;#039;oui&amp;#039;&amp;#039; et &amp;lt;source lang=&amp;quot;bash&amp;quot; inline&amp;gt;1&amp;lt;/source&amp;gt; si la réponse est &amp;#039;&amp;#039;non&amp;#039;&amp;#039;. Dans le cas d&amp;#039;une liste de choix, il renvoi le numéro de la ligne du choix.&lt;br /&gt;
==Types de boites==&lt;br /&gt;
Cet outil propose différents types d’interactions avec l&amp;#039;utilisateur allants du simple message à afficher jusqu&amp;#039;aux choix multiple sous forme de cases à cocher.&lt;br /&gt;
===Message à afficher===&lt;br /&gt;
 dialog --title &amp;#039;Votre titre&amp;#039; --msgbox &amp;#039;Votre superbe message.&amp;#039; 5 30&lt;br /&gt;
&amp;#039;&amp;#039;Les nombres à la fin de la ligne sont les dimensions de la boite. Le &amp;#039;&amp;#039;&amp;#039;5&amp;#039;&amp;#039;&amp;#039; est le nombre de lignes verticales tandis que le &amp;#039;&amp;#039;&amp;#039;30&amp;#039;&amp;#039;&amp;#039; décrit le nombre de lignes horizontales.&amp;#039;&amp;#039;&lt;br /&gt;
===Message temporaire===&lt;br /&gt;
Il est possible d&amp;#039;afficher un texte de façon temporaire.&lt;br /&gt;
 dialog --infobox &amp;quot;Merci de bien vouloir patienter.&amp;quot; 10 30 ; sleep 4&lt;br /&gt;
===Affichage d&amp;#039;un fichier===&lt;br /&gt;
L&amp;#039;affichage d&amp;#039;un fichier sous forme de pager se fait de cette manière:&lt;br /&gt;
 dialog --textbox /etc/profile 22 70&lt;br /&gt;
&amp;#039;&amp;#039;Il est alors possible de faire défiler le fichier avec les flèches du clavier.&amp;#039;&amp;#039;&lt;br /&gt;
===Question booléenne===&lt;br /&gt;
 dialog --title &amp;quot;Votre titre&amp;quot;  --yesno &amp;quot;Êtes-vous d&amp;#039;accord ?&amp;quot; 6 25&lt;br /&gt;
&amp;#039;&amp;#039;Le code retour contenu dans &amp;lt;source lang=&amp;quot;bash&amp;quot; inline&amp;gt;$?&amp;lt;/source&amp;gt; contiendra &amp;#039;&amp;#039;&amp;#039;0&amp;#039;&amp;#039;&amp;#039; ou &amp;#039;&amp;#039;&amp;#039;1&amp;#039;&amp;#039;&amp;#039; si oui oui si non.&amp;#039;&amp;#039;&lt;br /&gt;
===Menu à choix unique===&lt;br /&gt;
Cette option présente un menu offrant le choix entre un certain nombre de possibilités. L&amp;#039;utilisateur ne peut choisir qu&amp;#039;un seul élément, la valeur retourné dans ce cas est un entier égale au numéro de la ligne du choix sélectionné contenu dans la variable exécutant la commande.&lt;br /&gt;
&lt;br /&gt;
Version compacte&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec 3&amp;gt;&amp;amp;1;&lt;br /&gt;
choixmodele=$(dialog --menu &amp;quot;Choisir un modèle à installer :&amp;quot; 20 40 3 1 Serveur\ IPSec 2 Serveur\ IPSec\ avec\ wireshark 3 Système\ de\ base 2&amp;gt;&amp;amp;1 1&amp;gt;&amp;amp;3);&lt;br /&gt;
exec 3&amp;gt;&amp;amp;-;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Version étendue&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&lt;br /&gt;
exec 3&amp;gt;&amp;amp;1;&lt;br /&gt;
choixmodele=$(dialog --menu &amp;quot;Choisir un modèle à installer :&amp;quot; 20 40 3 \&lt;br /&gt;
	1 Serveur\ IPSec \&lt;br /&gt;
	2 Serveur\ IPSec\ avec\ wireshark \&lt;br /&gt;
	3 Système\ de\ base 2&amp;gt;&amp;amp;1 1&amp;gt;&amp;amp;3);&lt;br /&gt;
exec 3&amp;gt;&amp;amp;-;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
===Champ de formulaire===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec 3&amp;gt;&amp;amp;1;&lt;br /&gt;
nom=$(dialog --inputbox &amp;quot;Enter your name:&amp;quot; 8 40 2&amp;gt;&amp;amp;1 1&amp;gt;&amp;amp;3);                     &lt;br /&gt;
exec 3&amp;gt;&amp;amp;-;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;La valeur de retour ce trouve dans la variable &amp;lt;source lang=&amp;quot;bash&amp;quot; inline&amp;gt;$nom&amp;lt;/source&amp;gt;.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Les deux &amp;lt;source lang=&amp;quot;bash&amp;quot; inline&amp;gt;exec&amp;lt;/source&amp;gt; avec les redirections de partout dans ces trois lignes sont un mystère expliqué dans le [http://www.tldp.org/LDP/abs/html/io-redirection.html Guide avancé du langage Bash]. Pour le coup je n&amp;#039;ai pas d’intérêt à comprendre ce truck, un bête copier/collé fait l&amp;#039;affaire...&lt;br /&gt;
===Cases à cocher===&lt;br /&gt;
Version compacte&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec 3&amp;gt;&amp;amp;1;&lt;br /&gt;
choix=$(dialog --checklist &amp;quot;Quels capacité voulez-vous ?:&amp;quot; 10 40 3 1 Serveur off\ web 2 Base\ de\ donnée off 3 Serveur\ de\ fichiers off 2&amp;gt;&amp;amp;1 1&amp;gt;&amp;amp;3);&lt;br /&gt;
exec 3&amp;gt;&amp;amp;-;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Version étendue&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec 3&amp;gt;&amp;amp;1;&lt;br /&gt;
choix=$(dialog --checklist &amp;quot;Quels capacité voulez-vous ?:&amp;quot; 10 40 3 \&lt;br /&gt;
	1 Serveur\ web off \&lt;br /&gt;
	2 Base\ de\ donnée off \&lt;br /&gt;
	3 Serveur\ de\ fichiers off 2&amp;gt;&amp;amp;1 1&amp;gt;&amp;amp;3);&lt;br /&gt;
exec 3&amp;gt;&amp;amp;-;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Le &amp;#039;&amp;#039;&amp;#039;off&amp;#039;&amp;#039;&amp;#039; à la fin peut être remplacé par &amp;#039;&amp;#039;&amp;#039;on&amp;#039;&amp;#039;&amp;#039; afin de pré-coché la case.&amp;#039;&amp;#039;&lt;br /&gt;
===Liste à puce===&lt;br /&gt;
Version compacte&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec 3&amp;gt;&amp;amp;1;&lt;br /&gt;
choix=$(dialog --backtitle &amp;quot;Sélection de service&amp;quot; --radiolist &amp;quot;Quelles capacité voulez-vous ?:&amp;quot; 10 40 3 1 Serveur\ web on 2 Base\ de\ donnée off 3 Serveur\ de\ fichiers off 2&amp;gt;&amp;amp;1 1&amp;gt;&amp;amp;3);&lt;br /&gt;
exec 3&amp;gt;&amp;amp;-;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Version étendue&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec 3&amp;gt;&amp;amp;1;&lt;br /&gt;
choix=$(dialog --backtitle &amp;quot;Sélection de service&amp;quot; --radiolist &amp;quot;Quelles capacité voulez-vous ?:&amp;quot; 10 40 3 \&lt;br /&gt;
	1 Serveur\ web on \&lt;br /&gt;
	2 Base\ de\ donnée off \&lt;br /&gt;
	3 Serveur\ de\ fichiers off 2&amp;gt;&amp;amp;1 1&amp;gt;&amp;amp;3);&lt;br /&gt;
exec 3&amp;gt;&amp;amp;-;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=Utilisation concrète=&lt;br /&gt;
Je me suis servis de &amp;#039;&amp;#039;dialog&amp;#039;&amp;#039; dans mon article sur [[Systemd#Cr.C3.A9ation_du_script_du_service|systemd]]. Cela peut vous  donner une idée sur l&amp;#039;utilisation concrète de cet outil.&lt;br /&gt;
=Sources=&lt;br /&gt;
* http://www.linuxjournal.com/article/2807&lt;br /&gt;
* https://askubuntu.com/questions/491509/how-to-get-dialog-box-input-directed-to-a-variable#704616&lt;/div&gt;</summary>
		<author><name>Ycharbi</name></author>
	</entry>
</feed>