Le 08/04/2014 17:26, Simon Fonteneau a
écrit :
Bonjour
Je voulais savoir si il y avait un documentation pour la
création des wapt
Simon Fonteneau
Bonjour,
Il n'existe pas encore de documentation très détaillée :
l'introduction est là :
http://dev.tranquil.it/index.php/WAPT_-_D%C3%A9veloppement_de_paquets
On peut s'inspirer des paquets existants dans le dépot public
http://wapt.tranquil.it/wapt
Un paquet wapt est un fichier Zip avec l'extension .wapt (un
simple 7zip permet de voir le contenu !) contenant au minimum :
- un fichier python setup.py avec une fonction install()
- un fichier texte WAPT\control avec les attributs du paquet
(nom, version, architecture, dépendances, description...)
- un fichier WAPT\manifest avec la liste des fichiers du
paquet et une somme de contrôle sha1
-
un fichier WAPT\signature qui contient la signature cryptée de
la liste des fichiers
Ce fichier zip contient évidemment en plus tous les fichiers
nécessaires à l'installation (fichiers msi, setup.exe,
install.exe, fichiers de configuration...)
Le client wapt-get possède des commande make-template,
build-package, build-upload, make-group etc... pour faciliter la
création, la signature et le déploiement de ce fichier ZIP
particulier.
Le processus global est :
1 - Préparation d'un environnement de travail
Le plus simple est d'installer le paquet tis-waptdev (dispo sur
http://wapt.tranquil.it/wapt) qui installe un environnement
python2.7 complet, et un éditeur / debuggeur convivial de code
python "pyscripter"
Il faut également se créer (si ce n'est déjà fait) une clé privée
et son certificat public qui va permettre de signer les paquets et
authentifier quels paquets ont le droit d'être installés sur le
parc.
Pour créer le couple clé privée / clé publique, utiliser la
fonction Outils / Création de certificats auto-signés de
waptconsole. Stocker la clé privée (.pem) en lieu sûr... et
diffuser sur les postes (c:\wapt\ssl) la partie publique
uniquement (.crt)
Configurer dans le fichier c:\wapt\wapt-get.ini les paramètres
minimum de développement :
[global]
...
default_sources_root=c:\waptdev
private_key=C:\private\monorganisation.pem
default_package_prefix=test
2- Développement du paquet, tests , débuggage
- par duplication d'un existant
wapt-get duplicate modele nouveau
- par création d'un template à partir d'un msi
wapt-get make-template chemin-vers-installeur.exe test-paquet
Cela crée une arborescence c:\waptdev\test-paquet avec des
squelettes de fichiers à modifier/compléter
Pour tester le paquet, on n'a pas besoin de le on peut lancer sur
le poste de développement / test (en tant qu'administrateur en
général)
wapt-get install c:\waptdev\test-paquet
On peut également dans pyscripter mettre des points d'arrêt, et
tester l'installation ou la désinstallation pas à pas.
Quand le paquet fonctionne en test, on peut le construire (en
faire un zip avec la signature) et le mettre à disposition
3 - Déploiement
Pour construire/signer le paquet :
wapt-get build-package c:\waptdev\test-paquet
Déployer le paquet consiste à le transférer sur un serveur http
dans le répertoire /var/www/wapt et mettre à jour l'index des
packages /var/www/wapt/Packages
- avec un serveur debian et les paquets tis-waptserver+tis-waptrepo
la commande wapt-get build-upload test-paquet.wapt envoie le
paquet en http vers le serveur, et le waptserver se charge de le
copier dans /var/www/wapt et de mettre à jour l'index
- sur un serveur apache2 et le paquet tis-waptrepo
On peut utiliser un outil comme winscp pour copier le paquet dans
/var/www/wapt, puis on lance sur le serveur la commande "python
/opt/wapt/wapt-scanpackages.py /var/www/wapt/"