Cet article explique pourquoi le lancement du module Connect en crontab unix peut poser problème.
Afin d’automatiser l’arrêt-relance du progiciel P5 on peut utiliser OPX Services Scheduler qui fonctionne sur toutes les plateformes. Sur les serveurs UNIX, on peut être amené à utiliser la fonctionnalité CRONTAB pour gérer les arrêt-relances de l’application (en particulier sur des environnements de test ou de recette).
Si l’on programme l’arrêt-relance de P5 dans la crontab de l’utilisateur « root » en exécutant les scripts d’arrêt-relance standard P5 « stop-opx2 » et « start_opx2 » on ne rencontrera pas de problème particulier.
En revanche si l’on choisit de lancer directement le script « start_opx2_connect » ou un script équivalent directement dans la crontab de l’utilisateur applicatif on rencontrera une erreur d’accès à la base de données dans les logs applicatifs et l’application ne démarrera pas (le chargement bouclera en erreur).
Lorsqu’on lance un traitement dans la crontab, l’environnement (.profile unix) de l’utilisateur n’est pas chargé par défaut. Or pour fonctionner correctement le module Connect doit connaitre les paramètres d’environnement liés à la base de données. Le module Connect sera bien lancé mais en l’absence de ces paramètres d’environnement chargés au démarrage du Connect la connexion à la BDD sera impossible.
Dans le cas où on lance les scripts « stop-opx2 » et « start_opx2 » avec root il n’y a aucun problème puisque ce script contient la commande « su – user_applicatif » qui va forcer le chargement du fichier .profile avant d’exécuter la commande.
La solution à ce problème consiste donc à rajouter dans le script unix qui lance le module Connect la commande
« . ./.profile » qui va permettre de forcer le chargement de l’environnement de l’utilisateur applicatif avant le lancement du module Connect.
Note : le chargement du .profile n’est pas nécessaire pour l’arrêt du Connect, seulement pour son lancement.
La souveraineté numérique est devenue un enjeu majeur dans un monde où les données et les infrastructures technologiques jouent un rôle central dans la vie quotidienne, aussi bien pour les individus que pour les entreprises ou les États. Concrètement, elle se définit comme la capacité à contrôler entièrement ses infrastructures sans dépendre de solutions étrangères. C’est un défi complexe à relever dans un contexte de mondialisation et d'interdépendance technologique croissante ! Pour les entreprises de développement, en particulier, cette souveraineté représente bien plus qu'une question de cybersécurité ou de protection des données personnelles : elle touche à l'indépendance technologique et à la maîtrise des outils stratégiques. Dans cet article, nous nous intéresserons à l’importance de la souveraineté numérique, notamment face à la domination des géants du cloud, et comment des pays comme la France tentent de préserver leur autonomie dans ce secteur.
Découvrez la planche #35 !
Pourquoi et comment écrire des tests unitaires ? Définition et implémentation dans une application Java Springboot