====== OCS - Présentation du déploiement d’applications avec OCS Inventory-NG ====== OCS Inventory NG inclut la fonctionnalité de déploiement de **paquets logiciels** sur les ordinateurs clients. Vous configurez cette fonctionnalité depuis le **serveur central de gestion**, en **téléversersant** les paquets logiciels qui seront ensuite téléchargés au moyen d'**HTTP/HTTPS** et lancés par l'**agent installé** sur l'ordinateur client. ===== Schéma de fonctionnement général : ===== {{ :si7:configuration:ocs_30.png |}} ^Etape^Description^ |1|**Préparation** d'une archive compressé (zip ou tar.gz)| |**Avec la console d'administration :**|| |2|**Création** du paquet| |3|**Activation** du paquet| |4|**Affectation** du paquet| |**Échanges entre le client et le serveur :**|| |5|L'agent **se connecte** pour demander ce qu'il doit faire| |6|Le serveur de communication lui donne l'**ordre de déployer**| |7|L'agent se connecte au serveur HTTPS pour **récupérer un fichier d'informations**| |8|L'agent se connecte éventuellement à un serveur HTTP pour **télécharger des fichiers**| |9|L'agent **exécute** et renvoie un code résultat| ===== Le principe de base est le suivant : ===== L'agent se **connecte** au serveur de communication par le protocole HTTP pour lui demander ce qu'il doit faire. En fonction de sa **configuration**, le serveur peut répondre : * **d'envoyer** un inventaire ; * de **découvrir** le réseau avec le service IpDiscovery ; * de **déployer** un ou plusieurs paquets ; * de ne **rien faire**. Lorsque l'agent a l'ordre de déployer un paquet, il contacte via le protocole HTTPS le serveur de déploiement afin d'y récupérer un **fichier d'informations** (IDA : Instruction Déploiement d'Applications) associé qui est un **fichier XML** décrivant le paquet et l'action que l'agent devra exécuter. C'est un fichier qui dispose d'un champ d'action important d'où la nécessité de sécuriser et d'authentifier le serveur sur lequel il se trouve. L'agent devra éventuellement **télécharger**, via le protocole HTTP, un **fichier ou des fragments de fichiers** (ce dernier point est optionnel si les instructions ne consistent qu'à exécuter une ou plusieurs commandes). ===== L'administrateur devra au préalable : ===== * **préparer** une archive compressée (en .ZIP pour Windows et en .tar.gz pour Linux) des fichiers nécessaires * **créer** le paquet grâce à la console d'administration. * **activer** le paquet * **affecter** le paquet aux machines sur lesquelles le déploiement doit s'effectuer ===== Un paquet a 4 composants principaux : ===== * une **priorité** allant de 0 à 10. Le niveau 0 est la plus haute priorité et le niveau 10 la plus basse. Cela permet de définir quels paquets doivent être installés avant d'autres. Au total 11 niveaux de priorité sont disponibles. La priorité 0 est donc la plus forte, mais attention, celle-ci doit être utilisée avec précaution car un paquet ayant cette priorité devra obligatoirement se déployer correctement sinon l'ensemble des autres paquets ne seront pas déployés. La priorité 5 (proposée par défaut) convient la plupart du temps. * une **action associée** avec le fichier à déployer ou la commande à lancer. * **optionnellement** un fichier ZIP ou TAR.GZ incluant les fichiers ou répertoires que vous désirez. * **optionnellement** une commande à **lancer** ===== Les différentes actions sont les suivantes : ===== * Action **Lancer** permettant de déployer un fichier ZIP ou TAR.GZ et lancer avec ou sans paramètre un fichier **exécutable incluant** un fichier ZIP ou TAR.GZ. \\ Le fichier ZIP ou TAR.GZ sera décompressé dans un répertoire temporaire, et la commande associée (le nom du fichier exécutable sans le chemin !) sera lancée dans le répertoire temporaire. Cette action permettra la réception du code de résultat de la commande lancée. * Action **Exécuter** permettant de déployer un fichier ZIP ou TAR.GZ (optionnellement), et lancer avec ou sans paramètre un fichier exécutable **incluant ou non** un fichier ZIP ou TAR.GZ. \\ Si l'exécutable n'est pas inclut dans le fichier ZIP ou TAR.GZ, il doit être une partie de logiciel toujours installé dans l'ordinateur client. Cela peut être une commande Windows standard tel qu'un appel de l'installeur Windows, une commande RPM, DPKG ouTAR.GZ sur Linux. \\ Le fichier ZIP ou TAR.GZ sera décompressé dans un répertoire temporaire, et la commande associée (le nom du fichier exécutable avec le chemin ou les paramètres si besoin) sera lancée dans le répertoire temporaire. Cette action ne permettra pas la réception du code de résultat de la commande lancée mais permet de faire fonctionner la commande sur chaque ordinateur client, sans déployer aucun fichier. Cela permet par exemple d’exécuter une commande spécifique de configuration du système d'exploitation. * Action **Stocker** (enregistrement) permettant de déployer un fichier ZIP ou TAR.GZ et d’enregistrer seulement son contenu dans un dossier de l’ordinateur client. Il n’y a pas de commande à exécuter mais seulement un chemin à spécifier où enregistrer les fichiers extraits. ==== Retour à l'activité A7 ==== * [[deploiementapp_00|A7 - Le déploiement d’applications avec OCS Inventory-NG]]