App Manager L'App Manager est un utilitaire permettant de gérer la maintenance des différents applicatifs myfab installés ou à installer sur le serveur. Présentation de l'App Manager 1. Préambule L'App Manager permet de gérer l'installation et la mise à jour des applications myfab et Open-Prod. Initialement, toute cette gestion se faisait au travers de commandes spécifiques décrites par myhelp. De son côté, l'utilitaire myhelp rassemble et met en forme des lignes de commandes utiles pour la maintenance de l'environnement Open-Prod sur le serveur. Désormais, les commandes liées à l'installation ou la mise à jour d'Open-Prod, des modules myfab ou de Jasper sont packagées dans l'App Manager afin d'optimiser leur enchainement et ainsi réduire le temps nécessaire pour leur exécution.  Par exemple, pour une mise à jour d'Open-Prod et des modules myfab, c'est l'App Manager qui se charge de réaliser la mise à jour de la base de données ( sql-update) une fois toutes les mises à jour terminées. Cela permet d'optimiser le temps nécessaire tout en fiabilisant le processus. En effet, au lieu de réaliser un remise à niveau de la structure de la base de données (via la commande sql-update) à la fin de la mise à jour d'Open-Prod et une seconde à la fin de celle des modules myfab, une seule structuration est réalisée à la fin de toutes les mises à jour. 2. Accès à l'App Manager L'App Manager est accessible depuis un terminal depuis le serveur hébergeant Open-Prod. Si vous ne savez pas vous connecter à votre serveur, vous pouvez suivre les instructions décrites ici. Dans le cas où vous souhaitez effectuer une mise à jour sur un autre environnement serveur que celui d'Open-Prod, il faut exécuter l'App Manager depuis cet environnement. Par exemple, dans le cas où vous avez un environnement dédié au fonctionnement de Jasper et que vous souhaitez mettre à jour les rapports myfab, il faut réaliser cette mise à jour directement sur ce serveur. Une fois connecté, ouvrir un terminal, et exécuter la commande app-manager pour lancer l'App Manager. Utilisation 1. Principe de fonctionnement L'utilisation est guidée au travers des commentaires affichés tout au long de l'exécution du script. Différents menus permettent de sélectionner les modules à installer / mettre à jour. Une fois la sélection faite, le mot de passe Open-Prod sera demandé. Le script se charge ensuite de lancer toutes les commandes nécessaires et affiche le déroulé du processus au fur et à mesure dans les terminaux. Vous pouvez suivre l'exécution de ceux-ci à l'écran. En effet, pour chaque application à installer / mettre à jour, l'App Manager ouvrira un terminal pour en gérer indépendamment l'exécution. En cas de succès de l'exécution, le terminal concerné sera fermé automatiquement et un message de confirmation sera affiché dans le terminal initial.  En cas d'erreur, le terminal concerné restera ouvert pour que l'utilisateur en connaisse la raison. En résumé, il faut lancer l'utilitaire en exécutant la commande app-manager depuis un terminal, et suivre les questions posées dans le terminal. 2. Choix proposés Au lancement de l'App Manager, plusieurs choix sont proposés à l'utilisateur. Pour chaque applicatif, il est indiqué entre parenthèses s'il est installé ou non. Voici une description de ce ceux-ci : Scripts myhelp : remplace la commande command-update. Attention, cette option n'est disponible qu'après avoir réalisé la mise à jour permettant d'accéder aux fonctionnalités de l'App Manager. Open-Prod : récupère les dernières sources d'Open-Prod sur le Git de l'éditeur Objectif Pi, puis, met à jour l'application Open-Prod. Modules myfab : récupère les dernières sources de myfab sur le Git de l'éditeur myfab, puis, met à jour les modules myfab standards. Modules spécifiques myfab : récupère les dernières sources de myfab specific sur le Git de l'éditeur myfab, puis, met à jour les modules myfab spécifiques. Jasper : lance le processus d'installation complet de Jasper. Rapports Jasper d'Objectif Pi : déploie le catalogue des rapports Jasper standards d'Open-Prod. Rapports Jasper myfab : déploie le catalogue des rapports Jasper standards de myfab. 3. Synchronisation des bases de données Après l'installation ou la mise à jour d'Open-Prod ou des modules myfab, une synchronisation (restructuration) de votre(vos) base(s) de données est nécessaire. App-Manager se charge automatiquement de réaliser cette mise à niveau en fin de processus. Il est primordial pendant cette étape de ne pas interrompre le script tant que celui-ci n'a pas rendu la main à l'utilisateur. Si vous avez effectué une restauration ou une création de base de données sur votre environnement, seule la synchronisation de la base de données résultante, doit être effectuée en complément. La mise à jour des sources d'Open-Prod ou des modules myFAB n'est pas nécessaire pour ces deux cas. Une synchronisation de base de données n'est pas sans risque pour l'intégrité des bases. C'est pourquoi il est nécessaire d'effectuer des sauvegardes avant traitement. De plus, il faut veiller à ce que le traitement se soit bien déroulé avant de considérer celui-ci terminé et réussi. Pour lancer manuellement la synchronisation des bases de données, vous avez le choix d'utiliser la commande  sql-update-parallel ou la commande sql-update-background depuis un terminal. Attention ne pas utiliser la commande sql-update-background sur un environnement de production.       A. Synchronisation de bases de données en simultané : sql-update-parallel La commande  sql-update-parallel vous permet de synchroniser plusieurs bases de données en simultané avec un gain de temps conséquent. Par défaut, nous vous proposons de synchroniser vos bases par groupes de 2. Vous pouvez réaliser jusqu'à 6 traitements simultanés, avec une limite définie en fonction des capacités de votre environnement (CPU/RAM) pour ne pas entraver son fonctionnement. Vous ne pourrez donc pas entamer le processus si vous saisissez une valeur au delà de cette limite : Contrairement à la commande  sql-update-background, la commande sql-update-parallel interrompt l'exécution de l'ERP pendant le processus. Veuillez à sauvegarder votre travail avant       B. Synchronisation d'une base de données en arrière-plan : sql-update-background   Attention ne pas utiliser cette commande pour mettre à jour un environnement de production. Cette commande est uniquement destinée à vos bacs à sables et environnements de test, car même en mode maintenance, on ne peut pas garantir que la base concernée n'est pas encore en cours d'utilisation. Ceci aurait des conséquences graves (corruption de données, accès impossible, etc.) La commande  sql-update-background vous permet de synchroniser 1 base à la fois en arrière-plan. A la différence d'un traitement en simultané, l'ERP continue de fonctionner pendant le processus de synchronisation, mais en v10 le mode maintenance sera activé sur votre base de données :       C. Issue du traitement A l'issue de la synchronisation (peu importe la commande sql-update- utilisée) vous obtiendrez un récapitulatif global. Celui-ci vous affiche notamment la durée totale de traitement, les bases de données traitées et les erreurs rencontrées pendant la synchronisation : Un erreur critique (CRITICAL) implique une interruption totale de l'ERP. En cas d'erreur veuillez vous rapprocher du support pour résoudre le problème. De même, un fichier de log sera créé et conservé dans le répertoire  /var/log/openprod. Le nommage du fichier suit la convention suivante : « UP--.log ». Celui-ci vous permettra d'analyser les évènements lors du traitement avec plus de détails. De plus, le récapitulatif listera les principales erreurs et vous permettra de prendre la décision adéquate en fonction du résultat.