--- /dev/null
+#!/bin/bash
+# Génère un cadre de ce type :
+
+#################################################################
+## Suite des paramètres passés au script ##
+#################################################################
+
+# Variable à changer pour modifier la taille du cadre obtenu
+boxsize=65
+bordersize=2
+
+commentchar="#"
+fillerchar=" "
+
+text=$*
+
+# Génération de plusieurs caractères
+function gen_chars
+{
+ local i
+
+ OUT=""
+
+ for ((i = "$2"; i>0; i--)); do
+ OUT="${OUT}$1"
+ done
+}
+
+textsize=${#text}
+
+lenspaces=$((boxsize - textsize - 2*bordersize))
+
+if [[ ${lenspaces} -lt 0 ]];
+then
+ echo "Texte trop grand pour le cadre"
+ exit 1
+fi
+
+leftspaces=$((lenspaces/2))
+
+if [[ $((${lenspaces} % 2)) -eq 0 ]];
+then
+ rightspaces=$((lenspaces/2))
+else
+ rightspaces=$((lenspaces/2 + 1))
+fi
+
+# Première ligne de #
+gen_chars "${commentchar}" ${boxsize}
+echo "${OUT}"
+# Frontière gauche
+gen_chars "${commentchar}" ${bordersize}
+echo -n "${OUT}"
+# Filler gauche
+gen_chars "${fillerchar}" ${leftspaces}
+echo -n "${OUT}"
+# Texte central
+echo -n "${text}"
+# Filler droit
+gen_chars "${fillerchar}" ${rightspaces}
+echo -n "${OUT}"
+# Frontière droite
+gen_chars "${commentchar}" ${bordersize}
+echo "${OUT}"
+# Deuxième ligne de #
+gen_chars "${commentchar}" ${boxsize}
+echo "${OUT}"