Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
logiciels_portables_et_virtualisation_d_applications [Le 13/11/2009, 20:22] – psychederic | logiciels_portables_et_virtualisation_d_applications [Le 07/04/2015, 02:18] (Version actuelle) – [Solution Linux natif] Correction lien CDE 90.45.90.22 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | ---- | ||
+ | ====== Logiciels portables et virtualisation d' | ||
+ | |||
+ | Les applications portables sont de plus en plus utilisées auprès du grand public pour leur avantage : | ||
+ | * Pouvoir transporter son application, | ||
+ | |||
+ | D'un point de vue plus technique : | ||
+ | * Cela permet de garder un système stable : **les applications virtualisées s' | ||
+ | |||
+ | |||
+ | Au niveau professionnel, | ||
+ | * La stabilité des applications. | ||
+ | * La sécurité et la mise à jour du parc informatique (par exemple : en distribuant ces applications facilement par réseau, en faisant du [[http:// | ||
+ | |||
+ | Dernier avantage pour le monde linux : la virtualisation d' | ||
+ | |||
+ | La virtualisation d' | ||
+ | |||
+ | <note help> | ||
+ | |||
+ | En entreprise il serait préférable d' | ||
+ | |||
+ | Les applications portables connues du grand public ne sont que rarement empaquetées. | ||
+ | |||
+ | * L' | ||
+ | * L' | ||
+ | |||
+ | **Toutes deux restent totalement portables** , et sauvegardent les configurations personnelles dans l' | ||
+ | </ | ||
+ | |||
+ | <note warning> | ||
+ | |||
+ | **Veuillez vous reporter sur des sites de confiance.** | ||
+ | |||
+ | Merci de rapporter toute problématique de sécurité. | ||
+ | </ | ||
+ | |||
+ | ===== Solution Linux natif ===== | ||
+ | |||
+ | Concurrent de Vmware thinApps(windows), | ||
+ | |||
+ | * [[CDE]] ([[http:// | ||
+ | |||
+ | ==== Sites d' | ||
+ | * [[http:// | ||
+ | |||
+ | ==== Applications portables officielles ==== | ||
+ | |||
+ | ==== Méthode pour la création d' | ||
+ | |||
+ | |||
+ | === 0) Télécharger les scripts === | ||
+ | |||
+ | Vous pouvez télécharger les scripts, ou copier ce qui suit dans des fichiers (en leur donnant les droits d' | ||
+ | |||
+ | **Les scripts ne demanderont pas les droits root, gage de non compromission possible du système.** | ||
+ | |||
+ | Vous n' | ||
+ | |||
+ | === 1) Lister et copier les dépendances === | ||
+ | |||
+ | Lister les dépendances (exécuter dans la racine du projet) : | ||
+ | < | ||
+ | # | ||
+ | # Version | ||
+ | # 1.0 Bêta : fonctionne même pour des applications relativement complexe. | ||
+ | |||
+ | # PortableApplicationCreator.sh Portable - portableTools for Linux | ||
+ | # | ||
+ | # Script Made by: | ||
+ | # Eric Chaudy (Psychederic) | ||
+ | # | ||
+ | # Licensed: | ||
+ | # | ||
+ | |||
+ | |||
+ | #Choisir le paquet que vous désirez transformer en application portable | ||
+ | lenomdupaquet=firefox-3.5 | ||
+ | |||
+ | #Creation des dossiers selon la convention de nommage | ||
+ | mkdir App Data Other | ||
+ | |||
+ | #Listage des dépendances - par défaut toutes les dépendances | ||
+ | for p in `apt-cache depends $lenomdupaquet | awk ' | ||
+ | |||
+ | #Note vous pouvez ajouter des dépendances à cet endroit, sous cette forme (pour trouver des dépendances vous pouvez utiliser dpkg,ldd) | ||
+ | # sed -i 1i\ 'wget http:// | ||
+ | |||
+ | # | ||
+ | sh dependances.sh | ||
+ | mv dependances.sh /Other | ||
+ | |||
+ | mkdir tmp | ||
+ | # | ||
+ | for p in `find -name " | ||
+ | do | ||
+ | fakeroot dpkg --extract | ||
+ | done | ||
+ | |||
+ | #On efface les deb | ||
+ | rm *.deb | ||
+ | |||
+ | #On copie dans les bons répertoires | ||
+ | mv ./tmp/* ./App/ | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | ((ldd)) | ||
+ | === 2) Adapter le script de lancement === | ||
+ | |||
+ | Script basé sur le principe utilisé par http:// | ||
+ | |||
+ | Le point important est de sauver le profile ( dernière ligne ) et de bien définir les variables. Il vous faudra ici créer le répertoire firefox-profile dans Data : < | ||
+ | |||
+ | Vous pouvez trouver un exemple plus simple après celui-ci. | ||
+ | |||
+ | < | ||
+ | #!/bin/sh | ||
+ | |||
+ | eval 'exec perl -x -S ./$0 ${1+" | ||
+ | if 0; | ||
+ | |||
+ | #!perl | ||
+ | |||
+ | # NOMAPPS Portable - portableTools for Linux | ||
+ | # | ||
+ | # Packaged / Made Portable by: | ||
+ | # Nom Prenom (www.site.com) | ||
+ | # | ||
+ | # Licensed: | ||
+ | # NOMAPPS - MPL, Portable Code - GPL. | ||
+ | # | ||
+ | # Portable Logic: | ||
+ | # > quelque dépendance packagé et problématique de .conf ... | ||
+ | # > besoin de passer le répertoire profile pour garder les configurations. | ||
+ | |||
+ | use Cwd; | ||
+ | |||
+ | # Modifiable variables. | ||
+ | $executable = ' | ||
+ | $program_name = ' | ||
+ | |||
+ | # Internal variables. These usually do not need to be changed. | ||
+ | $executable_dir = ' | ||
+ | $executable_full = $executable_dir . $executable; | ||
+ | $arguments = join '', | ||
+ | |||
+ | print " | ||
+ | |||
+ | if (!-e $executable_full) { | ||
+ | die " | ||
+ | } elsif(!-x $executable_full) { | ||
+ | chmod 0755, $executable_full || die "Je n'ai pas pus changer les permissions de ' | ||
+ | } | ||
+ | |||
+ | $cwd = getcwd(); | ||
+ | |||
+ | #Conf - variable de lancement | ||
+ | system(" | ||
+ | open(CONF, "> | ||
+ | print CONF " | ||
+ | GRE_PATH=$cwd/ | ||
+ | xulrunner=true | ||
+ | abi=x86-gcc3"; | ||
+ | |||
+ | # | ||
+ | chdir($executable_dir); | ||
+ | system(" | ||
+ | |||
+ | </ | ||
+ | |||
+ | Voici par exemple le lanceur pour xterm : | ||
+ | < | ||
+ | #!/bin/sh | ||
+ | |||
+ | eval 'exec perl -x -S ./$0 ${1+" | ||
+ | if 0; | ||
+ | |||
+ | #!perl | ||
+ | |||
+ | # XTerm Portable 237 - portableTools for Linux | ||
+ | # | ||
+ | # Packaged / Made Portable by: | ||
+ | # Daniil Kulchenko (www.portools.com) | ||
+ | # | ||
+ | # Licensed: | ||
+ | # XTerm - MIT/X, Portable Code - GPL. | ||
+ | # | ||
+ | # Portable Logic: | ||
+ | # XTerm does not have any non-standard runtime dependencies, | ||
+ | # not save any config files anywhere. Therefore, none. | ||
+ | |||
+ | # Modifiable variables. | ||
+ | $executable = ' | ||
+ | $program_name = ' | ||
+ | |||
+ | # Internal variables. These usually do not need to be changed. | ||
+ | $executable_dir = ' | ||
+ | $executable_full = $executable_dir . $executable; | ||
+ | $arguments = join '', | ||
+ | |||
+ | print " | ||
+ | |||
+ | if (!-e $executable_full) { | ||
+ | die " | ||
+ | } elsif(!-x $executable_full) { | ||
+ | chmod 0755, $executable_full || die "I could not change the permissions of ' | ||
+ | } | ||
+ | |||
+ | chdir ($executable_dir); | ||
+ | system(" | ||
+ | </ | ||
+ | ===3) Empaquetage : Au choix === | ||
+ | |||
+ | <note warning> | ||
+ | |||
+ | ===== Solutions avec une application tierce ===== | ||
+ | |||
+ | Nécessite la présence de l' | ||
+ | |||
+ | |||
+ | ====Runz ==== | ||
+ | * [[http:// | ||
+ | ====Zero Install ==== | ||
+ | * [[http:// | ||
+ | |||
+ | ====Wine + Applications portables Windows ==== | ||
+ | |||
+ | En utilisant [[Wine]], il serait possible d' | ||
+ | |||
+ | Cependant cela reste une solution insatisfaisante au regard de l' | ||
+ | |||
+ | |||
+ | ===== Solutions de serveur applicatif ===== | ||
+ | |||
+ | Concurrent de [[http:// | ||
+ | |||
+ | <note help> | ||
+ | |||
+ | ===== Liens ===== | ||
+ | |||
+ | * [[http:// | ||
+ | |||
+ | |||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | * [[http:// | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | // |