<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://doc.lesmorin.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.lesmorin.fr/index.php?action=history&amp;feed=atom&amp;title=Dialog"/>
	<link rel="alternate" type="text/html" href="https://doc.lesmorin.fr/index.php?title=Dialog&amp;action=history"/>
	<updated>2026-04-05T21:50:48Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://doc.lesmorin.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.lesmorin.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'avez forcément déjà croisé ne serai-ce que lorsque vous avez installé Debian puisque qu'il l'utilise pour le choix des paquets à installer.&lt;br /&gt;
=Installation=&lt;br /&gt;
 apt install dialog&lt;br /&gt;
=Usage=&lt;br /&gt;
''Dialog'' renvoi un code retour en fonction du choix de l'utilisateur. Dans le cas d'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 ''oui'' et &amp;lt;source lang=&amp;quot;bash&amp;quot; inline&amp;gt;1&amp;lt;/source&amp;gt; si la réponse est ''non''. Dans le cas d'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'utilisateur allants du simple message à afficher jusqu'aux choix multiple sous forme de cases à cocher.&lt;br /&gt;
===Message à afficher===&lt;br /&gt;
 dialog --title 'Votre titre' --msgbox 'Votre superbe message.' 5 30&lt;br /&gt;
''Les nombres à la fin de la ligne sont les dimensions de la boite. Le '''5''' est le nombre de lignes verticales tandis que le '''30''' décrit le nombre de lignes horizontales.''&lt;br /&gt;
===Message temporaire===&lt;br /&gt;
Il est possible d'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'un fichier===&lt;br /&gt;
L'affichage d'un fichier sous forme de pager se fait de cette manière:&lt;br /&gt;
 dialog --textbox /etc/profile 22 70&lt;br /&gt;
''Il est alors possible de faire défiler le fichier avec les flèches du clavier.''&lt;br /&gt;
===Question booléenne===&lt;br /&gt;
 dialog --title &amp;quot;Votre titre&amp;quot;  --yesno &amp;quot;Êtes-vous d'accord ?&amp;quot; 6 25&lt;br /&gt;
''Le code retour contenu dans &amp;lt;source lang=&amp;quot;bash&amp;quot; inline&amp;gt;$?&amp;lt;/source&amp;gt; contiendra '''0''' ou '''1''' si oui oui si non.''&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'utilisateur ne peut choisir qu'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;
''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;.''&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'ai pas d’intérêt à comprendre ce truck, un bête copier/collé fait l'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;
''Le '''off''' à la fin peut être remplacé par '''on''' afin de pré-coché la case.''&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 ''dialog'' dans mon article sur [[Systemd#Cr.C3.A9ation_du_script_du_service|systemd]]. Cela peut vous  donner une idée sur l'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>