Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.

#1 Le 03/06/2008, à 01:12

LittleWhite

Script pour compresser et faire des archives multi fichiers

Voilà suite à une question que j'avais posé pour savoir si on pouvait faire des archives multi fichiers en une commande, j'ai crée ce petit script avec l'aide de zenity et kdialog pour pouvoir compresser et faire des archives multi fichiers d'une taille défini, ainsi qu'une partie pour réassembler les archives.

J'ouvre cette discussion afin de vous proposer librement ce script et aussi pour que vous m'indiquer ce que je pourrai amélioré ainsi que les bugs qu'il peut y avoir.

Voici le code ( version 1.5 postée le Dimanche 23 Mai 2009)

#!/bin/bash

# Script crée par LittleWhite
# Permet de faire une compression avec tar
# De découper le fichiers comprésser avec split
# De recoller les morceaux avec cat
# mailto: thedograge@hotmail.fr
#
# Necessite zenity
# Je me suis aidée du script de Kriegy : "CPU Frequency"

# Version 1.0 : Samedi 24 May 2008 -> Premier script fonctionnel
# Version 1.1 : Samedi 31 May 2008 -> Possibilité d'utiliser ( les 2 sens ) avec des noms contenant des espaces
# Version 1.2 : Dimanche 1 Juin 2008 -> Possibilité de choisir le format de la taille à implementer pour la taille des morceaux
# Version 1.3 : Vendredi 6 Juin 2008 -> Barre de progression + le script ne se ferme lorsque la tache est finie + correction taille des fenêtres
# Version 1.4 : Dimanche 15 Juin 2008 -> Fichier de sauvegarde checksum lors de la compression ; Check lors du collage
# Version 1.5 : Samedi 23 May 2009 -> Correction et amélioration générales ; Check de la présence de zenity ou de kdialog

# Multiples variables pour la présentation ( permet une traduction rapide, si cela était plus complet :s )
TITLE="CutCat"
OPTION1="Compresser + Découper"
OPTION2="Recoller"
TOPTION1="Fichier"
TOPTION2="Dossier"
UOPTION1="Octets"
UOPTION2="KiloOctets"
UOPTION3="MegaOctets"
arret=0			# Flag pour arrêter le script

# Verification de la présence d'un des programmes pour l'affichage de boites de dialogues
if [ ! -z `which zenity` ] ; then
	TOOL="zenity"
elif [ ! -z `which kdialog` ] ; then
	TOOL="kdialog"
else
	echo -e "\033[31mVous n'avez ni 'zenity' ni 'autre'.\n\tVeuillez en installer au moins un pour faire fonctionner ce script\033[0m"
	exit
fi


while [ "${arret}" -eq 0 ]
do
{
	if [ ${TOOL} == "zenity" ] ; then
    	choice=$(${TOOL} --list --radiolist --title="${TITLE}" --width="400" --height="150" --column="Choississez votre action :" --column="Option" TRUE "${OPTION1}" FALSE "${OPTION2}")
	else
		choice=$(${TOOL} --title="${TITLE}" --radiolist "Choississez votre action :"  "${OPTION1}" "${OPTION1}" "${OPTION1}" "${OPTION2}" "${OPTION2}" "${OPTION2}")
	fi

    if [ "${choice}" == "${OPTION1}" ] ; then    # Compression + Decoupage

		if [ ${TOOL} == "zenity" ] ; then
        	type=$(${TOOL} --list --radiolist --title="${TITLE}" --width="360" --height="100" --column="Choississez le type à compresser :" --column="Type" TRUE "${TOPTION1}" FALSE "${TOPTION2}")
		else
			type=$(${TOOL} --title="${TITLE}" --radiolist "Choississez le type à compresser :" "${TOPTION1}" "${TOPTION1}" "${TOPTION1}" "${TOPTION2}" "${TOPTION2}" "${TOPTION2}") 
		fi

        if [ "${type}" == "${TOPTION1}" ] ; then	# Compresse un fichier
			if [ ${TOOL} == "zenity" ] ; then
            	compress=$(${TOOL} --file-selection --title="${TITLE}")    
			else
				compress=$(${TOOL} --title="${TITLE}" --getopenfilename . )
			fi
        elif [ "${type}" == "${TOPTION2}" ] ; then	# Compresse un dossier
			if [ ${TOOL} == "zenity" ] ; then
            	compress=$(${TOOL} --file-selection --title="${TITLE}" --directory )
			else
				compress=$(${TOOL} --title="${TITLE}" --getexistingdirectory .)
			fi
        fi
		
		if [ -z "${compress}" ] ; then		# Evite d'afficher que le fichier n'existe pas alors que l'utilisateur a juste annulé
			echo "Cancelled"
		elif [ -e "${compress}" ] ; then    # Notre fichier existe
			if [ ${TOOL} == "zenity" ] ; then
            	unite=$(${TOOL} --list --radiolist --title="${TITLE}" --column="Choississez l'unité :" --column="Unité" FALSE "${UOPTION1}" FALSE "${UOPTION2}" TRUE "${UOPTION3}")
			else
				unite=$(${TOOL} --title="${TITLE}" --radiolist "Choississez l'unité :" "${UOPTION1}" "${UOPTION1}" "${UOPTION1}" "${UOPTION2}" "${UOPTION2}" "${UOPTION2}" "${UOPTION3}" "${UOPTION3}" "${UOPTION3}")
			fi
    
                if [ "${unite}" == "${UOPTION1}" ] ; then
                    unite=1
			SOPTION=${UOPTION1}
                elif [ "${unite}" == "${UOPTION2}" ] ; then
                    unite=1000
			SOPTION=${UOPTION2}
                elif [ "${unite}" == "${UOPTION3}" ] ; then
                    unite=1000000
			SOPTION=${UOPTION3}
		else 
			unite=1000000
                fi

                taille=$(du -xmsb "${compress}" | tr -s "\t" " " | cut -d " " -f 1)    # On récupère la taille du fichier ( marche avec les dossiers au Mo près )
                
				if [ ${TOOL} == "zenity" ] ; then
                	tailleparties=$(${TOOL} --entry --title="${TITLE}" --text="Veuillez entrer la taille des parties souhaitées en ""${SOPTION}")
				else
					tailleparties=$(${TOOL} --title="${TITLE}" --inputbox "Veuillez entrer la taille des parties souhaitées en ""${SOPTION}")
				fi

                if [ -z $tailleparties ] ; then		# Malgré que cela signifie l'appuie sur le boutton annulé la compression va se faire
                    tailleparties=$taille
                fi

                if [ $taille -le $(($tailleparties*$unite)) ] ; then
                    nbparties=1
                else
                    nbparties=$(($taille/$(($tailleparties*$unite))))            # Nombre de morceaux
                fi

                encodage=$(expr length $nbparties)            # Pour connaitre sur combien de caractères on peut mettre le nombre de morceaux

				if [ ${TOOL} == "zenity" ] ; then
                	tar -cv --bzip2 $"${compress}" | split --verbose -a $encodage -d -b $(($tailleparties*$unite)) - "${compress}".tar.bz2. 2>&1 | ${TOOL} --title=${TITLE}": Compression" --width="200" --progress --pulsate    # On compresse et on decoupe
				else
					#Progressbar pas encore implementee
					tar -cv --bzip2 $"${compress}" | split --verbose -a $encodage -d -b $(($tailleparties*$unite)) - "${compress}".tar.bz2. #2>&1 | ${TOOL} --title=${TITLE} --progressbar ": Compression"
				fi

			## On tente de récupérer juste le nom du fichier sans le chemin ##

			NB_CHAMPS=$(echo "${compress}" | awk -F"/" '{ print NF }')
			short_name=$(echo "${compress}" | cut -d "/" -f "${NB_CHAMPS}")

			## On change de répertoire de façon à ce que le md5sum retrouve les fichier ##

			NB_CHAMPS=$(echo "${compress}" | awk -F"/" '{ print NF-1 }')
			folder=$(echo "${compress}" | cut -d "/" -f 1-"${NB_CHAMPS}")

			cd ${folder}

			md5sum "${short_name}".tar.bz2.* > "${compress}".md5sum

			else
				if [ ${TOOL} == "zenity" ] ; then
					${TOOL} --error --title=${TITLE}": Erreur" --text="Le fichier n'existe pas"
				else
					${TOOL} --title=${TITLE}": Erreur" --error "Le fichier n'existe pas"
				fi
		fi
    
    elif [ "${choice}" == "${OPTION2}" ] ; then	# Décompression
		if [ ${TOOL} == "zenity" ] ; then
        	file=$(${TOOL} --file-selection --title="${TITLE}: Sélectionnez une archive")
		else
			file=$(${TOOL} --title="${TITLE}: Sélectionnez une archive" --getopenfilename . *.tar.bz2.*)
		fi
		
		if [ -z "${file}" ] ; then
			echo "Cancelled"
		elif [ -e "${file}" ] ; then
            ## Partie pour ne garder que le debut du nom du fichier ( enlever les .001 ) ##
            NB_CHAMPS=$(echo $file | awk -F"." '{ print NF-1 }')

            CHAMPS="1"
             for i in `seq 2 $NB_CHAMPS`; do
                    CHAMPS=$CHAMPS",$i";
               done;
   
                filefinal=$(echo $file | cut -d "." -f ${CHAMPS})

			
			# Demande du fichier md5sum
			
			if [ ${TOOL} == "zenity" ] ; then
				md5sumFile=$(${TOOL} --file-selection --title="${TITLE}: Selectionnez le fichier md5sum")
			else
				md5sumFile=$(${TOOL} --title="${TITLE}: Selectionnez le fichier md5sum" --getopenfilename . *.md5sum)
			fi
			
			if [ -z "${md5sumFile}" ] ; then
				echo "No md5sum"
				good_file=""
			elif [ -e "${md5sumFile}" ] ; then				
				## On change de répertoire de façon à ce que le md5sum retrouve les fichier ##
				NB_CHAMPS=$(echo "${md5sumFile}" | awk -F"/" '{ print NF-1 }')
				folder=$(echo "${md5sumFile}" | cut -d "/" -f 1-"${NB_CHAMPS}")

				cd ${folder}	
				
				good_files=$(md5sum -c "${md5sumFile}" 2>&1 | egrep "md5sum" )	# Check si le md5sum envoie une erreur
			else
				if [ ${TOOL} == "zenity" ] ; then
					${TOOL} --error --title=${TITLE}": Erreur" --text="Fichier md5sum inexistant"	
				else
					${TOOL} --title=${TITLE}": Erreur" --error "Fichier md5sum inexistant" 
				fi
			fi
			
			if [ -z "${good_files}" ] ; then	# Si on a pas eu d'erreur
						cat "${filefinal}".* > "${filefinal}" # On recolle le fichier
			else
				if [ ${TOOL} == "zenity" ] ; then
					${TOOL} --error --title=${TITLE}": Erreur" --text="Fichier corrompu! Recollage annulée"
				else
					${TOOL} --title=${TITLE}": Erreur" --error "Fichier corrompu! Recollage annulée"
				fi
			fi

		else
			if [ ${TOOL} == "zenity" ] ; then
				${TOOL} --error --title=${TITLE}": Erreur" --text="Fichier inexistant"
			else
				${TOOL} --title=${TITLE}": Erreur" --error "Fichier inexistant"
			fi
        fi 
    
    else 
        arret=1
    fi
}
done

Vous avez juste à le copier dans un fichier ( avec une extension .sh ) et le rendre executable : chmod +x lefichier.sh

Voilà, merci pour vos prochains tests, j'espère qu'il vous sera utile.

Dernière modification par LittleWhite (Le 24/05/2009, à 18:17)


Linux ou mourir
Pour avoir des problemes : demarrer Windows
Script de compression multi archive : http://forum.ubuntu-fr.org/viewtopic.php?id=225297

Hors ligne

#2 Le 03/06/2008, à 20:47

n3o51

Re : Script pour compresser et faire des archives multi fichiers

Bonjour sympatique ce petit script deja premiere chose je pense qu'une qu'une bar de progression serait bienvenue....La suite dans pas longtemps big_smile


Welcome to the real world
________________________________

Hors ligne

#3 Le 03/06/2008, à 21:48

LittleWhite

Re : Script pour compresser et faire des archives multi fichiers

J'y ai pensé , et aussi de faire tourner le script en boucle ( genre qu'on est pas besoin de recliquer sur le script pour le relancer ).
Mais ce je ne sais pas trop comment faire la barre de progression, car déja tar ne la propose pas ...
Car zenity demande un poucentage pour faire avancer la barre ( logique ) mais je ne sais pas encore comment en avoir un de la commande tar.

Enfin ce week end j'y refléchi , et surement nouvelle version pour dimanche


Linux ou mourir
Pour avoir des problemes : demarrer Windows
Script de compression multi archive : http://forum.ubuntu-fr.org/viewtopic.php?id=225297

Hors ligne

#4 Le 06/06/2008, à 00:57

n3o51

Re : Script pour compresser et faire des archives multi fichiers

Soir !!!!

Un truc comme ca peut etre

tar | zenity --title "compress" --progress --pulsate

Non ??


Welcome to the real world
________________________________

Hors ligne

#5 Le 06/06/2008, à 01:00

LittleWhite

Re : Script pour compresser et faire des archives multi fichiers

pour zenity oui ( sans le pulsate d'après mes test , mes faut que je verifie )
pour tar il envoie pas les bonnes informations.
Merci pour ton aide, mais t'inquiète pas , en fouillant dans les options de tar j'avais trouvé un truc qui peut servir.
J'ai presque déjà la ligne de code que je vais utilisé ( quelques tests et hop le tour et jouer ).
Ce week end y a pas de doute je reposte une nouvelle version du script
Encore merci wink


Linux ou mourir
Pour avoir des problemes : demarrer Windows
Script de compression multi archive : http://forum.ubuntu-fr.org/viewtopic.php?id=225297

Hors ligne

#6 Le 06/06/2008, à 23:00

LittleWhite

Re : Script pour compresser et faire des archives multi fichiers

Voila c'est mis à jour ( version 1.3 ) , il y a juste a copier le code en haut.

Nouveautés :
- Fenetre plus grande pour afficher tout
- Barre de progression ( je pense pas qu'on puisse faire mieux )
- Le script ne se ferme pas lorsque l'on a fini une tache ( d'ailleur il se peux que ce soit chier à quitter ^^ )

Voila

J'attends toujours vos retour d'expériences smile


Linux ou mourir
Pour avoir des problemes : demarrer Windows
Script de compression multi archive : http://forum.ubuntu-fr.org/viewtopic.php?id=225297

Hors ligne

#7 Le 07/06/2008, à 07:46

n3o51

Re : Script pour compresser et faire des archives multi fichiers

Salut et bien je vais tester et je te fait signe ...Pour l'aide je t'en pris je suis débutants aussi big_smile
Ce genre de script permet justement d'apprendre !!!!
La j'suis pas la ce weekend des que j'ai le temps !!! je poste ... ++

D'ailleurs pendant que la je le lance, la fenetre est toujours mal agencé au premier lancement

choice=$(zenity --list --radiolist --title="${TITLE}" --width="450" --height="200" --column="Choississez votre action :" --column="Option" TRUE "${OPTION1}" FALSE "${OPTION2}")

type=$(zenity --list --radiolist --title="${TITLE}" --width="450" --height="200" --column="Choississez le type à compresser :" --column="Type" TRUE "${TOPTION1}" FALSE "${TOPTION2}")

Ca c'est mieux pour moi !!!!!

Une autre chose quand  je clic sur annuler lors du choix du fichiers (Choississez le type à compresser ) il me met le fichiers n'exciste pas hors je trouve qu'il serait mieux qu'il retourne sur la premiere fentre....
C'est tout pour le moment !!!!

roll

Dernière modification par n3o51 (Le 07/06/2008, à 07:57)


Welcome to the real world
________________________________

Hors ligne

#8 Le 10/06/2008, à 23:03

draco31.fr

Re : Script pour compresser et faire des archives multi fichiers

Suite des questions posées sur le topic général de présentation des scripts :

LittleWhite a écrit :
draco31.fr a écrit :
LittleWhite a écrit :

J'ai fais un script de compression qui peux faire plusieurs fichiers , et les recoller :

Dépendances :
    - zenity

Bonjour LittleWhite !
Ton script est interressant mais je ne suis pas sûr qu'il soit très "robuste".
En fait, je n'ai pas eu le temps de le tester mais je me pose déjà des questions :

1- Que se passe-t-il si il y a plusieurs fichiers en .001 dans le dossier au moment du décompactage ?
2- Comment es-tu sûr que 'cat' recolle les fichiers "dans l'ordre" ?
3- Comment fais-tu pour vérifier si le fichier reconstruit est complet et qu'il ne manquait pas une "part" ?

Bonjour,

Excuse moi du décalage entre la question et la réponse dans le forum ...
Tes remarques sont très bonnes, le script n'est pas du tout robuste.

1 - Il va les collait ensemble ( pour peu que le nom soit le même avant le .001 )( ce qui va donc faire des archives corrompu ). Mais du coup, si t'utilise le script pour compresser , le même fichier donc, tu vas ecraser les archives nom.001 par la nouvelle compression donc normalement tu te trouve avec que des archives de la même compression, après bien tu peux mélanger les fichiers de compression différente ( qui diffère quand taille d'archive ) mais c'est chercher le bug ... ( enfin un programmeur doit toujours prevoir tous les cas )
2 - Disons que je ne suis pas sur ( enfin pas personnellement ) , le developpeur de linux ( du moins celui qui a fais la gestion des regex ( expression régulières ) dirai qu'il va toujours dans l'ordre des possibilité ( soit 0 - 1 - 2 ... ) Je pense que l'on peut donc admettre que cela marche ( enfin que quelqu'un prouve le contraire )
3 - Oki , bah la je suis entièrement d'accord je ne sais pas s'il me manque une part , peut etre dans la version future du script.

( Pour les mis à jour , il est préférable d'aller sur le post qui est dans ma signature )

PS : Je débute en programmation de script sous bash, et ton script me donne enormément d'info utiles, mais du coup je me pose encore plus de questions !!!

Plus on apprend, plus on se pose des questions, plus on veut savoir

1- Je n'avais pas bien saisi que l'utilisateur devait saisir un des fichiers à décompacter (je pense que l'on selectionnait le dossier contenant !)
Il n'est donc pas possible d'avoir dans un même dossier plusieurs fichiers avec la même racine ... sauf cumul de plusieurs action avec une taille de "paquet" différente.
2- Pourquoi ne pas passer la liste des fichiers via un ls + sort pour s'assurer du respect de l'ordre.
3- Peut-être serait-il possible de créer un fichier .sfv une fois le découpage terminé qui servirait au contrôle avant recollage !

En fait, je me suis imaginé l'utilisation suivante :
L'utilisateur choisit un fichier (p.e 100 Mo) pour découpage et choisit : unité : Mo - taille : 10
Le script va créer les parts .001 à .010 de 10 Mo chacune.
Ce même utilisateur relance ensuite le script sur le même fichier (100 Mo) et choisit : unité : Mo - taille : 20
Le sript va créer les parts .001 à .005 en écrasant les parts existantes.
Si maintenant l'utilisateur veut décompacter le fichier, il va choisir une des parts présentes (entre 001 et 100 !) et le script va coller les parts 001 à 100 soit 5*20 Mo + 5*10 Mo = 150 Mo !!!

Il est possible que je dise une grosse bêtise et que tar ou split plantent si le fichier existe déjà !
Il serait peut-être bon de vérifier qu'il n'existe pas au moins un fichier "${compress}".tar.bz2.001 et de demander la suppression de tout les fichiers "${compress}".tar.bz2.* au cas où le fichier précédent existerait et avant de commencer le compactage/découpage.

PS : Je me rends que c'est extrêmement difficile de prévoir tout les cas tordu qu'un utilisateur peut faire !

Hors ligne

#9 Le 11/06/2008, à 00:41

LittleWhite

Re : Script pour compresser et faire des archives multi fichiers

La meilleure solution est un fichier qui ressence les fichiers. En même temps on peut mettre un md5sum pour connaitre l'intégrité des paquets.
Le fichier serai lu pour faire le cat ( je ne sais pas trop comment pour le moment )

Le tar et le split ne plante pas si le fichier existe déjà ils écrasent ( comme beaucoup d'autre commande d'ailleurs )

PS : Je me rends que c'est extrêmement difficile de prévoir tout les cas tordu qu'un utilisateur peut faire !

Surtout toi, tu est vraiment tordu, je trouve tongue

P.S. : Je suis très mitigé pour faire un sort avant le recollage des fichiers, car je suis persuadé que les fichiers sont dans l'ordre , tout le temps ( ls , ton navigateur de fichier ... )

Prochaine version , normalement très bientot ... smile


Linux ou mourir
Pour avoir des problemes : demarrer Windows
Script de compression multi archive : http://forum.ubuntu-fr.org/viewtopic.php?id=225297

Hors ligne

#10 Le 16/06/2008, à 01:17

LittleWhite

Re : Script pour compresser et faire des archives multi fichiers

Nouveau script :

Changement au programme , creation d'un md5sum afin d'être sur que les fichiers sont tous présents ainsi qu'ils sont tous sans bugs ( maintenant lors du recollage , ce n'est plus un fichier de l'archive qu'il faut donner , mais le fichier .md5sum )

draco31.fr -> Normalement il n'y a plus de problème par rapport à tous les points que tu as soulevé ( bon disons que pour le cat , j'admet qu'il le fais toujours dans l'ordre tongue roll )


Pouvez vous testé le script , car à l'air ou je le post , je suis un peu fatigué pour une séance de test roll

Bien sur , j'ai mis la nouvelle version du script en haut ( sur le premier post )


Linux ou mourir
Pour avoir des problemes : demarrer Windows
Script de compression multi archive : http://forum.ubuntu-fr.org/viewtopic.php?id=225297

Hors ligne

#11 Le 16/06/2008, à 01:45

Ski-lleR

Re : Script pour compresser et faire des archives multi fichiers

Salut

Déjà je voudrais dire lol, car quand j'ai chargé la page tu avais posté le dernier message, mais pas éditer le premier, alors j'étais perplexe sur le script lol

Sinon j'ai testé ça marche bien, j'ai volontairement altéré un fichier et ça m'a mis une erreur, so all is perfect wink

A+ et merci bien pour ce script très utile wink


Debian *lenny* hybride

SIP/Ekiga  'Test Welcome' (Debian *lenny* hybride)
SIP:skiller@ekiga.net

Hors ligne

#12 Le 16/06/2008, à 02:02

LittleWhite

Re : Script pour compresser et faire des archives multi fichiers

Déjà je voudrais dire lol, car quand j'ai chargé la page tu avais posté le dernier message, mais pas éditer le premier, alors j'étais perplexe sur le script lol

Faut pas être plus rapide que moi, il est vrai que j'ai une technique bizarre , je poste la news et après je met à jour big_smile

Je ne c'est pas s'il est parfait ( il est pas vu que je peux améliorer le code j'ai vu , mais ce sera pour une prochaine version ) , et je ne sais pas s'il bug ou pas ...
Merci pour ton retour wink et heureux qu'il te serve smile


Linux ou mourir
Pour avoir des problemes : demarrer Windows
Script de compression multi archive : http://forum.ubuntu-fr.org/viewtopic.php?id=225297

Hors ligne

#13 Le 21/06/2008, à 00:07

draco31.fr

Re : Script pour compresser et faire des archives multi fichiers

LittleWhite a écrit :

La meilleure solution est un fichier qui ressence les fichiers. En même temps on peut mettre un md5sum pour connaitre l'intégrité des paquets.
Le fichier serai lu pour faire le cat ( je ne sais pas trop comment pour le moment )

Le tar et le split ne plante pas si le fichier existe déjà ils écrasent ( comme beaucoup d'autre commande d'ailleurs )

PS : Je me rends que c'est extrêmement difficile de prévoir tout les cas tordu qu'un utilisateur peut faire !

Surtout toi, tu est vraiment tordu, je trouve tongue

P.S. : Je suis très mitigé pour faire un sort avant le recollage des fichiers, car je suis persuadé que les fichiers sont dans l'ordre , tout le temps ( ls , ton navigateur de fichier ... )

Prochaine version , normalement très bientot ... smile

Je n'ai pas eu le temps de tester ton script ... mais je ne manquerai pas de la torturer à l'occasion !
Pour ce qui est de l'ordre des fichiers, c'est vrai que ls rend les fichiers dans l'ordre alphabétique par défaut (il faut donner une option supplémentaire pour les avoir dans l'ordre du disque).
Il est donc fort probable que 'cat' fasse la même chose.

Autre question : Qu'est qui est le plus rapide : spliter en beaucoup de petit fichier, mais autant de md5sum à calculer, ou spliter en gros fichier, moins de md5sum à calculer mais plus long que sur un petit fichier ?

Et enfin, ton script pourrait presque être utilisé sur KDE si tu n'utilisais pas zenity poru les boites de dialogues. Je me pose donc la question suivante pour mes scripts :
N'existe-t-il pas un outils polyvalent permettant d'afficher des boites de dialogues indépendament du gestionnaire de bureau ? (ou qui fait appel à kdialog ou zenity de manière transparente !)

Hors ligne

#14 Le 24/11/2008, à 12:36

n3o51

Re : Script pour compresser et faire des archives multi fichiers

Salut mais par contre il es possible de faire un test recuper si gnome ou kde et en fonction lancer sous kdialog sois zenity .Sinon pour l'instant les teste fonctionne big_smile


Welcome to the real world
________________________________

Hors ligne

#15 Le 24/11/2008, à 20:16

LittleWhite

Re : Script pour compresser et faire des archives multi fichiers

Oui , il est possible ... Mais comment le faire ?
Si tu me donne une ligne de code qui marche je le fais ( pour le test )
( et la doc de kdialog pour l'utiliser ... ) ( je n'ai pas de kde ... )


Linux ou mourir
Pour avoir des problemes : demarrer Windows
Script de compression multi archive : http://forum.ubuntu-fr.org/viewtopic.php?id=225297

Hors ligne

#16 Le 24/11/2008, à 22:48

draco31.fr

Re : Script pour compresser et faire des archives multi fichiers

Bonjour,
Déjà, il est possible de savoir si zenity et/ou kdialog est installé avec la commande :

which zenity

ou

which kdialog

Ensuite, pour la doc de kdialog, il y a le man ... mais cela suppose d'installer kdialog
... ou le net : http://pwet.fr/man/linux/commandes/kdialog

Après il y a ceux qui, comme moi, sont sous Xfce (donc ni Gnome, ni KDE) mais utilise zenity (resp. kdialog). Donc tester directement la présence de zenity/kdialog est le plus sûr.

Hors ligne

#17 Le 24/11/2008, à 22:51

LittleWhite

Re : Script pour compresser et faire des archives multi fichiers

oki , merci du conseil ... j'essaie de faire ça pour ... euh le plus tot possible.
Par contre malgré , la version que j'ai donné avec le checksum ... je préfère reprendre la version sans checksum
( Perso je n'aime pas m'encombrer avec un autre fichier ... de plus le checksum je crois a un problème , et plus si votre archive est fausse , c'est file-roller qui vous le dira ... ( bon ok , j'ai des arguments qui tienntent pas du tout )).

Donc question , êtes vous pour ou contre le check sum ?


Linux ou mourir
Pour avoir des problemes : demarrer Windows
Script de compression multi archive : http://forum.ubuntu-fr.org/viewtopic.php?id=225297

Hors ligne

#18 Le 25/11/2008, à 00:06

draco31.fr

Re : Script pour compresser et faire des archives multi fichiers

Pourquoi ne pas le rendre "optionnel".
Tu mets une variable en début de script pour l'activer ou le désactiver à la volée, et tu encadre tout le traitement du checksum par un "if variable=active".

Hors ligne

#19 Le 25/11/2008, à 00:14

LittleWhite

Re : Script pour compresser et faire des archives multi fichiers

Je vais voir , alors quand je reprendrai le développement wink


Linux ou mourir
Pour avoir des problemes : demarrer Windows
Script de compression multi archive : http://forum.ubuntu-fr.org/viewtopic.php?id=225297

Hors ligne

#20 Le 25/11/2008, à 01:32

n3o51

Re : Script pour compresser et faire des archives multi fichiers

par contre il ne serais peut etre pas top de faire un test avec whitch zenity et kdialog.Je pense qu'il faudrai mieux recuperer l'environnement car si un debutant a pas installer zenity ou kdialog ca ne passera pas.A moins que maintenant ce sois installé par defaut !!!


Welcome to the real world
________________________________

Hors ligne

#21 Le 25/11/2008, à 01:33

LittleWhite

Re : Script pour compresser et faire des archives multi fichiers

zenity y ai par défault ... enfin je crois... enfin me rapelle pas l'avoir installé...

Si l'utilisateur n'a ni zenity ni kdialog , on lui demande d'installer le bon ...
L'utilisateur avait qu'à lire la liste des dépendances du script tongue

Dernière modification par LittleWhite (Le 25/11/2008, à 01:33)


Linux ou mourir
Pour avoir des problemes : demarrer Windows
Script de compression multi archive : http://forum.ubuntu-fr.org/viewtopic.php?id=225297

Hors ligne

#22 Le 25/11/2008, à 11:09

n3o51

Re : Script pour compresser et faire des archives multi fichiers

:d


Welcome to the real world
________________________________

Hors ligne

#23 Le 23/05/2009, à 14:29

LittleWhite

Re : Script pour compresser et faire des archives multi fichiers

Bonjour,

Une année après je retravaille sur le script, normalement demain je reposte une nouvelle version avec des bugs enlevés, une gestion de kdialog ( j'espère ), une meilleur gestion des md5sum.
Je pense qu'il reste des petits trucs a modifier mais j'arrive pas a faire totalement ce que je veux tongue

Donc à demain o/


Linux ou mourir
Pour avoir des problemes : demarrer Windows
Script de compression multi archive : http://forum.ubuntu-fr.org/viewtopic.php?id=225297

Hors ligne

#24 Le 23/05/2009, à 18:26

draco31.fr

Re : Script pour compresser et faire des archives multi fichiers

Ben je suis impatient d'être à demain !
Je vois que certains ont plus de courage que moi ...
j'ai toujours des scripts qui trainent et qui ne fonctionne pas à 100%, la flème de m'y remettre !

Hors ligne

#25 Le 24/05/2009, à 18:11

LittleWhite

Re : Script pour compresser et faire des archives multi fichiers

Bonjour,

comme prévue je donne la nouvelle version du script
Pour les utilisateurs de KDE , il faut kdialog, je l'ai implémenté à la va vite, donc si vous remarquez des problèmes n'hésitez pas à le dire wink
( Bien sur, si vous avez des suggestions ou des bugs, n'hésitez pas non plus à le dire )
J'ai un problème avec kdialog est la gestion du titre ( --title ) qui ne semble pas marcher.
Et pas reussi à réintegrer la progress bar correctement sur kdialog :s

Merci pour votre support


Linux ou mourir
Pour avoir des problemes : demarrer Windows
Script de compression multi archive : http://forum.ubuntu-fr.org/viewtopic.php?id=225297

Hors ligne

Haut de page ↑