IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Voir le flux RSS

Au Pied Levé - À Main Levée

I-2.3.2. AGL minimaliste

Noter ce billet
par , 01/04/2020 à 10h40 (390 Affichages)
APL-AML est une monographie fragmentée en plusieurs billets pour des raisons de volume.
Un billet SYNOPSIS et un billet SOMMAIRE agrègent tous les billets du blog via des liens hypertextes.

■ ■ ■ SOMMAIRE DU BILLET ■ ■ ■

AVANT-PROPOS

  1. Les shells d'administration
    • Installation de l’applicatif
    • Sauvegarde de l’application pour exportation
    • Sauvegarde de l’application
    • Restauration de l’application
    • Sauvegarde du system

  2. Les écrans d'administration
    • Administration du system catalog (Dictionnaire des Données)
    • Administration des développements

  3. Les éditions d'administration
    • Arborescence
    • Références croisées TABLES/ATTRIBUTS
    • Liste des tables
    • Liste des écrans
    • Liste des états
    • Liste chronologique des fonctionnalités (écrans-éditions)

  4. Les utilitaires

  5. La documentation développeur
    • L’application est un tout
    • Chaque programme est un tout

  6. Une documentation à postériori
    • Un outil de formation
    • Un cahier des charges atypique
    • Des diaporamas PowerPoint
■ AVANT-PROPOS

Atelier de Génie Logiciel (AGL)

Les AGL couvrent un champ au-delà des Environnements de Développement Intégrés. APL-AML s’est progressivement inventé son propre AGL visant à :

  • Optimiser les développements :

    • Billet « Règles de nommage »
    • Billet « Règles de développement »
    • Billet « Méthodologie de programmation LCP »
    • Billet « La programmation mentale »
    • Billet « Environnement de Développement Intégré (EDI) »

  • Gérer les développements

1. Les shells d'administration

Installation de l’applicatif

Noter toutes les informations nécessaires pour installer l’applicatif.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
┌INSTALLATION D'Ex&Co──────────────────────────────────────────────────────────┐
│                                                                              │
│                                                                              │
├>  1. Créer le groupe "concours" dans /etc/group                              │
│                                                                              │
│                                                                              │
├>  2. Créer le logname "concours" (logname du DBA)                            │
│                                                                              │
│      groupe               :  concours                                        │
│      Répertoire d'accueil : /concours/concours/isql                          │
│                                                                              │
│                                                                              │
├>  3. Créer les lognames utilisateurs                                         │
│                                                                              │
│      groupe               :  concours                                        │
│      Répertoire d'accueil : /concours/concours/frm                           │
│                                                                              │
│                                                                              │
├>  4. Créer l'arborescence :                                                  │
│                                                                              │
│      ┌─┐   ┌────────────┐   ┌────────────┐                                   │
│      │R├───┤concours    ├─┬─┤concours    │  -> Applicatif Ex&Co              │
│      │O│   └────────────┘ │ └────────────┘                                   │
│      │O│                  │ ┌────────────┐                                   │
│      │T│                  └─┤concours.dbs│  -> Base de données Ex&Co         │
│      └─┘                    └────────────┘                                   │
│                                                                              │
│      # cd /                                                                  │
│      # chmod 770 concours                                                    │
│      # chown concours concours                                               │
│      # chgrp concours concours                                               │
│      # cd /concours                                                          │
│      # chmod 770 concours concours.dbs                                       │
│      # chown concours concours concours.dbs                                  │
│      # chgrp concours concours concours.dbs                                  │
│                                                                              │
│      NB : Voir plus loin l'arborescence complète générée                     │
│                                                                              │
│                                                                              │
├>  5. Importer l'applicatif (cartouche "Applicatif "Ex&Co")                   │
│                                                                              │
│      # cd /concours/concours                                                 │
│      # cpio -idvBum < /dev/rmt0                                              │
│      # chown -R concours *                                                   │
│      # chgrp -R concours *                                                   │
│                                                                              │
│                                                                              │
├>  5. Importer la Base de Données (cartouche "DATA BASE")                     │
│                                                                              │
│      # cd /concours/concours.dbs                                             │
│      # cpio -idvBum < /dev/rmt0                                              │
│      # chmod 660 *                                                           │
│      # chgrp informix *                                                      │
│      # chgrp informix *                                                      │
│                                                                              │
│                                                                              │
├>  6. Editer le .profile des utilisateurs dans /concours/concours/frm pour    │
│      changer les lognames existants par les lognames créés.                  │
│                                                                              │
└──────────────────────────────────────────────────────────────────────────────┘

Sauvegarde de l’application pour exportation

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# save.concours

clear

cd /concours

echo "Sauvegarde de l'application : Ex&Co"
echo ""
echo "`pwd`"
echo ""
echo "Mettre une cartouche dans le streamer puis taper une touche quand prêt : \c"
read REPONSE
echo ""

# clean

if test -f ./concours/shell_ec/*.prt
then    rm ./concours/shell_ec/*.prt
fi

if test -f ./concours/shell_ec/*.sql
then    rm ./concours/shell_ec/*.sql
fi

if test -f ./concours/shell_ec/*.out
then    rm ./concours/shell_ec/*.out
fi

if test -f ./concours/shell_1/*.prt
then    rm ./concours/shell_1/*.prt
fi

if test -f ./concours/shell_1/*.sql
then    rm ./concours/shell_1/*.sql
fi

if test -f ./concours/shell_1/*.out
then    rm ./concours/shell_1/*.out
fi

if test -f ./concours/shell_2/*.prt
then    rm ./concours/shell_2/*.prt
fi

if test -f ./concours/shell_2/*.sql
then    rm ./concours/shell_2/*.sql
fi

if test -f ./concours/shell_2/*.out
then    rm ./concours/shell_2/*.out
fi

if test -f ./concours/shell_mj/*.prt
then    rm ./concours/shell_mj/*.prt
fi

if test -f ./concours/shell_mj/*.sql
then    rm ./concours/shell_mj/*.sql
fi

if test -f ./concours/shell_mj/*.out
then    rm ./concours/shell_mj/*.out
fi

if test -f ./concours/shell_1_n/*.prt
then    rm ./concours/shell_1_n/*.prt
fi

if test -f ./concours/shell_1_n/*.sql
then    rm ./concours/shell_1_n/*.sql
fi

if test -f ./concours/shell_1_n/*.out
then    rm ./concours/shell_1_n/*.out
fi

if test -f ./concours/shell_2_n/*.prt
then    rm ./concours/shell_2_n/*.prt
fi

if test -f ./concours/shell_2_n/*.sql
then    rm ./concours/shell_2_n/*.sql
fi

if test -f ./concours/shell_2_n/*.out
then    rm ./concours/shell_2_n/*.out
fi

if test -f ./concours/shell_mj_n/*.prt
then    rm ./concours/shell_mj_n/*.prt
fi

if test -f ./concours/shell_mj_n/*.sql
then    rm ./concours/shell_mj_n/*.sql
fi

if test -f ./concours/shell_mj_n/*.out
then    rm ./concours/shell_mj_n/*.out
fi

find . > concours.bak
find . | cpio -ocvB > /dev/rmt0

# clear

echo "La sauvegarde est terminée"
echo ""
echo "La liste des fichiers sauvegardés est dans concours.bak"
echo ""

Sauvegarde de l’application

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
clear
echo "Sauvegarde de l'application Ex&Co"
echo ""
echo "Mettre une cartouche dans le streamer puis taper une touche quand prêt : \c"
read REPONSE
echo ""

# clean

cd /concours/concours

find . | cpio -ovB > /dev/rmt0

# clear

echo "La sauvegarde est terminée"
echo ""

Restauration de l’application

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
# restore.concours

cd /concours

  cpio -icvBum 'concours.dbs/*' < /dev/rmt0

# cpio -icvBum 'concours/ace_2/HF_ADMIS_W.ace' < /dev/rmt0

Sauvegarde du system

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
echo "SAUVEGARDE DU SYSTEME (Volume groupe : rootvg)"
echo "DEBUT LE : `date +%d/%m/%Y` a : `date +%H:%M`"
tctl -f /dev/rmt0 rewind   # test presence bande
if [ $? -ne 0 ]
then echo "PAS DE BANDE MONTEE ... ABORT DE LA SAUVEGARDE !!"
     exit 1
fi
mksysb -m /dev/rmt0
if [ $? -ne 0 ]
then echo "ERREUR LORS DE LA SAUVEGARDE DU SYSTEME !!!"
else tctl -f /dev/rmt0 offline   # ejection automatique de la bande
     echo "\nFIN DE SAUVEGARDE SYSTEME LE : `date +%d/%m/%Y` a : `date +%H:%M`"
fi

2. Les écrans d'administration

Dictionnaire des Données

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
4 tables sont ajoutées aux tables system de à la Base de Données pour gérer la Base de Données elle-même :

Doc	(documentation développeur)
	views : per, ace, shl, sql)
Cette table permet de connaître l’impact d’une éventuelle modificaton sur une donnée, de savoir immédiatement sur quels fichiers intervenir (per, ace, shl ou sql) pour rester cohérant.

ut	(unités de traitement)
sys_c	(colonnes)
sys_t	(tables)
	

{------------------------------------------------------------------------------}
{
create_bdd
}
{------------------------------------------------------------------------------}
{
sql de création de toutes les tables de la BDD "concours"

Certains attributs ont une typologie commune quelque soit la table.
Ces attributs sont codifiés par un radical "typologie" suivi du nom de la table.

Les typologies retenues sont les suivantes :

+------------+----+------------------------------------------------------------+
| Numéro     | n_ | l'attribut "n_pim" se lit "Numéro de la table pim"         |
| Code       | c_ | l'attribut "c_ec"  se lit "Code   de la table ec"          |
| Type       | t_ | etc.                                                       |
| Session    | s_ |                                                            |
| Libellé    | l_ |                                                            |
| Mnémonique | m_ |                                                            |
+------------+----+------------------------------------------------------------+
}

{------------------------------------------------------------------------------}
{
sql de précaution en cas de run accidentel
}
{------------------------------------------------------------------------------}

select rien
from   rien;

{------------------------------------------------------------------------------}

{ doc   (documentation développeur - views : per, ace, shl, sql) --------------}

create table doc
(
processus        char(8),
c_ut             char(20),
suffixe          char(1),
cd               char(8),
wc               smallint,
ls               char(20),
flag             char(1)
) ;

grant  all    on doc to osmose;

grant  select on doc to public;
grant  update on doc to public;
grant  insert on doc to public;

{ sys_c (colonnes) ------------------------------------------------------------}

create table sys_c
(
colname         char(18),
tabid           integer,
colno           smallint,
coltype         smallint,
collength       smallint,
type_length     char(30),
attention       char(1),
collib_0        char(38),
collib_1        char(77),
collib_2        char(77),
collib_3        char(77),
collib_4        char(77),
collib_5        char(77)
) ;

grant  all    on sys_c to public;

{ sys_t (tables) --------------------------------------------------------------}

create table sys_t
(
tabid           integer,
tabname         char(18),
tabname_2       char(18),
tablibe         char(60)
) ;

grant  all    on sys_t to public;

{ ut    (unités de traitement) ------------------------------------------------}

create table ut
(
processus        char(28),
c_ut             char(20),
objet            char(76),
objet_1          char(76),
objet_2          char(76),
objet_3          char(76),
objet_4          char(76),
objet_5          char(76)
) ;

grant  all    on ut to osmose;

grant  select on ut to public;
grant  update on ut to public;
grant  insert on ut to public;

{------------------------------------------------------------------------------}
 
{------------------------------------------------------------------------------}
{
create_idx
}
{------------------------------------------------------------------------------}
{
sql de précaution en cas de run accidentel
}
{------------------------------------------------------------------------------}

select rien
from   rien;

{------------------------------------------------------------------------------}

{ doc   (documentation OSMOSE : views per, ace, shl, sql) ---------------------}

lock   table doc in exclusive mode;
{
drop   index doc_tri;
drop   index doc_c_ut;
}
create unique cluster index doc_tri  on doc (cd,
                                             ls);
alter                 index doc_tri  to cluster;
create                index doc_c_ut on doc (c_ut);
unlock table doc;	

{ sys_c (colonnes) ------------------------------------------------------------}

lock table sys_c in exclusive mode;
{
drop index sys_c_cle;
drop index sys_c_tabid;
drop index sys_c_colname;
}
create unique cluster index sys_c_cle     on sys_c (tabid,
                                                    colno);
alter                 index sys_c_cle     to cluster;
create                index sys_c_tabid   on sys_c (tabid);
create                index sys_c_colname on sys_c (colname);

unlock table sys_c;

{ sys_t (tables) --------------------------------------------------------------}

lock table sys_t in exclusive mode;
{
drop index sys_t_tabname;
drop index sys_t_tabid;
}
create unique cluster index sys_t_tabname on sys_t (tabname);
alter                 index sys_t_tabname to cluster;
create unique         index sys_t_tabid   on sys_t (tabid);

unlock table sys_t;

{ ut    (unités de traitement) ------------------------------------------------}

lock   table ut in exclusive mode;
{
drop   index ut_c_ut;
}
create unique cluster index ut_c_ut on ut (c_ut);
alter                 index ut_c_ut to cluster;
unlock table ut;

{------------------------------------------------------------------------------}

{------------------------------------------------------------------------------}
{
view_doc : 4 views
}
{------------------------------------------------------------------------------}
{
drop   view per;
drop   view ace;
drop   view shl;
drop   view sql;
}
{-----------------------------------------------------------------------------}
{
drop   view per;
}
{-----------------------------------------------------------------------------}

create view per
as select   doc.*
from        doc
where       doc.cd = "isql";

revoke all    on per from public;

grant  select on per to public;
grant  update on per to public;
grant  insert on per to public;
grant  delete on per to public;

{-----------------------------------------------------------------------------}
{
drop   view ace;
}
{-----------------------------------------------------------------------------}

create view ace
as select   doc.*
from        doc
where       doc.cd = "ace"
or          doc.cd = "ace_0"
or          doc.cd = "ace_1"
or          doc.cd = "ace_2"
or          doc.cd = "ace_3"
or          doc.cd = "ace_4"
or          doc.cd = "ace_9";

revoke all    on ace from public;

grant  select on ace to public;
grant  update on ace to public;
grant  insert on ace to public;
grant  delete on ace to public;

{-----------------------------------------------------------------------------}
{
drop   view shl;
}
{-----------------------------------------------------------------------------}

create view shl
as select   doc.*
from        doc
where       doc.cd = "shell"
or          doc.cd = "shell_0"
or          doc.cd = "shell_1"
or          doc.cd = "shell_2"
or          doc.cd = "shell_3"
or          doc.cd = "shell_4"
or          doc.cd = "shell_9";

revoke all    on shl from public;

grant  select on shl to public;
grant  update on shl to public;
grant  insert on shl to public;
grant  delete on shl to public;

{-----------------------------------------------------------------------------}
{
drop   view sql;
}
{-----------------------------------------------------------------------------}

create view sql
as select   doc.*
from        doc
where       doc.cd = "sql"
or          doc.cd = "sql_0"
or          doc.cd = "sql_1"
or          doc.cd = "sql_2"
or          doc.cd = "sql_3"
or          doc.cd = "sql_4"
or          doc.cd = "sql_9";

revoke all    on sql from public;

grant  select on sql to public;
grant  update on sql to public;
grant  insert on sql to public;
grant  delete on sql to public;

{-----------------------------------------------------------------------------}

Administration du system catalogue (Dictionnaire des Données)

C’est bien connu, les cordonniers sont toujours les plus mal chaussés. Le développement des applicatifs est toujours prioritaire et l’on repousse à plus tard, on néglige de consacrer du temps pour habiller ses développements, pour se créer des outils de gestion pourtant simples à réaliser en exploitant les tables système du SGBD.

Les tables system sont une source d’informations très intéressantes et fiables. Ce serait dommage de ne pas les exploiter. Il suffit de leur adjoindre quelques tables pour pouvoir se créer un petit gestionnaire des données sans prétention mais très utile.

Ci-après, un écran exploitant les tables system et permettant de gérer un Dictionnaire des Données simple mais suffisant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
┌─N°───┬─Table──────────────┬Type─┐      ┌Colonnes┬Rangées─┬Longueur┬─Owner────┐
├[    ]┴[                  ]┴─[ ]─┘      └─[    ]─┴[      ]┴─[    ]─┴[        ]┤
│                                                                              │
│                                        ┌Grantor──┬grantee───┬tabauth──┐      │
│                                        [        ]┴[        ]┴[       ]┘      │
└──────────────────────────────────────────────────────────────────────────────┘
┌─N°───┬─Colonnes───────────┬Type┐┌Long.┐┌Type + Longueur──────────────────┬─!─┐
├[    ]┴[                  ]┴[   ][     ][                                ]┴[ ]┤
│                            [                                                ]│
│[                                                                            ]│
│[                                                                            ]│
│[                                                                            ]│
│[                                                                            ]│
│[                                                                            ]│
└──────────────────────────────────────────────────────────────────────────────┘
┌──────┬─Index──────────────┬Type─┬─Tri─┬─N°1─┬─N°2─┬─N°3─┬─N°4─┬──────────────┐
│      └[                  ]┴─[ ]─┴─[ ]─┤[   ]│[   ]│[   ]│[   ]│              │
│                                       │     │     │     │     │              │
│                                       │[   ]│[   ]│[   ]│[   ]│              │
└───────────────────────────────────────┴─N°5─┴─N°6─┴─N°7─┴─N°8─┴──────────────┘

Administration des développements

Une table avec quatre views, cela suffit pour gérer les développements :

  • les écrans
  • les éditions
  • les shells
  • les requêtes SQL

Ci-après, un écran permettant de visualiser et actualiser tous les composants de chaque fonctionnalité (Unité de Traitement) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
┌[          ] [                    ]───────────────────────────────────────────┐
│[                                                                            ]│
│[                                                                            ]│
│[                                                                            ]│
│[                                                                            ]│
│[                                                                            ]│
│[                                                                            ]│
├──────────────────────────────────────────────────────────────────────────────┤
│┌Processus─┐┌Répertoire┐┌suffixe┐┌per────────────────────────────┐┌wc────────┐│
│└[        ]┘└[        ]┘└──[ ]──┘└[                             ]┘└[        ]┘│
├──────────────────────────────────────────────────────────────────────────────┤
│┌Processus─┐┌Répertoire┐┌suffixe┐┌ace────────────────────────────┐┌wc────────┐│
│└[        ]┘└[        ]┘└──[ ]──┘└[                             ]┘└[        ]┘│
├──────────────────────────────────────────────────────────────────────────────┤
│┌Processus─┐┌Répertoire┐┌suffixe┐┌shell──────────────────────────┐┌wc────────┐│
│└[        ]┘└[        ]┘└──[ ]──┘└[                             ]┘└[        ]┘│
├──────────────────────────────────────────────────────────────────────────────┤
│┌Processus─┐┌Répertoire┐┌suffixe┐┌sql────────────────────────────┐┌wc────────┐│
│└[        ]┘└[        ]┘└──[ ]──┘└[                             ]┘└[        ]┘│
└──────────────────────────────────────────────────────────────────────────────┘

3. Les éditions d'administration

Arborescence

Matérialiser l’arborescence de l’application n’est pas impératif. C’est juste un outil simple de communication voire d’information quand on peut quantifier le nombre de lignes que représentent les développements.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
┌───────────────────────────────┤Le  31/07/2007├───────────────────────────────┐
│                                                                              │
│                                                                              │
│  ┌─┐   ┌────────────┐   ┌────────────┐   ┌Répertoires─┐      ┌Lignes──────┐  │
│  │R├───┤concours    ├─┬─┤concours    ├───┤ace         │   13 │      3.718 │  │
│  │O│   └────────────┘ │ └────────────┘   │ace_1       │   60 │     44.950 │  │
│  │O│                  │ ┌────────────┐   │ace_2       │   71 │     49.376 │  │
│  │T│                  └─┤concours.dbs│   │ace_mj      │   20 │     12.894 │  │
│  └─┘                    └────────────┘   │ace_1_n     │    7 │      6.180 │  │
│                                          │ace_2_n     │   24 │     22.526 │  │
│                                          │ace_mj_n    │   10 │      7.834 │  │
│                                          │ascii       │   66 │        251 │  │
│                                          │bull        │  115 │     27.149 │  │
│                                          │doc         │   14 │      2.802 │  │
│                                          │man         │   20 │     18.719 │  │
│                                          │file        │  106 │      7.178 │  │
│                                          │frm         │      │            │  │
│                                          │ftp         │      │            │  │
│                                          │isql        │  445 │     61.536 │  │
│                                          │per         │  900 │    969.648 │  │
│                                          │prg         │      │            │  │
│                                          │shell       │   29 │      2.430 │  │
│                                          │shell_1     │   75 │     12.207 │  │
│                                          │shell_2     │   83 │     15.054 │  │
│                                          │shell_mj    │   24 │      4.272 │  │
│                                          │shell_1_n   │    7 │      1.050 │  │
│                                          │shell_2_n   │   24 │      4.554 │  │
│                                          │shell_mj_n  │    9 │      1.748 │  │
│                                          │sql         │      │            │  │
│                                          │sql_1       │   33 │      1.078 │  │
│                                          │sql_2       │   26 │      2.544 │  │
│                                          │sql_mj      │   11 │        576 │  │
│                                          │sql_1_n     │      │            │  │
│                                          │sql_2_n     │    5 │        761 │  │
│                                          │sql_mj_n    │    2 │        101 │  │
│                                          └────────────┘      └────────────┘  │
│                                                              ┌Menu────────┐  │
│                                                              │     37.213 │  │
│                                                              └────────────┘  │
│                                                              ┌────────────┐  │
│                                                              │  1.318.349 │  │
│                                                              └────────────┘  │
│                                                                              │
└──────────────────────────────────────────────────────────────────────────────┘

Références croisées TABLES/ATTRIBUTS

Les tables système complétées par une table des noms d’attributs en clair permettent de gérer un Dictionnaire des Données et de réaliser un tableau avec pour chaque table ses attributs recensés dans les autres tables. Le même attribut pouvant être référencé dans plusieurs tables avec un type et/ou une longueur différente(s), un "!" repère ces incohérences.

Ci-dessous, l’extrait d’un tel document pour une table « a_nex » d’une BDD nationale pour laquelle, les développeurs ont opté pour des noms de données respectant une codification particulière « XXX_XXX » :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
OCEAN - Table a_nex - le 6 Juin 2006                                                   1.
┌──────────┬──────────┬──────────────────────────────────────┬────────────────────────┬─┐
│  tables  │ colonnes │               libellés               │     type-longueur      │!│
└──────────┴──────────┴──────────────────────────────────────┴────────────────────────┴─┘
┌──────────┬──────────┬──────────────────────────────────────┬────────────────────────┬─┐
│afc_val   │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│aff_spe   │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│ano_ce2   │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│cnd       │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│cnd_epr   │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│csg       │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│dat_suj   │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│dci       │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│dci_grd   │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│epr       │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│epr_dco   │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│epr_epr   │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│epr_grp   │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│epr_lml   │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│epr_men   │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│epr_not   │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│epr_org   │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│eta_opt   │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│eta_spe   │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│exa       │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│fma       │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│gen_org   │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│grp       │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│lml       │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│lml_mlo   │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│lop       │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│mat_fma   │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│mef_spe   │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│opt       │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│par       │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│rat_geo   │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│reg       │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│spe       │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│spe_acq   │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│spe_grd   │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│spe_par   │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│spe_ran   │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│suj       │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│tca       │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│typ_can   │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│typ_eta   │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│uni       │cod_exa   │CODE EXAMEN                           │char(3)                 │ │
│          │typ_nex   │TYPE DE NOMENCLATURE EXAMEN           │char(3)                 │ │
│          │cod_nex   │CODE DE NOMENCLATURE EXAMEN           │char(4)                 │ │
│          │ind_nex   │INDICATEUR MAJ LOCALE NOMENCLA        │char(1)                 │ │
└──────────┴──────────┴──────────────────────────────────────┴────────────────────────┴─┘

Liste des tables

Application Ex&Co (Examens-Concours)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
┌──────────────────────────────────────────────────────────────────────────────┐
│                                                                              │
│                                  TABLES Ex&Co                                │
│                                                                              │
└──────────────────────────────────────────────────────────────────────────────┘
                                                                      PAGE :  1.
┌────────────┬──────────┬──────────┬──────────┬──────────┬─────────────────────┐
│   TABLES   │ COLONNES │ RANGEES  │SYNONYMES │   VUES   │        NOMS         │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│ac          │         7│        32│          │          │académies            │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│cea         │        28│          │          │          │cand. admission      │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│cea_n       │        28│          │          │          │cand. admission      │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│cec         │       176│       797│          │aa_1cce   │candidatures         │
│            │          │          │          │aa_1cci   │                     │
│            │          │          │          │aa_agce   │                     │
│            │          │          │          │aa_agci   │                     │
│            │          │          │          │aa_sdce   │                     │
│            │          │          │          │aa_sdci   │                     │
│            │          │          │          │aa_ssce   │                     │
│            │          │          │          │aa_ssci   │                     │
│            │          │          │          │aacaacx   │                     │
│            │          │          │          │aacr      │                     │
│            │          │          │          │aacs      │                     │
│            │          │          │          │aacu      │                     │
│            │          │          │          │aare      │                     │
│            │          │          │          │aass2ce   │                     │
│            │          │          │          │aass2ci   │                     │
│            │          │          │          │aasuce    │                     │
│            │          │          │          │aasuci    │                     │
│            │          │          │          │agtlcu    │                     │
│            │          │          │          │ai_ece    │                     │
│            │          │          │          │ai_eci    │                     │
│            │          │          │          │al_esce   │                     │
│            │          │          │          │al_esci   │                     │
│            │          │          │          │atl_ace   │                     │
│            │          │          │          │atl_aci   │                     │
│            │          │          │          │atl_bce   │                     │
│            │          │          │          │atl_bci   │                     │
│            │          │          │          │atl_cce   │                     │
│            │          │          │          │atl_cci   │                     │
│            │          │          │          │bbeb      │                     │
│            │          │          │          │caep      │                     │
│            │          │          │          │casuep    │                     │
│            │          │          │          │egeb      │                     │
│            │          │          │          │i_epece   │                     │
│            │          │          │          │i_epeci   │                     │
│            │          │          │          │i_epecu   │                     │
│            │          │          │          │icepcep   │                     │
│            │          │          │          │icepeep   │                     │
│            │          │          │          │iceppep   │                     │
│            │          │          │          │icepvep   │                     │
│            │          │          │          │ichefep   │                     │
│            │          │          │          │ie_e1ce   │                     │
│            │          │          │          │ie_e1ci   │                     │
│            │          │          │          │ie_e2ce   │                     │
│            │          │          │          │ie_e2ci   │                     │
│            │          │          │          │ie_e3ce   │                     │
│            │          │          │          │ie_e3ci   │                     │
│            │          │          │          │ie_stce   │                     │
│            │          │          │          │ie_stci   │                     │
│            │          │          │          │ir_ece    │                     │
│            │          │          │          │ir_eci    │                     │
│            │          │          │          │ir_ice    │                     │
│            │          │          │          │ir_ici    │                     │
│            │          │          │          │mo_arce   │                     │
│            │          │          │          │mo_arci   │                     │
│            │          │          │          │mo_cce    │                     │
│            │          │          │          │mo_cci    │                     │
│            │          │          │          │mo_ssep   │                     │
│            │          │          │          │moebace   │                     │
│            │          │          │          │moebaci   │                     │
│            │          │          │          │moss2ep   │                     │
│            │          │          │          │oea75cu   │                     │
│            │          │          │          │oea77cu   │                     │
│            │          │          │          │oea78cu   │                     │
│            │          │          │          │oea91cu   │                     │
│            │          │          │          │oea92cu   │                     │
└────────────┴──────────┴──────────┴──────────┴──────────┴─────────────────────┘
 
┌──────────────────────────────────────────────────────────────────────────────┐
│                                                                              │
│                                  TABLES Ex&Co                                │
│                                                                              │
└──────────────────────────────────────────────────────────────────────────────┘
                                                                      PAGE :  2.
┌────────────┬──────────┬──────────┬──────────┬──────────┬─────────────────────┐
│   TABLES   │ COLONNES │ RANGEES  │SYNONYMES │   VUES   │        NOMS         │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│cec         │          │          │          │oea93cu   │candidatures         │
│            │          │          │          │oea94cu   │                     │
│            │          │          │          │oea95cu   │                     │
│            │          │          │          │oeacr     │                     │
│            │          │          │          │oeacu     │                     │
│            │          │          │          │oeare     │                     │
│            │          │          │          │oeascre   │                     │
│            │          │          │          │op_acce   │                     │
│            │          │          │          │op_acci   │                     │
│            │          │          │          │op_acep   │                     │
│            │          │          │          │op_aice   │                     │
│            │          │          │          │op_aici   │                     │
│            │          │          │          │op_aiep   │                     │
│            │          │          │          │op_cce    │                     │
│            │          │          │          │op_cci    │                     │
│            │          │          │          │op_cep    │                     │
│            │          │          │          │op_evce   │                     │
│            │          │          │          │op_evci   │                     │
│            │          │          │          │op_evep   │                     │
│            │          │          │          │op_iece   │                     │
│            │          │          │          │op_ieci   │                     │
│            │          │          │          │op_ieep   │                     │
│            │          │          │          │op_lce    │                     │
│            │          │          │          │op_lci    │                     │
│            │          │          │          │op_lep    │                     │
│            │          │          │          │op_mace   │                     │
│            │          │          │          │op_maci   │                     │
│            │          │          │          │op_maep   │                     │
│            │          │          │          │op_rfce   │                     │
│            │          │          │          │op_rfci   │                     │
│            │          │          │          │op_rfep   │                     │
│            │          │          │          │opebace   │                     │
│            │          │          │          │opebaci   │                     │
│            │          │          │          │opebaep   │                     │
│            │          │          │          │opistce   │                     │
│            │          │          │          │opistci   │                     │
│            │          │          │          │opistep   │                     │
│            │          │          │          │rpe771i   │                     │
│            │          │          │          │rpe931i   │                     │
│            │          │          │          │rpe941i   │                     │
│            │          │          │          │rpe_22i   │                     │
│            │          │          │          │rpe_33i   │                     │
│            │          │          │          │rpece     │                     │
│            │          │          │          │rpecpci   │                     │
│            │          │          │          │saaagcr   │                     │
│            │          │          │          │saaager   │                     │
│            │          │          │          │saasscr   │                     │
│            │          │          │          │saleser   │                     │
│            │          │          │          │sasu3c    │                     │
│            │          │          │          │sasuce    │                     │
│            │          │          │          │sasuci    │                     │
│            │          │          │          │sasueep   │                     │
│            │          │          │          │sasuep    │                     │
│            │          │          │          │siepecr   │                     │
│            │          │          │          │sop_cer   │                     │
│            │          │          │          │sop_ler   │                     │
│            │          │          │          │sopaier   │                     │
│            │          │          │          │sopever   │                     │
│            │          │          │          │sopieer   │                     │
│            │          │          │          │sopiser   │                     │
│            │          │          │          │soprfer   │                     │
│            │          │          │          │ssasucr   │                     │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│cec_n       │       176│   119 008│          │          │candidatures         │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│cm          │         7│       521│cm_bis    │          │communes             │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│cnd         │        42│     4 282│          │          │candidatures OCEAN   │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│cp          │         3│     6 133│cp_bis    │          │codes postaux        │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│dec         │        91│     5 561│          │          │direction exa-conc   │
└────────────┴──────────┴──────────┴──────────┴──────────┴─────────────────────┘
 
┌──────────────────────────────────────────────────────────────────────────────┐
│                                                                              │
│                                  TABLES Ex&Co                                │
│                                                                              │
└──────────────────────────────────────────────────────────────────────────────┘
                                                                      PAGE :  3.
┌────────────┬──────────┬──────────┬──────────┬──────────┬─────────────────────┐
│   TABLES   │ COLONNES │ RANGEES  │SYNONYMES │   VUES   │        NOMS         │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│dg          │         3│        34│dg_bis    │          │district géo.        │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│dip         │         3│        76│          │          │diplomes = "eaq"     │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│dp          │         8│       106│dp_bis    │          │                     │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│ea          │        40│     1 097│          │          │épreuves             │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│ea_n        │        40│    10 846│          │          │épreuves             │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│eaq         │         4│        76│          │          │examen pour acquis   │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│ec          │       396│       153│ec_bis    │          │examens-concours     │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│ec_n        │       396│     1 461│          │          │examens-concours     │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│epr         │        20│     2 374│          │          │épreuves OCEAN       │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│et          │        36│    34 163│          │          │établissements       │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│exa         │         5│        82│          │          │examens OCEAN        │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│gr          │        14│     1 034│          │          │grades               │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│itrf        │        17│        93│          │          │ITRF                 │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│ln          │        17│        11│          │          │logname              │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│lv          │         3│         7│          │          │langues vivantes     │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│mat         │         2│     4 091│          │          │matières             │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│mj          │        23│     4 513│          │          │membres du jury      │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│mra         │         2│         8│          │          │motifs recul d'âge   │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│nat         │         2│        18│          │          │nationalités         │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│ne          │        13│       185│          │          │natures établ.       │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│net         │        19│       148│          │          │candidatures net     │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│oc          │         2│        18│          │          │origine candidats    │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│opt         │         2│        62│          │          │options              │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│oral        │         9│        57│          │          │ordre oral           │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│os          │         2│        18│          │          │origines statut.     │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│pec         │        37│          │pec_bis   │          │personnels Ex&Co     │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│pec_n       │        37│    85 278│          │          │personnels Ex&Co     │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│pic         │        71│          │cic       │          │pré-inscriptions     │
│            │          │          │pic_bis   │          │                     │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│pic_n       │        71│          │          │          │pré-inscriptions     │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│pim         │        38│     3 687│          │          │pré-inscr. MINITEL   │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│pim_n       │        36│          │          │          │pré-inscr. MINITEL   │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│pj          │        26│          │          │          │planning jury        │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│pm          │         8│        21│          │          │pièces manquantes    │
└────────────┴──────────┴──────────┴──────────┴──────────┴─────────────────────┘

┌──────────────────────────────────────────────────────────────────────────────┐
│                                                                              │
│                                  TABLES Ex&Co                                │
│                                                                              │
└──────────────────────────────────────────────────────────────────────────────┘
                                                                      PAGE :  4.
┌────────────┬──────────┬──────────┬──────────┬──────────┬─────────────────────┐
│   TABLES   │ COLONNES │ RANGEES  │SYNONYMES │   VUES   │        NOMS         │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│prf         │         2│        57│          │          │professions OCEAN    │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│qcm         │         2│        52│          │          │QCM : importation    │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│qjo         │         2│       280│          │          │question jury oral   │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│rc          │         8│        13│          │          │refus d'autoris.     │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│sa          │         2│        16│          │          │situations admin.    │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│sg          │        54│         9│          │          │services gestion     │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│sh          │        15│          │          │          │suivi historique     │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│sh_n        │        15│          │          │          │suivi historique     │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│sp          │        10│          │          │          │salles/places        │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│spe         │         7│       186│ocean     │          │spécialités          │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│sys_c       │        13│       941│          │          │colonnes             │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│sys_d       │         7│     1 030│          │ace       │développements       │
│            │          │          │          │per       │                     │
│            │          │          │          │shl       │                     │
│            │          │          │          │sql       │                     │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│sys_t       │         4│          │          │          │tables               │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│sys_u       │         8│       993│          │          │unités de trait.     │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│sysmenuitems│         5│    33 294│          │          │                     │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│sysmenus    │         2│     3 273│          │          │                     │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│t_cm        │         2│         1│          │          │typologie communes   │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│tec         │        10│        16│          │          │typologie Ex&Co      │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│tj          │        35│       160│          │aa_1ctj   │travaux jury         │
│            │          │          │          │aa_agtj   │                     │
│            │          │          │          │aa_sdtj   │                     │
│            │          │          │          │aa_sstj   │                     │
│            │          │          │          │aacaatj   │                     │
│            │          │          │          │aass2tj   │                     │
│            │          │          │          │aasutj    │                     │
│            │          │          │          │aatj      │                     │
│            │          │          │          │agtltj    │                     │
│            │          │          │          │ai_etj    │                     │
│            │          │          │          │al_estj   │                     │
│            │          │          │          │atl_atj   │                     │
│            │          │          │          │atl_btj   │                     │
│            │          │          │          │atl_ctj   │                     │
│            │          │          │          │bbtj      │                     │
│            │          │          │          │casutj    │                     │
│            │          │          │          │catj      │                     │
│            │          │          │          │egtj      │                     │
│            │          │          │          │i_epetj   │                     │
│            │          │          │          │icepctj   │                     │
│            │          │          │          │icepetj   │                     │
│            │          │          │          │icepptj   │                     │
│            │          │          │          │icepvtj   │                     │
│            │          │          │          │icheftj   │                     │
│            │          │          │          │ie_e1tj   │                     │
│            │          │          │          │ie_e2tj   │                     │
│            │          │          │          │ie_e3tj   │                     │
│            │          │          │          │ie_sttj   │                     │
│            │          │          │          │ir_etj    │                     │
│            │          │          │          │ir_itj    │                     │
│            │          │          │          │mo_artj   │                     │
│            │          │          │          │mo_ctj    │                     │
│            │          │          │          │mo_sstj   │                     │
│            │          │          │          │moebatj   │                     │
│            │          │          │          │mop_ctj   │                     │
│            │          │          │          │moss2tj   │                     │
│            │          │          │          │oeatj     │                     │
│            │          │          │          │op_actj   │                     │
│            │          │          │          │op_aitj   │                     │
└────────────┴──────────┴──────────┴──────────┴──────────┴─────────────────────┘
 
┌──────────────────────────────────────────────────────────────────────────────┐
│                                                                              │
│                                  TABLES Ex&Co                                │
│                                                                              │
└──────────────────────────────────────────────────────────────────────────────┘
                                                                      PAGE :  5.
┌────────────┬──────────┬──────────┬──────────┬──────────┬─────────────────────┐
│   TABLES   │ COLONNES │ RANGEES  │SYNONYMES │   VUES   │        NOMS         │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│tj          │          │          │          │op_btj    │travaux jury         │
│            │          │          │          │op_ctj    │                     │
│            │          │          │          │op_evtj   │                     │
│            │          │          │          │op_ietj   │                     │
│            │          │          │          │op_ltj    │                     │
│            │          │          │          │op_matj   │                     │
│            │          │          │          │op_rftj   │                     │
│            │          │          │          │opebatj   │                     │
│            │          │          │          │opisttj   │                     │
│            │          │          │          │rpetj     │                     │
│            │          │          │          │saaagtj   │                     │
│            │          │          │          │saasstj   │                     │
│            │          │          │          │salestj   │                     │
│            │          │          │          │sasuetj   │                     │
│            │          │          │          │sasutj    │                     │
│            │          │          │          │siepetj   │                     │
│            │          │          │          │sop_ctj   │                     │
│            │          │          │          │sop_ltj   │                     │
│            │          │          │          │sopaitj   │                     │
│            │          │          │          │sopevtj   │                     │
│            │          │          │          │sopietj   │                     │
│            │          │          │          │sopistj   │                     │
│            │          │          │          │spebatj   │                     │
│            │          │          │          │ssasutj   │                     │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│tj_n        │        35│    37 122│          │          │travaux jury         │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│tmp         │        22│        55│          │          │temporaire           │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│tmp_hf      │        28│         1│          │          │tmp hommes/femmes    │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│tmp_nd      │        52│         1│          │          │tmp niv. diplôme     │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│tmp_nh      │        28│        91│          │          │tmp hiérarchique     │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│tmp_os      │        94│         1│          │          │tmp origine statut   │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│tmp_ta      │        46│         1│          │          │tmp tranches d'âge   │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│toi         │         2│          │          │          │                     │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│uad         │         2│        39│          │          │unité administrat.   │
└────────────┴──────────┴──────────┴──────────┴──────────┴─────────────────────┘
┌────────────┬──────────┬──────────┬──────────┬──────────┬─────────────────────┐
│   TABLES   │ COLONNES │ RANGEES  │SYNONYMES │   VUES   │         NOMS        │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│          70│     2 472│   363 683│         9│       194│                     │
└────────────┴──────────┴──────────┴──────────┴──────────┴─────────────────────┘

Liste des écrans

Application Ex&Co (Examens-Concours)

L’application compte 900 écrans pour 150 examens-concours. Chaque examen-concours est spécifique par son nombre d’épreuves, leurs éventuelles options et coefficients, leurs saisies des notes. Chaque examen-concours est donc géré par des écrans spécifiques créés à partir de modèles ou d’écrans d’autres examens-concours aux spécificités très proches. Le concours interne/externe de recrutement des professeurs des écoles compte à lui seul 55 écrans.

En deuxième partie du tableau ci-dessous, le concours aa_agce retenu, concours externe d’adjoint administratif, compte une quinzaine d’écrans.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
┌──────────┬───────────────────────────────────────────────────────────────────┐
│per       │                LISTE ALPHABÉTIQUE DES ÉCRANS Ex&Co                │
├──────────┼───────────────────────────────────────────────────────────────────┤
│DBA_CEA   │DBA : Candidatures épreuves d'admission                            │
│DBA_CEC   │DBA : Candidatures épreuves d'admission                            │
│DBA_CEC_n │DBA : Candidatures épreuves d'admission (historique)               │
│DBA_EC    │DBA : Mise-à-jour Examens-Concours et Épreuves                     │
│DBA_EC_n  │DBA : Mise-à-jour Examens-Concours et Épreuves (historique)        │
│DBA_PIC   │DBA : Pré-Inscriptions Candidatures                                │
│DBA_PIC_25│DBA : Pré-Inscriptions Candidatures (Versailles)                   │
│DBA_bilans│DBA : Bilans Examens-Concours et Épreuves                          │
│DBA_ec    │DBA : Mise-à-jour Examens-Concours et Épreuves                     │
│DBA_ec_n  │DBA : Mise-à-jour Examens-Concours et Épreuves (historique)        │
│Ex_Co1    │Modèle : Saisie des notes d’admissibilité                          │
│Ex_Co11   │Modèle : Saisie de la note de l’épreuve d'admissibilité N° 1       │
│Ex_Co1A   │Modèle : Saisie des absences aux épreuves d'admissibilité          │
│Ex_Co2    │Modèle : Saisie des notes épreuves d'admission                     │
│MaJ_BIS   │Pré-Inscriptions Candidatures : M-à-J sauf code et type Ex&Co      │
│MaJ_CEA   │Modèle : Candidatures admission                                    │
│MaJ_CEC   │Modèle : Candidatures Examen-Concours                              │
│MaJ_MJ    │Modèle : Saisie des membres du jury                                │
│MaJ_MJ_n  │Modèle : Saisie des membres du jury (historique)                   │
│MaJ_PIC   │Modèle : Pré-Inscriptions Candidatures                             │
│MaJ_PIC_25│Modèle : Pré-Inscriptions Candidatures (Versailles)                │
│MaJ_PJ    │Modèle : Création du planning jury d’admission                     │
│MaJ_OCEAN │Tables Nationalité, Motif de recul d’âge, Diplôme, Profession      │
│MaJ_cec1  │Modèle : Saisie des notes épreuves d’admissibilité                 │
│MaJ_cec1_n│Modèle : Saisie des notes épreuves d’admissibilité (historiques)   │
│MaJ_cec2  │Modèle : Saisie des notes épreuves d’admission                     │
│MaJ_cec2_n│Modèle : Saisie des notes épreuves d’admission (historique)        │
│MaJ_ec    │Mise-à-jour Examens-Concours et Épreuves                           │
│MaJ_ec_n  │Mise-à-jour Examens-Concours et Épreuves (historique)              │
│MaJ_et    │Mise à jour de la table des établissements                         │
│MaJ_gr    │Mise à jour des grades                                             │
│MaJ_ln    │Mise à jour des lognames                                           │
│MaJ_oc    │Mise à jour des origines des candidats                             │
│MaJ_pm    │Mise à jour des pièces manquantes                                  │
│MaJ_salles│Mise à jour des salles                                             │
│MaJ_sg    │Mise à jour des paramètres applicatif (services gestionnaires)     │
│MaJ_tables│Mise à jour des tables (Salles, Jury d’oral)                       │
│MaJ_tec   │Mise à jour des typologies Examens-Concours                        │
│SYSADMIN  │Administration du System Catalog                                   │
├──────────┼───────────────────────────────────────────────────────────────────┤
│aa_agce1  │Saisie des notes épreuves d’admissibilité                          │
│aa_agce11 │Saisie des notes épreuves d’admissibilité N° 1                     │
│aa_agce11c│Saisie des notes épreuves d’admissibilité N° 1 coefficientée       │
│aa_agce12 │Saisie des notes épreuves d’admissibilité N° 2                     │
│aa_agce12c│Saisie des notes épreuves d’admissibilité N° 2 coefficientée       │
│aa_agce1A │Saisie des absences aux épreuves d'admissibilité                   │
│aa_agce2  │Saisie des notes épreuves d'admission                              │
│aa_agce21 │Saisie des notes épreuves d'admission N° 1                         │
│aa_agce21c│Saisie des notes épreuves d'admission N° 1 coeficientée            │
│aa_agce2c │Saisie des notes épreuves d'admission coefficientées               │
│aa_agceCEA│Candidatures admission                                             │
│aa_agceCEC│Candidatures Examen-Concours                                       │
│aa_agceMJ │Membres du jury / Travaux jury                                     │
│aa_agcePJ │Création du planning jury d’admission                              │
└──────────┴───────────────────────────────────────────────────────────────────┘

Liste des états

Application Ex&Co (Examens-Concours)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
Lexique :
ace      : dossier développeur
ace_ec   : dossier Ex&Co
ace_ec_n : dossier Ex&Co historique
ace_1    : dossier admissibilité année en cours
ace_1_n  : dossier admissibilité historique
ace_2    : dossier admission année en cours
ace_2_n  : dossier admission historique
ace_mj   : dossier membres du jury
ace_mj_n : dossier membres du jury historique

┌──────────┬───────────────────────────────────────────────────────────────────┐
│ace       │               LISTE ALPHABÉTIQUE DES ÉDITIONS Ex&Co               │
├──────────┼───────────────────────────────────────────────────────────────────┤
│AnonyLabel│Étiquettes d'anonymat                                              │
│DICO      │Dictionnaire des Données                                           │
│et_c_et   │Liste des Établissements (Tri : Code Établissement)                │
│et_l_et   │Liste des Établissements Fournisseurs                              │
│et_l_ld   │Liste des Établissements (Tri : Lieu Distribue)                    │
│et_label  │Étiquettes adresses pour les établissements                        │
│gr_c_gr   │Liste des Grades (Tri : gr.c_gr)                                   │
│gr_l_gr   │Liste des Grades (Tri : gr.l_gr_min)                               │
│label_et  │Étiquettes adresses pour les établissements                        │
│requete   │Créer la séquence d'échappement -> imprimer résultat requête écran │
│SYSTABLES │Liste des tables                                                   │
│TABLES_mon│Tables et leurs attributs de la BDD mon (OCEAN)                    │
└──────────┴───────────────────────────────────────────────────────────────────┘

┌──────────┬───────────────────────────────────────────────────────────────────┐
│ace_ec    │               LISTE ALPHABÉTIQUE DES ÉDITIONS Ex&Co               │
├──────────┼───────────────────────────────────────────────────────────────────┤
│bilan_cec │Bilan exhaustif des candidatures                                   │
│cec_arrete│Liste des admis par ordre de mérite pour les arrêtes               │
│gr_c_gr   │Liste des Grades (Tri : gr.c_gr)                                   │
│gr_l_gr   │Liste des Grades (Tri : gr.l_gr_min)                               │
│mj_arrete │Arrêté composition du jury                                         │
└──────────┴───────────────────────────────────────────────────────────────────┘

┌──────────┬───────────────────────────────────────────────────────────────────┐
│ace_ec_n  │               LISTE ALPHABÉTIQUE DES ÉDITIONS Ex&Co               │
├──────────┼───────────────────────────────────────────────────────────────────┤
│cec_arrete│Liste des admis par ordre de mérite pour les arrêtes               │
│mj_arrete │Arrêté composition du jury                                         │
└──────────┴───────────────────────────────────────────────────────────────────┘

┌──────────┬───────────────────────────────────────────────────────────────────┐
│ace_1     │               LISTE ALPHABÉTIQUE DES ÉDITIONS Ex&Co               │
├──────────┼───────────────────────────────────────────────────────────────────┤
│0_confirme│Convocations des candidats                                         │
│0_liste   │Pré-inscriptions minitel : liste [A]lphabétique / [C]hronologique  │
│0_pieces  │Demande de pièces manquantes                                       │
│0_refus   │Refus d'autorisation de concourir                                  │
│0_synopsis│Etat synoptique des pré-inscriptions                               │
│1_avis    │Avis de la commission de sélection                                 │
│1_confirme│Convocations des candidats                                         │
│1_liste   │Pré-inscriptions minitel : liste [A]lphabétique / [C]hronologique  │
│1_pieces  │Demande de pièces manquantes                                       │
│1_refus   │Refus d'autorisation de concourir                                  │
│1_synopsis│Etat synoptique des candidatures                                   │
│admis_A   │Liste alphabétique des admissibles au 1er groupe d'épreuves        │
│admissible│Détermination de l'admissibilité des candidats                     │
│AnonyLabel│Étiquettes d'anonymat ("L" pour Label)                             │
│anonymat  │Affectation des Nø d'anonymat                                      │
│anonymat_A│Liste d'anonymat par odre chronologique des numéros d'anonymat     │
│anonymat_L│Étiquettes d'anonymat ("L" pour Label)                             │
│anonymat_P│Liste d'anonymat par ordre des numéros de place                    │
│bilan_1   │Bilan des Notes (Mini, moyenne, maxi, etc...)                      │
│cec_appel │Liste d'appel par centre et par ordre alphabétique                 │
│cec_convoc│Convocations des candidats                                         │
│cec_emarge│Liste d'émargement des candidats aux épreuves d'admissibilité      │
│cec_export│Extraction de données (épreuves d'admissibilité) pour Excel        │
│cec_label │Étiquettes adresses pour les candidats au 1er group d'épreuves     │
│cnd_label │Étiquettes de table OCEAN                                          │
│cnd_table │Edition de l'ensemble des post_it                                  │
│cndTOcec  │Création de candidatures depuis OCEAN                              │
│cndTOpec  │Création de candidats depuis la table "cnd" d'OCEAN                │
│controle  │Liste des options de tous les candidats                            │
│          │et rappel (optionnel) des informations candidats                   │
│excel     │Extraction de données pour Excel (format dBase)                    │
│hf_age_P  │Pyramide des âges des candidats inscrits (confirmés) / admissibles │
│hf_diplome│Répartition des inscrits selon le niveau de diplôme                │
│itrfTOcec │Création de candidatures depuis la table "itrf"                    │
│itrfTOpec │Création de candidats depuis la table "itrf"                       │
│mail_AIX  │Mailing Concours                                                   │
│mail_DOS  │Extraction de données pour mailing avec SPRINT                     │
│minitel   │Liste des admis par ordre de mérite dans le cas ou il y a des admis│
│netTOpim  │Transfert des candidatures internet OCEAN vers la table pim        │
│notes_A   │Liste des Notes pour le 1er groupe d'épreuves (tri : anonymat)     │
│notes_cec │Liste pour la saisie des notes sur place (tri Nø de places/salle  )│
│notes_cnd │Liste des Notes pour le 1er groupe d'épreuves (tri : anonymat)     │
│notes_ea  │Document de saisie manuscrite des notes d'une épreuve              │
│          │Candidats 1er groupe d'épreuves - tri numéro d'ordre des candidats │
│notes_ec  │Liste pour la saisie des notes (TRI : Nø de place)                 │
│notes_M   │Liste des Notes pour le 1er groupe d'épreuves (tri : MERITE)       │
│notes_P   │Liste des Notes pour le 1er groupe d'épreuves (tri : Nø de place)  │
│notif_CP  │Notification de la décision du jury et des notes obtenues          │
│          │(tri selon l'ordre croissant des codes postaux)                    │
│          │- Admissibles 1er  groupe d'épreuves (si 2 groupes d'épreuves)     │
│          │- Présents    2ème groupe d'épreuves (si 1 seul groupe d'épreuves  │
│notif_P   │Notification de la décision du jury et des notes obtenues          │
│          │Admissibles 1er  groupe d'épreuves (si 2 groupes d'épreuves)       │
│          │Présents    2ème groupe d'épreuves (si 1 seul groupe d'épreuves    │
│          │(tri selon l'ordre croissant des places)                           │
│picTOcec  │Création de candidatures depuis la table "pic"                     │
│          │(pic = pré-inscription à confirmer)                                │
│picTOpec  │Création de candidats depuis la table "pic"                        │
│          │(pic = pré-inscription à confirmer)                                │
│pimTOpic  │Importation des pré-inscriptions minitel depuis la table pim       │
│          │(pim = pré-inscription minitel)                                    │
│place_vide│Liste des places libres                                            │
│placement │Placement des candidats                                            │
│post_itALL│Édition de l'ensemble des post_it (Version Ex&Co)                  │
│post_itBDD│Création du fichier "$(LOGNAME).out pour M-à-J de cec.post_it      │
│          │à l'aide du sql "post_itBDD.sql"                                   │
│          │post_itBDD et post_itALL gèrent les places vides                   │
│          │Il est donc de relancer ces traitements                            │
│post_itMaJ│- Impression des POST-IT pour les candidatures ayant été ajoutées  │
│          │  après l'envoi des convocations                                   │
│          │- Cela ne concerne que les candidats dont le Nø de place a été     │
│          │  mis à jour par l'écran MaJ_cec ou par le shell placement avec    │
│          │  l'option : Traitement [R]elatif.                                 │
│          │- Leur Nø de post_it est donc a null.                              │
│          │- Bien que le shell mette à jour le nombre de candidats inscrits,  │
│          │  ll n'est pas inutile de vérifier l'information à l'aide de       │
│          │  l'écran "mise à jour concours", notamment si un candidat à été   │
│          │  supprimé.                                                        │
│          │- Impression également d'éventuels numéros de table "Place libre"  │
│          │  Cas, par exemple, d'une candidature ayant été transférée sur un  │
│          │  autre concours après que le placement ait été effectué, les N°   │
│          │  de table imprimés, les convocations imprimées et envoyées.       │
│POST-ITall│Édition de l'ensemble des post_it (Version OCEAN)                  │
│qcm_export│Extraction de données (épreuves QCM) pour Excel                    │
│recap     │Bilan exhaustif des candidatures                                   │
│sos_convoc│Convocations candidats vierges (épreuves d'admissibilité)          │
└──────────┴───────────────────────────────────────────────────────────────────┘

┌──────────┬───────────────────────────────────────────────────────────────────┐
│ace_1_n   │               LISTE ALPHABÉTIQUE DES ÉDITIONS Ex&Co               │
├──────────┼───────────────────────────────────────────────────────────────────┤
│admis_A   │Liste alphabétique des admissibles au 1er groupe d'épreuves        │
│bilan_1   │Bilan des Notes (Mini, moyenne, maxi, etc...)                      │
│cec_appel │Liste d'appel par centre et par ordre alphabétique                 │
│hf_age_P  │Pyramide des âges des candidats inscrits (confirmés) / admissibles │
│notes_P   │Liste des Notes pour le 1er groupe d'épreuves (tri : Nø de place)  │
│notif_P   │Notification de la décision du jury et des notes obtenues          │
│          │Admissibles 1er  groupe d'épreuves (si 2 groupes d'épreuves)       │
│          │Présents    2ème groupe d'épreuves (si 1 seul groupe d'épreuves    │
│          │(tri selon l'ordre croissant des places)                           │
│recap     │Bilan exhaustif des candidatures                                   │
└──────────┴───────────────────────────────────────────────────────────────────┘

┌──────────┬───────────────────────────────────────────────────────────────────┐
│ace_2     │               LISTE ALPHABÉTIQUE DES ÉDITIONS Ex&Co               │
├──────────┼───────────────────────────────────────────────────────────────────┤
│ADMIS_A   │Liste des admis par ordre alphabétique (numéro d'ordre oral)       │
│ADMIS_E   │Liste d'émargement des candidats admis                             │
│ADMIS_M   │Liste des admis par ordre de mérite                                │
│ADMISSION │Admissibilité à l'issue des épreuves d'admission                   │
│          │d'après les notes minimum définies pour le concours                │
│          │ATTENTION : Ce traitement est suivi d'un SQL qui modifie la Base   │
│BILAN_2   │Bilan des Notes (Mini, moyenne, maxi, etc...)                      │
│BILAN_CE+I│Répartition hommes/femmes selon typologie concours externe/interne │
│          │inscrits, présents, admissibles, inscrits sur LP et LC             │
│C0000_0000│Classement des candidats                                           │
│          │- Ordre de tri : 1. note_total  DESC                               │
│C0000_0100│Classement des candidats                                           │
│          │- Ordre de tri : 1. note_total  DESC,                              │
│          │                 2. note_22c    DESC                               │
│C0000_1000│Classement des candidats                                           │
│          │- Ordre de tri : 1. note_total  DESC,                              │
│          │                 2. note_21c    DESC                               │
│C0000_2010│Classement des candidats                                           │
│          │- Ordre de tri : 1. note_total  DESC,                              │
│          │                 2. note_23c    DESC,                              │
│          │                 3. note_21c    DESC                               │
│C1000_0000│Classement des candidats                                           │
│          │- Ordre de tri : 1. note_total  DESC,                              │
│          │                 2. note_23c    DESC,                              │
│C1000_2000│Classement des candidats                                           │
│          │- Ordre de tri : 1. note_total  DESC,                              │
│          │                 2. note_11c    DESC,                              │
│          │                 3. note_21c    DESC                               │
│C1000_2300│Classement des candidats                                           │
│          │- Ordre de tri : 1. note_total  DESC,                              │
│          │                 2. note_11c    DESC,                              │
│          │                 3. note_21c    DESC,                              │
│          │                 4. note_22c    DESC                               │
│C1200_3000│Classement des candidats                                           │
│          │- Ordre de tri : 1. note_total  DESC,                              │
│          │                 2. note_11c    DESC,                              │
│          │                 3. note_12c    DESC,                              │
│          │                 4. note_21c    DESC                               │
│C1200_3400│Classement des candidats                                           │
│          │- Ordre de tri : 1. note_total  DESC,                              │
│          │                 2. note_11c    DESC,                              │
│          │                 3. note_12c    DESC,                              │
│          │                 4. note_21c    DESC,                              │
│          │                 5. note_22c    DESC                               │
│C2000_1000│Classement des candidats                                           │
│          │- Ordre de tri : 1. note_total  DESC,                              │
│          │                 2. note_21c    DESC,                              │
│          │                 3. note_11c    DESC                               │
│C2300_1000│Classement des candidats                                           │
│          │- Ordre de tri : 1. note_total  DESC,                              │
│          │                 2. note_21c    DESC,                              │
│          │                 3. note_11c    DESC,                              │
│          │                 4. note_12c    DESC                               │
│C2300_1400│Classement des candidats                                           │
│          │- Ordre de tri : 1. note_total  DESC,                              │
│          │                 2. note_21c    DESC,                              │
│          │                 3. note_11c    DESC,                              │
│          │                 4. note_12c    DESC,                              │
│          │                 5. note_22c    DESC                               │
│C2340_1000│Classement des candidats                                           │
│          │- Ordre de tri : 1. note_total  DESC,                              │
│          │                 2. note_21c    DESC,                              │
│          │                 3. note_11c    DESC,                              │
│          │                 4. note_12c    DESC,                              │
│          │                 5. note_13c    DESC                               │
│C3000_1200│Classement des candidats                                           │
│          │- Ordre de tri : 1. note_total  DESC,                              │
│          │                 2. note_21c    DESC,                              │
│          │                 3. note_22c    DESC,                              │
│          │                 4. note_11c    DESC                               │
│C3200_1000│Classement des candidats                                           │
│          │- Ordre de tri : 1. note_total  DESC,                              │
│          │                 2. note_21c    DESC,                              │
│          │                 3. note_12c    DESC,                              │
│          │                 4. note_11c    DESC                               │
│C3400_1200│Classement des candidats                                           │
│          │- Ordre de tri : 1. note_total  DESC,                              │
│          │                 2. note_21c    DESC,                              │
│          │                 3. note_22c    DESC,                              │
│          │                 4. note_11c    DESC,                              │
│          │                 5. note_12c    DESC                               │
│CEC_APPEL │Liste d'appel par centre et par ordre alphabétique                 │
│CEC_BILAN │Statistiques annuelles pour le Ministère (Candidats)               │
│CEC_CONVOC│Convocations des candidats                                         │
│CEC_EMARGE│Liste d'émargement des candidats aux épreuves d'admission          │
│          │(tri sur l'heure de début d'épreuve)                               │
│CEC_MAIL  │Extraction de données pour mailing avec SPRINT                     │
│cecTOdec  │Exportation des bilans DEC (Direction Examens-Concours)            │
│CLASSEMENT│Classement des candidats (idem C0000_0000)                         │
│          │- Ordre de tri : 1. note_total  DESC                               │
│CND_APPEL │Liste d'appel par centre et par ordre alphabétique                 │
│CND_CONVOC│Convocations des candidats                                         │
│CND_EMARGE│Liste d'émargement des candidats aux épreuves d'admission          │
│          │(tri sur l'heure de début d'épreuve)                               │
│CND_NOTE_C│Document de saisie manuscrite des notes d'une épreuve              │
│          │pour les candidats admissibles au 2ème groupe d'épreuve            │
│          │- Tri selon l'heure de passage des candidats (table CEA)           │
│          │- Saut de page / jury                                              │
│CND_PJ    │Renseignement des N° de jury et des N° de passage                  │
│          │à partir des heures de passage d'OCEAN                             │
│CND_PLAN_A│Planning alphabétique (saut de page par épreuve-option-d_épreuve)  │
│CND_PLAN_J│Planning oral (tri sur l'heure de passage - saut de page / jury)   │
│CND_PLAN_P│Planning oral (tri sur l'heure de passage - saut de page / passage)│
│cnd_table │Étiquettes de table OCEAN                                          │
│CONTRÔLE  │Liste des options de tous les candidats                            │
│          │et rappel (optionnel) des informations candidats                   │
│CP_JURY   │Modification des numéros de passage pour un jury, après création   │
│          │d'un planning d'une journée sur le modèle d'une journée référence  │
│          │- La création (par sql) évite de ressaisir les horaire             │
│          │  mais ne peut implémenter les numéros de passage                  │
│CREATE_CEA│Création des candidatures à une épreuve orale                      │
│EXCEL     │Extraction de données pour Excel                                   │
│HF_ADMIS_1│Totalisations pour les bilans du Ministère                         │
│HF_ADMIS_2│Totalisations pour les bilans du Ministère                         │
│HF_AGE    │Répartition H/F des inscrits sur LP et LC par tranche d'âge        │
│HF_AGE_P  │Pyramide des âges des candidats admis sur la liste principale      │
│          │                                      sur la liste complémentaire  │
│HF_CE+CI  │Répartition hommes/femmes selon typologie concours externe/interne │
│          │inscrits, présents, admissibles, inscrits sur LP et LC             │
│HF_DIPLOME│Répartition des inscrits sur LP et LC selon le niveau de diplôme   │
│HF_DIVERS │Répartition hommes/femmes des inscrits, présents, admissibles,     │
│          │                          des inscrits sur LP et LC                │
│HF_JURY   │Répartition hommes/femmes et par niveaux hiérarchiques             │
│          │- des membres    de jury                                           │
│          │- des présidents de jury                                           │
│HF_ORIGINE│Répartition des inscrits sur LP et LC selon l'origine des candidats│
│MAIL_AIX  │Mailing Concours                                                   │
│MAIL_DOS  │Extraction de données pour mailing avec SPRINT                     │
│MINITEL   │Liste des admis par ordre de mérite ans le cas ou il y a des admis │
│NOTES_A   │Liste des Notes pour le 2ème groupe d'épreuves                     │
│          │Tri : ordre alphabétique -> cec_ordre_oral ASC                     │
│          │GROUPE = (2) - le 2ème groupe  d'épreuves + épreuves facultatives  │
│          │         (T) - les  2  groupes d'épreuves + épreuves facultatives  │
│NOTES_CEA │Document de saisie manuscrite des notes d'une épreuve              │
│          │pour les candidats admissibles au 2ème groupe d'épreuve            │
│          │- Tri selon l'heure de passage des candidats (table CEA)           │
│          │- Saut de page / jury                                              │
│NOTES_EA  │Document de saisie manuscrite des notes d'une épreuve              │
│          │pour les candidats admis au 2ème groupe d'épreuves                 │
│          │(Tri selon le numéro d'ordre oral des candidats)                   │
│NOTES_EC  │Document de saisie manuscrite des notes de toutes les épreuves     │
│          │pour les candidats admis au 2ème groupe d'épreuves                 │
│          │(Tri selon le numéro d'ordre oral des candidats)                   │
│NOTES_JO  │Liste des Notes pour le 2ème groupe d'épreuves                     │
│          │TRI : Nø de jury d'oral                                            │
│          │      Nø d'ordre oral                                              │
│          │GROUPE = (2) - le 2ème groupe  d'épreuves                          │
│          │         (T) - les  2  groupes d'épreuves                          │
│NOTES_M2  │Liste des Notes pour le 2ème groupe d'épreuves                     │
│          │Tri : ordre de mérite note d'admission                             │
│          │      cec_liste      DESC,                                         │
│          │      cec_admis_2    DESC,                                         │
│          │      cec_note_2     DESC,                                         │
│          │      cec_ordre_oral ASC                                           │
│          │(2) - le  2ème groupe  d'épreuves + épreuves facultatives          │
│          │(T) - les 2    groupes d'épreuves + épreuves facultatives          │
│NOTES_MA  │Liste des Notes pour le 2ème groupe d'épreuves                     │
│          │TRI : Liste principale     = mérite                                │
│          │      Liste complémentaire = mérite                                │
│          │      Non retenus          = ordre oral                            │
│          │      -> cec_admis_2    DESC,                                      │
│          │      -> cec_liste      DESC,                                      │
│          │      -> cec_rang       ASC,                                       │
│          │      -> cec_ordre_oral ASC                                        │
│          │GROUPE = [2] -> 2ème groupe  d'épreuves + épreuves facultatives    │
│          │       = [T] -> deux groupes d'épreuves + épreuves facultatives    │
│NOTES_MM  │Liste des Notes pour le 2ème groupe d'épreuves                     │
│          │TRI : Liste principale     = mérite                                │
│          │      Liste complémentaire = mérite                                │
│          │      Non retenus          = mérite                                │
│          │      -> cec_liste      DESC,                                      │
│          │      -> cec_rang       ASC,                                       │
│          │      -> cec_note_total DESC,                                      │
│          │      -> cec_admis_2    DESC,                                      │
│          │      -> cec_ordre_oral ASC                                        │
│          │GROUPE = [2] -> 2ème groupe  d'épreuves + épreuves facultatives    │
│          │       = [T] -> deux groupes d'épreuves + épreuves facultatives    │
│NOTIF_M   │Notification de la décision du jury et des notes obtenues          │
│          │Admissibles 1er  groupe d'épreuves (si 2 groupes d'épreuves)       │
│          │Présents    2ème groupe d'épreuves (si 1 seul groupe d'épreuves)   │
│          │- tri selon l'ordre de mérite (liste des notes)                    │
│NOTIF_N   │Notification de la décision du jury et des notes obtenues          │
│          │Admissibles 1er  groupe d'épreuves (si 2 groupes d'épreuves)       │
│          │Présents    2ème groupe d'épreuves (si 1 seul groupe d'épreuves)   │
│          │- tri selon la place ou l'ordre oral)                              │
│ORDRE_ORAL│Ordre oral des candidats                                           │
│PJ        │Affectation de l'ordre oral des candidats au planning d'un jury    │
│          │pour permettre l'organisation du passage des candidats en          │
│          │s'appuyant sur le planning jury.                                   │
│          │                                                                   │
│          │[V]ertical : les candidats sont   ┌Passage┐┌Jury 1┬Jury 2┬Jury 3┐  │
│          │repartis selon leur ordre oral    │   1   ││   1  │   4  │   7  │  │
│          │verticalement dans le planning    │   2   ││   2  │   5  │   8  │  │
│          │du jury comme indiquÚ ci-contre.  │   3   ││   3  │   6  │   9  │  │
│          │                                  └───────┘└──────┴──────┴──────┘  │
│          │[H]orizontal : les candidats sont ┌Passage┐┌Jury 1┬Jury 2┬Jury 3┐  │
│          │répartis selon leur ordre oral    │   1   ││   1  ┼>  2  ┼>  3  ┤  │
│          │horizontalement dans le planning  │   2   │├>  4  ┼>  5  ┼>  6  ┤  │
│          │du jury comme indique ci-contre.  │   3   │├>  7  ┼>  8  ┼>  9  │  │
│          │                                  └───────┘└──────┴──────┴──────┘  │
│          │Il est possible d'exécuter deux fois le shell :                    │
│          │- la première fois pour une affectation chronologique verticale    │
│          │  ou horizontale (cela évite d'avoir à saisir l'ordre oral dans    │
│          │  l'écran de création du planning jury).                           │
│          │- une deuxième fois après être intervenu sur l'ordre oral du       │
│          │  planning jury pour echanger par exemple deux candidats.          │
│          │  (=> Répartition [E]xplicite).                                    │
│          │  Tri du planning : - jury                                         │
│          │                    - passage                                      │
│PLANNING_A│Planning alphabétique (saut de page par épreuve-option-d_épreuve)  │
│          │p_order_by = [I] => Tri alphabétique [I]ntégral (rupture c_et)     │
│          │p_order_by = [J] => Tri alphabétique [J]ournée  (rupture option)   │
│PLANNING_J│PLANNING ORAL (tri heure de passage)-(saut de page par jury)       │
│PLANNING_P│PLANNING ORAL (tri heure de passage)-(saut de page par passage)    │
│POST_ITall│Édition de l'ensemble des post_it                                  │
│POST_ITbdd│Création du fichier "$(LOGNAME).out"                               │
│          │pour mise à jour de l'information cea.post_it                      │
│          │à l'aide du sql "POST_ITbdd.sql"                                   │
│          │- L'édition des post_it s'effectue à l'aide du shell "POST_ITall"  │
│          │- POST_ITbdd et POST_ITall gèrent les places vides.                │
│          │  Il est donc possible de relancer éventuellement cette chaine.    │
│POST_ITmaj│- Impression des POST-IT pour les candidatures ayant été ajoutées  │
│          │  après l'envoi des convocations.                                  │
│          │- Cela ne concerne que les candidats dont le Nø de place a été     │
│          │  mis à jour par l'écran MaJ_cec ou par le shell placement avec    │
│          │  l'option : Traitement [R]elatif.                                 │
│          │- Leur Nø de post_it est donc a null.                              │
│          │- Bien que le shell mette à jour le nombre de candidats inscrits,  │
│          │  ll n'est pas inutile de vérifier l'information à l'aide de       │
│          │  l'écran "mise à jour concours", notamment si un candidat à été   │
│          │  supprimé.                                                        │
│          │- Impression également d'éventuels numéros de table "Place libre"  │
│          │  Cas, par exemple, d'une candidature ayant été transférée sur un  │
│          │  autre concours après que le placement ait été effectué, les N°   │
│          │  de table imprimés, les convocations imprimées et envoyées.       │
│QJO_EXPORT│Extraction de données (épreuves d'admissibilité) pour Excel        │
└──────────┴───────────────────────────────────────────────────────────────────┘

┌──────────┬───────────────────────────────────────────────────────────────────┐
│ace_2_n   │               LISTE ALPHABÉTIQUE DES ÉDITIONS Ex&Co               │
├──────────┼───────────────────────────────────────────────────────────────────┤
│ADMIS_A   │Liste des admis par ordre alphabétique (numéro d'ordre oral)       │
│ADMIS_M   │Liste des admis par ordre de mérite                                │
│BILAN_2   │Bilan des Notes (Mini, moyenne, maxi, etc...)                      │
│CEC_EMARGE│Liste d'émargement des candidats aux épreuves d'admission          │
│          │(tri sur l'heure de début d'épreuve)                               │
│cecTOdec  │Exportation des bilans DEC                                         │
│HF_ADMIS_1│Totalisations pour les bilans du Ministère                         │
│HF_ADMIS_2│Totalisations pour les bilans du Ministère                         │
│HF_AGE    │Répartition H/F des inscrits sur LP et LC par tranche d'âge        │
│HF_AGE_P  │Pyramide des âges des candidats admis sur la liste principale      │
│          │                                      sur la liste complémentaire  │
│HF_CE+CI  │Répartition hommes/femmes selon typologie concours externe/interne │
│          │inscrits, présents, admissibles, inscrits sur LP et LC             │
│HF_DIPLOME│Répartition des inscrits sur LP et LC selon le niveau de diplôme   │
│HF_DIVERS │Répartition hommes/femmes des inscrits, présents, admissibles,     │
│          │                          des inscrits sur LP et LC                │
│HF_ORIGINE│Répartition des inscrits sur LP et LC selon l'origine des candidats│
│BILAN_mj  │Statistiques annuelles pour le Ministère (Membres du jury)         │
│NOTES_A   │Liste des Notes pour le 2ème groupe d'épreuves                     │
│          │Tri : ordre alphabétique -> cec_ordre_oral ASC                     │
│          │GROUPE = (2) - le 2ème groupe  d'épreuves + épreuves facultatives  │
│          │         (T) - les  2  groupes d'épreuves + épreuves facultatives  │
│NOTES_CEA │Document de saisie manuscrite des notes d'une épreuve              │
│          │pour les candidats admissibles au 2ème groupe d'épreuve            │
│          │- Tri selon l'heure de passage des candidats (table CEA)           │
│          │- Saut de page / jury                                              │
│NOTES_EA  │Document de saisie manuscrite des notes d'une épreuve              │
│          │pour les candidats admis au 2ème groupe d'épreuves                 │
│          │(Tri selon le numéro d'ordre oral des candidats)                   │
│NOTES_EC  │Document de saisie manuscrite des notes de toutes les épreuves     │
│          │pour les candidats admis au 2ème groupe d'épreuves                 │
│          │(Tri selon le numéro d'ordre oral des candidats)                   │
│NOTES_JO  │Liste des Notes pour le 2ème groupe d'épreuves                     │
│          │TRI : Nø de jury d'oral                                            │
│          │      Nø d'ordre oral                                              │
│          │GROUPE = (2) - le 2ème groupe  d'épreuves                          │
│          │         (T) - les  2  groupes d'épreuves                          │
│NOTES_M2  │Liste des Notes pour le 2ème groupe d'épreuves                     │
│          │Tri : ordre de mérite note d'admission                             │
│          │      cec_liste      DESC,                                         │
│          │      cec_admis_2    DESC,                                         │
│          │      cec_note_2     DESC,                                         │
│          │      cec_ordre_oral ASC                                           │
│          │(2) - le  2ème groupe  d'épreuves + épreuves facultatives          │
│          │(T) - les 2    groupes d'épreuves + épreuves facultatives          │
│NOTES_MA  │Liste des Notes pour le 2ème groupe d'épreuves                     │
│          │TRI : Liste principale     = mérite                                │
│          │      Liste complémentaire = mérite                                │
│          │      Non retenus          = ordre oral                            │
│          │      -> cec_admis_2    DESC,                                      │
│          │      -> cec_liste      DESC,                                      │
│          │      -> cec_rang       ASC,                                       │
│          │      -> cec_ordre_oral ASC                                        │
│          │GROUPE = [2] -> 2ème groupe  d'épreuves + épreuves facultatives    │
│          │       = [T] -> deux groupes d'épreuves + épreuves facultatives    │
│NOTES_MM  │Liste des Notes pour le 2ème groupe d'épreuves                     │
│          │TRI : Liste principale     = mérite                                │
│          │      Liste complémentaire = mérite                                │
│          │      Non retenus          = mérite                                │
│          │      -> cec_liste      DESC,                                      │
│          │      -> cec_rang       ASC,                                       │
│          │      -> cec_note_total DESC,                                      │
│          │      -> cec_admis_2    DESC,                                      │
│          │      -> cec_ordre_oral ASC                                        │
│          │GROUPE = [2] -> 2ème groupe  d'épreuves + épreuves facultatives    │
│          │       = [T] -> deux groupes d'épreuves + épreuves facultatives    │
│NOTIF_M   │Notification de la décision du jury et des notes obtenues          │
│          │Admissibles 1er  groupe d'épreuves (si 2 groupes d'épreuves)       │
│          │Présents    2ème groupe d'épreuves (si 1 seul groupe d'épreuves)   │
│          │- tri selon l'ordre de mérite (liste des notes)                    │
│NOTIF_N   │Notification de la décision du jury et des notes obtenues          │
│          │Admissibles 1er  groupe d'épreuves (si 2 groupes d'épreuves)       │
│          │Présents    2ème groupe d'épreuves (si 1 seul groupe d'épreuves)   │
│          │- tri selon la place ou l'ordre oral)                              │
└──────────┴───────────────────────────────────────────────────────────────────┘

┌──────────┬───────────────────────────────────────────────────────────────────┐
│ace_mj    │                              OBJETS                               │
├──────────┼───────────────────────────────────────────────────────────────────┤
│HF_JURY   │Répartition hommes/femmes et par niveaux hiérarchiques             │
│          │- des membres    de jury                                           │
│          │- des présidents de jury                                           │
│HF_JURY_lp│Répartition hommes/femmes et par niveaux hiérarchiques             │
│          │- des membres    de jury                                           │
│          │- des présidents de jury                                           │
│          ├───────────────────────────┬┬─────────────┬─────────────┬──────────┤
│          │           Bilans          ││Membres jury │Président(e) │          │
│          │        du Ministère       │├──────┬──────┼──────┬──────┤  Niveau  │
│          │  par niveau hiérarchique  ││Hommes│Femmes│Hommes│Femmes│          │
│          ├───────────────────────────┼┼──────┼──────┼──────┼──────┼──────────┤
│          │Emplois de direction       ││[    ]│[    ]│[    ]│[    ]│  A  (1)  │
│          │Emplois d'Administrateur   ││[    ]│[    ]│[    ]│[    ]│  A  (2)  │
│          │Emplois d'attaché          ││[    ]│[    ]│[    ]│[    ]│  A  (3)  │
│          ├───────────────────────────┼┼──────┼──────┼──────┼──────┼──────────┤
│          │Agents publics de niveau A ││[    ]│[    ]│[    ]│[    ]│  A       │
│          ├───────────────────────────┼┼──────┼──────┼──────┼──────┼──────────┤
│          │Agents publics de niveau B ││[    ]│[    ]│[    ]│[    ]│  B  (5)  │
│          ├───────────────────────────┼┼──────┼──────┼──────┼──────┼──────────┤
│          │Agents publics de niveau C ││[    ]│[    ]│[    ]│[    ]│  C  (5)  │
│          ├───────────────────────────┼┼──────┼──────┼──────┼──────┼──────────┤
│          │Autres                     ││[    ]│[    ]│[    ]│[    ]│  D  (6)  │
│          ├───────────────────────────┴┴──────┴──────┴──────┴──────┴──────────┤
│mj_bilan  │Statistiques annuelles pour le Ministère (Membres du jury)         │
│mj_convoc │Convocations des membres du jury                                   │
│mj_emarge │Liste d'émargement des membres du jury                             │
│MJ_ITEM   │Création du destinataire (N°, nom, prénom) pour affichage          │
│mj_label  │Étiquettes adresses pour l'envoi des demandes de sujets            │
│MJ_LIST   │Mailing-list des membres du jury à convoquer par E.mail            │
│mj_liste  │Liste des membres du jury par ordre alphabétique                   │
│MJ_MAIL   │Création de l'adresse e-mail du destinataire                       │
│mj_mandat │Note de mandatement                                                │
│MJ_MSG    │Création du message pour l'envoi des convocations par e-mail       │
│mj_nh+hf  │Répartition hommes/femmes des membres du jury                      │
│          │                          des présidents de jury                   │
│MJ_sh     │Impression de l'écran "sh" pour confirmation de l'E-mailing réel   │
├──────────┴──────────────┬Ex&Co───────┐┌────Traitement────────────┐┌Logname───┤
│Validation     [        ]│[          ]┘└[ ][                     ]┘└[        ]┤
│Convoc. mailing[        ]│[                                                  ]│
│O.M.    mailing[        ]│[                                                  ]│
│Accueil mailing[        ]│[                                                  ]│
│Premier jour   [        ]│[                                                  ]│
├─────────────────────────┼────────────────────────────────────────────────────┤
│Validation     [        ]│                                                    │
│Date    mailing[        ]│[        SUIVI HISTORIQUE DES CONVOCATIONS         ]│
│Heure   mailing[        ]│                                                    │
├─────────────────────────┼────────────────────────────────────────────────────┤
│Mailing + courrier [    ]│┌N°───┐┌M..┐┌Nom - Prénom────────┐    ┌Pièce jointe┐│
│                         │[     ][   ][                    ]    │   [   ]    ││
│Mailing prévu      [    ]│            [                    ]    └────────────┘│
│Mailing traité     [    ]│┌Établ.──┐  ┌Établissement─────────────────────────┐│
│Mailing envoyé     [    ]│[        ]  [                                      ]│
│Mailing aborté     [    ]│            [     ] [                              ]│
│                         ├────────────────────────────────────────────────────┤
│Courrier           [    ]│(Mailing + Courrier) - Mailing prévu                │
├──────────┬──────────────┴────────────────────────────────────────────────────┤
│mj_sujets │Demande de sujets                                                  │
│mj_tj     │Liste des travaux des membres du jury                              │
│se_centre │Liste d'émargement des surveillants par centre                     │
│se_convoc │Convocation des chefs de salle (épreuves d'admissibilité)          │
│se_liste  │Liste des surveillants                                             │
└──────────┴───────────────────────────────────────────────────────────────────┘

┌──────────┬───────────────────────────────────────────────────────────────────┐
│ace_mj_n  │                              OBJETS                               │
├──────────┼───────────────────────────────────────────────────────────────────┤
│HF_JURY   │Répartition hommes/femmes et par niveaux hiérarchiques             │
│          │- des membres    de jury                                           │
│          │- des présidents de jury                                           │
│HF_JURY_lp│Répartition hommes/femmes et par niveaux hiérarchiques             │
│          │- des membres    de jury                                           │
│          │- des présidents de jury                                           │
│          ├───────────────────────────┬┬─────────────┬─────────────┬──────────┤
│          │           Bilans          ││Membres jury │Président(e) │          │
│          │        du Ministère       │├──────┬──────┼──────┬──────┤  Niveau  │
│          │  par niveau hiérarchique  ││Hommes│Femmes│Hommes│Femmes│          │
│          ├───────────────────────────┼┼──────┼──────┼──────┼──────┼──────────┤
│          │Emplois de direction       ││[    ]│[    ]│[    ]│[    ]│  A  (1)  │
│          │Emplois d'Administrateur   ││[    ]│[    ]│[    ]│[    ]│  A  (2)  │
│          │Emplois d'attaché          ││[    ]│[    ]│[    ]│[    ]│  A  (3)  │
│          ├───────────────────────────┼┼──────┼──────┼──────┼──────┼──────────┤
│          │Agents publics de niveau A ││[    ]│[    ]│[    ]│[    ]│  A       │
│          ├───────────────────────────┼┼──────┼──────┼──────┼──────┼──────────┤
│          │Agents publics de niveau B ││[    ]│[    ]│[    ]│[    ]│  B  (5)  │
│          ├───────────────────────────┼┼──────┼──────┼──────┼──────┼──────────┤
│          │Agents publics de niveau C ││[    ]│[    ]│[    ]│[    ]│  C  (5)  │
│          ├───────────────────────────┼┼──────┼──────┼──────┼──────┼──────────┤
│          │Autres                     ││[    ]│[    ]│[    ]│[    ]│  D  (6)  │
│          ├───────────────────────────┴┴──────┴──────┴──────┴──────┴──────────┤
│mj_convoc │Convocations des membres du jury                                   │
│mj_emarge │Liste d'émargement des membres du jury                             │
│mj_label  │Étiquettes adresses pour l'envoi des demandes de sujets            │
│mj_liste  │Liste des membres du jury par ordre alphabétique                   │
│mj_mandat │Note de mandatement                                                │
│mj_sujets │Demande de sujets                                                  │
│MJ_TJ     │Liste des travaux des membres du jury (pour EXCEL)                 │
└──────────┴───────────────────────────────────────────────────────────────────┘

Liste chronologique des fonctionnalités

Application OSMOSE (Formation Continue)

Cette liste a fait l'objet d'un Billet dans le chapitre consacré aux bonnes pratiques de développement pour illustrer l'amélioration incrémentale « just-in-time ».

4. Les utilitaires

Progressivement, chacun organise et constitue sa petite boîte à outils. Parmi ces outils, dans un environnement « Unix/Informix », on peut citer des utilitaires de compilation d’écrans, de vues, d’états, des modèles de shells, de requêtes SQL, des outils de conversion de caractères, etc.

ATTENTION : les outils de conversion de caractères sont proposés à titre d'information. Transférés du monde AIX (caractères ISO) vers le monde Windows (caractères ASCII) puis de Windows vers ce Billet, l'affichage des caractères à convertir est très incertain.

Shell de compilation de l’ensemble des écrans

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# compile_per

SMSO=`tput smso`
RMSO=`tput rmso`
BLINK=`tput blink`

compile()
{
for i in `ls ${NOM}.per 2>/dev/null`
do CPT=`expr $CPT + 1`
   echo "Compilation de $i" > `tty`
   sformbld $i
   if [ $? -ne 0 ]
   then echo "Erreur lors de la compilation de $i !!!" > `tty`
        LISTE_ERR="$LISTE_ERR\n$i"
   else CPT_OK=`expr $CPT_OK + 1`
   fi
done
return
}

LISTE_ERR=""
export LISTE_ERR
clear
echo ""$SMSO"Utilitaire de compilation des écrans"$RMSO"\n\n"

while true
do echo "Répertoire source ("$BLINK"[Return]=../isql"$RMSO") : \c"
read REP
if [ "$REP" = "" ]
then REP=../isql
fi
tput cup 3 39
echo $REP
if [ ! -d "$REP" ]
then echo "Répertoire $REP inexistant !!!"
     continue
else break
fi
done

cd $REP
if [ $? -ne 0 ]
then echo "Impossible de se positionner sous $REP"
     exit
fi
echo "\n"$BLINK"Syntaxe unix sans l'extension [.per], [Return]=Tout"$RMSO""
echo "Nom des écrans à compiler : \c"
read NOM
if [ "$NOM" = "" ]
then NOM=*
fi
echo ""
export CPT=0
export CPT_OK=0
compile 1>trace.$$ 2>&1

echo "\n\nNombre d'écrans à compiler           : $CPT"
# echo "Nombre d'écrans compilés avec succès : `ls ${NOM}.frm  2>/dev/null | wc -l` "
echo "Nombre d'écrans compilés avec succÞs : $CPT_OK"
echo "\nListe des écrans non compilées       : \n$LISTE_ERR"
echo ""
echo $LISTE_ERR > per.err.$$
echo "Fichier liste : per.err.$$"
echo "Fichier trace : trace.$$\n\n"

Shell de compilation de l’ensemble des vues

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# compile_view

SMSO=`tput smso`
RMSO=`tput rmso`
BLINK=`tput blink`

compile()
{
for i in `ls view_${NOM}.sql 2>/dev/null`
do CPT=`expr $CPT + 1`
   echo "Compilation de view_$i" > `tty`

   cp ../bull/isql_view .

ed - "isql_view" << !
,s/VIEW/$i/g
,s/\.sql//g
w
q
!

   chmod 770 isql_view

   ../isql/isql_view

   if [ $? -ne 0 ]
   then echo "Erreur lors de la compilation de view_$i !!!" > `tty`
        LISTE_ERR="$LISTE_ERR\nview_$i"
   else CPT_OK=`expr $CPT_OK + 1`
   fi
done

return
}

LISTE_ERR=""
export LISTE_ERR
clear
echo ""$SMSO"Utilitaire de compilation des vues"$RMSO"\n\n"

while true
do echo "Répertoire source ("$BLINK"[Return]=../isql"$RMSO") : \c"

read REP

if [ "$REP" = "" ]
then REP=../isql
fi

tput cup 3 39
echo $REP

if [ ! -d "$REP" ]
then echo "Répertoire $REP inexistant !!!"
     continue
else break
fi

done

cd $REP

if [ $? -ne 0 ]
then echo "Impossible de se positionner sous $REP"
     exit
fi

echo ""
echo ""$BLINK"Syntaxe UNIX sans préfixe [view_], ni extension [.sql], [Return]=Tout"$RMSO""
echo "Nom des vues à compiler : \c"
read NOM

if [ "$NOM" = "" ]
then NOM=\*
fi

export CPT=0
export CPT_OK=0

compile 1>trace.$$ 2>&1

echo "\n\nNombre de vues à compiler           : $CPT"
# echo "Nombre de vues compilées avec succès : `ls ${NOM}.sql 2>/dev/null | wc -l` "
echo "Nombre de vues compilées avec succès : $CPT_OK"
echo "\nListe des vues non compilées         : \n$LISTE_ERR"
echo ""
echo $LISTE_ERR > view.err.$$
echo "Fichier liste : view.err.$$"
echo "Fichier trace :   trace.$$\n\n"

Shell de compilation de l’ensemble des éditions

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# compile_ace

SMSO=`tput smso`
RMSO=`tput rmso`
BLINK=`tput blink`

compile()
{
for i in `ls ${NOM}.ace 2>/dev/null`
do CPT=`expr $CPT + 1`
   echo "Compilation de $i" > `tty`
   saceprep $i
   if [ $? -ne 0 ]
   then echo "Erreur lors de la compilation de $i !!!" > `tty`
        LISTE_ERR="$LISTE_ERR\n$i"
   else CPT_OK=`expr $CPT_OK + 1`
   fi
done
return
}

LISTE_ERR=""
export LISTE_ERR
clear
echo ""$SMSO"Utilitaire de compilation des états"$RMSO"\n\n"

while true
do echo "Répertoire source : \c"
read REP
if [ ! -d "$REP" ]
then echo "Répertoire $REP inexistant !!!"
     continue
else break
fi
done

cd $REP
if [ $? -ne 0 ]
then echo "Impossible de se positionner sous $REP"
     exit
fi
echo ""$BLINK"Syntax unix sans l'extension [.ace], [Return]=Tout"$RMSO""
echo "Nom des états à compiler : \c"
read NOM
if [ "$NOM" = "" ]
then NOM=*
fi
export CPT=0
export CPT_OK=0
compile 1>trace.$$ 2>&1

echo "\n\nNombre d'états à compiler           : $CPT"
# echo "Nombre d'états compilés avec succès : `ls ${NOM}.arc  2>/dev/null | wc -l` "
echo "Nombre d'états compilés avec succès : $CPT_OK"
echo "\nListe des états non compilés        : \n$LISTE_ERR"
echo ""
echo $LISTE_ERR > ace.err.$$
echo "Fichier liste : ace.err.$$"
echo "Fichier trace :   trace.$$\n\n"

Shell DBEXPORT

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
{------------------------------------------------------------------------------}
{
DBEXPORT

-> Shell à exécuter 

Il y a lieu de :

1. Être seul utilisateur

2. Paramétrer DBDATE=DMY4/

3. Se positionner sur le répertoire où doit être créé le fichier d'exportation
   ../tmp

4. Supprimer le fichier osmose.out s'il existe

5. Supprimer le répertoire ../tmp/dbexport.exp s'il existe

6. Taper la commande : dbexport osmose

   -> Le fichier osmose.out sera créé
      Les deux dernières lignes de ce fichier sont les suivantes :
      - dbexport completed
      - une ligne vierge

   -> Le répertoire ../tmp/dbexport.exp sera créé
      Ce répertoire contiendra :
      - toutes les tables "unloadées" et suffixées ".unl"
      - le fichier "osmose.sql"
        identique au fichier ../tmp/osmose.out sans ses deux dernières lignes
}
{------------------------------------------------------------------------------}
{
DBDATE=DMY4/
export DBDATE

cd /osmose/osmose/tmp

dbexport osmose
}
{------------------------------------------------------------------------------}

Shell de création du device pour imprimante en connexion directe sur le système

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# create_queue

# création du device pour imprimante en connexion directe sur le système

mkdev -l HP106 -c printer  -t 'hplj-4+' -s 'rs232' -p 'sa3' -w '3'

# création de la queue associée

/usr/lib/lpd/pio/etc/piomkpq -A 'local' -p 'hplj-4+'  -d 'HP106' -D pcl -q 'HP106'

# exemple pour reparamétrer la queue au format A4

/usr/lib/lpd/pio/etc/piochpq -q 'HP106' -d 'HP106' -a s1='4' -a s2='4' -a s7='4' -a s0='4'

[table="class: outer_border, align: left"]
[tr]
	[td]
I-2.4. Documentation développeur

SQL dbschema.sql

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
{------------------------------------------------------------------------------}
{
dbschema.sql

1. -> Shell à exécuter :

cd /osmose/osmose
dbschema -d /osmose/osmose osmose.sql

2. -> Les tables systables.tabtype = "T" sont traitées dans l'ordre suivant :

- systables.tabid,
- systables.tabname

Lorsque dbschema s'interrompt en signalant une erreur comme :

"Item en double pour un index unique"

Il y a lieu de :

1. Lister les tables dans l'ordre où elles sont traitées
   pour repérer la table à traiter qui pose problème c'est-à-dire,
   celle qui suit la dernière table du fichier SQL créée par dbschema (osmose.sql)

   unload to systables.out
   select    systables.tabid,
             systables.tabname
   from      systables
   where     systables.tabtype = "T"
   order by  systables.tabid;

2. - Faire un unload de la table incriminée
   - Droper la table
   - Créer la  table à partir du sql "create_bdd.sql
   - Créer ses index à partir du sql "create_idx.sql
   - Loader depuis le fichier unload précédemment créé
}
{------------------------------------------------------------------------------}
{
cd /osmose/osmose
dbschema -d /osmose/osmose osmose.sql
}
{------------------------------------------------------------------------------}

Outil de traduction

  • des caractères accentués ISO vers ASCII
  • des caractères semi-graphiques doubles en simples
  • des fins de lignes AIX en fins de ligne DOS
  • de convertion du fichier PCL en fichier PDF

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
# isoTOpcl

clear
cat << EOF

Outil de traduction des caractères accentués ISO vers ASCII
                    des caractères semi-graphiques doubles en simples
                    des fins de lignes AIX en fins de ligne DOS
                    de conversion du fichier PCL en fichier PDF

EOF

while true
do echo "répertoire source : \c"
read REP
if [ ! -d "$REP" ]
then echo "Répertoire $REP inexistant !!!"
     continue
else break
fi
done

cd $REP
if [ $? -ne 0 ]
then echo "Impossible de se positionner sous $REP"
     exit
fi
echo "nom des fichiers à convertir (syntaxe unix) : \c"
read NOM
export CPT=0
for i in `ls ${NOM} 2>/dev/null`
do CPT=`expr $CPT + 1`
   echo "Convertion de $i" 

   cat $i | sed -f ../bull/isoTOpcl.sed > $i.pcl

   ../bull/pcl2pdf $i.pcl $i.pdf

   if [ $? -ne 0 ]
   then echo "Erreur lors de la convertion de $i !!!"
        rm -f $i.tmp
   else cp $i.tmp $i
        rm -f $i.tmp
   fi
done

echo "\n\nNombre de fichier(s) converti(s) : $CPT"

# isoTOpcl.sed

# s/$/
/g
# s/à/…/g
# s/â/ƒ/g
# s/é/‚/g
# s/è/Š/g
# s/ë/‰/g
# s/ê/ˆ/g
# s/î/Œ/g
# s/ô/“/g
# s/û/–/g
# s/ç/‡/g
# s/°/ø/g
# s/½/«/g
# s/§//g
# s/³/³/g
# s/´/³/g
# s/µ/³/g
# s/¶/³/g
# s/·/ù/g
# s/¸/ù/g
# s/¹/³/g
# s/º/³/g
# s/»/ù/g
# s/¼/ù/g
# s/½/ù/g
# s/¾/ù/g
# s/¿/ù/g
# s/À/ù/g
# s/Á/Ä/g
# s/Â/Ä/g
# s/Ã/³/g
# s/Ä/Ä/g
# s/Å/ù/g
# s/Æ/³/g
# s/Ç/³/g
# s/È/ù/g
# s/É/ù/g
# s/Ê/Ä/g
# s/Ë/Ä/g
# s/Ì/³/g
# s/Í/Ä/g
# s/Î/ù/g
# s/Ï/Ä/g
# s/Ð/Ä/g
# s/Ñ/Ä/g
# s/Ò/Ä/g
# s/Ó/ù/g
# s/Ô/ù/g
# s/Õ/ù/g
# s/Ö/ù/g
# s/×/ù/g
# s/Ø/ù/g
# s/Ù/ù/g
# s/Ú/ù/g

Outil de traduction des caractères accentués ASCII en caractères accentués ISO :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# asciiTOiso

clear
cat << EOF

Outil de traduction des caractères accentués ASCII en caractères accentués ISO :

        à â ç é è ë ê î ï ô û ° ½ §

        Alt/144 = "E" (Alt/144 -> E accent aigu)
        Alt/254 = "-" (Alt/254 -> puce)
        Alt/249 = "-" (Alt/249 -> Gros point centré)

EOF

while true
do echo "répertoire source : \c"
read REP
if [ ! -d "$REP" ]
then echo "Répertoire $REP inexistant !!!"
     continue
else break
fi
done

cd $REP
if [ $? -ne 0 ]
then echo "Impossible de se positionner sous $REP"
     exit
fi
echo "nom des fichiers à convertir (syntaxe unix) : \c"
read NOM
export CPT=0
for i in `ls ${NOM} 2>/dev/null`
do CPT=`expr $CPT + 1`
   echo "Convertion de $i" 
   cat $i | sed -f ../bull/asciiTOiso.sed > $i.tmp
   if [ $? -ne 0 ]
   then echo "Erreur lors de la convertion de $i !!!"
        rm -f $i.tmp
   else mv $i.tmp $i
   fi
done

echo "\n\nNombre de fichier(s) converti(s) : $CPT"

# asciiTOiso.sed

# s/…/à/g
# s/ƒ/â/g
# s/‡/ç/g
# s/‚/é/g
# s/Š/è/g
# s/ˆ/ê/g
# s/‰/ë/g
# s/Œ/î/g
# s/‹/ï/g
# s/“/ô/g
# s/–/û/g
# s/ø/°/g
# s/«/½/g
# s/ /§/g
# s//E/g
# s/þ/-/g
# s/ù/./g

Outil de traduction des caractères accentués ISO en caractères accentués ASCII

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# isoTOascii

clear
cat << EOF

Outil de traduction des caractères accentués ISO en caractères accentués ASCII

Cette outil traduit dans les fichiers les caractères ISO :

        à â ç é è ê ë î ï ô û ° ½ §

EOF

while true
do echo "répertoire source : \c"
read REP
if [ ! -d "$REP" ]
then echo "Répertoire $REP inexistant !!!"
     continue
else break
fi
done

cd $REP
if [ $? -ne 0 ]
then echo "Impossible de se positionner sous $REP"
     exit
fi
echo "nom des fichiers à convertir (syntaxe unix) : \c"
read NOM
export CPT=0
for i in `ls ${NOM} 2>/dev/null`
do CPT=`expr $CPT + 1`
   echo "Convertion de $i" 
   cat $i | sed -f ../bull/isoTOascii.sed > $i.tmp
   if [ $? -ne 0 ]
   then echo "Erreur lors de la convertion de $i !!!"
        rm -f $i.tmp
   else cp $i.tmp $i
        rm -f $i.tmp
   fi
done

echo "\n\nNombre de fichier(s) converti(s) : $CPT"

# isoTOascii.sed

# s/à/…/g
# s/â/ƒ/g
# s/é/‚/g
# s/è/Š/g
# s/ê/ˆ/g
# s/ë/‰/g
# s/î/Œ/g
# s/ï/‹/g
# s/ô/“/g
# s/û/–/g
# s/ç/‡/g
# s/°/ø/g
# s/½/«/g
# s/§/ /g

Outil de suppression des caractères fin de ligne DOS (CARRIAGE RETURN)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# dtox

clear
cat << EOF

Outil de suppression des caractères fin de ligne DOS (CARRIAGE RETURN)

EOF

while true
do echo "répertoire source : \c"
read REP
if [ ! -d "$REP" ]
then echo "Répertoire $REP inexsistant !!!"
     continue
else break
fi
done

cd $REP
if [ $? -ne 0 ]
then echo "Impossible de se positionner sous $REP"
     exit
fi
echo "nom des fichiers à convertir (syntaxe unix) : \c"
read NOM
echo ""
export CPT=0
for i in `ls ${NOM} 2>/dev/null`
do CPT=`expr $CPT + 1`
   echo "Convertion de $i" 
   cat $i | sed -f ../bull/dtox.sed > $i.tmp
   if [ $? -ne 0 ]
   then echo "Erreur lors de la convertion de $i !!!"
        rm -f $i.tmp
   else cp $i.tmp $i
        rm -f $i.tmp
   fi
done

echo "\n\nNombre de fichier(s) converti(s) : $CPT"

# dtox.sed

# s/ //g

5. La documentation développeur

L’application est un tout

L’application est un tout. Chaque programme est un tout. « Le vrai est le tout » Hegel

« Le vrai est le tout » signifie que l'on ne comprend une chose qu'en refusant de l'isoler et de la considérer hors du processus dans lequel elle s'insère.

Aucun dossier, tout est dans l’application. L’application se suffit à elle-même, pour les gestionnaires aussi bien que pour les informaticiens. Les consignes DBA, de gestion et de maintenance font l’objet de sous-menus uniquement accessibles par le développeur.

Il n’y a pas de manuel utilisateur papier, les gestionnaires peuvent éventuellement solliciter n’importe-où dans leur application les informations qui peuvent leur être nécessaires mais en pratique, ils ne le font jamais, car ce sont eux, en fait, qui ont conçu leur propre outil. Ils disposent toutefois de fonctionnalités dans leur application pour créer s’ils le souhaitent leur propre documentation. L’objectif est de rendre les utilisateurs-gestionnaires totalement autonomes, d’œuvrer pour qu’ils s’approprient leur outil.

Le développeur n’est qu’un traducteur des besoins exprimés par les utilisateurs-gestionnaires. Par ailleurs, l’application est en même temps un outil pédagogique pour les gestionnaires novices. Ils n’apprennent pas à utiliser leur logiciel, c’est le logiciel qui leur apprend leur métier.

Menu Administrateur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
┌──────────────────────────────────────────────────────────────────────────────┐
│                             GESTION PAF 2001-2002                            │
│                                                                              │
│   1. ┌──────────────────────────┤[ ]├┐  15. ┌──────────────────────────┤/\/├┐│
│   2. │MANUEL                         │  16. │MANUEL                         ││
│   3. │INSTALLER L'APPLICATIF         │  17. │INSTALLER L'APPLICATIF         ││
│   4. │A PROPOS DE L'APPLICATIF       │  18. │A PROPOS DE L'APPLICATIF       ││
│   5. │LA FORMATION CONTINUE          │  19. │LA FORMATION CONTINUE          ││
│   6. │ARBORESCENCE                   │  20. │ARBORESCENCE                   ││
│   7. │LISTE DES TABLES               │  21. │LISTE DES TABLES               ││
│   8. │LISTE DES SHELL, ACE, SQL      │  22. │LISTE DES SHELL, ACE, SQL      ││
│   9. │DICTIONNAIRE DES DONNEES       │  23. │DICTIONNAIRE DES DONNEES       ││
│  10. │MEMORENDUM DES DEVELOPPEMENTS  │  24. │MEMORENDUM DES DEVELOPPEMENTS  ││
│  11. │LES NEWS                       │  25. │LES NEWS                       ││
│  12. │                               │  26. │                               ││
│  13. │                               │  27. │                               ││
│  14. └───────────────────────────────┘  28. └──────────────────────────┤[?]├┘│
│                                                                              │
│                                                                              │
│Use space bar, arrow keys, or type number to make selection.                  │
│Enter 'e' to return to previous menu or exit.                                 │
│Enter carriage return to execute selection:  3                                │
│                                                                              │
│ [ ] -> écrans                                                                │
│ /\/ -> états                                                                 │
│ [?] -> informations                                                          │
└──────────────────────────────────────────────────────────────────────────────┘
┌──────────────────────────────────────────────────────────────────────────────┐
│                         RENTREE PAF 2001-2002                                │
│                                                                              │
│   1. ┌──────────────────────────────────────────────────────────┐            │
│   2. │RENAME DES TABLES HISTORISEES                             │            │
│   3. │INDEX  DES TABLES HISTORISEES                             │            │
│   4. │ACTUALISATION DES VUES PAF                                │            │
│   5. │              DES VUES PNF                                │            │
│   6. │              DES VUES ca  (modifier le sql)              │            │
│   7. │              DES SYNONYMES                               │            │
│   8. ├──────────────────────────────────────────────────────────┤            │
│   9. │SAUVEGARDE DE L'APPLICATION                               │            │
│  10. │SHUTDOWN                                                  │            │
│  11. ├──────────────────────────────────────────────────────────┤            │
│  12. │NOUVELLE IMPRIMANTE DE DESTINATION                        │            │
│  13. └──────────────────────────────────────────────────────────┘            │
│                                                                              │
│                                                                              │
│                                                                              │
│Use space bar, arrow keys, or type number to make selection.                  │
│Enter 'e' to return to previous menu or exit.                                 │
│Enter carriage return to execute selection:  1                                │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
└──────────────────────────────────────────────────────────────────────────────┘

┌──────────────────────────────────────────────────────────────────────────────┐
│                             │ O │ S │ M │ O │ S │ E │                        │
│                                                                              │
│   1. ┌───────────────────────────────┐  15. ┌───────────────────────────────┐│
│   2. │ETABLISSEMENTS, COMMUNES, ...  │  16. │ETABLISSEMENTS : CHRONOLOGIQUE ││
│   3. │GRADES, CORPS, DISCIPLINES, ...│  17. │ETABLISSEMENTS : LIEU DISTRIBUE││
│   4. │CANDIDATS/FORMATEURS           │  18. │FOURNISSEURS   : NOM           ││
│   5. │                               │  19. │NATURES ETABLISSEMENTS         ││
│   6. │                               │  20. │GRADES : CHRONOLOGIQUE         ││
│   7. │                               │  21. │GRADES : ALPHABETIQUE          ││
│   8. │MàJ PARAMETRES DE L'APPLICATION│  22. │                               ││
│   9. │MàJ NOMENCLATURE BUDGETAIRE    │  23. │                               ││
│  10. └───────────────────────────────┘  24. └───────────────────────────────┘│
│  11. ┌───────────────────────────────┐  25. ┌───────────────────────────────┐│
│  12. │AJOUT NOMENCLATURE BUDGETAIRE  │  26. │MàJ DES PERSONNES DUPLIQUEES   ││
│  13. │REINITIALISATION DES FLAGS     │  27. │FUSION DE DEUX ETABLISSEMENTS  ││
│  14. └───────────────────────────────┘  28. └──────────────────────────┤[?]├┘│
│                                                                              │
│                                                                              │
│Use space bar, arrow keys, or type number to make selection.                  │
│Enter 'e' to return to previous menu or exit.                                 │
│Enter carriage return to execute selection:  1                                │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
└──────────────────────────────────────────────────────────────────────────────┘

Chaque programme est un tout

Chaque programme se suffit à lui-même pour en comprendre la fonctionnalité, il inclut toutes les informations nécessaires à sa compréhension, shell notamment.

Le RAD, s'appuyant sur un AGL de réalisation, n'aborde pas cet aspect de l'écriture d'un programme (structure d’accueil), mais il porte un avis identique concernant la suppression des dossiers :

  • Il faut faire disparaître la notion de dossier de programmation, tout en améliorant réellement les conditions de maintenance.

  • La documentation de réalisation a pour but principal de faciliter l'évolution des fonctionnalités, évolution qui inclut dans le temps la maintenance corrective et applicative.

  • La documentation, directement incorporée aux modules, objets et procédures dont elle décrit les fonctions, est enfin réellement exploitable, immédiatement localisable et facile à actualiser.

Intervenir sur un programme est une chose, mettre en conformité des dossiers en est une autre, astreignante, non rentable. Le temps passé sur des dossiers qui ne seront peut-être même jamais lus, ne l'est pas en développement. S'ils existent, leur conformité avec les programmes n'est jamais garantie. Il n'y a qu'une seule vérité : le programme. Exit les dossiers et les organigrammes ! Cela suppose bien sûr que conception et réalisation soit agglomérées, qu'il y ait fusion du travail d’analyse avec le travail de programmation (principe RAD).

On trouve commenté en fin de programme, le shell qui permet d’exécuter le programme. Cette démarche permet d’intervenir sur le programme sans avoir à en sortir pour vérifier ou mettre les paramètres en cohérence. Cela permet également d’avoir une sauvegarde du shell en cas de suppression accidentelle.

Les cobolistes, s’il en reste, reconnaitront dans l’exemple ci-après l’équivalent de leur « IDENTIFICATION DIVISION ». Le compilateur Informix utilisé (saceprep) est très permissif. Il appartient au développeur de se créer un canevas, un environnement de développement type, structuré, confortable, réutilisable, en même temps qu’une identité visuelle agréable et la moins contraignante possible.

Un programme :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
{================================= SYSTABLES ==================================}
{                                                                              }
{   ACE    :  SYSTABLES.ace                                                    }
{                                                                              }
{   SHELL  :  ../shell/SYSTABLES                                               }
{                                                                              }
{   AUTEUR :  IFA2377                                                          }
{                                                                              }
{   Objet  :  Liste des tables                                                 }
{                                                                              }
{             - nombre de colonnes                                             }
{             - nombre de rangées                                              }
{             - synonymes                                                      }
{             - vues                                                           }
{                                                                              }
{             (les noms de tables, les synonymes et les vues ne doivent pas    }
{             dépasser 10 caractères)                                          }
{                                                                              }
{   Date   :  31 Mars 2004                                                     }
{                                                                              }
{==============================================================================}
{
┌──────────────────────────────────────────────────────────────────────────────┐
│                                                                              │
│                              TABLES |M|A|B|A|S|E|                            │
│                                                                              │
└──────────────────────────────────────────────────────────────────────────────┘
                                                                      PAGE :  1.
┌────────────┬──────────┬──────────┬──────────┬──────────┬─────────────────────┐
│   TABLES   │ COLONNES │ RANGEES  │SYNONYMES │   VUES   │         NOMS        │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│sys_c       │        13│    12 727│          │          │colonnes             │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│sys_d       │         7│     1 030│          │ace       │développements       │
│            │          │          │          │per       │                     │
│            │          │          │          │shl       │                     │
│            │          │          │          │sql       │                     │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│sys_t       │         4│       191│          │          │tables               │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│sysmenuitems│         5│     6 958│          │          │sysmenuitems         │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│sysmenus    │         2│       371│          │          │sysmenus             │
└────────────┴──────────┴──────────┴──────────┴──────────┴─────────────────────┘
┌────────────┬──────────┬──────────┬──────────┬──────────┬─────────────────────┐
│   TABLES   │ COLONNES │ RANGEES  │SYNONYMES │   VUES   │         NOMS        │
├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤
│         188│     5 072│ 1 018 493│        58│       128│                     │
└────────────┴──────────┴──────────┴──────────┴──────────┴─────────────────────┘
}

                             {======================}
{============================} DATABASE MABASE  END {==========================}
                             {======================}

{================================}  DEFINE  {==================================}
{}                                                                            {}
{}    PARAM[1] p_traitement CHAR(1)                                           {}
{}                                                                            {}
{}    VARIABLE t_tabname    CHAR(12)                                          {}
{}    VARIABLE t_tabname_2  CHAR(21)                                          {}
{}    VARIABLE s_tabname    CHAR(10)                                          {}
{}    VARIABLE v_tabname    CHAR(10)                                          {}
{}                                                                            {}
{}    VARIABLE ctr_ntabs    INTEGER                                           {}
{}    VARIABLE ctr_ncols    INTEGER                                           {}
{}    VARIABLE ctr_nrows    INTEGER                                           {}
{}    VARIABLE ctr_nsyns    INTEGER                                           {}
{}    VARIABLE ctr_nvues    INTEGER                                           {}
{}                                                                            {}
{}    VARIABLE sys_ncols    INTEGER                                           {}
{}    VARIABLE sys_nrows    INTEGER                                           {}
{}                                                                            {}
{}    VARIABLE AIG_BEFORE   CHAR(1)                                           {}
{}    VARIABLE ESC          CHAR(1)                                           {}
{}                                                                            {}
{==================================}  END  {===================================}

{=================================== INPUT ====================================}
{}                                                                            {}
{     PROMPT FOR v_c_dm USING "Question ? "                                    }
{}                                                                            {}
{====================================  END  ==================================}

{================================}  OUTPUT  {==================================}
{}                                                                            {}
{}    REPORT TO PIPE "cat > ${LOGNAME}.prt"                                   {}
{}    TOP    MARGIN 0                                                         {}
{}    BOTTOM MARGIN 0                                                         {}
{}    LEFT   MARGIN 0                                                         {}
{}    PAGE   LENGTH 1000                                                      {}
{}    TOP OF PAGE "^L"                                                        {}
{}                                                                            {}
{==================================}  END  {===================================}

{=================================}  SELECT  {=================================}

           SYSTABLES.tabid       syst_tabid,
           SYSTABLES.tabname     syst_tabname,
           SYSTABLES.ncols       syst_ncols,
           SYSTABLES.nrows       syst_nrows,

               SYS_T.tabname_2   syst_tabname_2

FROM       SYSTABLES,
           SYS_T

WHERE      SYSTABLES.tabtype  = "T"
AND        SYSTABLES.tabname <> "syschecks"
AND        SYSTABLES.tabname <> "syscolauth"
AND        SYSTABLES.tabname <> "syscoldepend"
AND        SYSTABLES.tabname <> "syscolumns"
AND        SYSTABLES.tabname <> "sysconstraints"
AND        SYSTABLES.tabname <> "sysdefaults"
AND        SYSTABLES.tabname <> "sysdepend"
AND        SYSTABLES.tabname <> "sysdistrib"
AND        SYSTABLES.tabname <> "sysindexes"
AND        SYSTABLES.tabname <> "sysobjstate"
AND        SYSTABLES.tabname <> "sysprocauth"
AND        SYSTABLES.tabname <> "sysprocbody"
AND        SYSTABLES.tabname <> "sysprocedures"
AND        SYSTABLES.tabname <> "sysprocplan"
AND        SYSTABLES.tabname <> "sysreferences"
AND        SYSTABLES.tabname <> "syssynonyms"
AND        SYSTABLES.tabname <> "syssyntable"
AND        SYSTABLES.tabname <> "systabauth"
AND        SYSTABLES.tabname <> "systables"
AND        SYSTABLES.tabname <> "systrigbody"
AND        SYSTABLES.tabname <> "systriggers"
AND        SYSTABLES.tabname <> "sysusers"
AND        SYSTABLES.tabname <> "sysviews"
AND        SYSTABLES.tabname <> "sysviolations"

AND        SYSTABLES.tabname  = SYS_T.tabname

{============================}  INTO TEMP SYST;  {=============================}

{=================================}  SELECT  {=================================}

         SYSSYNTABLE.btabid      sysb_tabid,
                     "S"         sysb_dtype,
           SYSTABLES.tabname     sysb_tabname

FROM     SYSSYNTABLE,
           SYSTABLES

WHERE    SYSSYNTABLE.tabid  = SYSTABLES.tabid

{=============================}  UNION  SELECT  {==============================}

           SYSDEPEND.btabid      sysb_tabid,
           SYSDEPEND.dtype       sysb_dtype,
           SYSTABLES.tabname     sysb_tabname

FROM       SYSDEPEND,
           SYSTABLES

WHERE      SYSDEPEND.dtabid = SYSTABLES.tabid

{============================}  INTO TEMP SYSB;  {=============================}

{=================================}  SELECT  {=================================}

           SYST.*,
           SYSB.*

FROM       SYST,
OUTER      SYSB

WHERE      SYST.syst_tabid       = SYSB.sysb_tabid

{===============================}  ORDER  BY  {================================}

           syst_tabname,
           sysb_dtype,
           sysb_tabname

{==================================}  END  {===================================}

{=================================}  FORMAT  {=================================}

{----------------------}  BEFORE GROUP OF syst_tabname  {----------------------}

LET ctr_ntabs     = ctr_ntabs + 1
LET ctr_ncols     = ctr_ncols + syst_ncols
LET ctr_nrows     = ctr_nrows + syst_nrows

LET sys_ncols     = syst_ncols
LET sys_nrows     = syst_nrows

LET   t_tabname   = syst_tabname
LET   t_tabname_2 = syst_tabname_2

LET AIG_BEFORE    = 1

{---------------------------}  FIRST PAGE  HEADER  {---------------------------}

LET ctr_ntabs = 0
LET ctr_ncols = 0
LET ctr_nrows = 0
LET ctr_nsyns = 0
LET ctr_nvues = 0

LET ESC    = ASCII 027

IF p_traitement = "I"
THEN PRINT ESC,"&k0g4S", ESC,"&l26a6c4h1X", ESC,"&a7L", ESC,"(10U", ESC,"(s3B";
ELSE PRINT "";

PRINT 
"┌──────────────────────────────────────────────────────────────────────────────┐"
PRINT
"│                                                                              │"
PRINT
"│                              TABLES |M|A|B|A|S|E|                            │"
PRINT
"│                                                                              │"
PRINT 
"└──────────────────────────────────────────────────────────────────────────────┘"

PRINT COLUMN 71, "PAGE : ", PAGENO USING "##."

PRINT 
"┌────────────┬──────────┬──────────┬──────────┬──────────┬─────────────────────┐"
PRINT
"│   TABLES   │ COLONNES │ RANGEES  │SYNONYMES │   VUES   │         NOMS        │"
PRINT
"├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤"


{-------------------------------  PAGE  HEADER  -------------------------------}

{-------------------------------  PAGE TRAILER  -------------------------------}

{------------------------------}  ON EVERY ROW  {------------------------------}

{--------------------------  TRAITEMENT FIN DE PAGE  --------------------------}

{------------------------  TRAITEMENT EN-TETE DE PAGE  ------------------------}

{------------------------  TRAITEMENT  LIGNE COURANTE  ------------------------}

IF p_traitement = "I"
AND  LINENO     > 80
THEN BEGIN
     PRINT 
"└──────────────────────────────────────────────────────────────────────────────┘"

     SKIP TO TOP OF PAGE

     PRINT 
"┌──────────────────────────────────────────────────────────────────────────────┐"
     PRINT
"│                                                                              │"
     PRINT 
"│                              TABLES |M|A|B|A|S|E|                            │"
     PRINT
"│                                                                              │"
     PRINT "└──────────────────────────────────────────────────────────────────────────────┘"



     PRINT COLUMN 71, "PAGE : ", PAGENO USING "##."

     LET AIG_BEFORE = 1

     PRINT 	
"┌────────────┬──────────┬──────────┬──────────┬──────────┬─────────────────────┐"
     PRINT
"│   TABLES   │ COLONNES │ RANGEES  │SYNONYMES │   VUES   │         NOMS        │"

     LET   t_tabname   = syst_tabname
     LET   t_tabname_2 = syst_tabname_2
     END

IF AIG_BEFORE = "1"
THEN BEGIN
     LET AIG_BEFORE = "0"

     PRINT "├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤"
     END


LET s_tabname = ""
LET v_tabname = ""

IF sysb_dtype = "S"
THEN BEGIN
     LET s_tabname = sysb_tabname
     LET ctr_nsyns = ctr_nsyns + 1
     END

IF sysb_dtype = "V"
THEN BEGIN
     LET v_tabname = sysb_tabname
     LET ctr_nvues = ctr_nvues + 1
     END

PRINT "│", t_tabname,
      "│", sys_ncols USING "## ### ###",
      "│", sys_nrows USING "## ### ###",
      "│", s_tabname,
      "│", v_tabname,
      "│", t_tabname_2,
      "│"

LET t_tabname   = ""
LET t_tabname_2 = ""

LET sys_ncols   = ""
LET sys_nrows   = ""

{--------------------------- AFTER GROUP OF         ---------------------------}

{------------------------------}  ON LAST ROW  {-------------------------------}

PRINT 
"└────────────┴──────────┴──────────┴──────────┴──────────┴─────────────────────┘"
PRINT "┌────────────┬──────────┬──────────┬──────────┬──────────┬─────────────────────┐"
PRINT 
"│   TABLES   │ COLONNES │ RANGEES  │SYNONYMES │   VUES   │         NOMS        │"
PRINT "├────────────┼──────────┼──────────┼──────────┼──────────┼─────────────────────┤"


PRINT "│", ctr_ntabs USING "  ## ### ###",
      "│", ctr_ncols USING   "## ### ###",
      "│", ctr_nrows USING   "## ### ###",
      "│", ctr_nsyns USING   "## ### ###",
      "│", ctr_nvues USING   "## ### ###",
      "│                     ",
      "│"
PRINT
"└────────────┴──────────┴──────────┴──────────┴──────────┴─────────────────────┘" 

{ - Réinitialisation de l'imprimante "HP LASER III SI"                         }
{ PRINT ESC,"E"}

{===================================}  END  {==================================}

{=================================== SHELL ====================================}
{
# SYSTABLES

clear

echo "┌LISTE DES TABLES───────────────────────────────────────────────────────┐" 
echo "│                                                                       │"
echo "│TRAITEMENT ?   [ <──┘ ]=[A]ffichage  de la liste                       │"
echo "│                    [I]=[I]mpression de la liste                       │"
echo "└───────────────────────────────────────────────────────────────────────┘"
echo ""

cd ../shell

SMSO=`tput smso`
RMSO=`tput rmso`

# TRAITEMENT
  tput cup 2 14
  echo $SMSO" "$RMSO
  tput cup 2 14
  read P_0
  tput cup 2 14
  echo " "
  if [ "$P_0" = "" -o "$P_0" = "A" ]
  then P_0=A
  else P_0=I
  fi
  tput cup 2 14
  echo $P_0

tput cup 5 0
echo " Traitement en cours... \c"

sacego -q ../ace/SYSTABLES $P_0

if [ "$P_0" = "A" ]
then cp $(LOGNAME).prt ../doc/SYSTABLES.doc
     more ../doc/SYSTABLES.doc
else cat $(LOGNAME).prt | sed -f ../bull/ISOtoPC-8.sed > $(LOGNAME).tmp
     mv  $(LOGNAME).tmp $(LOGNAME).prt
     lp  $(LOGNAME).prt > /dev/null

     echo " TERMINE !"
fi

}
{==============================================================================}
{
# ISOtoPC-8.sed
# Conversion des caractères accentués
s/à/…/g
s/â/ƒ/g
s/é/‚/g
s/è/Š/g
s/ë/‰/g
s/ê/ˆ/g
s/ï/‹/g
s/î/Œ/g
s/ô/“/g
s/û/–/g
s/ç/‡/g
s/°/ø/g
s/½/«/g
s/§//g}
}
{==============================================================================}

6. Une documentation à postériori

Un outil de formation

Il s’agit de constituer un outil unique de formation, d’auto-formation, non au logiciel mais au métier et qui soit également un véritable cahier des charges en vue d’entreprendre plus classiquement mais sans « effet tunnel » un nouveau développement de l’applicatif avec les outils et moyens du moment. Plusieurs logiciels permettent sans doute de réaliser ce genre de documentation, PowerPoint par exemple.

PowerPoint permet facilement de créer des diapositives avec des captures d’écran commentées et d’insérer des liens vers des états PDF. Mais PowerPoint, certes ludiques, est très consommateur de mémoire. Il convient alors de segmenter la documentation en créant autant de PPT que de sous-menus, reliés entre eux par des liens hypertextes. Recréer le menu de l’application sous PowerPoint peut paraître fastidieux et démotivant car en fin de compte cela fait double emploi mais l’ajout de commentaires pertinents rend le document très intéressant.

Un cahier des charges atypique

La documentation à postériori, lorsqu’elle a la chance de se concrétiser invente un cahier des charges bien loin du cahier des charges classique MCD/MCT. Elle modélise la base documentaire que constitue le mémorandum.

La démarche APL/AML permet rarement d’atteindre cette étape charnière. Cela suppose :

  • que l’applicatif soit arrivé à maturité afin que l’allègement progressif du temps de développement permette l’investissement,
  • que l’organisation ad’hoc ait été normalisée (bureaucratisée),
  • que l’investissement soit rentable, c’est-à-dire que les dirigeants comprennent la nécessité de redévelopper une nouvelle application.

L’expérience révèle que l’application existante leur donnant toute satisfaction en l’état, les dirigeants ne voient pas l’intérêt de réinvestir dans un nouveau projet. L’informatisation de la problématique se dégrade inéluctablement par l’obsolescence progressive des moyens matériels et logiciels mis en œuvre. La veille technologique est une vaine préoccupation et l’on s’achemine en fin de compte vers la situation de crise à l’origine de la démarche APL-AML. L’histoire n’est qu’un éternel recommencement.

Des diaporamas PowerPoint

Une relative disponibilité en fin de développement a permis d’expérimenter la réalisation d’une documentation à postériori telle qu’elle a été imaginée. Bien que sa réalisation ne soit pas allée jusqu’à son terme et n’ait finalement servi à rien, la création de 23 diaporamas PowerPoint mérite que l’on s’y intéresse. Certaines diapos créées à partir de captures d’écrans concernant un traitement batch sont dotées d’un bouton « état » qui permet de visualiser le résultat PDF du traitement.

Deux extraits de ces diaporamas PowerPoint, enregistrés au format PDF puis compressés pour respecter la limite imposée de 2 Mo, donnent une idée concrète de la démarche même si bien sûr un PDF ne peut restituer l’effet visuel et sonore du PowerPoint.

I-2.3.2. OSMOSE-Menu.7z
I-2.3.2. OSMOSE-Lexique.7z

Le logiciel de compression utilisé est 7-Zip. En principe, les fichiers sont auto-extractibles.

Ou après leur téléchargement, faire un clic droit sur chaque fichier pour ouvrir le menu contextuel et choisir « Extract files… ». Un dossier du nom du fichier compressé est créé à l’emplacement du fichier compressé qui contiendra le fichier PDF décompressé.

NB : Compresser et décompresser en Zip sans logiciel avec Windows 10

Conclusion

Le négatif : les diaporamas sont trop gourmands en ressources informatiques temps/mémoire et en temps de réalisation. Leur finalité doit être sacrément motivante pour justifier l’investissement développeur, trop souvent plus important sur la forme que sur le fonds.

Le positif : PowerPoint oblige à percevoir et à exprimer l’utilisation de l’application dans une approche pédagogique, épurée, pertinente.

En redécouvrant ces diaporamas PowerPoint avec 12 ans de recul, deux mots me viennent à l’esprit : pépites et gâchis. Ayant découvert tardivement la possibilité d’enregistrer un diaporama au format PDF, j’avais entrepris de rédiger un fichier Word à partir des diapos d’un des diaporamas. La démarche est totalement inutile dans la mesure où l’application a été poubellisée mais le résultat ouvre de nouveaux horizons en matière de documentation.

Quelque soit l’outil, PowerPoint ou Word, réaliser ce genre de documentation requière des qualités rédactionnelles, de synthèse et de mise en page.

I-2.3. Documentation et outils développeur

▲ I-2.3.1. Environnement de Développement Intégré (EDI)
► I-2.3.2. AGL minimaliste
▼ I-2.4.1. Manuel utilisateur

Envoyer le billet « I-2.3.2. AGL minimaliste » dans le blog Viadeo Envoyer le billet « I-2.3.2. AGL minimaliste » dans le blog Twitter Envoyer le billet « I-2.3.2. AGL minimaliste » dans le blog Google Envoyer le billet « I-2.3.2. AGL minimaliste » dans le blog Facebook Envoyer le billet « I-2.3.2. AGL minimaliste » dans le blog Digg Envoyer le billet « I-2.3.2. AGL minimaliste » dans le blog Delicious Envoyer le billet « I-2.3.2. AGL minimaliste » dans le blog MySpace Envoyer le billet « I-2.3.2. AGL minimaliste » dans le blog Yahoo

Mis à jour 25/02/2024 à 12h57 par APL-AML

Catégories
■ APL-AML , I- L’ART , I-2. Règles de réalisation