Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
utilisateurs:sonn2 [Le 19/01/2012, 11:58] – [Vos commentaires] sonn2utilisateurs:sonn2 [Le 01/02/2012, 23:46] (Version actuelle) sonn2
Ligne 1: Ligne 1:
-. 
-<note>Page en construction....</note> 
 ======  Présentation====== ======  Présentation======
 ===== Présentation ===== ===== Présentation =====
Ligne 24: Ligne 22:
   * C (pour plus tard...)   * C (pour plus tard...)
 ==== Philosophie ==== ==== Philosophie ====
-J'ai quitter le monde propriétaire il y a plus d'un an et je respire enfin :-P +J'ai quitter le monde propriétaire il y a plus de deux an et je respire enfin :-P 
-J'adore l'idée de pouvoir modifier mon système comme je le veux (même si pour le moment je me contente de peu...) mon savoir est trop faible à mon gout, mais heureusement j'ai la soif d'apprendre :-D+J'adore l'idée de pouvoir modifier mon système comme je le veux (même si pour le moment je me contente de peu...) mon savoir est trop faible à mon goût, mais heureusement j'ai la soif d'apprendre :-D
  
 ====== Projets ====== ====== Projets ======
 <note important> <note important>
-Je fait cette page pour mettre des liens que je trouve les plus utiles, je posterais aussi mon petit script.+Je fait cette page pour mettre des liens que je trouve les plus utiles, je posterais aussi mon modeste script.
 C'est mes petits trucs à moi, rien de génial, mais bon... j'aime l'idée de OpenSource et du Partage, alors si ça peut aider quelqu'un d'autre... C'est mes petits trucs à moi, rien de génial, mais bon... j'aime l'idée de OpenSource et du Partage, alors si ça peut aider quelqu'un d'autre...
 </note> </note>
 ===== gestionnaire de taches/assistant de mon ordi en bash ===== ===== gestionnaire de taches/assistant de mon ordi en bash =====
 ==== Introduction ==== ==== Introduction ====
-C'est un petit script qui permet d'effectuer d'autres petits scripts contenu dans des fonctions, rien d'extraordinaire, je commence depuis 3 jours le bash :p mais bon... comme j'ai pas trouver quelque chose de semblable.. je partage :) meme si c'est nul et que en l'état ça sert pas à grand chose... mais c'est pas beuger ;) du moins j'ai pas vu.. +Contenu supprimé temporairement afin d'éviter de modifier sans cesse la page mais le projet continue sur le forum ;
-Donc s'il vous plait les habitués, venez pas dire que c'est nul, etc... parce que je le SAIT!! merci :) +Une discussion est ouverte sur le forum [[http://forum.ubuntu-fr.org/viewtopic.php?id=787121|ici]] .
-Ce script necessite d'ếtre "installé", pour cela, creer un REPERTOIRE et placer dans celui-là les 4 fichiers dont les sources sont en dessous, et lancer le script ainsi +
-<code> +
-sudo ./script.sh installation +
-</code> +
- +
-<note tip> +
-  *version : 0.4 +
-  *dépendances : zenity (si lancement de cet environnement+
-  *Permet l'exécution de 10 fonctions définies dans chaque environnement. +
-  *Nécessite les droits root. +
-  *Le mot de passe est : test +
-  *Peut etre lancer en console ou en graphique. +
-  * la possibilité de lancer directement une fonction passé en parametre (utile pour un cron par exemple) +
-</note> +
-exemple de lancement : +
-<code> +
-sudo ./script.sh terminal +
-ou +
-sudo ./script.sh zenity +
-</code> +
- +
-A venir : +
-<note help> +
-  * <del>possible gestion des utilisateurs</del> Abandonné car inutile... +
-  * une meuilleur ergonomie pour le menu terminal avec l'utilisation de //dialog// +
-  * un script de connexion ssh +
-  * un script de sauvegarde automatique de fichier +
-  * un script de rangement semi-automique de fichier +
-  * un script de restauration rapide de programmes préféré (utilise en cas de réinstallation de sa distribution) +
-  * un systeme de log (dont certaines lignes de commande sont déjà présentes ^^ ) +
-si vous avez d'autres idées à me proposer n'hésiter pas ;) +
-</note> +
-==== code ==== +
-=== Le fichier "script.sh" === +
-<code> +
-#!/bin/bash +
-clear +
- +
-#version 0.4 +
- +
-source "config.sh" +
-source "programmes.sh" +
-source "fonctions.sh" +
- +
-echo " +
-"`date +%Y-%m-%d\;%H:%M:%S` -- `logname` -- "$lancement" >> $sortie_log +
-initialisation +
- +
-if `pwd` == "$repertoire" ]  +
-then +
- if ((EUID == 0)) +
- then +
- #possibilité n°1 +
- if -z "$1"+
- then +
- echo `date +%Y-%m-%d\;%H:%M:%S` -- `logname` -- "$plm_m" >> $sortie_log +
- echo "$plm_m" +
- zenity --error --title="$plm_t" --text="$plm_m" +
- exit 3 +
- +
- #possibilité n°2 +
- elif [ "$1" == "terminal"+
- then +
- echo `date +%Y-%m-%d\;%H:%M:%S` -- `logname` -- "$l_m_1 $0 $l_m_2 $# $l_m_3 $1" >> $sortie_log +
- echo -e "$l_m_1 $0 $l_m_2 $# $l_m_3 $1\n" +
- terminal_verification_mdp +
- echo "$msg_bienvenue_m" +
- terminal_choisir_programme +
- +
- #possibilité n°3 +
- elif [ "$1" == "zenity"+
- then +
- echo `date +%Y-%m-%d\;%H:%M:%S` -- `logname` -- "$l_m_1 $0 $l_m_2 $# $l_m_3 $1" >> $sortie_log +
- zenity --info  --title="$l_t" --text="$l_m_1 $0 $l_m_2 $# $l_m_3 $1" +
- zenity_verification_mdp +
- zenity --info --title="$msg_bienvenue_t" --text="$msg_bienvenue_m" +
- zenity_choisir_programme +
- +
- #possibilité n°4 +
- else +
- for i in ${!noms_fonctions_terminal[*]} +
- do +
- if [ "$1" == "${noms_fonctions_terminal[i]}"+
- then +
- eval "${noms_fonctions_terminal[i]}" +
- exit 9 +
- fi +
- done +
- +
- for i in ${!noms_fonctions_zenity[*]} +
- do +
- if [ "$1" == "${noms_fonctions_zenity[i]}"+
- then +
- eval "${noms_fonctions_zenity[i]}" +
- exit 9 +
- fi +
- done +
- +
- if [ "$1" == "installation"+
- then +
- installation +
- exit 9 +
- fi +
- +
- #si on n'as pas déjà quitter, c'est que la fonction n'existe pas, donc on affiche une erreur +
- clear +
- echo "$pli_m" +
- zenity --error --title="$pli_t" --text="$pli_m" +
- exit 4 +
- fi +
- else +
- clear +
- echo "$root_manquant_m" +
- zenity --error --title="$root_manquant_t" --text="$root_manquant_m"  +
- exit 2 +
- fi +
-else +
- clear +
- echo "$install_non_m" +
- zenity --error --title="$install_non_t" --text="$install_non_m"  +
- exit 1 +
-fi +
- +
-exit +
- +
-# 1 = lancer sans être installé +
-# 2 = lancer sans root +
-# 3 = lancer sans parametre +
-# 4 = lancer avec un parametre d'environnement incorrect +
- +
-# 5 = trop d'erreurs de mdp dans l'environnement terminal +
-# 6 = fin normal de la session d'environnement terminal +
- +
-# 7 = trop d'erreurs de mdp dans l'environnement zenity +
-# 8 = fin normal de la session d'environnement zenity +
- +
-# 9 = fin normal de la session sans environnement +
-</code> +
- +
-=== Le fichier "config.sh" === +
-<code> +
-#!/bin/bash +
- +
-#variables supplémentaires utilisées : +
-# mdp +
-# afficher_message +
-# quitter +
- +
-# définition des variables +
-+
- +
-repertoire="/gestionnaire_de_tache" +
-sortie_log="log.gdt" +
-let "nb_essai_restant = 3" +
-s_mdp="test" +
-ner="Nombre d'essai restant :" +
- +
-#lancement message +
-l_t="" +
-l_m_1="Vous avez lancé" #$0 +
-l_m_2="avec" #$# +
-l_m_3="paramètres dans l'environnement " +
-#fin lancement message +
- +
-lancement="Lancement du script..." +
- +
-install_non_t="Erreur fatale!" +
-install_non_m="Le script n'est pas installé!" +
- +
-root_manquant_t="Erreur fatale!" +
-root_manquant_m="Ce script nécessite d'etre lancé en tant que root!" +
- +
-+
- +
-plm_t="Erreur fatale!" +
-plm_m="Paramètre de lancement manquant!" +
- +
-pli_t="Erreur fatale!" +
-pli_m="Paramètre de lancement incorrect!" +
- +
-entrer_mdp_t="Informations requises" +
-entrer_mdp_m="Entrez votre mot de passe:" +
- +
-mdp_vide_t="Erreur!" +
-mdp_vide_m="Votre mot de passe est vide!" +
- +
-mdp_incorrect_t="Erreur!" +
-mdp_incorrect_m="Votre mot de passe est incorrect!" +
- +
-mdp_erreur_t="Erreur fatale!" +
-mdp_erreur_m="Vous avez fait trop d'erreurs pour le mot de passe!" +
- +
-msg_bienvenue_t="Bienvenue!" +
-msg_bienvenue_m="Bienvenue!" +
- +
-entrer_choix_t="Informations requises" +
-entrer_choix_m="Entrez votre choix :" +
- +
-choix_vide_t="Erreur!" +
-choix_vide_m="Votre choix est vide!" +
- +
-choix_incorrect_l="Erreur!" +
-choix_incorrect_m="Choix incorrect !" +
- +
-fenetre_fermee_t="Erreur!" +
-fenetre_fermee_m="Fenetre fermée sans entrer les informations nécessaires!" +
- +
-+
-# fin définition des variables +
-</code> +
- +
-=== Le fichier "programmes.sh" === +
-<code> +
-#!/bin/bash +
- +
-#définitions des array +
-+
- +
-noms_fonctions_terminal=( +
- '' +
- 'terminal_01' +
- 'terminal_02' +
- 'terminal_03' +
- 'terminal_04' +
- 'terminal_05' +
- 'terminal_06' +
- 'terminal_07' +
- 'terminal_08' +
- 'terminal_09' +
- 'terminal_10' +
-+
-descriptions_fonctions_terminal=( +
- '' +
- 'Obtenir la liste des commandes les plus utiles' +
- 'Mettre à jour votre cache de paquets et vos paquets' +
- 'Obtenir la liste des utilisateurs de la machine courante' +
- 'Chiffrer une variable en sha1' +
- 'vide' +
- 'vide' +
- 'vide' +
- 'vide' +
- 'vide' +
- 'vide' +
-+
-noms_fonctions_zenity=( +
- '' +
- 'zenity_01' +
- 'zenity_02' +
- 'zenity_03' +
- 'zenity_04' +
- 'zenity_05' +
- 'zenity_06' +
- 'zenity_07' +
- 'zenity_08' +
- 'zenity_09' +
- 'zenity_10' +
-+
-descriptions_fonctions_zenity=( +
- '' +
- 'vide' +
- 'vide' +
- 'vide' +
- 'vide' +
- 'vide' +
- 'vide' +
- 'vide' +
- 'vide' +
- 'vide' +
- 'vide' +
-+
- +
- +
-+
-#fin des définitions des array +
- +
-# définition des fonctions terminal +
-+
-function terminal_01 +
-+
- echo "Pour obtenir une liste des commandes les plus utiles :" +
- echo "http://doc.ubuntu-fr.org/commande_shell" +
-+
-function terminal_02 +
-+
- apt-get update +
- apt-get upgrade +
-+
-function terminal_03 +
-+
- n=1 # Nombre d'utilisateurs +
- for nom in $(awk 'BEGIN{FS=":"}{print $1}' < "/etc/passwd"+
- do +
- echo "UTILISATEUR #$n = $nom" +
- let "n += 1" +
- done +
-+
-function terminal_04 +
-+
- read -p "Entrez votre mot de passe:" -s var +
- read sha1 x < <(sha1sum <<< "$var"+
- echo -e "\nVotre mdp en sha1 =" +
- echo $sha1 +
-+
-function terminal_05 +
-+
- dmidecode +
-+
-function terminal_06 +
-+
- echo "fonction vide :p" +
-+
-function terminal_07 +
-+
- echo "fonction vide :p" +
-+
-function terminal_08 +
-+
- echo "fonction vide :p" +
-+
-function terminal_09 +
-+
- echo "fonction vide :p" +
-+
-function terminal_10 +
-+
- echo "fonction vide :p" +
-+
-+
-# fin définition des fonctions terminal +
- +
-# définition des fonctions zenity +
-+
-function zenity_01 +
-+
- zenity --info title="Vide!" --text="Vide!" +
-+
-function zenity_02 +
-+
- zenity --info title="Vide!" --text="Vide!" +
-+
-function zenity_03 +
-+
- zenity --info title="Vide!" --text="Vide!" +
-+
-function zenity_04 +
-+
- zenity --info title="Vide!" --text="Vide!" +
-+
-function zenity_05 +
-+
- zenity --info title="Vide!" --text="Vide!" +
-+
-function zenity_06 +
-+
- zenity --info title="Vide!" --text="Vide!" +
-+
-function zenity_07 +
-+
- zenity --info title="Vide!" --text="Vide!" +
-+
-function zenity_09 +
-+
- zenity --info title="Vide!" --text="Vide!" +
-+
-function zenity_10 +
-+
- zenity --info title="Vide!" --text="Vide!" +
-+
- +
-+
-# fin définition des fonctions zenity +
-</code> +
- +
-=== le fichier "fonctions.sh" === +
-<code> +
-#définitions des fonctions systèmes +
-+
- +
-function installation +
-+
- if [ -d $repertoire ] +
- then +
- read -p "Le répertoire $repertoire existe déjà, il seras effacer" +
- sudo rm -r $repertoire +
- fi +
- sudo mkdir $repertoire +
- sudo mv *.* $repertoire +
- sudo rm -r `pwd` +
- chown -R root:root $repertoire +
- chmod -R 000 $repertoire +
-+
- +
-function initialisation +
-+
- menu_terminal="Menu de : ${#noms_fonctions_terminal[*]} programmes\n" +
- for i in ${!noms_fonctions_terminal[*]} +
- do +
- menu_terminal+="$i => ${descriptions_fonctions_terminal[i]} \n" +
- done +
-+
- +
-#définitions des fonctions de l'environnement terminal +
-+
- +
-function terminal_verification_mdp +
-+
- while true +
- do +
- read -p "$entrer_mdp_m" -s mdp +
- echo +
- +
- #si le mdp entré est vide +
- if [ -z "$mdp"+
- then +
- echo "$mdp_vide_m" +
- +
- #si le mdp entré est incorrect +
- elif [ -n "$mdp" ]&&[ "$mdp" != "$s_mdp"+
- then +
- echo "$mdp_incorrect_m" +
- +
- #si le mdp est correct +
- elif [ -n "$mdp" ]&&[ "$mdp" == "$s_mdp"+
- then +
- break +
- fi +
- +
- let "nb_essai_restant = nb_essai_restant-1" +
- echo "$ner $nb_essai_restant" +
- +
- #si le nombre d'essai restant est inférieur ou égal à 0 +
- if [ "$nb_essai_restant" -le 0 ] +
- then +
- clear +
- echo "$mdp_erreur_m" +
- exit 5 +
- fi +
- +
- echo +
- done +
-+
- +
-function terminal_choisir_programme +
-+
- while true +
- do +
- echo -e "$menu_terminal"; afficher_message=false +
- read -p "$entrer_choix_m" choix +
- +
- if [ -z "$choix"+
- then +
- echo -e "$choix_vide_m" +
- else +
- case "$choix" in +
- "1") eval ${noms_fonctions_terminal[1]} ;afficher_message=true; ;; +
- "2") eval ${noms_fonctions_terminal[2]} ;afficher_message=true; ;; +
- "3") eval ${noms_fonctions_terminal[3]} ;afficher_message=true; ;; +
- "4") eval ${noms_fonctions_terminal[4]} ;afficher_message=true; ;; +
- "5") eval ${noms_fonctions_terminal[5]} ;afficher_message=true; ;; +
- "6") eval ${noms_fonctions_terminal[6]} ;afficher_message=true; ;; +
- "7") eval ${noms_fonctions_terminal[7]} ;afficher_message=true; ;; +
- "8") eval ${noms_fonctions_terminal[8]} ;afficher_message=true; ;; +
- "9") eval ${noms_fonctions_terminal[9]} ;afficher_message=true; ;; +
- "10")eval ${noms_fonctions_terminal[10]};afficher_message=true; ;; +
- *)   echo -e "$choix_incorrect_m"; ;; +
- esac +
- fi +
- if [ "$afficher_message" == true ] +
- then +
- terminal_message_quitter +
- fi +
- done +
-+
- +
-function terminal_message_quitter +
-+
- while true +
- do +
- read -p "Voulez-vous continuer ?[o/n]" quitter +
- if [ -z $quitter ] +
- then +
- echo  +
- elif [ $quitter == "o" ]||[ $quitter == "O" ]||[ $quitter == "y" ]||[ $quitter == "Y"+
- then +
- break +
- elif [ $quitter == "n" ]||[ $quitter == "N"+
- then +
- clear +
- echo "Au revoir!" +
- exit 6 +
- fi +
- done +
-+
- +
-+
-#fin définitions des fonctions de l'environnement terminal +
- +
- +
-#définitions des fonctions de l'environnement zenity +
-+
-function zenity_verification_mdp +
-+
- while true +
- do +
- if mdp=`zenity --entry --title="$entrer_mdp_t" --text="$entrer_mdp_m \n $ner $nb_essai_restant" --hide-text` +
- then +
- #si le mdp entré est vide +
- if [ -z "$mdp"+
- then +
- zenity --error --title="$mdp_vide_t" --text="$mdp_vide_m" +
- +
- #si le mdp entré est incorrect +
- elif [ -n "$mdp" ]&&[ "$mdp" != "$s_mdp"+
- then +
- zenity --error --title="$mdp_incorrect_t" --text="$mdp_incorrect_m" +
- +
- #si le mdp est correct +
- elif [ -n "$mdp" ]&&[ "$mdp" == "$s_mdp"+
- then +
- break +
- fi +
- else +
- zenity --error --title="$fenetre_fermee_t" --text="$fenetre_fermee_m" +
- fi +
- +
- let "nb_essai_restant = nb_essai_restant-1" +
- +
- #si le nombre d'essai restant est inférieur ou égal à 0 +
- if [ "$nb_essai_restant" -le 0 ] +
- then +
- zenity --error --title="$mdp_erreur_t" --text="$mdp_erreur_m" +
- exit 7 +
- fi +
- done +
-+
- +
-function zenity_choisir_programme +
-+
- while true +
- do +
- choix=`zenity --list --title="$entrer_choix_t" --text="$entrer_choix_m" --column="N°" --column="Programmes"+
- 1 "${descriptions_fonctions_zenity[1]}" 2 "${descriptions_fonctions_zenity[2]}" 3 "${descriptions_fonctions_zenity[3]}"+
- 4 "${descriptions_fonctions_zenity[4]}" 5 "${descriptions_fonctions_zenity[5]}" 6 "${descriptions_fonctions_zenity[6]}"+
- 7 "${descriptions_fonctions_zenity[7]}" 8 "${descriptions_fonctions_zenity[8]}" 9 "${descriptions_fonctions_zenity[9]}"+
- 10 "${descriptions_fonctions_zenity[10]}"+
- afficher_message=false +
- +
- if [ -z "$choix"+
- then +
- echo -e "$choix_vide_m" +
- else +
- case "$choix" in +
- "1") eval ${noms_fonctions_zenity[1]} ;afficher_message=true; ;; +
- "2") eval ${noms_fonctions_zenity[2]} ;afficher_message=true; ;; +
- "3") eval ${noms_fonctions_zenity[3]} ;afficher_message=true; ;; +
- "4") eval ${noms_fonctions_zenity[4]} ;afficher_message=true; ;; +
- "5") eval ${noms_fonctions_zenity[5]} ;afficher_message=true; ;; +
- "6") eval ${noms_fonctions_zenity[6]} ;afficher_message=true; ;; +
- "7") eval ${noms_fonctions_zenity[7]} ;afficher_message=true; ;; +
- "8") eval ${noms_fonctions_zenity[8]} ;afficher_message=true; ;; +
- "9") eval ${noms_fonctions_zenity[9]} ;afficher_message=true; ;; +
- "10")eval ${noms_fonctions_zenity[10]};afficher_message=true; ;; +
- *)   echo -e "$choix_incorrect_m"; ;; +
- esac +
- fi +
- +
- if [ "$afficher_message" == true ] +
- then +
- zenity_message_quitter +
- fi +
- done +
-+
- +
-function zenity_message_quitter +
-+
- while true +
- do +
- zenity --question --title "que faire" --text "Voulez-vous continuer ?[o/n]" +
- if [ $? == 0 ] +
- then +
- break +
- else +
- zenity --info --title="au revoir" --text="au revoir" +
- exit 8 +
- fi +
- done +
-+
- +
-+
-#fin définitions des fonctions de l'environnement zenity +
-</code> +
 ==== message xD ==== ==== message xD ====
 <note> <note>
Ligne 641: Ligne 47:
  
 ---- ----
---- //[[:utilisateurs:sonn2|sonn2]] Le 19/01/2012, 11:57// DELETEME 8-O LOL+--- //[[:utilisateurs:sonn2|sonn2]] Le 31/01/2012, 17:24// DELETEME 8-O LOL