Jump to: navigation, search

WAPT - Concepts

Other languages:
English • ‎français

Au préalable, le système d'exploitation subjacent est télé-déployé avec un mécanisme tel OPSI, FOG, GHOST ou CLONEZILLA (ou déployé manuellement). L'utilitaire wapt-get.exe est ainsi disponible (existant dans l'image système ou bien installé en post-install par GPO ou mécanisme équivalent).

Schema fonctionnel WAPT fr.svg

Un peu de technique

Paquet WAPT

Un paquet WAPT est une archive zip contenant les fichiers nécessaires pour manipuler un logiciel en mode silencieux :

  • un fichier texte control.txt qui est la fiche d'identité du paquet ;
  • un fichier python setup.py qui contient les instructions pour installer, supprimer et configurer le logiciel et le profil utilisateur ;
  • les fichiers propres du logiciel (MSI, exe, fichiers de réponse, fichiers ini...) copiés depuis le CDROM ou tout autre support ;
  • un fichier manifest (signature numérique) permettant de sécuriser le contenu du paquet WAPT et d'identifier son auteur ;

wapt-get.exe

Le fichier d'installation wapt-get.exe installe dans C:\wapt du PC ou du serveur wapétéisé un environnement python2.7 et l'utilitaire wapt-get.exe.
Cette stratégie monolithique permet d'isoler les exécutables python WAPT et de les rendre indépendants de tout autre environnement python éventuellement présent.
Un installeur InnoSetup waptsetup.exe est également disponible pour une installation via une GPO par exemple. L'installation silencieuse s'obtient avec waptsetup.exe /VERYSILENT
Une base de données sqlite stocke les informations vivantes du système et l'état de la base logicielle installée sur le PC (wapt-get list).
wapt-get.exe est autonome et peut s'utiliser en shell windows (cmd) indépendamment du waptservice ou du waptserver.

Les actions les plus courantes avec wapt-get.exe

  • wapt-get update : met à jour la liste des paquets disponibles dans le(s) dépôt(s) ;
  • wapt-get list : affiche les paquets WAPT installés sur la machine contenant les mots clés ;
  • wapt-get install : installe un ou plusieurs paquets sur la machine ;
  • wapt-get upgrade : comparer la version du(des) paquet(s) installé(s) avec celle disponible sur le(s) dépôt(s), et installe les mises à jour éventuelles sur la machine ;
  • wapt-get remove : supprimer un ou plusieurs paquet(s) de la machine ;
  • wapt-get search : rechercher les paquets dont la description inclut les mots clés spécifiés ;
  • wapt-get list-registry : rechercher dans la base de registre les logiciels installés sur la machine contenant les mots clés et affiche la clé de désinstallation ;
  • wapt-get build-package : packager un paquet WAPT ;
  • wapt-get build-upload : packager un paquet et le charger dans la foulée sur le waptrepo ;
  • wapt-get download : forcer le téléchargement sur la machine d'un ou de plusieurs paquets ;
  • wapt-get clean : supprimer les paquets du cache local ;
  • wapt-get register : enregistrer la machine dans la base de données du waptserver ;
  • wapt-get download-upgrade : forcer le téléchargement sur la machine des mises à jour disponibles ;
  • wapt-get duplicate : créer un nouveau paquet à partir d'un paquet existant ;
  • wapt-get edit : télécharger le paquet depuis le waptrepo, l'ouvrir dans l'explorateur de fichiers et optionnellement lui rajouter des dépendances ;
  • wapt-get edit-host : modifier un méta-paquet machine existant ;
  • wapt-get list-upgrade : obtenir la liste des paquets pour lesquels une mise à jour est disponible ;
  • wapt-get make-host-template : créer un méta-paquet machine ;
  • wapt-get make-group-template : créer un méta-paquet groupe ;
  • wapt-get make-template : créer un paquet logiciel à la volée ;
  • wapt-get show : afficher les attributs d'un ou de plusieurs paquets ;
  • wapt-get sign-package : signer le paquet ;
  • wapt-get update-packages : générer le fichier d'index d'un waptrepo ;
  • wapt-get update-status : transmettre au waptserver un inventaire actualisé ;
  • wapt-get upload-package : charger un paquet sur le waptrepo ;
  • wapt-get waptupgrade : mettre à jour l'agent WAPT ;
  • wapt-get sources ; télécharger une version de travail d'un paquet depuis un dépôt SVN ;
  • wapt-get setup-tasks : créer la tâche planifiée Windows pour le lancement des mises jour ;
  • wapt-get enable-tasks : activer la tâche planifiée Windows de lancement des mises à jour ;
  • wapt-get disable-tasks : désactiver la tâche planifiée Windows de lancement des mises à jour ;
  • wapt-get session-setup : préparer l'environnement utilisateur ;
  • wapt-get inventory : afficher l'inventaire de la machine au format JSON ;

Les sous-options disponibles sont :

  • wapt-get --version : affiche la version des composants de wapt-get.exe ;
  • wapt-get --help : affiche les options disponibles ;
  • wapt-get --config=PATHTOCONFIG : permet de spécifier le chemin complet du fichier de configuration à utiliser par wapt-get.exe (défaut : c:\wapt\wapt-get.ini) ;
  • wapt-get --loglevel=LOGLEVEL : permet de spécifier le niveau de log (défaut : info) ;
    • info : affiche uniquement les informations utiles ;
    • debug : affiche toutes les informations de débuggage disponibles ;
    • warn : affiche les informations de non-conformité ;
    • critical : affiche les erreurs ;
  • wapt-get --dry-run : permet de simuler l'installation d'un paquet (défaut : False) ;
  • wapt-get --force : permet de forcer l'installation d'un paquet (défaut : False) ;

waptservice

waptservice est un utilitaire système sécurisé (agent) et constitue le véritable coeur du système WAPT. Son rôle est d'interroger à intervalle régulier son waptrepo pour lui demander si des nouvelles instructions existent qui le concernent et si oui il les télécharge. Selon la méthode choisie, il exécutera les instructions téléchargées.
waptservice restitue enfin au waptserver le résultat des instructions exécutées. Ainsi ce couple permet de gérer l'automatisation des installations, des mises à jour, etc.

wapttray

wapttray est un utilitaire fonctionnant sur le PC ou serveur wapétéisé en espace utilisateur. Il s'affiche dans la zone de notification dans la barre des tâches de Windows (également connu sous le nom de system tray ou systray). Il fournit des informations à l'utilisateur connecté (disponibilité d'une mise à jour, etc) et un menu d'action.
L'administrateur système peut choisir de cacher ces notifications s'il pense que le wapttray n'est pas utile pour le quotidien de ses utilisateurs (ex : ne pas autoriser les utilisateurs à installer eux-mêmes des mises à jour ou des logiciels en mode self-service).

waptexit

waptexit est un utilitaire fonctionnant sur le PC ou serveur wapétéisé. Il s'affiche et s’exécute lorsque le poste est en phase d’arrêt. Il permet à l'utilisateur de choisir s'il souhaite ou non, d'installer les mises à jour proposées par WAPT. Si aucune action n'est effectuée sur l'interface waptexit, alors WAPT procédera aux mises à jour avant d'éteindre la machine.
Une option avancée permet à l'administrateur réseau de forcer les mises à jour à l’arrêt de la machine, ainsi le waptexit ne s'affichera pas à l'extinction de la machine.

waptserver

waptserver stocke l'inventaire matériel et logiciel ; il stocke également les relations de dépendance entre les paquets (paquets-machine, méta-paquets, etc). Il sert enfin de proxy entre la waptconsole et les waptservice. waptserver fonctionne sur un serveur Debian ou Windows.

waptconsole

waptconsole est la console graphique de management. Son rôle est de fournir un environnement d'exploitation convivial à l'administrateur du parc pour :

  • déployer et supprimer des paquets sur les cibles de son choix ;
  • de dupliquer des paquets depuis des dépôts externes et les importer dans son dépôt privé ;
  • préparer l'agent wapt compatible avec ses jeux de signatures ;
  • contrôler d'un coup d'oeil le bon déroulement des opérations de gestion de parc.

Pour obtenir le maximum de WAPT

Pour obtenir le maximum du WAPT, certains pré-requis relèvent globalement d'une gestion saine d'un réseau :

  • il est souhaitable que des dépôts existent à proximité des PC à wapétéiser pour économiser la bande passante lors des mises à jour de gros paquets (ex : MSOffice, etc) ;
  • il est souhaitable que la résolution DNS reverse et forward de tous les appareils concernés soit correctement configurée ; pour ceux et celles exploitant des réseaux équipés d'un contrôleur de domaine SaMBa3 ou bien de contrôleurs de domaine en winNT4, win2000AD ou win2003AD, un passage en SaMBa4 en mode Active Directory facilitera cette démarche ;
  • il est souhaitable que l'infrastructure WAPT soit renseignée de manière précise et complète dans les DNS et les proxy ;


Ces suggestions ne s'appliquent pas si l'usage exclusif de dépôts publics ou une moindre automatisation est la méthode que vous préférez.