en

Créer un script pour PlayOnMac - Chapitre 8 : Mon premier vrai script

Vous êtes prêt, vous voulez tenter de créer votre premier script complet ? Oui, alors en avant toute !

Le but est que vous essayez de créer ce script par vous-même.

Consignes :

L'exercice se portera sur le logiciel Mozilla Firefox (version Windows), qui est installable facilement, et est disponible librement.

Modes d'installation

Les 2 méthodes d'installation suivantes doivent être possibles : LOCAL et DOWNLOAD

Étant donné que le téléchargement de Mozilla Firefox se fait sur des serveurs miroirs, je vais vous donner l'adresse d'un des miroirs :

http://mirror3.mirrors.tds.net/pub/mozilla.org/firefox/releases/latest/win32/fr/Firefox Setup 7.0.exe

Il vous suffit de changer la partie en rouge par le numéro de la version actuelle (indiqué sur cette page).

Nom de l'exécutable

L'exécutable à inscrire dans la commande POL_Shortcut est : firefox.exe.

Liste des commandes nécessaires

Pour vous aider, voici la liste des commandes que vous aurez besoin d'utiliser (dans l'ordre de leur utilisation) :

#!/bin/bash
[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"
POL_SetupWindow_Init

POL_SetupWindow_presentation
POL_Wine_SelectPrefix
POL_Wine_PrefixCreate
POL_System_TmpCreate
POL_SetupWindow_InstallMethod
if [ "$INSTALL_METHOD" = "LOCAL" ]
then
	POL_SetupWindow_browse
	POL_SetupWindow_wait
	POL_Wine
elif [ "$INSTALL_METHOD" = "DOWNLOAD" ]
then
	cd
	POL_Download
	POL_SetupWindow_wait
	POL_Wine
fi
POL_System_TmpDelete
POL_Shortcut

POL_SetupWindow_Close
exit

À vous de jouer !

Il vous faudra ajouter les arguments aux fonctions, si besoin, regardez les chapitres précédents.

Vous avez normalement assez d'éléments pour faire un script. Le mieux est d'essayer de faire le maximum de parties du script par vous-même.

Si vous ne vous sentez pas de faire le script vous-même, vous pouvez regarder la correction ci-dessous.

Correction

Voici la correction du script :

#!/bin/bash
[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"

POL_SetupWindow_Init

POL_SetupWindow_presentation "Mozilla Firefox" "Mozilla" "http://www.mozilla.com" "VotrePseudo" "MozillaFirefox"

POL_Wine_SelectPrefix "MozillaFirefox"
POL_Wine_PrefixCreate

POL_System_TmpCreate "MozillaFirefox"

POL_SetupWindow_InstallMethod "LOCAL,DOWNLOAD"

if [ "$INSTALL_METHOD" = "LOCAL" ]
then
	POL_SetupWindow_browse "Merci de choisir le fichier d'installation à exécuter." "Installation de Mozilla Firefox"
	POL_SetupWindow_wait "Installation en cours." "Installation de Mozilla Firefox"
	POL_Wine start /unix "$APP_ANSWER"
elif [ "$INSTALL_METHOD" = "DOWNLOAD" ]
then
	cd "$POL_System_TmpDir"
	POL_Download "http://mirror3.mirrors.tds.net/pub/mozilla.org/firefox/releases/latest/win32/fr/Firefox Setup 7.0.exe"
	POL_SetupWindow_wait "Installation en cours" "Installation de Mozilla Firefox"
	POL_Wine start /unix "$POL_System_TmpDir/Firefox Setup 7.0.exe"
fi

POL_System_TmpDelete

POL_Shortcut "firefox.exe" "Mozilla Firefox"

POL_SetupWindow_Close
exit

Plus votre code ressemblera à celui-là, mieux vous aurez compris. Les messages utilisés ne sont pas très importants, ce qui compte c'est que chaque fonction qui est dans le code ci-dessus soit présente dans votre code.

Vous pouvez essayer d'adapter ce code pour installer un autre programme, mais gardez en tête que certains programmes ne fonctionnent pas avec la configuration par défaut de Wine, dans ce cas, des fonctions supplémentaires doivent êtres utilisées. La technologie de Wine n'étant pas parfaite, il se peut que dans certains cas, malgré tous vos efforts, une application ne fonctionne pas.

Vous pouvez vous aider des rapports de tests pour les applications disponibles sur WineHQ AppDB.

C'est bon, je peux maintenant faire des scripts pour PlayOnMac ?

Malheureusement, non, car bien que le code ci-dessus permet de faire un script "de base", il faut tenir compte de certaines spécificités supplémentaires visant à faciliter notamment la traduction et le débogage des scripts. Ceci vous sera expliqué dans les prochains chapitres.

Chapitre précédent - Chapitre suivant

Il n'y a rien à voir ici