~~NOTOC~~
====== Archive auto-extractible et auto-exécutable ======
Ce type d'archive permet de livrer un programme et de l'installer sur un PC sans avoir à fournir en plus une notice d'installation. Ce fichier contiendra l'archive (un fichier .tar) contenant tous les fichiers utiles au programme, le programme lui-même et un script d'installation.\\
Pour ce faire il sera nécessaire d'utiliser un programme spécial : **makeself**.
Le programme fournit doit être sécurisé pour éviter de mauvaises surprises.
===== Réalisation =====
Nous devons fournir à tous nos gentils adhérents un petit script permettant de nettoyer le répertoire **/var** des fichiers devenus inutiles et qui prennent de la place.\\
Ce script a été écrit pendant les ateliers libres du mercredi par des adhérents intéressés à la programmation en langage interprété (**BASH**).\\
Cette application servira de base à ce tutoriel.\\
=== Principes ===
Le programme s'appelle **menage**, il est livré sous forme d'archive avec un numéro de version : **menage-x.y.z**.\\
Pour faciliter sa mise en place sur le PC, il est empaqueté dans une nouvelle archive, versionnée elle aussi, auto-extractible et auto-exécutable contenant le fichier script d'installation.\\
L'installateur vérifie que les conditions nécessaires à la bonne exécution du programme sont présentes, et si non les crée. Il cherche s'il n'y a pas une autre version d'installée, et si oui, la supprime avant d'installer la nouvelle.\\
=== Archive du programme ===
Le programme est composé (pour l'instant) des fichiers suivants dans le répertoire menage-0.6.0.\\
../menage-0.6.0/
menage-0.6.0.sh
menage_historique-0.6.0.txt
menage-notice-0.6.0.txt
===Création de l'archive===
Dans le répertoire père contenant menage-0.6.0/
tar -cf menage-0.6.0.tar menage-0.6.0/
Dans le répertoire maintenant archivé supprimer tous les fichiers et y placer le fichier **menage-0.6.0.tar**.\\
Ajouter le script d'installation dans ce même répertoire, sans oublier de le rendre exécutable !\\
../menage-0.6.0/
installe_menage.sh
menage-0.6.0.tar
===Création de l'archive d'installation===
Pour créer ce type d'archive il faut en plus un programme spécifique : [[https://fr.linux-console.net/?p=9660|makeself]].\\
Toujours dans le répertoire père de menage-0.6.0
makeself menage-0.6.0/ menage-0.6.0.run "SFX Extraction et installation de menage" installe_menage.sh
Il n'y a plus qu'à distribuer le paquet : **menage-0.6.0.run**.