2. L’organisation sources Python#
2.1. Conventions#
Les conventions suivantes qui ont pour but de faciliter la lecture des scripts, sont imparfaitement appliquées
un nom de classe commence par une lettre majuscule;
l’identificateur d’un objet de type Python list commence par le préfixe l_ (cette règle est utilisée dans Eficas);
dans les packages utilisés par le superviseur (Noyau, Execution, Validation, Build et Accas) une seule classe est définie par module c’est-à-dire par fichier *.py;
dans les packages utilisés par le superviseur (Noyau, Execution, Validation, Build et Accas) le nom de chaque module commence par un préfixe indiquant le nom du package.
2.2. Typologie des modules Python#
Chaque classe est définie dans un module: par exemple, la classe MCSIMP est définie dans le module N_MCSIMP.py où le préfixe N_ désigne le nom du package (Noyau) contenant le module.
La technique des packages permet de découper les modules en fonction du domaine d’activité dans lequel il agit. Achaque domaine correspond un package Python
Par exemple, la classe MCSIMP existe dans chacun des cinq packages,
·Noyau : N_MCIMP.SIMP ;
·Validation : V_MCSIMP.SIMP;
·Ihm : I_MCIMP.SIMP;
·Accas : A_MCIMP.SIMP ;
·Build : B_MCIMP.SIMP;
Noyau
Ce package contient essentiellement le système de classe de la factory du jeu de commande.
Validation
Ce package contient les modules effectuant les vérifications de validité des objets (commandes, blocs conditionnels, mots-clés, …).
Build
Ce package n’est présent que dans le superviseur contient les modules traitant les commandes de type macro et les méthodes de requête au jeu de commande depuis l’API-C: les interfaces GETVxxx.
Accas
Ce package est le plus important. Il contient – en particulier - les classes les plus englobantes utilisées aussi bien par l’interface –graphique Eficas que par le superviseur de Code_Aster . C’est dans ce package qu’il faut rechercher les objets et les méthodes spécialisées dans le traitement – non graphique – des commandes:
chargement du catalogue;
chargement d’un jeu de commande;
exécution du jeu de commande.
Les classes filles définies dans ce package le sont par héritage de classes parentes ayant le même nom que les classes filles mais étant situées dans un package différent.
Ihm
Les classes de ce package enrichissent les classes du Noyau de méthodes – non liées à l’aspect graphique – utilisée par l’interface graphique Eficas.
Editeur
Ce package contient les modules de traitement graphique du jeu de commande.
2.3. Hiérarchie des répertoires des sources#
2.3.1. Les sources python du superviseur#
Le superviseur de Code_Aster est composés de modules python écrits:
en C pour l’interface applicative du superviseur: le module aster (astermodule.c);
en Python pour la gestion du jeu de commande (chargement, organisation, …).
Le schéma ci-dessous présente les répertoires contenant les sources Python du superviseur.
2.3.2. Les sources de l’interface-graphique Eficas#
Les sources sont organisés en répertoires sous le répertoire d’installation Eficas:
2.4. L’environnement#
Ce paragraphe décrit les conditions pré-requises au fonctionnement du Superviseur et de l’interface graphique Eficas.
2.4.1. Installation de l’interpréteur Python#
A renseigner
2.4.2. Paramètres shell de configuration#
A renseigner
2.4.3. Installation de l’interface-graphique Eficas#
A renseigner
2.4.4. Mise à jour du superviseur#
A renseigner