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 travai*l 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/"