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

  1. un nom de classe commence par une lettre majuscule;

  2. l’identificateur d’un objet de type Python list commence par le préfixe l_ (cette règle est utilisée dans Eficas);

  3. 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;

  4. 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.

  1. N_ pour Noyau

  2. V_ pour Validation

  3. E_ pour Execution

  4. B_ pour Build

  5. A_ pour Accas

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,

  1. ·Noyau : N_MCIMP.SIMP ;

  2. ·Validation : V_MCSIMP.SIMP;

  3. ·Ihm : I_MCIMP.SIMP;

  4. ·Accas : A_MCIMP.SIMP ;

  5. ·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:

  1. chargement du catalogue;

  2. chargement d’un jeu de commande;

  3. 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:

  1. en C pour l’interface applicative du superviseur: le module aster (astermodule.c);

  2. 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.

_images/Shape1.gif

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:

_images/Shape2.gif

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