
Cette plaquette présente le projet Dodico, bien avant son achèvement, dans un but publicitaire, afin de le faire connaître de ses utilisateurs potentiels, et de les préparer aux changements bénéfiques qu'il pourra apporter dans l'utilisation des outils informatiques de calcul. Elle est aussi l'occasion d'appeler à contribution les futurs utilisateurs, géotechniciens, hydrauliciens, pour la définition de spécifications, leurs conseils d'utilisateurs de codes de calculs, leur opinion, ...
Dodico est un projet conduit par la Division Fonctionnelle du STCPMVN. Son thème est inédit et répond à des besoins de plus en plus pressants de la part des développeurs et des utilisateurs de logiciels du STCPMVN. Dodico n'est pas un nouveau logiciel de calcul, mais un cadre unificateur pour tous les logiciels de calcul du STCPMVN existants ou à venir. Il constitue un saut de technologie considérable en permettant d'intégrer tous les programmes comme Reflux, Lido, Curvi, ... dans un environnement moderne, souple et hautement évolutif qui permet entre autres l'échange de données entre ces programmes, l'enchaînement ou la distribution de calculs.
Les codes de calcul utilisés au STCPMVN sont nombreux et hétéroclites. Les développements de programmes se font indépendamment les uns des autres, aboutissant parfois dans des impasses. L'ergonomie est souvent ignorée. La conduite d'un calcul complet est fastidieuse: elle passe la plupart du temps par un préprocesseur qui prépare les données en entrée, puis le code de calcul à proprement parler, et enfin un post-processeur qui traite les résultats afin de les rendre utilisables. Ces trois parties sont indépendantes dans leur utilisation, elles ne communiquent que par la production d'un fichier à chaque étape.
Les enchaînements de calculs, le couplage de codes sont difficiles également car les programmes sont monolithiques et ne respectent aucune norme commune d'échange de données. Autre difficulté: la mise à jour ou l'introduction d'un nouveau code nécessite une installation et une information lourdes pour le responsable informatique et les utilisateurs. Il faut réapprendre un nouveau logiciel, maîtriser un nouvel environnement. L'entretien des codes est malaisé pour les mêmes raisons.
Il apparaît naturellement le besoin de rationaliser le développement informatique autour d'un outil centralisateur qui rendrait transparent aux utilisateurs la modification et l'introduction de logiciels, ce qui simplifierait leur utilisation et offrirait un environnement commun et stable. Il faut donc un cadre unifiant, un fil directeur dans les activités informatiques du STCPMVN.
Dodico signifie "Dictionnaire de Données". Il offre un modèle de données objet unique dans lequel s'insèrent tous les codes de calcul de façon normalisée. Quel que soit le code utilisé, les données en entrée sont chargées de la même manière et les données en sortie ont la même forme également. Le lancement des codes se fait de façon unique, à travers Dodico qui se charge du travail spécifique au lancement direct de chacun des codes. Il n'y a donc plus qu'un seul modèle entre l'utilisateur et les codes, et donc un apprentissage d'autant plus réduit.

Pour le développeur d'applications utilisant ces codes, les bénéfices sont les mêmes. L'interface de programmation est très homogène et nécessite un très faible effort d'adaptation. Dodico est un système ouvert, s'appuyant sur des normes internationales (ISO, ANSI, ...). Il s'appuie sur les travaux de l'OMG, principalement CORBA, et est indépendant du système d'exploitation (Unix, Linux, Windows, ...) et du langage de développement (Java, C++, Lisp, ...). Toute la documentation du code source est centralisée sur un site Web dédié et très intuitif.

La normalisation des procédures d'appel aux codes et de leurs entrées/sorties permet d'y intégrer de nouveaux codes sans effort considérable, en respectant seulement les règles du modèle Dodico. Ainsi, Dodico est une plate-forme évolutive dans laquelle les utilisateurs voient apparaître de nouveaux services de façon transparente, sans difficulté d'installation ni d'apprentissage. La modification ou même le remplacement de codes de calcul est également invisible à l'utilisateur qui conserve toujours la même interface d'appel.
"Dictionnaire de Données" signifie que les données sont représentées dans des structures communes et donc partageables. Ceci permet d'échanger des données entre plusieurs modules (calculs). Par exemple, les résultats d'un calcul peuvent être transmis en entrée à un autre calcul. Le couplage de code, les chaînes de calculs sont donc enfin possibles de façon simple et intuitive. Ceci est possible grâce à l'encapsulation (la remise en forme) des données spécifiques à chaque code dans des objets "métiers" (des structures de données) de haut niveau, comme l'objet Houle, ou Courant, indépendants des codes de calcul. Ces objets, beaucoup plus intuitifs pour l'utilisateur puisque proches de son métier, sont le pont entre les codes.

Cette propriété est due au caractère distribué de l'environnement Dodico. Distribué signifie qu'il est réparti sur le réseau local, c'est-à-dire que certains services sont sur une machine physique, d'autres ailleurs, certains sont sur plusieurs machines en même temps. Grâce à la technologie CORBA, les objets manipulés par Dodico sont "distants", et ceci de façon transparente. L'utilisateur les manipule sur sa machine comme s'ils y étaient, mais sans qu'il ait à s'en préoccuper, il interagit en fait avec des objets répartis sur d'autres machines. Ainsi, partout où est installée une application client de Dodico, on peut utiliser des codes de calcul comme s'ils étaient disponibles localement, sans aucun effort d'installation. Si le client est écrit en Java - ce sera le cas puisque l'interface de Dodico sera écrite avec Ebli, une bibliothèque de composants graphiques en Java - alors on peut même travailler avec des codes de calcul à partir d'un navigateur Web comme Netscape Navigator®, Netscape Communicator® ou encore Internet Explorer®, de n'importe quelle machine du globe terrestre, sous réserve que l'on y soit autorisé (par mot de passe par exemple).
Dodico gère la présence d'un même service (un code de calcul comme Reflux par exemple) sur plusieurs machines serveurs en même temps. Ceci permet de "distribuer" les calculs en fonction de critères comme l'état de charge des machines, la proximité sur le réseau, ... Encore une fois, ce comportement de Dodico est invisible pour l'utilisateur qui de son côté ne voit qu'un seul Reflux. La répartition de calculs lancés par plusieurs utilisateurs est de ce fait optimale, rendant plus efficace pour chacun le service choisi. Si le code sous-jacent permet de sauvegarder des états intermédiaires de calcul, il est possible de déplacer un processus en cours d'exécution vers une machine moins chargée.

De même que pour la distribution de calculs, la réplication des services sur plusieurs sites permet de détecter les pannes (réseau, disque, ...) et de relancer immédiatement tout processus en cours sur une autre machine, sans intervention de l'utilisateur. Ici encore, si le code de calcul sous-jacent supporte les sauvegardes intermédiaires, il est possible de reprendre un calcul dans l'état où il était juste avant la panne.

Dodico est développé par le STCPMVN, Division Fonctionnelle,
et le GHN (Groupe d'Hydraulique Numérique de l'UTC) sous la conduite
de Guillaume Desnoix (STCPMVN). La partie hydraulique a fait l'objet d'une
convention avec le GHN (Groupe d'Hydraulique Numérique).
| STCPMVN | Cornet Jean-Michel | Spécifications |
|---|---|---|
| Desnoix Guillaume | Projet, site web, spécifications, développement | |
| Morel Gilles | Selon disponibilités | |
| Sergent Philippe | Spécifications, développement | |
| Von Arnim Axel | Projet, spécifications, développement | |
| GHN | Hadji Sofiane | Spécifications, développement |
| Marchand Bertrand | Spécifications, développement |
Les conseils des spécialistes métiers (hydrauliciens, géotechniciens, ...), voire leur participation à la rédaction de spécifications sont recherchés. En particulier, le développement des objets métiers, Houle, Courant, ... peut être ainsi amélioré. De même, il serait souhaitable que le développement informatique (nouveau code, maintenance, amélioration) suive une ligne de conduite apte à faciliter son intégration dans Dodico.
Le projet a officiellement débuté en février 1998 par la rédaction de spécifications et le choix des technologies. Le développement a commencé en mars. Le coeur en est pratiquement terminé. Le développement des objets métiers avance par morceaux : il est confié aux spécialistes concernés, ainsi qu'à des stagiaires. Une version utilisable de test, pour le domaine de l'hydraulique, est prévue pour décembre 1998. Une version avec interface client graphique est prévue pour mars 1999. Les domaines de la géotechnique, des calculs d'ouvrage, ... seront intégrés progressivement.
Le site web du projet est accessible au personnel du STCPMVN. Son lien est :
http://172.17.250.86/~desnoix/dodico/.
Il contient toute la documentation, le code source, des informations
sur le déroulement, et les conventions. Vous pouvez demander des
précisions techniques ou faire des remarques à l'ensemble
de l'équipe en envoyant un mél à
dodico@memoire.com .
Guillaume Desnoix
STCPMVN, DF, SSE
Bureau 111
Mél: guillaume.desnoix@cetmef.equipement.gouv.fr
Tcp: 03 44 20 06 75
Edition: STCPMVN © 1998
Réalisation: Guillaume Desnoix, Axel von Arnim
Impression: 13 juillet 1998 à Compiègne
Ring