Project

General

Profile

Canevas 7D — Spécification détaillée des interfaces » History » Version 8

Redmine Admin, 06/19/2026 05:21 AM

1 1 Redmine Admin
# Canevas 7D — Spécification détaillée des interfaces
2
3
## 1. Objet du document
4
5
### 1.1 Finalité de la spécification détaillée des interfaces
6
7
Cette partie précise l’objectif du document.
8
9
La spécification détaillée des interfaces décrit l’ensemble des points d’échange entre les composants du système ou entre le système et son environnement. Elle formalise les interfaces hardware, software, réseau, API, fichiers, IHM, maintenance, supervision, sauvegarde, systèmes tiers et procédures associées.
10
11
Ce document est essentiel dès qu’un projet comporte plusieurs sous-systèmes ou plusieurs équipes : hardware, software embarqué, serveur, infrastructure, réseau, IHM, maintenance, validation, client, fournisseur ou sous-traitants. Il permet d’éviter les zones floues entre les responsabilités et de garantir que chaque composant pourra effectivement communiquer ou interagir avec les autres.
12
13
**Exemple :**
14
15
> Le présent document a pour objectif de spécifier de manière détaillée les interfaces internes et externes du système, incluant les interfaces matérielles, logicielles, réseau, API, fichiers, IHM, maintenance, supervision et systèmes tiers. Il précise pour chaque interface les responsabilités, les données échangées, les formats, les protocoles, les conditions d’utilisation, les erreurs possibles, les exigences de sécurité et les tests associés.
16
17
### 1.2 Positionnement dans le cycle en V
18
19
Cette partie situe le document dans le cycle en V.
20
21
La spécification détaillée des interfaces est produite à partir de la spécification globale, de l’architecture système, du dossier infrastructure et des spécifications détaillées des sous-systèmes. Elle sert d’entrée à la conception détaillée, au développement, au câblage, à l’intégration, aux tests d’interfaces, aux tests d’intégration et à la validation système.
22
23
Elle est particulièrement importante pour les tests d’intégration, car une grande partie des anomalies d’intégration provient d’interfaces incomplètes, ambiguës ou interprétées différemment par les équipes.
24
25
```text
26
Spécification globale
27
28
Architecture système / conception globale
29
30
Spécifications détaillées hardware / software / serveur / infrastructure
31
32
Spécification détaillée des interfaces
33
34
Conceptions détaillées et réalisation
35
36
Tests unitaires
37
38
Tests d’interfaces
39
40
Tests d’intégration
41
42
Tests système
43
44
Validation client
45
```
46
47
### 1.3 Différence avec l’architecture système
48
49
Cette partie précise la frontière avec le dossier d’architecture.
50
51
L’architecture système identifie les interfaces principales et leur rôle.
52
La spécification détaillée des interfaces décrit précisément leur contenu, leur format, leur comportement, leurs contraintes, leurs erreurs possibles et leurs critères de test.
53
54
**Exemple :**
55
56
```text
57
Architecture système :
58
L’équipement embarqué communique avec le serveur applicatif via une interface réseau sécurisée.
59
60
Spécification détaillée des interfaces :
61
L’interface IF-NET-001 utilise HTTPS ou MQTT/TLS. Elle transporte des messages de type MEASURE, ALARM, STATE et DIAGNOSTIC. Chaque message contient un identifiant équipement, un horodatage, un type de message, une version de protocole, un identifiant de message et une charge utile. Le serveur retourne un acquittement ACCEPTED, REJECTED ou RETRY.
62
```
63
64
### 1.4 Différence avec les spécifications détaillées des sous-systèmes
65
66
Cette partie explique pourquoi un document spécifique aux interfaces est utile.
67
68
Les spécifications détaillées hardware, software embarqué et serveur décrivent les exigences propres à chaque sous-système. Le document d’interfaces décrit ce qui est partagé entre eux. Il constitue donc un contrat entre sous-systèmes.
69
70
**Exemple :**
71
72
```text
73
Spécification software embarqué :
74
Le firmware doit transmettre les mesures au serveur.
75
76
Spécification serveur :
77
Le serveur doit recevoir les mesures transmises par les équipements.
78
79
Spécification d’interface :
80
Le message MEASURE doit contenir les champs equipment_id, message_id, timestamp_device, measure_type, value, unit, quality et protocol_version. Le serveur doit répondre par un acquittement contenant message_id, status et optional_error_code.
81
```
82
83
### 1.5 Responsabilités de rédaction et d’approbation
84
85
Cette partie précise qui rédige, contribue et approuve le document.
86
87
La spécification d’interfaces doit être rédigée par l’ingénieur système ou l’architecte, avec les contributions des responsables hardware, software embarqué, serveur, infrastructure, réseau, cybersécurité, validation, maintenance et systèmes tiers.
88
89
**Exemple :**
90
91
```text
92
Rédaction : ingénieur système / architecte système / responsable intégration
93
Contribution : hardware, firmware, backend, frontend, infrastructure, réseau, cybersécurité, validation
94
Relecture : responsables de sous-systèmes, qualité, exploitation, maintenance
95
Approbation : responsable technique fournisseur et client si les interfaces sont contractuelles ou impliquent le SI client
96
```
97
98
---
99
100
## 2. Références et documents applicables
101
102
### 2.1 Documents d’entrée
103
104
Cette partie liste les documents utilisés pour définir les interfaces.
105
106
**Exemples :**
107
108
```text
109
- Cahier des charges / expression de besoin
110
- Spécification globale / système
111
- Architecture système / conception globale
112
- Dossier des modes de fonctionnement
113
- Dossier infrastructure informatique / réseau / sauvegarde
114
- Spécification détaillée hardware
115
- Spécification détaillée software embarqué
116
- Spécification détaillée serveur / application
117
- Spécification cybersécurité
118
- Contraintes réseau client
119
- Documentation des équipements tiers
120
- Documentation des API externes
121
- Procédures d’exploitation et de maintenance
122
```
123
124
### 2.2 Documents applicables
125
126
Cette partie liste les standards, normes ou contraintes à respecter.
127
128
**Exemples :**
129
130
```text
131
- standard de câblage client ;
132
- standard de connectique ;
133
- référentiel réseau client ;
134
- politique cybersécurité ;
135
- standard API REST ou MQTT ;
136
- format d’échange imposé ;
137
- politique de nommage des équipements ;
138
- règles de journalisation ;
139
- politique d’authentification ;
140
- contraintes RGPD si données personnelles ;
141
- règles de versionnement des interfaces.
142
```
143
144
### 2.3 Documents produits à partir de cette spécification
145
146
Cette partie liste les documents qui utiliseront cette spécification.
147
148
**Exemples :**
149
150
```text
151
- conception détaillée hardware ;
152
- conception détaillée software embarqué ;
153
- conception détaillée serveur ;
154
- conception détaillée réseau ;
155
- conception API ;
156
- schémas de câblage ;
157
- dictionnaire de données ;
158
- procédures de tests d’interfaces ;
159
- procédures de tests d’intégration ;
160
- simulateurs d’équipements ;
161
- simulateurs serveur ;
162
- manuel d’installation ;
163
- manuel maintenance ;
164
- dossier de validation.
165
```
166
167
### 2.4 Gestion des versions d’interface
168
169
Cette partie précise comment les évolutions d’interface sont maîtrisées.
170
171
Une interface est souvent partagée par plusieurs équipes. Sa modification peut donc provoquer des incompatibilités. Les versions doivent être identifiées et les évolutions incompatibles doivent être explicitement tracées.
172
173
**Exemple :**
174
175
> Toute modification d’un format de message, d’un connecteur, d’un brochage, d’un protocole, d’un endpoint API, d’un champ obligatoire, d’un code erreur ou d’un comportement d’acquittement doit faire l’objet d’une analyse d’impact sur les sous-systèmes concernés et sur les tests d’intégration.
176
177
---
178
179
## 3. Définitions, acronymes et conventions
180
181
### 3.1 Définitions
182
183
Cette partie définit les termes utilisés dans le document.
184
185
**Exemples :**
186
187
```text
188
Interface :
189
Point d’échange entre deux composants, deux sous-systèmes ou entre le système et un élément externe.
190
191
Interface interne :
192
Interface entre deux composants appartenant au système.
193
194
Interface externe :
195
Interface entre le système et un élément hors périmètre : réseau client, équipement tiers, utilisateur, système externe.
196
197
Protocole :
198
Ensemble de règles définissant la manière dont deux composants échangent des informations.
199
200
Message :
201
Unité d’échange structurée transportant des données, une commande, un événement, une alarme ou un acquittement.
202
203
Acquittement :
204
Réponse confirmant qu’un message a été reçu, accepté, rejeté ou devra être retransmis.
205
206
Contrat d’interface :
207
Ensemble des règles que les deux parties d’une interface doivent respecter.
208
```
209
210
### 3.2 Acronymes
211
212
**Exemples :**
213
214
```text
215
API : Application Programming Interface
216
CAN : Controller Area Network
217
CSV : Comma-Separated Values
218
GPIO : General Purpose Input/Output
219
HTTP : HyperText Transfer Protocol
220
HTTPS : HyperText Transfer Protocol Secure
221
IHM : Interface Homme-Machine
222
JSON : JavaScript Object Notation
223
MQTT : Message Queuing Telemetry Transport
224
REST : Representational State Transfer
225
RS485 : Bus série différentiel
226
TLS : Transport Layer Security
227
VPN : Virtual Private Network
228
XML : eXtensible Markup Language
229
```
230
231
### 3.3 Convention d’identification des interfaces
232
233
Cette partie définit une codification claire.
234
235
**Exemple :**
236
237
```text
238
IF-HW-001 : interface matérielle
239
IF-SW-001 : interface logicielle interne
240
IF-NET-001 : interface réseau
241
IF-API-001 : API applicative
242
IF-IHM-001 : interface utilisateur
243
IF-DOC-001 : interface fichier ou document
244
IF-MNT-001 : interface maintenance
245
IF-SUP-001 : interface supervision
246
IF-TIERS-001 : interface système tiers
247
```
248
249
### 3.4 Convention de description d’une interface
250
251
Cette partie définit le format standard de description.
252
253
Chaque interface devrait être décrite avec une structure constante.
254
255
```text
256
Identifiant interface :
257
Nom :
258
Type :
259
Source :
260
Destination :
261
Responsable source :
262
Responsable destination :
263
Sens d’échange :
264
Usage :
265
Données échangées :
266
Format :
267
Protocole :
268
Fréquence :
269
Criticité :
270
Sécurité :
271
Gestion des erreurs :
272
Logs associés :
273
Tests associés :
274
Commentaires :
275
```
276
277
### 3.5 Convention de criticité des interfaces
278
279
Cette partie permet de prioriser les interfaces.
280
281
**Exemple :**
282
283
```text
284
Critique :
285
interface liée à la sécurité, aux commandes critiques, aux alarmes critiques ou à l’état sûr.
286
287
Élevée :
288
interface nécessaire au fonctionnement principal du système.
289
290
Moyenne :
291
interface importante pour l’exploitation, la maintenance ou le confort d’usage.
292
293
Faible :
294
interface secondaire, optionnelle ou non bloquante.
295
```
296
297
---
298
299
## 4. Vue générale des interfaces du système
300
301
### 4.1 Présentation générale
302
303
Cette partie donne une vue d’ensemble des interfaces du système.
304
305
Elle doit permettre de comprendre rapidement quels composants échangent avec quels autres composants et pour quel usage.
306
307
**Exemple :**
308
309
> Le système comporte des interfaces entre l’équipement embarqué et les capteurs, entre le firmware et le hardware, entre l’équipement et le serveur, entre le serveur et la base de données, entre l’application et l’IHM, entre le serveur et les systèmes tiers, entre les administrateurs et les fonctions de maintenance, ainsi qu’entre l’application et les mécanismes de sauvegarde et supervision.
310
311
### 4.2 Liste synthétique des interfaces
312
313
Cette partie liste toutes les interfaces identifiées.
314
315
**Exemple :**
316
317
```text
318 2 Redmine Admin
ID           | Nom                        | Type             | Source            | Destination        | Criticité
319
IF-HW-001    | alimentation équipement    | hardware         | alimentation site | équipement         | critique
320
IF-HW-002    | entrée capteur température | hardware         | capteur           | carte contrôle     | élevée
321
IF-SW-001    | lecture entrée numérique   | software interne | hardware          | firmware           | élevée
322
IF-NET-001   | équipement vers serveur    | réseau/API       | équipement        | serveur            | élevée
323
IF-API-001   | API mesures                | API              | équipement        | serveur            | élevée
324
IF-IHM-001   | tableau de bord            | IHM              | utilisateur       | serveur            | moyenne
325
IF-DOC-001   | export CSV mesures         | fichier          | serveur           | utilisateur        | faible/moyenne
326
IF-MNT-001   | port maintenance local     | maintenance      | technicien        | équipement         | élevée
327
IF-TIERS-001 | export supervision         | système tiers    | serveur           | supervision client | moyenne
328 1 Redmine Admin
```
329
330
### 4.3 Synoptique des interfaces
331
332
Cette partie doit contenir un schéma général.
333
334
**Exemple textuel :**
335
336
```text
337
Capteurs / Actionneurs
338
        ↕ IF-HW
339
Équipement hardware
340
        ↕ IF-SW-HW
341
Firmware embarqué
342
        ↕ IF-NET / IF-API
343
Serveur applicatif
344
        ↕ IF-DB
345
Base de données
346
        ↕ IF-IHM
347
Interface utilisateur
348
        ↕ IF-TIERS
349
Systèmes externes
350
```
351
352
### 4.4 Interfaces internes et externes
353
354
Cette partie distingue les interfaces internes au système et celles avec l’extérieur.
355
356
**Exemple :**
357
358
```text
359
Interfaces internes :
360
- firmware / hardware ;
361
- firmware / stockage local ;
362
- serveur / base de données ;
363
- backend / frontend ;
364
- serveur / supervision applicative.
365
366
Interfaces externes :
367
- équipement / capteurs externes ;
368
- équipement / réseau client ;
369
- serveur / système tiers ;
370
- application / utilisateur ;
371
- serveur / annuaire client ;
372
- serveur / outil de sauvegarde externe.
373
```
374
375
### 4.5 Interfaces critiques
376
377
Cette partie identifie les interfaces dont une défaillance a un impact fort.
378
379
**Exemples :**
380
381
```text
382
- interface arrêt d’urgence ;
383
- interface commande relais critique ;
384
- interface équipement / serveur ;
385
- interface alarmes ;
386
- interface base de données ;
387
- interface configuration ;
388
- interface mise à jour ;
389
- interface authentification ;
390
- interface sauvegarde / restauration.
391
```
392
393
---
394
395
## 5. Interfaces hardware
396
397
### 5.1 Objet des interfaces hardware
398
399
Cette partie décrit les interfaces physiques entre le matériel du système et les éléments externes ou internes : alimentation, capteurs, actionneurs, connecteurs, borniers, ports, bus, boutons, voyants, arrêts d’urgence et signaux électriques.
400
401
### 5.2 Liste des interfaces hardware
402
403
**Exemple :**
404
405
```text
406 3 Redmine Admin
ID        | Nom                     | Type              | Source            | Destination    | Usage              | Criticité
407
IF-HW-001 | alimentation principale | électrique        | alimentation site | équipement     | alimentation       | critique
408
IF-HW-002 | capteur température     | analogique        | capteur           | carte contrôle | mesure température | élevée
409
IF-HW-003 | contact porte           | numérique         | contact sec       | entrée carte   | état porte         | moyenne
410
IF-HW-004 | sortie relais           | relais            | carte contrôle    | actionneur     | commande           | critique
411
IF-HW-005 | Ethernet                | connecteur réseau | équipement        | réseau site    | communication      | élevée
412
IF-HW-006 | port maintenance        | USB/UART/Ethernet | technicien        | équipement     | diagnostic         | élevée
413 1 Redmine Admin
```
414
415
### 5.3 Description d’une interface d’alimentation
416
417
Cette partie décrit les interfaces d’alimentation.
418
419
**Exemple :**
420
421
```text
422
Identifiant : IF-HW-001
423 4 Redmine Admin
Nom                  : alimentation principale
424
Type                 : électrique
425
Source               : alimentation site
426
Destination          : équipement
427
Usage                : fournir l’énergie nécessaire au fonctionnement
428
Tension nominale     : 24 VDC
429
Plage admissible     : à définir selon projet
430
Protection           : fusible, protection inversion, surtension si applicable
431
Criticité            : critique
432
Défauts possibles    : absence alimentation, sous-tension, surtension, inversion polarité
433 1 Redmine Admin
Comportement attendu : arrêt contrôlé ou état sûr selon possibilités
434 4 Redmine Admin
Tests associés       : TEST-HW-ALIM-001, TEST-HW-ALIM-002
435 1 Redmine Admin
```
436
437
### 5.4 Description d’une interface capteur
438
439
Cette partie décrit les interfaces entre un capteur et l’équipement.
440
441
**Exemple :**
442
443
```text
444 5 Redmine Admin
Identifiant         : IF-HW-002
445
Nom                 : capteur température
446
Type                : entrée analogique
447
Source              : capteur température
448
Destination         : carte de contrôle
449
Usage               : mesurer la température interne ou externe
450
Donnée produite     : température
451
Unité               : °C
452
Plage attendue      : selon capteur
453 1 Redmine Admin
Défauts détectables : capteur absent, valeur hors plage, court-circuit, rupture
454 5 Redmine Admin
Criticité           : élevée
455
Traitement associé  : acquisition, conversion, surveillance seuil
456
Tests associés      : TEST-HW-CAPT-001, TEST-SW-ACQ-001, TEST-INT-CAPT-001
457 1 Redmine Admin
```
458
459
### 5.5 Description d’une interface actionneur ou relais
460
461
Cette partie décrit les sorties commandées.
462
463
**Exemple :**
464
465
```text
466 6 Redmine Admin
Identifiant                : IF-HW-004
467
Nom                        : sortie relais de commande
468
Type                       : sortie relais
469
Source                     : carte de contrôle
470
Destination                : actionneur externe
471
Usage                      : commander une action physique
472
État au repos              : ouvert
473
État sûr                   : ouvert
474 1 Redmine Admin
Commande autorisée en mode : nominal, maintenance sous conditions
475
Commande interdite en mode : arrêt, secours, arrêt d’urgence
476 6 Redmine Admin
Défauts possibles          : relais bloqué, charge absente, retour d’état incohérent
477
Criticité                  : critique
478
Tests associés             : TEST-HW-REL-001, TEST-INT-CMD-001, TEST-SAFE-001
479 1 Redmine Admin
```
480
481
### 5.6 Brochage et connectique
482
483
Cette partie décrit les connecteurs, broches et câblages.
484
485
**Exemple :**
486
487
```text
488
Connecteur J1 — alimentation
489
Broche 1 : +24 VDC
490
Broche 2 : 0 V
491
Broche 3 : terre fonctionnelle si applicable
492
493
Connecteur J2 — entrées numériques
494
Broche 1 : IN1 contact porte
495
Broche 2 : IN2 défaut externe
496
Broche 3 : commun
497
Broche 4 : réserve
498
```
499
500
### 5.7 Contraintes de câblage
501
502
Cette partie décrit les règles à respecter pour le câblage.
503
504
**Exemples :**
505
506
```text
507
- séparation puissance / signaux faibles ;
508
- blindage des câbles sensibles ;
509
- longueur maximale ;
510
- section minimale ;
511
- repérage des câbles ;
512
- détrompage connecteur ;
513
- rayon de courbure ;
514
- mise à la terre ;
515
- protection mécanique ;
516
- passage en presse-étoupe.
517
```
518
519
### 5.8 Erreurs et défauts hardware à gérer
520
521
Cette partie liste les défauts possibles sur les interfaces hardware.
522
523
**Exemples :**
524
525
```text
526
- capteur absent ;
527
- court-circuit ;
528
- rupture de câble ;
529
- inversion de câblage ;
530
- tension hors plage ;
531
- relais bloqué ;
532
- contact instable ;
533
- perte alimentation ;
534
- connecteur débranché ;
535
- module communication absent.
536
```
537
538
### 5.9 Tests associés aux interfaces hardware
539
540
**Exemples :**
541
542
```text
543
- test alimentation nominale ;
544
- test entrée capteur nominale ;
545
- test capteur hors plage ;
546
- test contact sec ouvert/fermé ;
547
- test sortie relais ;
548
- test état sûr relais ;
549
- test connecteur débranché ;
550
- test port maintenance ;
551
- test défaut câblage.
552
```
553
554
---
555
556
## 6. Interfaces firmware / hardware
557
558
### 6.1 Objet des interfaces firmware / hardware
559
560
Cette partie décrit les interfaces logiques entre le logiciel embarqué et le matériel : entrées lues, sorties commandées, périphériques utilisés, bus internes, mémoire, horloge, watchdog, stockage et modules de communication.
561
562
Ces interfaces sont importantes car elles font le lien direct entre la spécification hardware et la spécification software embarqué.
563
564
### 6.2 Liste des interfaces firmware / hardware
565
566
**Exemple :**
567
568
```text
569 7 Redmine Admin
ID           | Nom                  | Type                  | Hardware             | Firmware           | Usage
570
IF-SW-HW-001 | lecture entrée porte | GPIO                  | entrée numérique     | InputManager       | état porte
571
IF-SW-HW-002 | lecture température  | ADC/I2C/SPI           | capteur température  | AcquisitionManager | mesure
572
IF-SW-HW-003 | commande relais      | GPIO                  | sortie relais        | OutputManager      | commande
573
IF-SW-HW-004 | watchdog             | périphérique sécurité | watchdog matériel    | WatchdogManager    | surveillance
574
IF-SW-HW-005 | stockage local       | mémoire               | mémoire non volatile | StorageManager     | données locales
575
IF-SW-HW-006 | horloge RTC          | RTC                   | horloge locale       | TimeManager        | horodatage
576 1 Redmine Admin
```
577
578
### 6.3 Lecture des entrées par le firmware
579
580
Cette partie décrit comment les entrées matérielles sont exposées au logiciel.
581
582
**Exemples d’éléments à préciser :**
583
584
```text
585
- nom logique de l’entrée ;
586
- polarité ;
587
- état actif ;
588
- état au repos ;
589
- fréquence de lecture ;
590
- filtrage logiciel ;
591
- défaut détectable ;
592
- criticité ;
593
- mode dans lequel l’entrée est utilisée.
594
```
595
596
**Exemple :**
597
598
```text
599
Interface : IF-SW-HW-001
600 8 Redmine Admin
Nom               : lecture contact porte
601
Type              : GPIO entrée numérique
602
Polarité          : actif à 1
603 1 Redmine Admin
Fréquence lecture : 1 seconde ou événement
604 8 Redmine Admin
Filtrage          : anti-rebond logiciel 100 ms
605 1 Redmine Admin
Défaut détectable : incohérence si état impossible selon mode
606 8 Redmine Admin
Traitement        : mise à jour état porte, génération événement si changement
607 1 Redmine Admin
```
608
609
### 6.4 Commande des sorties par le firmware
610
611
Cette partie décrit la manière dont le firmware commande les sorties.
612
613
**Exemples :**
614
615
```text
616
Interface : IF-SW-HW-003
617
Nom : commande relais principal
618
Type : GPIO sortie
619
État actif : 1
620
État sûr : 0
621
État au démarrage : 0
622
Modes autorisés : nominal, maintenance contrôlée
623
Modes interdits : arrêt, secours, arrêt d’urgence
624
Retour d’état : oui/non selon hardware
625
Test associé : TEST-INT-OUT-001
626
```
627
628
### 6.5 Accès au stockage local
629
630
Cette partie décrit l’interface entre firmware et mémoire locale.
631
632
**Exemples :**
633
634
```text
635
- type de mémoire ;
636
- usage ;
637
- données stockées ;
638
- taille disponible ;
639
- comportement en saturation ;
640
- détection d’erreur ;
641
- intégrité ;
642
- nombre d’écritures ;
643
- effacement ;
644
- format logique ;
645
- tests associés.
646
```
647
648
### 6.6 Accès à l’horloge
649
650
Cette partie décrit l’interface avec une horloge temps réel ou une référence temporelle.
651
652
**Exemples :**
653
654
```text
655
- lecture date/heure ;
656
- synchronisation serveur ;
657
- maintien en absence réseau ;
658
- dérive acceptable ;
659
- état horloge incertain ;
660
- défaut batterie RTC ;
661
- horodatage des événements.
662
```
663
664
### 6.7 Watchdog
665
666
Cette partie décrit l’interface avec le watchdog matériel ou logiciel.
667
668
**Exemples :**
669
670
```text
671
- activation watchdog ;
672
- période de rafraîchissement ;
673
- conditions de rafraîchissement ;
674
- comportement en expiration ;
675
- cause du reset ;
676
- journalisation au redémarrage ;
677
- tests associés.
678
```
679
680
### 6.8 Tests associés aux interfaces firmware / hardware
681
682
**Exemples :**
683
684
```text
685
- lecture entrée nominale ;
686
- lecture entrée bruitée ;
687
- commande sortie ;
688
- état sûr au démarrage ;
689
- mémoire locale écriture/lecture ;
690
- saturation mémoire ;
691
- horloge absente ;
692
- synchronisation horaire ;
693
- watchdog déclenché ;
694
- version hardware lue par firmware.
695
```
696
697
---
698
699
## 7. Interfaces équipement embarqué / serveur
700
701
### 7.1 Objet de l’interface équipement / serveur
702
703
Cette partie décrit l’interface principale entre les équipements embarqués et le serveur applicatif.
704
705
Elle est généralement critique, car elle permet la transmission des mesures, alarmes, événements, diagnostics, états et éventuellement la réception de configurations ou commandes.
706
707
### 7.2 Nature de l’interface
708
709
Cette partie précise le type d’interface utilisé.
710
711
**Exemples :**
712
713
```text
714
- HTTPS REST ;
715
- MQTT/TLS ;
716
- WebSocket ;
717
- TCP propriétaire ;
718
- UDP ;
719
- fichier déposé dans un SAS ;
720
- liaison série via passerelle ;
721
- protocole industriel.
722
```
723
724
**Exemple d’exigence :**
725
726
```text
727
IF-NET-001 — L’équipement embarqué doit communiquer avec le serveur applicatif via le protocole défini pour l’interface équipement / serveur.
728
```
729
730
### 7.3 Messages équipement vers serveur
731
732
Cette partie liste les messages montants.
733
734
**Exemples :**
735
736
```text
737
- MEASURE : transmission de mesure ;
738
- ALARM : transmission d’alarme ;
739
- EVENT : transmission d’événement ;
740
- STATE : transmission d’état courant ;
741
- DIAGNOSTIC : transmission d’informations de diagnostic ;
742
- LOG : transmission de logs ;
743
- VERSION : transmission des versions ;
744
- SYNC_DATA : retransmission de données après perte réseau.
745
```
746
747
### 7.4 Messages serveur vers équipement
748
749
Cette partie liste les messages descendants.
750
751
**Exemples :**
752
753
```text
754
- ACK : acquittement ;
755
- CONFIG : configuration ;
756
- COMMAND : commande ;
757
- TIME_SYNC : synchronisation horaire ;
758
- UPDATE_REQUEST : demande de mise à jour ;
759
- DIAG_REQUEST : demande de diagnostic ;
760
- RESET_REQUEST : demande de redémarrage contrôlé ;
761
- NACK / REJECT : rejet de message.
762
```
763
764
### 7.5 Structure commune des messages
765
766
Cette partie définit les champs communs.
767
768
**Exemple :**
769
770
```text
771
Champ | Description | Obligatoire | Exemple
772
protocol_version | version du protocole | oui | 1.0
773
message_id | identifiant unique du message | oui | MSG-20260703-0001
774
equipment_id | identifiant équipement | oui | EQP-001
775
message_type | type de message | oui | MEASURE
776
timestamp_device | horodatage équipement | oui si disponible | 2026-07-03T14:02:10Z
777
timestamp_server | horodatage serveur | non, ajouté à réception | 2026-07-03T14:02:15Z
778
payload | contenu spécifique | oui | selon type
779
```
780
781
### 7.6 Exemple de message de mesure
782
783
Cette partie donne un exemple concret.
784
785
**Exemple JSON indicatif :**
786
787
```json
788
{
789
  "protocol_version": "1.0",
790
  "message_id": "MSG-000123",
791
  "equipment_id": "EQP-001",
792
  "message_type": "MEASURE",
793
  "timestamp_device": "2026-07-03T14:02:10Z",
794
  "payload": {
795
    "measure_type": "temperature",
796
    "value": 42.5,
797
    "unit": "degC",
798
    "quality": "valid"
799
  }
800
}
801
```
802
803
### 7.7 Exemple de message d’alarme
804
805
```json
806
{
807
  "protocol_version": "1.0",
808
  "message_id": "MSG-000124",
809
  "equipment_id": "EQP-001",
810
  "message_type": "ALARM",
811
  "timestamp_device": "2026-07-03T14:03:00Z",
812
  "payload": {
813
    "alarm_code": "TEMP_HIGH",
814
    "severity": "major",
815
    "status": "active",
816
    "description": "Temperature above configured threshold"
817
  }
818
}
819
```
820
821
### 7.8 Acquittements
822
823
Cette partie décrit les réponses du serveur.
824
825
**Exemple :**
826
827
```json
828
{
829
  "protocol_version": "1.0",
830
  "message_id": "MSG-000124",
831
  "ack_id": "ACK-000985",
832
  "status": "ACCEPTED",
833
  "timestamp_server": "2026-07-03T14:03:02Z"
834
}
835
```
836
837
**Statuts possibles :**
838
839
```text
840
ACCEPTED :
841
message accepté et pris en compte.
842
843
REJECTED :
844
message rejeté, non pris en compte.
845
846
RETRY :
847
message non traité, retransmission demandée.
848
849
DUPLICATE :
850
message déjà reçu et déjà traité.
851
852
UNAUTHORIZED :
853
équipement ou message non autorisé.
854
```
855
856
### 7.9 Gestion des erreurs de communication
857
858
Cette partie décrit les erreurs possibles.
859
860
**Exemples :**
861
862
```text
863
- serveur non joignable ;
864
- timeout ;
865
- acquittement absent ;
866
- acquittement invalide ;
867
- message rejeté ;
868
- version protocole incompatible ;
869
- équipement non autorisé ;
870
- certificat invalide ;
871
- message dupliqué ;
872
- message trop volumineux ;
873
- erreur de format.
874
```
875
876
### 7.10 Resynchronisation après perte réseau
877
878
Cette partie décrit le comportement après une coupure.
879
880
**Exemple :**
881
882
```text
883
Lorsqu’une communication est rétablie :
884
1. l’équipement vérifie l’accessibilité du serveur ;
885
2. l’équipement transmet les messages stockés localement ;
886
3. le serveur conserve l’horodatage d’origine ;
887
4. le serveur détecte les doublons éventuels ;
888
5. les messages acceptés sont acquittés ;
889
6. l’équipement marque les messages comme transmis ;
890
7. l’état de communication repasse au nominal si les conditions sont satisfaites.
891
```
892
893
### 7.11 Sécurité de l’interface
894
895
Cette partie décrit les protections.
896
897
**Exemples :**
898
899
```text
900
- chiffrement TLS ;
901
- authentification équipement ;
902
- certificat client ;
903
- jeton ;
904
- signature de message ;
905
- contrôle d’intégrité ;
906
- contrôle de version protocole ;
907
- filtrage IP ;
908
- journalisation des erreurs de sécurité.
909
```
910
911
### 7.12 Tests associés
912
913
**Exemples :**
914
915
```text
916
- transmission mesure nominale ;
917
- transmission alarme ;
918
- réception acquittement ACCEPTED ;
919
- réception REJECTED ;
920
- serveur indisponible ;
921
- coupure réseau ;
922
- retour réseau ;
923
- retransmission messages ;
924
- doublon ;
925
- message invalide ;
926
- équipement inconnu ;
927
- protocole incompatible ;
928
- certificat invalide.
929
```
930
931
---
932
933
## 8. Interfaces serveur / base de données
934
935
### 8.1 Objet de l’interface serveur / base de données
936
937
Cette partie décrit les échanges entre l’application serveur et la base de données.
938
939
Elle est essentielle pour l’historisation, les alarmes, la configuration, les utilisateurs, les droits, les rapports et la restauration.
940
941
### 8.2 Données écrites en base
942
943
**Exemples :**
944
945
```text
946
- mesures ;
947
- alarmes ;
948
- événements ;
949
- états équipements ;
950
- utilisateurs ;
951
- rôles ;
952
- configurations ;
953
- commandes ;
954
- logs applicatifs ;
955
- exports ;
956
- rapports ;
957
- informations de maintenance.
958
```
959
960
### 8.3 Données lues depuis la base
961
962
**Exemples :**
963
964
```text
965
- configuration active ;
966
- liste équipements ;
967
- historique mesures ;
968
- alarmes actives ;
969
- droits utilisateurs ;
970
- paramètres applicatifs ;
971
- rapports ;
972
- données de tableau de bord ;
973
- état système ;
974
- historique d’audit.
975
```
976
977
### 8.4 Contraintes d’intégrité
978
979
Cette partie décrit les règles à respecter.
980
981
**Exemples :**
982
983
```text
984
- une mesure doit être associée à un équipement ;
985
- une alarme doit être associée à une source ;
986
- une action utilisateur doit être associée à un utilisateur connu ou à un compte système ;
987
- une configuration appliquée doit être versionnée ;
988
- les historiques ne doivent pas être supprimés lors de la désactivation d’un équipement ;
989
- une suppression doit être contrôlée et journalisée si elle concerne des données critiques.
990
```
991
992
### 8.5 Transactions et cohérence
993
994
Cette partie décrit les opérations qui doivent être cohérentes.
995
996
**Exemple :**
997
998
```text
999
Lors de la réception d’une alarme :
1000
1. le message est validé ;
1001
2. l’alarme est créée ou mise à jour ;
1002
3. l’événement associé est historisé ;
1003
4. l’état équipement est mis à jour ;
1004
5. l’acquittement serveur est préparé.
1005
1006
Ces actions doivent être cohérentes : il ne doit pas y avoir une alarme créée sans événement associé si cette association est obligatoire.
1007
```
1008
1009
### 8.6 Gestion des erreurs base de données
1010
1011
**Exemples :**
1012
1013
```text
1014
- connexion impossible ;
1015
- timeout ;
1016
- contrainte d’intégrité violée ;
1017
- espace disque saturé ;
1018
- migration incomplète ;
1019
- écriture refusée ;
1020
- lecture incohérente ;
1021
- verrouillage prolongé ;
1022
- corruption détectée.
1023
```
1024
1025
### 8.7 Tests associés
1026
1027
**Exemples :**
1028
1029
```text
1030
- écriture mesure ;
1031
- écriture alarme ;
1032
- lecture historique ;
1033
- contrainte équipement inexistant ;
1034
- base indisponible ;
1035
- transaction interrompue ;
1036
- migration base ;
1037
- restauration base ;
1038
- performance requête ;
1039
- purge contrôlée.
1040
```
1041
1042
---
1043
1044
## 9. Interfaces backend / frontend / IHM
1045
1046
### 9.1 Objet de l’interface backend / frontend
1047
1048
Cette partie décrit les échanges entre la partie serveur backend et l’interface utilisateur.
1049
1050
Elle peut être interne à l’application, mais doit être spécifiée si l’IHM est développée séparément, si des API sont exposées, ou si l’intégration doit être testée formellement.
1051
1052
### 9.2 Fonctions accessibles par l’IHM
1053
1054
**Exemples :**
1055
1056
```text
1057
- authentification ;
1058
- consultation tableau de bord ;
1059
- liste équipements ;
1060
- détail équipement ;
1061
- alarmes actives ;
1062
- historique alarmes ;
1063
- historique mesures ;
1064
- acquittement alarme ;
1065
- configuration ;
1066
- administration utilisateurs ;
1067
- exports ;
1068
- diagnostic ;
1069
- supervision.
1070
```
1071
1072
### 9.3 Données affichées
1073
1074
Cette partie décrit les informations transmises à l’IHM.
1075
1076
**Exemple :**
1077
1078
```text
1079
Écran tableau de bord :
1080
- nombre d’équipements actifs ;
1081
- nombre d’équipements en défaut ;
1082
- nombre d’équipements non joignables ;
1083
- nombre d’alarmes critiques ;
1084
- dernières alarmes ;
1085
- état global système.
1086
1087
Écran équipement :
1088
- identifiant ;
1089
- nom ;
1090
- site ;
1091
- mode courant ;
1092
- dernière communication ;
1093
- alarmes actives ;
1094
- mesures récentes ;
1095
- version firmware ;
1096
- configuration active.
1097
```
1098
1099
### 9.4 Actions déclenchées depuis l’IHM
1100
1101
**Exemples :**
1102
1103
```text
1104
- acquitter une alarme ;
1105
- modifier un paramètre ;
1106
- lancer un export ;
1107
- consulter des logs ;
1108
- créer un utilisateur ;
1109
- désactiver un équipement ;
1110
- demander un diagnostic ;
1111
- envoyer une commande ;
1112
- lancer une restauration si autorisée ;
1113
- lancer une mise à jour si autorisée.
1114
```
1115
1116
### 9.5 Gestion des erreurs IHM
1117
1118
Cette partie décrit ce que l’utilisateur voit lorsqu’une action échoue.
1119
1120
**Exemples :**
1121
1122
```text
1123
- message d’erreur clair ;
1124
- absence d’exposition de détails techniques sensibles ;
1125
- indication de l’action non autorisée ;
1126
- indication de session expirée ;
1127
- indication de serveur indisponible ;
1128
- indication de donnée introuvable ;
1129
- possibilité de réessayer si pertinent.
1130
```
1131
1132
### 9.6 Contrôle des droits côté IHM et backend
1133
1134
Cette partie précise que l’IHM ne suffit pas à sécuriser une action.
1135
1136
**Exemple :**
1137
1138
```text
1139
L’IHM peut masquer un bouton à un utilisateur non autorisé, mais le backend doit également refuser l’action si elle est appelée directement par API.
1140
```
1141
1142
**Exigences typiques :**
1143
1144
```text
1145
IF-IHM-SEC-001 — Le backend doit contrôler les droits pour chaque action sensible.
1146
1147
IF-IHM-SEC-002 — L’IHM doit présenter uniquement les actions compatibles avec le profil utilisateur lorsque cela est possible.
1148
1149
IF-IHM-SEC-003 — Une action refusée doit produire un message compréhensible et être journalisée si nécessaire.
1150
```
1151
1152
### 9.7 Tests associés
1153
1154
**Exemples :**
1155
1156
```text
1157
- affichage tableau de bord ;
1158
- consultation équipement ;
1159
- filtre historique ;
1160
- acquittement alarme ;
1161
- action refusée par droits insuffisants ;
1162
- session expirée ;
1163
- backend indisponible ;
1164
- erreur API ;
1165
- message utilisateur ;
1166
- cohérence affichage backend.
1167
```
1168
1169
---
1170
1171
## 10. Interfaces utilisateurs physiques ou locales
1172
1173
### 10.1 Objet des interfaces utilisateur locales
1174
1175
Cette partie décrit les interfaces physiques ou locales disponibles sur l’équipement : voyants, boutons, afficheur, buzzer, port maintenance, écran local, interrupteurs ou sélecteurs.
1176
1177
### 10.2 Voyants et signalisation
1178
1179
**Exemples :**
1180
1181
```text
1182
Voyant alimentation :
1183
- allumé fixe : alimentation présente ;
1184
- éteint : absence alimentation.
1185
1186
Voyant communication :
1187
- allumé fixe : communication serveur OK ;
1188
- clignotant : tentative connexion ;
1189
- éteint : communication absente.
1190
1191
Voyant défaut :
1192
- éteint : aucun défaut ;
1193
- allumé fixe : défaut actif ;
1194
- clignotant : défaut critique.
1195
```
1196
1197
### 10.3 Boutons ou commandes locales
1198
1199
Cette partie décrit les commandes physiques.
1200
1201
**Exemples :**
1202
1203
```text
1204
- bouton démarrage ;
1205
- bouton arrêt ;
1206
- bouton reset ;
1207
- bouton test ;
1208
- bouton acquittement local ;
1209
- bouton arrêt d’urgence ;
1210
- sélecteur maintenance ;
1211
- bouton export diagnostic.
1212
```
1213
1214
**Exemple de description :**
1215
1216
```text
1217
Identifiant : IF-LOCAL-001
1218
Nom : bouton reset local
1219
Type : bouton physique
1220
Usage : demander un redémarrage contrôlé
1221
Conditions d’utilisation : mode maintenance ou défaut non critique
1222
Effet attendu : redémarrage logiciel contrôlé
1223
Actions interdites : reset en commande critique active
1224
Journalisation : oui si possible
1225
Tests associés : TEST-LOCAL-RESET-001
1226
```
1227
1228
### 10.4 Afficheur local
1229
1230
Cette partie est utile si l’équipement possède un écran ou afficheur.
1231
1232
**Exemples d’informations affichables :**
1233
1234
```text
1235
- état système ;
1236
- code défaut ;
1237
- adresse IP ;
1238
- mode courant ;
1239
- niveau batterie ;
1240
- état communication ;
1241
- version firmware ;
1242
- instructions maintenance ;
1243
- progression mise à jour.
1244
```
1245
1246
### 10.5 Buzzer ou signal sonore
1247
1248
Cette partie décrit les signaux sonores éventuels.
1249
1250
**Exemples :**
1251
1252
```text
1253
- alarme critique ;
1254
- défaut technique ;
1255
- confirmation action ;
1256
- fin de test ;
1257
- erreur utilisateur ;
1258
- durée maximale d’activation ;
1259
- inhibition en maintenance.
1260
```
1261
1262
### 10.6 Tests associés
1263
1264
**Exemples :**
1265
1266
```text
1267
- voyant alimentation ;
1268
- voyant communication ;
1269
- voyant défaut ;
1270
- bouton reset ;
1271
- bouton test ;
1272
- afficheur code défaut ;
1273
- buzzer alarme ;
1274
- inhibition signalisation en maintenance ;
1275
- état au démarrage.
1276
```
1277
1278
---
1279
1280
## 11. Interfaces de maintenance et diagnostic
1281
1282
### 11.1 Objet des interfaces maintenance
1283
1284
Cette partie décrit les moyens permettant à un technicien ou à un administrateur de diagnostiquer, configurer, tester, mettre à jour ou restaurer un composant.
1285
1286
Les interfaces de maintenance peuvent être locales ou distantes. Elles doivent être contrôlées, sécurisées et documentées.
1287
1288
### 11.2 Types d’interfaces de maintenance
1289
1290
**Exemples :**
1291
1292
```text
1293
- port USB local ;
1294
- port série ;
1295
- port Ethernet local ;
1296
- interface web maintenance ;
1297
- accès SSH ;
1298
- outil de diagnostic ;
1299
- API diagnostic ;
1300
- export logs ;
1301
- écran maintenance ;
1302
- console administrateur ;
1303
- serveur SAS ;
1304
- VPN d’administration.
1305
```
1306
1307
### 11.3 Fonctions accessibles en maintenance
1308
1309
**Exemples :**
1310
1311
```text
1312
- consulter les versions ;
1313
- consulter l’état courant ;
1314
- exporter les logs ;
1315
- tester une entrée ;
1316
- tester une sortie ;
1317
- lire la configuration ;
1318
- charger une configuration ;
1319
- lancer un autotest ;
1320
- redémarrer un service ;
1321
- mettre à jour un firmware ;
1322
- vérifier la connectivité ;
1323
- lancer une sauvegarde ;
1324
- restaurer une configuration.
1325
```
1326
1327
### 11.4 Sécurité de l’interface maintenance
1328
1329
Cette partie est critique car les interfaces de maintenance donnent souvent accès à des fonctions sensibles.
1330
1331
**Exemples d’exigences :**
1332
1333
```text
1334
IF-MNT-SEC-001 — L’accès aux fonctions de maintenance doit être réservé aux utilisateurs ou techniciens habilités.
1335
1336
IF-MNT-SEC-002 — Les actions de maintenance critiques doivent être journalisées.
1337
1338
IF-MNT-SEC-003 — Une interface de maintenance ne doit pas permettre de contourner les règles de sécurité du système.
1339
1340
IF-MNT-SEC-004 — Les accès distants de maintenance doivent respecter les contraintes réseau et cybersécurité définies.
1341
```
1342
1343
### 11.5 Export de diagnostic
1344
1345
Cette partie décrit les fichiers ou informations exportables.
1346
1347
**Exemples :**
1348
1349
```text
1350
- version hardware ;
1351
- version firmware ;
1352
- version serveur ;
1353
- état des entrées/sorties ;
1354
- derniers défauts ;
1355
- logs locaux ;
1356
- logs serveur ;
1357
- configuration active ;
1358
- état stockage ;
1359
- état communication ;
1360
- cause dernier redémarrage ;
1361
- rapport de santé système.
1362
```
1363
1364
### 11.6 Tests associés
1365
1366
**Exemples :**
1367
1368
```text
1369
- accès maintenance autorisé ;
1370
- accès maintenance refusé ;
1371
- export logs ;
1372
- consultation version ;
1373
- test entrée ;
1374
- test sortie ;
1375
- redémarrage contrôlé ;
1376
- mise à jour firmware ;
1377
- action critique journalisée ;
1378
- accès distant via VPN.
1379
```
1380
1381
---
1382
1383
## 12. Interfaces fichiers et exports
1384
1385
### 12.1 Objet des interfaces fichiers
1386
1387
Cette partie décrit les fichiers échangés, importés, exportés ou conservés par le système.
1388
1389
Les interfaces fichiers peuvent concerner la configuration, les historiques, les rapports, les logs, les sauvegardes, les mises à jour, les diagnostics ou les échanges avec des systèmes tiers.
1390
1391
### 12.2 Types de fichiers
1392
1393
**Exemples :**
1394
1395
```text
1396
- fichier de configuration ;
1397
- export CSV ;
1398
- export JSON ;
1399
- rapport PDF ;
1400
- fichier log ;
1401
- fichier diagnostic ;
1402
- fichier de sauvegarde ;
1403
- paquet de mise à jour ;
1404
- fichier d’import ;
1405
- fichier d’échange système tiers ;
1406
- fichier de mapping équipements.
1407
```
1408
1409
### 12.3 Description d’un fichier de configuration
1410
1411
**Exemple :**
1412
1413
```text
1414
Identifiant : IF-DOC-001
1415
Nom : fichier de configuration équipement
1416
Format : JSON / YAML / XML / CSV selon choix
1417
Usage : définir les paramètres applicables à un équipement
1418
Producteur : serveur ou outil de configuration
1419
Consommateur : firmware embarqué
1420
Champs principaux :
1421
- equipment_id ;
1422
- acquisition_period ;
1423
- thresholds ;
1424
- communication_settings ;
1425
- enabled_features ;
1426
- version ;
1427
- checksum.
1428
Sécurité : contrôle d’intégrité, accès restreint
1429
Tests associés : TEST-CFG-IMPORT-001, TEST-CFG-INVALID-001
1430
```
1431
1432
### 12.4 Description d’un export CSV
1433
1434
**Exemple :**
1435
1436
```text
1437
Identifiant : IF-DOC-002
1438
Nom : export historique mesures
1439
Format : CSV
1440
Producteur : serveur applicatif
1441
Consommateur : utilisateur / outil externe
1442
Séparateur : point-virgule ou virgule selon convention
1443
Encodage : UTF-8
1444
Colonnes :
1445
- equipment_id ;
1446
- timestamp_device ;
1447
- timestamp_server ;
1448
- measure_type ;
1449
- value ;
1450
- unit ;
1451
- quality.
1452
Filtres : équipement, période, type de mesure
1453
Tests associés : TEST-EXP-CSV-001
1454
```
1455
1456
### 12.5 Description d’un rapport PDF
1457
1458
**Exemples d’informations à définir :**
1459
1460
```text
1461
- titre du rapport ;
1462
- période couverte ;
1463
- équipement ou site ;
1464
- synthèse ;
1465
- alarmes ;
1466
- mesures ;
1467
- événements ;
1468
- commentaires ;
1469
- date de génération ;
1470
- utilisateur générateur ;
1471
- version de l’application ;
1472
- mentions ou pied de page.
1473
```
1474
1475
### 12.6 Fichiers de logs
1476
1477
Cette partie décrit les fichiers de journaux.
1478
1479
**Exemples :**
1480
1481
```text
1482
- format texte ou JSON ;
1483
- horodatage ;
1484
- niveau de log ;
1485
- identifiant composant ;
1486
- rotation ;
1487
- compression ;
1488
- durée conservation ;
1489
- export ;
1490
- protection contre modification ;
1491
- absence de secrets en clair.
1492
```
1493
1494
### 12.7 Fichiers de mise à jour
1495
1496
Cette partie décrit les paquets firmware ou applicatifs.
1497
1498
**Exemples :**
1499
1500
```text
1501
- nom du fichier ;
1502
- version ;
1503
- cible hardware/software ;
1504
- checksum ;
1505
- signature ;
1506
- taille maximale ;
1507
- date ;
1508
- compatibilité ;
1509
- procédure de contrôle ;
1510
- procédure de rejet.
1511
```
1512
1513
### 12.8 Tests associés
1514
1515
**Exemples :**
1516
1517
```text
1518
- import configuration valide ;
1519
- import configuration invalide ;
1520
- export CSV ;
1521
- export volumineux ;
1522
- encodage caractères spéciaux ;
1523
- génération PDF ;
1524
- fichier log sans secret ;
1525
- paquet mise à jour invalide ;
1526
- checksum incorrect ;
1527
- fichier absent.
1528
```
1529
1530
---
1531
1532
## 13. Interfaces réseau
1533
1534
### 13.1 Objet des interfaces réseau
1535
1536
Cette partie décrit les flux réseau nécessaires au fonctionnement du système.
1537
1538
Elle complète le dossier infrastructure en précisant les flux liés aux interfaces applicatives, aux équipements, aux utilisateurs, à la maintenance, à la sauvegarde et aux systèmes tiers.
1539
1540
### 13.2 Liste des flux réseau
1541
1542
**Exemple :**
1543
1544
```text
1545
ID flux | Source | Destination | Protocole | Port | Usage | Criticité
1546
F-NET-001 | équipement | serveur applicatif | HTTPS/MQTT | 443/8883 | mesures/alarmes | élevée
1547
F-NET-002 | poste opérateur | serveur applicatif | HTTPS | 443 | IHM | élevée
1548
F-NET-003 | serveur applicatif | base données | TCP | selon DB | données | critique
1549
F-NET-004 | serveur | sauvegarde | SSH/API | selon choix | backup | élevée
1550
F-NET-005 | admin | serveur | VPN/SSH | selon choix | administration | élevée
1551
F-NET-006 | serveur | système tiers | HTTPS/API | 443 | export | moyenne
1552
```
1553
1554
### 13.3 Description détaillée d’un flux
1555
1556
**Modèle :**
1557
1558
```text
1559
ID flux :
1560
Source :
1561
Destination :
1562
Sens :
1563
Protocole :
1564
Port :
1565
Fréquence :
1566
Données transportées :
1567
Chiffrement :
1568
Authentification :
1569
Journalisation :
1570
Comportement en cas d’échec :
1571
Responsable réseau :
1572
Tests associés :
1573
```
1574
1575
### 13.4 Flux interdits
1576
1577
Cette partie liste les flux explicitement non autorisés.
1578
1579
**Exemples :**
1580
1581
```text
1582
- poste opérateur vers base de données ;
1583
- équipement vers base de données ;
1584
- accès Internet direct depuis base de données ;
1585
- accès administrateur hors VPN ;
1586
- accès SSH depuis un poste non autorisé ;
1587
- transfert direct de fichier vers production sans SAS ;
1588
- communication non chiffrée si interdite par politique sécurité.
1589
```
1590
1591
### 13.5 Comportement en cas de perte réseau
1592
1593
Cette partie décrit l’impact fonctionnel.
1594
1595
**Exemples :**
1596
1597
```text
1598
Perte réseau équipement / serveur :
1599
- passage firmware en mode dégradé communication ;
1600
- stockage local ;
1601
- équipement marqué non joignable côté serveur ;
1602
- alarme communication ;
1603
- resynchronisation au retour.
1604
1605
Perte réseau poste opérateur / serveur :
1606
- utilisateur déconnecté ou IHM indisponible ;
1607
- aucune perte de données côté équipement si serveur reste accessible.
1608
1609
Perte réseau serveur / base :
1610
- application en erreur critique ;
1611
- réception impossible ou limitée ;
1612
- alerte infrastructure.
1613
```
1614
1615
### 13.6 Tests associés
1616
1617
**Exemples :**
1618
1619
```text
1620
- flux équipement vers serveur autorisé ;
1621
- flux poste vers IHM autorisé ;
1622
- flux poste vers base bloqué ;
1623
- coupure réseau équipement ;
1624
- coupure réseau base ;
1625
- retour réseau ;
1626
- latence élevée ;
1627
- perte paquets ;
1628
- certificat réseau expiré ;
1629
- accès admin hors VPN refusé.
1630
```
1631
1632
---
1633
1634
## 14. Interfaces avec systèmes tiers
1635
1636
### 14.1 Objet des interfaces systèmes tiers
1637
1638
Cette partie décrit les échanges avec des systèmes externes au périmètre principal.
1639
1640
Ces interfaces doivent être formalisées car elles impliquent souvent d’autres équipes, d’autres contrats, d’autres contraintes de sécurité ou des dépendances externes.
1641
1642
### 14.2 Liste des systèmes tiers
1643
1644
**Exemple :**
1645
1646
```text
1647
Système tiers | Usage | Sens | Responsable | Criticité
1648
Annuaire client | authentification | serveur ↔ annuaire | client IT | élevée
1649
GMAO | création ticket maintenance | serveur → GMAO | client exploitation | moyenne
1650
Supervision client | état système | serveur → supervision | client IT | moyenne
1651
ERP | référentiel sites | ERP → serveur | client métier | faible/moyenne
1652
Messagerie | notification email | serveur → SMTP | client IT | moyenne
1653
```
1654
1655
### 14.3 Données échangées avec un système tiers
1656
1657
**Exemples :**
1658
1659
```text
1660
- identifiant équipement ;
1661
- état équipement ;
1662
- alarme critique ;
1663
- rapport incident ;
1664
- demande intervention ;
1665
- utilisateur ;
1666
- site ;
1667
- zone ;
1668
- date ;
1669
- commentaire ;
1670
- statut ticket ;
1671
- fichier export.
1672
```
1673
1674
### 14.4 Exemple d’interface GMAO
1675
1676
```text
1677
Identifiant : IF-TIERS-001
1678
Nom : interface GMAO
1679
Source : serveur applicatif
1680
Destination : GMAO client
1681
Usage : créer une demande d’intervention lors d’une alarme critique
1682
Sens : serveur vers GMAO
1683
Protocole : API REST HTTPS ou fichier selon choix
1684
Données :
1685
- equipment_id ;
1686
- alarm_code ;
1687
- severity ;
1688
- timestamp ;
1689
- description ;
1690
- site ;
1691
- suggested_action.
1692
Réponse attendue :
1693
- ticket_id ;
1694
- status ;
1695
- message.
1696
Erreur :
1697
- GMAO indisponible ;
1698
- authentification refusée ;
1699
- format rejeté.
1700
Tests associés :
1701
- création ticket nominal ;
1702
- GMAO indisponible ;
1703
- rejet format ;
1704
- doublon alarme.
1705
```
1706
1707
### 14.5 Exemple d’interface annuaire
1708
1709
```text
1710
Identifiant : IF-TIERS-002
1711
Nom : interface annuaire utilisateur
1712
Source : serveur applicatif
1713
Destination : annuaire client
1714
Usage : authentifier les utilisateurs
1715
Protocole : LDAP / SSO / OAuth2 / OpenID Connect selon choix
1716
Données :
1717
- identifiant utilisateur ;
1718
- groupe ;
1719
- rôle ;
1720
- statut compte.
1721
Erreur :
1722
- annuaire indisponible ;
1723
- utilisateur inconnu ;
1724
- mot de passe invalide ;
1725
- groupe non mappé.
1726
Tests associés :
1727
- connexion nominale ;
1728
- utilisateur inconnu ;
1729
- groupe sans rôle ;
1730
- annuaire indisponible.
1731
```
1732
1733
### 14.6 Gestion des indisponibilités de systèmes tiers
1734
1735
Cette partie décrit le comportement lorsque le système externe est indisponible.
1736
1737
**Exemples :**
1738
1739
```text
1740
- mise en file d’attente ;
1741
- rejet contrôlé ;
1742
- alerte technique ;
1743
- fonctionnement local maintenu ;
1744
- mode dégradé ;
1745
- nouvelle tentative périodique ;
1746
- journalisation ;
1747
- intervention manuelle.
1748
```
1749
1750
### 14.7 Tests associés
1751
1752
**Exemples :**
1753
1754
```text
1755
- échange nominal ;
1756
- système tiers indisponible ;
1757
- réponse invalide ;
1758
- authentification refusée ;
1759
- timeout ;
1760
- doublon ;
1761
- reprise après retour ;
1762
- journalisation erreur ;
1763
- alerte supervision.
1764
```
1765
1766
---
1767
1768
## 15. Interfaces de supervision
1769
1770
### 15.1 Objet des interfaces de supervision
1771
1772
Cette partie décrit les interfaces permettant de surveiller l’état du système, des services, des équipements, des sauvegardes, des flux ou des performances.
1773
1774
La supervision peut être interne à l’application ou connectée à un outil externe.
1775
1776
### 15.2 Données de supervision exposées
1777
1778
**Exemples :**
1779
1780
```text
1781
- état serveur applicatif ;
1782
- état base de données ;
1783
- état des équipements ;
1784
- nombre d’alarmes actives ;
1785
- nombre de messages reçus ;
1786
- nombre de messages rejetés ;
1787
- temps de réponse API ;
1788
- état des sauvegardes ;
1789
- espace disque ;
1790
- version applicative ;
1791
- état file d’attente ;
1792
- état système tiers.
1793
```
1794
1795
### 15.3 Healthcheck
1796
1797
Cette partie décrit les points de contrôle de santé.
1798
1799
**Exemple :**
1800
1801
```text
1802
Identifiant : IF-SUP-001
1803
Nom : healthcheck applicatif
1804
Source : outil supervision
1805
Destination : serveur applicatif
1806
Protocole : HTTPS
1807
Réponse attendue :
1808
- status global ;
1809
- état base ;
1810
- état application ;
1811
- version ;
1812
- timestamp.
1813
Statuts :
1814
- OK ;
1815
- DEGRADED ;
1816
- ERROR.
1817
```
1818
1819
### 15.4 Alertes supervision
1820
1821
Cette partie décrit les alertes générées ou exposées.
1822
1823
**Exemples :**
1824
1825
```text
1826
- serveur indisponible ;
1827
- base indisponible ;
1828
- sauvegarde échouée ;
1829
- disque presque plein ;
1830
- certificat expirant ;
1831
- taux de rejet messages élevé ;
1832
- équipement non joignable ;
1833
- file d’attente saturée ;
1834
- service tiers indisponible.
1835
```
1836
1837
### 15.5 Interface avec outil de supervision externe
1838
1839
**Exemples :**
1840
1841
```text
1842
- endpoint HTTP ;
1843
- agent local ;
1844
- export métriques ;
1845
- fichiers logs ;
1846
- SNMP ;
1847
- webhook ;
1848
- email ;
1849
- API supervision.
1850
```
1851
1852
### 15.6 Tests associés
1853
1854
**Exemples :**
1855
1856
```text
1857
- healthcheck OK ;
1858
- healthcheck base KO ;
1859
- arrêt service ;
1860
- alerte sauvegarde échouée ;
1861
- alerte disque ;
1862
- équipement non joignable ;
1863
- outil supervision indisponible ;
1864
- retour au nominal.
1865
```
1866
1867
---
1868
1869
## 16. Interfaces de sauvegarde et restauration
1870
1871
### 16.1 Objet des interfaces sauvegarde/restauration
1872
1873
Cette partie décrit les interfaces utilisées pour sauvegarder et restaurer les données, configurations, bases, fichiers applicatifs, logs ou états système.
1874
1875
Elle complète le dossier infrastructure en précisant les formats, composants et responsabilités d’échange.
1876
1877
### 16.2 Éléments sauvegardés via interface
1878
1879
**Exemples :**
1880
1881
```text
1882
- base de données ;
1883
- fichiers de configuration ;
1884
- fichiers de logs critiques ;
1885
- exports ;
1886
- rapports ;
1887
- fichiers de paramétrage ;
1888
- certificats si politique autorisée ;
1889
- scripts de déploiement ;
1890
- versions applicatives ;
1891
- configuration équipement.
1892
```
1893
1894
### 16.3 Interface de sauvegarde base de données
1895
1896
**Exemple :**
1897
1898
```text
1899
Identifiant : IF-BKP-001
1900
Nom : sauvegarde base de données
1901
Source : serveur base de données
1902
Destination : serveur sauvegarde
1903
Usage : sauvegarde périodique des données applicatives
1904
Fréquence : quotidienne ou selon politique
1905
Format : dump SQL / archive compressée / snapshot selon choix
1906
Sécurité : accès restreint, chiffrement si nécessaire
1907
Contrôle : code retour, taille fichier, intégrité
1908
Tests associés : TEST-BKP-DB-001, TEST-REST-DB-001
1909
```
1910
1911
### 16.4 Interface de restauration
1912
1913
**Exemple :**
1914
1915
```text
1916
Identifiant : IF-REST-001
1917
Nom : restauration base de données
1918
Source : serveur sauvegarde
1919
Destination : environnement cible
1920
Usage : restaurer une base après incident ou test
1921
Préconditions :
1922
- sauvegarde identifiée ;
1923
- environnement disponible ;
1924
- services arrêtés si nécessaire ;
1925
- droits administrateur.
1926
Résultat attendu :
1927
- base restaurée ;
1928
- application redémarrée ;
1929
- cohérence vérifiée.
1930
Tests associés : TEST-REST-DB-001
1931
```
1932
1933
### 16.5 Erreurs de sauvegarde/restauration
1934
1935
**Exemples :**
1936
1937
```text
1938
- sauvegarde absente ;
1939
- sauvegarde incomplète ;
1940
- fichier corrompu ;
1941
- espace disque insuffisant ;
1942
- droits insuffisants ;
1943
- restauration incompatible version ;
1944
- service actif empêchant restauration ;
1945
- échec contrôle intégrité.
1946
```
1947
1948
### 16.6 Tests associés
1949
1950
**Exemples :**
1951
1952
```text
1953
- sauvegarde manuelle ;
1954
- sauvegarde planifiée ;
1955
- sauvegarde avec espace insuffisant ;
1956
- restauration sur environnement de test ;
1957
- restauration configuration ;
1958
- restauration après mise à jour ;
1959
- sauvegarde corrompue refusée ;
1960
- alerte échec sauvegarde.
1961
```
1962
1963
---
1964
1965
## 17. Interfaces de configuration
1966
1967
### 17.1 Objet des interfaces de configuration
1968
1969
Cette partie décrit les interfaces permettant de créer, modifier, transmettre, appliquer ou restaurer une configuration.
1970
1971
La configuration peut concerner le firmware, le serveur, les équipements, les seuils, les utilisateurs, les droits, les paramètres réseau ou les règles d’alarme.
1972
1973
### 17.2 Types de configuration
1974
1975
**Exemples :**
1976
1977
```text
1978
- configuration équipement ;
1979
- configuration firmware ;
1980
- configuration serveur ;
1981
- configuration IHM ;
1982
- configuration alarmes ;
1983
- configuration utilisateurs ;
1984
- configuration droits ;
1985
- configuration réseau ;
1986
- configuration sauvegarde ;
1987
- configuration supervision.
1988
```
1989
1990
### 17.3 Interface serveur vers équipement pour configuration
1991
1992
**Exemple :**
1993
1994
```text
1995
Identifiant : IF-CFG-001
1996
Nom : transmission configuration équipement
1997
Source : serveur applicatif
1998
Destination : firmware embarqué
1999
Usage : transmettre une configuration validée à l’équipement
2000
Données :
2001
- equipment_id ;
2002
- config_version ;
2003
- thresholds ;
2004
- acquisition_periods ;
2005
- communication_settings ;
2006
- enabled_features.
2007
Sécurité :
2008
- source autorisée ;
2009
- contrôle d’intégrité ;
2010
- version ;
2011
- journalisation.
2012
Réponse attendue :
2013
- configuration acceptée ;
2014
- configuration rejetée ;
2015
- motif rejet.
2016
Tests associés :
2017
- configuration valide ;
2018
- configuration invalide ;
2019
- version incompatible ;
2020
- acquittement équipement.
2021
```
2022
2023
### 17.4 Interface d’import/export configuration
2024
2025
**Exemples :**
2026
2027
```text
2028
- export configuration actuelle ;
2029
- import configuration depuis fichier ;
2030
- comparaison deux configurations ;
2031
- validation avant application ;
2032
- historique modifications ;
2033
- retour arrière.
2034
```
2035
2036
### 17.5 Gestion des conflits de configuration
2037
2038
Cette partie décrit les situations où deux configurations divergent.
2039
2040
**Exemples :**
2041
2042
```text
2043
- configuration attendue serveur différente de la configuration déclarée équipement ;
2044
- configuration modifiée localement ;
2045
- configuration obsolète ;
2046
- équipement non synchronisé ;
2047
- tentative d’application d’une ancienne version ;
2048
- conflit entre deux modifications concurrentes.
2049
```
2050
2051
### 17.6 Tests associés
2052
2053
**Exemples :**
2054
2055
```text
2056
- export configuration ;
2057
- import configuration valide ;
2058
- import configuration invalide ;
2059
- transmission configuration ;
2060
- équipement accepte ;
2061
- équipement refuse ;
2062
- divergence détectée ;
2063
- retour arrière configuration ;
2064
- modification non autorisée refusée.
2065
```
2066
2067
---
2068
2069
## 18. Interfaces de mise à jour
2070
2071
### 18.1 Objet des interfaces de mise à jour
2072
2073
Cette partie décrit les interfaces permettant de mettre à jour un firmware, une application serveur, une configuration, une base de données ou un composant système.
2074
2075
### 18.2 Types de mises à jour
2076
2077
**Exemples :**
2078
2079
```text
2080
- firmware équipement ;
2081
- application serveur ;
2082
- base de données ;
2083
- IHM ;
2084
- configuration ;
2085
- certificat ;
2086
- scripts ;
2087
- règles d’alarme ;
2088
- système d’exploitation ;
2089
- dépendances logicielles.
2090
```
2091
2092
### 18.3 Interface de mise à jour firmware
2093
2094
**Exemple :**
2095
2096
```text
2097
Identifiant : IF-UPD-001
2098
Nom : mise à jour firmware
2099
Source : serveur ou outil maintenance
2100
Destination : équipement embarqué
2101
Usage : transmettre et appliquer une nouvelle version firmware
2102
Données :
2103
- version cible ;
2104
- fichier firmware ;
2105
- checksum ;
2106
- signature si applicable ;
2107
- compatibilité hardware ;
2108
- instructions de mise à jour.
2109
Préconditions :
2110
- équipement en mode mise à jour ou maintenance ;
2111
- alimentation suffisante ;
2112
- paquet valide ;
2113
- source autorisée.
2114
Réponse attendue :
2115
- mise à jour acceptée ;
2116
- mise à jour refusée ;
2117
- installation réussie ;
2118
- installation échouée.
2119
```
2120
2121
### 18.4 Interface de mise à jour serveur
2122
2123
Cette partie décrit la mise à jour applicative.
2124
2125
**Exemples :**
2126
2127
```text
2128
- paquet applicatif ;
2129
- image conteneur ;
2130
- scripts de migration ;
2131
- fichiers de configuration ;
2132
- note de version ;
2133
- sauvegarde préalable ;
2134
- tests post-déploiement ;
2135
- retour arrière.
2136
```
2137
2138
### 18.5 Erreurs de mise à jour
2139
2140
**Exemples :**
2141
2142
```text
2143
- paquet invalide ;
2144
- checksum incorrect ;
2145
- signature invalide ;
2146
- version incompatible ;
2147
- espace insuffisant ;
2148
- coupure réseau ;
2149
- coupure alimentation ;
2150
- migration base échouée ;
2151
- échec redémarrage ;
2152
- rollback impossible.
2153
```
2154
2155
### 18.6 Tests associés
2156
2157
**Exemples :**
2158
2159
```text
2160
- mise à jour firmware nominale ;
2161
- firmware incompatible ;
2162
- paquet corrompu ;
2163
- coupure pendant mise à jour ;
2164
- rollback firmware ;
2165
- mise à jour serveur ;
2166
- migration base ;
2167
- rollback serveur ;
2168
- vérification version après mise à jour.
2169
```
2170
2171
---
2172
2173
## 19. Interfaces d’authentification et droits
2174
2175
### 19.1 Objet des interfaces d’authentification
2176
2177
Cette partie décrit les interfaces permettant d’identifier les utilisateurs, équipements, services ou systèmes tiers.
2178
2179
L’authentification peut concerner les utilisateurs de l’IHM, les équipements qui se connectent au serveur, les API externes, les administrateurs ou les services techniques.
2180
2181
### 19.2 Authentification utilisateur
2182
2183
**Exemples :**
2184
2185
```text
2186
- authentification locale ;
2187
- annuaire LDAP ;
2188
- SSO ;
2189
- OAuth2 ;
2190
- OpenID Connect ;
2191
- certificat ;
2192
- double facteur si applicable.
2193
```
2194
2195
### 19.3 Authentification équipement
2196
2197
**Exemples :**
2198
2199
```text
2200
- identifiant équipement ;
2201
- certificat client ;
2202
- clé API ;
2203
- jeton ;
2204
- secret partagé ;
2205
- signature de message ;
2206
- liste blanche ;
2207
- contrôle adresse réseau.
2208
```
2209
2210
### 19.4 Authentification service à service
2211
2212
**Exemples :**
2213
2214
```text
2215
- serveur applicatif vers base de données ;
2216
- serveur vers système tiers ;
2217
- serveur vers sauvegarde ;
2218
- serveur vers supervision ;
2219
- outil maintenance vers équipement ;
2220
- API externe vers serveur.
2221
```
2222
2223
### 19.5 Gestion des droits
2224
2225
Cette partie décrit comment les autorisations sont portées par les interfaces.
2226
2227
**Exemples :**
2228
2229
```text
2230
- rôle utilisateur ;
2231
- groupe annuaire ;
2232
- permission API ;
2233
- droit équipement ;
2234
- profil maintenance ;
2235
- jeton limité ;
2236
- durée de validité ;
2237
- révocation.
2238
```
2239
2240
### 19.6 Tests associés
2241
2242
**Exemples :**
2243
2244
```text
2245
- connexion utilisateur valide ;
2246
- mot de passe invalide ;
2247
- compte désactivé ;
2248
- rôle insuffisant ;
2249
- équipement autorisé ;
2250
- équipement inconnu ;
2251
- certificat invalide ;
2252
- jeton expiré ;
2253
- service tiers non autorisé ;
2254
- action critique refusée.
2255
```
2256
2257
---
2258
2259
## 20. Interfaces d’erreur, codes retour et messages d’état
2260
2261
### 20.1 Objet des codes d’erreur
2262
2263
Cette partie décrit les erreurs échangées entre composants.
2264
2265
Un bon système d’interface ne décrit pas seulement les cas nominaux. Il doit aussi décrire les erreurs, rejets, timeouts, états intermédiaires et motifs d’échec.
2266
2267
### 20.2 Familles de codes d’erreur
2268
2269
**Exemples :**
2270
2271
```text
2272
- erreur de format ;
2273
- erreur de version ;
2274
- erreur d’autorisation ;
2275
- erreur d’authentification ;
2276
- ressource inconnue ;
2277
- configuration invalide ;
2278
- commande refusée ;
2279
- équipement indisponible ;
2280
- serveur indisponible ;
2281
- base indisponible ;
2282
- timeout ;
2283
- conflit ;
2284
- doublon ;
2285
- capacité insuffisante ;
2286
- erreur interne.
2287
```
2288
2289
### 20.3 Exemple de table de codes retour
2290
2291
```text
2292
Code | Signification | Action émetteur | Action récepteur
2293
OK | message accepté | poursuivre | enregistrer succès
2294
BAD_FORMAT | format invalide | corriger / ne pas répéter | journaliser rejet
2295
UNAUTHORIZED | source non autorisée | bloquer / alerter | journaliser sécurité
2296
UNSUPPORTED_VERSION | version non supportée | utiliser version compatible | alerter compatibilité
2297
DUPLICATE | message déjà traité | supprimer de file locale | journaliser si nécessaire
2298
RETRY_LATER | traitement temporairement impossible | retransmettre plus tard | surveiller incident
2299
INTERNAL_ERROR | erreur serveur | retransmettre ou alerter | analyser logs
2300
```
2301
2302
### 20.4 Messages d’état
2303
2304
Cette partie décrit les statuts échangés.
2305
2306
**Exemples :**
2307
2308
```text
2309
- connected ;
2310
- disconnected ;
2311
- degraded ;
2312
- maintenance ;
2313
- updating ;
2314
- safe_state ;
2315
- alarm_active ;
2316
- alarm_acknowledged ;
2317
- configuration_pending ;
2318
- synchronization_pending ;
2319
- synchronization_done.
2320
```
2321
2322
### 20.5 Tests associés
2323
2324
**Exemples :**
2325
2326
```text
2327
- code OK ;
2328
- code BAD_FORMAT ;
2329
- code UNAUTHORIZED ;
2330
- code DUPLICATE ;
2331
- code RETRY_LATER ;
2332
- code version incompatible ;
2333
- message état dégradé ;
2334
- message état maintenance ;
2335
- erreur non reconnue.
2336
```
2337
2338
---
2339
2340
## 21. Interfaces temporelles et synchronisation horaire
2341
2342
### 21.1 Objet de la synchronisation horaire
2343
2344
Cette partie décrit comment le système gère le temps.
2345
2346
La cohérence temporelle est essentielle pour les mesures, alarmes, historiques, événements, diagnostics, logs, resynchronisation et audits.
2347
2348
### 21.2 Sources de temps
2349
2350
**Exemples :**
2351
2352
```text
2353
- horloge locale équipement ;
2354
- horloge serveur ;
2355
- serveur NTP ;
2356
- horloge RTC ;
2357
- temps reçu d’un système tiers ;
2358
- temps de réception serveur ;
2359
- temps opérateur.
2360
```
2361
2362
### 21.3 Horodatages échangés
2363
2364
**Exemples :**
2365
2366
```text
2367
timestamp_device :
2368
heure de génération par l’équipement.
2369
2370
timestamp_server :
2371
heure de réception ou traitement par le serveur.
2372
2373
timestamp_ack :
2374
heure de l’acquittement.
2375
2376
timestamp_event :
2377
heure réelle ou estimée de l’événement.
2378
2379
timestamp_sync :
2380
heure de synchronisation.
2381
```
2382
2383
### 21.4 Gestion d’une horloge incertaine
2384
2385
Cette partie décrit les cas où le temps local n’est pas fiable.
2386
2387
**Exemples :**
2388
2389
```text
2390
- équipement démarré sans synchronisation ;
2391
- RTC absente ;
2392
- dérive détectée ;
2393
- serveur NTP indisponible ;
2394
- horodatage incohérent ;
2395
- date future ;
2396
- date trop ancienne.
2397
```
2398
2399
**Exigence typique :**
2400
2401
```text
2402
IF-TIME-001 — Les données dont l’horodatage est incertain doivent être identifiables par le serveur et l’IHM si cette incertitude impacte l’exploitation.
2403
```
2404
2405
### 21.5 Tests associés
2406
2407
**Exemples :**
2408
2409
```text
2410
- horodatage nominal ;
2411
- perte synchronisation ;
2412
- données retransmises avec horodatage d’origine ;
2413
- date future rejetée ou signalée ;
2414
- dérive horaire ;
2415
- serveur NTP indisponible ;
2416
- affichage horodatage incertain.
2417
```
2418
2419
---
2420
2421
## 22. Interfaces de journalisation et traçabilité
2422
2423
### 22.1 Objet des interfaces de logs
2424
2425
Cette partie décrit les journaux échangés ou produits aux frontières entre composants.
2426
2427
Les logs permettent de diagnostiquer les problèmes d’interface et de prouver qu’un échange a eu lieu.
2428
2429
### 22.2 Logs d’échange
2430
2431
**Exemples :**
2432
2433
```text
2434
- message reçu ;
2435
- message rejeté ;
2436
- acquittement envoyé ;
2437
- commande reçue ;
2438
- commande refusée ;
2439
- configuration transmise ;
2440
- export généré ;
2441
- erreur système tiers ;
2442
- tentative d’accès non autorisée ;
2443
- perte communication ;
2444
- resynchronisation.
2445
```
2446
2447
### 22.3 Corrélation des logs
2448
2449
Cette partie est importante pour suivre un échange entre plusieurs composants.
2450
2451
**Exemples :**
2452
2453
```text
2454
- message_id ;
2455
- correlation_id ;
2456
- equipment_id ;
2457
- user_id ;
2458
- request_id ;
2459
- alarm_id ;
2460
- command_id ;
2461
- timestamp_device ;
2462
- timestamp_server.
2463
```
2464
2465
### 22.4 Données interdites dans les logs
2466
2467
**Exemples :**
2468
2469
```text
2470
- mot de passe ;
2471
- clé privée ;
2472
- jeton complet ;
2473
- secret partagé ;
2474
- données personnelles non nécessaires ;
2475
- contenu sensible non utile au diagnostic ;
2476
- fichier complet si volumineux ou confidentiel.
2477
```
2478
2479
### 22.5 Tests associés
2480
2481
**Exemples :**
2482
2483
```text
2484
- log message reçu ;
2485
- log message rejeté ;
2486
- corrélation message/acquittement ;
2487
- log commande ;
2488
- absence secret dans logs ;
2489
- export logs ;
2490
- rotation logs ;
2491
- consultation logs par profil autorisé.
2492
```
2493
2494
---
2495
2496
## 23. Interfaces de tests et simulateurs
2497
2498
### 23.1 Objet des interfaces de test
2499
2500
Cette partie décrit les moyens permettant de tester les interfaces sans disposer nécessairement de tous les composants réels.
2501
2502
Les simulateurs sont très utiles pour tester tôt les interfaces : simulateur d’équipement, simulateur serveur, simulateur capteur, simulateur système tiers, générateur de messages invalides, banc hardware.
2503
2504
### 23.2 Simulateur d’équipement
2505
2506
**Exemples de fonctions :**
2507
2508
```text
2509
- envoyer des mesures nominales ;
2510
- envoyer des alarmes ;
2511
- envoyer des messages invalides ;
2512
- simuler une perte réseau ;
2513
- simuler une resynchronisation ;
2514
- simuler plusieurs équipements ;
2515
- simuler un firmware ancien ;
2516
- simuler un équipement non autorisé.
2517
```
2518
2519
### 23.3 Simulateur serveur
2520
2521
**Exemples de fonctions :**
2522
2523
```text
2524
- accepter un message ;
2525
- rejeter un message ;
2526
- ne pas acquitter ;
2527
- envoyer une configuration ;
2528
- envoyer une commande ;
2529
- simuler une erreur serveur ;
2530
- simuler une version API incompatible.
2531
```
2532
2533
### 23.4 Simulateur capteur ou hardware
2534
2535
**Exemples :**
2536
2537
```text
2538
- valeur nominale ;
2539
- valeur limite ;
2540
- valeur hors plage ;
2541
- capteur absent ;
2542
- court-circuit ;
2543
- contact instable ;
2544
- défaut intermittent ;
2545
- retour d’état incohérent.
2546
```
2547
2548
### 23.5 Simulateur système tiers
2549
2550
**Exemples :**
2551
2552
```text
2553
- réponse nominale ;
2554
- timeout ;
2555
- rejet authentification ;
2556
- erreur format ;
2557
- indisponibilité ;
2558
- réponse lente ;
2559
- doublon ;
2560
- message incohérent.
2561
```
2562
2563
### 23.6 Tests associés
2564
2565
**Exemples :**
2566
2567
```text
2568
- test interface avec simulateur équipement ;
2569
- test serveur avec messages invalides ;
2570
- test firmware avec serveur simulé ;
2571
- test capteur simulé ;
2572
- test système tiers indisponible ;
2573
- test de charge messages ;
2574
- test protocole ancien ;
2575
- test interface en mode dégradé.
2576
```
2577
2578
---
2579
2580
## 24. Exigences de sécurité des interfaces
2581
2582
### 24.1 Objet de la sécurité des interfaces
2583
2584
Cette partie décrit les exigences de protection applicables aux échanges entre composants.
2585
2586
Une interface est souvent un point d’entrée potentiel pour les erreurs, abus, attaques, mauvaises configurations ou fuites de données.
2587
2588
### 24.2 Interfaces à protéger en priorité
2589
2590
**Exemples :**
2591
2592
```text
2593
- équipement vers serveur ;
2594
- serveur vers équipement ;
2595
- API d’administration ;
2596
- interface configuration ;
2597
- interface mise à jour ;
2598
- interface authentification ;
2599
- interface maintenance ;
2600
- interface sauvegarde ;
2601
- interface système tiers ;
2602
- interface logs sensibles.
2603
```
2604
2605
### 24.3 Mesures de protection possibles
2606
2607
**Exemples :**
2608
2609
```text
2610
- authentification ;
2611
- autorisation ;
2612
- chiffrement ;
2613
- signature ;
2614
- checksum ;
2615
- contrôle d’intégrité ;
2616
- filtrage réseau ;
2617
- validation de format ;
2618
- limitation de taille ;
2619
- limitation de fréquence ;
2620
- journalisation ;
2621
- expiration session ;
2622
- révocation certificat ;
2623
- séparation des rôles.
2624
```
2625
2626
### 24.4 Validation des entrées
2627
2628
Cette partie impose de contrôler les données reçues.
2629
2630
**Exemples :**
2631
2632
```text
2633
IF-SEC-VAL-001 — Toute donnée reçue via une interface doit être validée avant traitement.
2634
2635
IF-SEC-VAL-002 — Les messages mal formés doivent être rejetés sans provoquer de comportement non maîtrisé.
2636
2637
IF-SEC-VAL-003 — Les tailles maximales de messages ou fichiers doivent être définies si nécessaire.
2638
2639
IF-SEC-VAL-004 — Les fichiers importés doivent être contrôlés avant application.
2640
```
2641
2642
### 24.5 Gestion des secrets
2643
2644
Cette partie décrit les clés, certificats ou jetons utilisés par les interfaces.
2645
2646
**Exemples :**
2647
2648
```text
2649
- certificat équipement ;
2650
- certificat serveur ;
2651
- clé API ;
2652
- jeton utilisateur ;
2653
- mot de passe base de données ;
2654
- clé SSH ;
2655
- secret système tiers ;
2656
- certificat VPN.
2657
```
2658
2659
### 24.6 Tests associés
2660
2661
**Exemples :**
2662
2663
```text
2664
- équipement non autorisé ;
2665
- certificat invalide ;
2666
- message signé invalide ;
2667
- jeton expiré ;
2668
- utilisateur sans droit ;
2669
- fichier importé malveillant ou invalide ;
2670
- message trop volumineux ;
2671
- tentative accès API admin ;
2672
- secret absent des logs.
2673
```
2674
2675
---
2676
2677
## 25. Matrices de synthèse
2678
2679
### 25.1 Matrice interfaces / sous-systèmes
2680
2681
Cette matrice indique quels sous-systèmes sont concernés par chaque interface.
2682
2683
**Exemple :**
2684
2685
```text
2686
Interface | Hardware | Firmware | Serveur | DB | IHM | Infrastructure | Tiers
2687
IF-HW-001 alimentation | X |   |   |   |   | X |  
2688
IF-SW-HW-001 entrée | X | X |   |   |   |   |  
2689
IF-NET-001 équipement/serveur |   | X | X |   |   | X |  
2690
IF-DB-001 serveur/base |   |   | X | X |   | X |  
2691
IF-IHM-001 tableau bord |   |   | X | X | X |   |  
2692
IF-TIERS-001 GMAO |   |   | X |   |   | X | X
2693
```
2694
2695
### 25.2 Matrice interfaces / modes de fonctionnement
2696
2697
Cette matrice indique si une interface est active selon les modes.
2698
2699
**Exemple :**
2700
2701
```text
2702
Interface | Nominal | Maintenance | Dégradé com. | Secours | Mise à jour | Arrêt
2703
IF-NET-001 équipement/serveur | oui | limité | non ou tentative | si possible | non | non
2704
IF-MNT-001 port maintenance | non/limité | oui | oui | oui | oui | non
2705
IF-HW-004 sortie relais | oui | test contrôlé | selon sécurité | non | non | non
2706
IF-IHM-ALM alarmes | oui | oui | oui | critique | limité | non
2707
```
2708
2709
### 25.3 Matrice interfaces / tests
2710
2711
Cette matrice relie chaque interface aux tests prévus.
2712
2713
**Exemple :**
2714
2715
```text
2716
Interface | Test unitaire | Test intégration | Test système | Validation client
2717
IF-SW-HW-001 | TU lecture entrée | TI entrée firmware | TS acquisition | VAL acquisition
2718
IF-NET-001 | TU format message | TI équipement serveur | TS communication | VAL perte réseau
2719
IF-IHM-001 | TU API | TI backend/frontend | TS tableau bord | VAL exploitation
2720
IF-BKP-001 | TU script | TI sauvegarde | TS restauration | VAL restauration
2721
```
2722
2723
### 25.4 Matrice interfaces / responsabilités
2724
2725
Cette matrice clarifie qui est responsable de quoi.
2726
2727
**Exemple :**
2728
2729
```text
2730
Interface | Responsable source | Responsable destination | Responsable spécification | Responsable test
2731
IF-HW-002 capteur | client/fournisseur | hardware | responsable hardware | test hardware
2732
IF-NET-001 équipement/serveur | firmware | backend | architecte système | intégration
2733
IF-IHM-001 tableau bord | backend | frontend | responsable applicatif | test IHM
2734
IF-TIERS-001 GMAO | serveur | client IT | architecte applicatif | intégration tiers
2735
```
2736
2737
### 25.5 Matrice données / interfaces
2738
2739
Cette matrice montre quelles données passent par quelles interfaces.
2740
2741
**Exemple :**
2742
2743
```text
2744
Donnée | IF-HW | IF-SW-HW | IF-NET | IF-DB | IF-IHM | IF-EXP
2745
Température | capteur | acquisition | message MEASURE | table mesures | graphique | CSV
2746
Alarme | capteur/firmware | événement | message ALARM | table alarmes | écran alarmes | PDF/CSV
2747
Configuration | fichier/IHM | firmware | message CONFIG | table config | écran config | JSON
2748
Logs | firmware/serveur | diagnostic | message LOG | fichier/table | écran maintenance | archive
2749
```
2750
2751
---
2752
2753
## 26. Traçabilité
2754
2755
### 26.1 Traçabilité avec la spécification globale
2756
2757
Cette partie relie les interfaces aux exigences système.
2758
2759
**Exemple :**
2760
2761
```text
2762
Exigence système :
2763
SYS-COM-004 — Le système doit conserver les données en perte réseau et les retransmettre au retour communication.
2764
2765
Interfaces associées :
2766
IF-NET-001 — équipement vers serveur ;
2767
IF-STO-001 — stockage local firmware ;
2768
IF-ACK-001 — acquittement serveur ;
2769
IF-DB-001 — historisation serveur ;
2770
IF-IHM-ALM-001 — affichage état communication.
2771
```
2772
2773
### 26.2 Traçabilité avec l’architecture système
2774
2775
Cette partie relie chaque interface aux blocs architecturaux.
2776
2777
**Exemple :**
2778
2779
```text
2780
Interface :
2781
IF-NET-001 — équipement vers serveur
2782
2783
Blocs concernés :
2784
SS-SW-001 — firmware embarqué
2785
SS-SRV-001 — serveur applicatif
2786
SS-INF-001 — réseau
2787
SS-SEC-001 — sécurité
2788
```
2789
2790
### 26.3 Traçabilité avec les spécifications détaillées
2791
2792
Cette partie indique dans quels documents les deux côtés de l’interface sont décrits.
2793
2794
**Exemple :**
2795
2796
```text
2797
Interface :
2798
IF-SW-HW-003 — commande relais
2799
2800
Côté hardware :
2801
Spécification détaillée hardware, section sorties relais.
2802
2803
Côté firmware :
2804
Spécification détaillée software embarqué, section commande des sorties.
2805
2806
Tests :
2807
Tests hardware, tests intégration hardware/software, tests état sûr.
2808
```
2809
2810
### 26.4 Traçabilité vers les tests
2811
2812
Cette partie relie les interfaces aux tests.
2813
2814
**Exemple :**
2815
2816
```text
2817
Interface :
2818
IF-API-MEASURE — API réception mesures
2819
2820
Tests associés :
2821
TEST-API-MEASURE-001 — message valide.
2822
TEST-API-MEASURE-002 — message sans équipement.
2823
TEST-API-MEASURE-003 — message dupliqué.
2824
TEST-INT-EQP-SRV-001 — équipement réel vers serveur.
2825
TEST-SYS-HIST-001 — mesure visible dans historique.
2826
```
2827
2828
### 26.5 Matrice de traçabilité des interfaces
2829
2830
**Structure recommandée :**
2831
2832
```text
2833
ID interface
2834
Exigence système source
2835
Sous-systèmes concernés
2836
Documents concernés
2837
Données échangées
2838
Tests associés
2839
Criticité
2840
Statut
2841
Commentaire
2842
```
2843
2844
---
2845
2846
## 27. Contraintes, risques et points ouverts
2847
2848
### 27.1 Contraintes techniques
2849
2850
Cette partie liste les contraintes connues sur les interfaces.
2851
2852
**Exemples :**
2853
2854
```text
2855
- protocole imposé par un équipement tiers ;
2856
- format de fichier imposé par le client ;
2857
- réseau client contraint ;
2858
- port réseau non ouvrable ;
2859
- bande passante limitée ;
2860
- latence élevée ;
2861
- connectique imposée ;
2862
- version API existante à maintenir ;
2863
- compatibilité avec anciens firmwares ;
2864
- contrainte de cybersécurité ;
2865
- impossibilité d’accès Internet ;
2866
- usage obligatoire d’un SAS.
2867
```
2868
2869
### 27.2 Risques liés aux interfaces
2870
2871
Cette partie identifie les risques.
2872
2873
**Exemples :**
2874
2875
```text
2876
- interprétation différente d’un champ ;
2877
- format de message incomplet ;
2878
- absence d’acquittement ;
2879
- doublons après resynchronisation ;
2880
- interface non versionnée ;
2881
- protocole tiers instable ;
2882
- erreur de câblage ;
2883
- polarité mal définie ;
2884
- messages trop volumineux ;
2885
- absence de test d’erreur ;
2886
- sécurité insuffisante ;
2887
- logs insuffisants pour diagnostiquer l’échange.
2888
```
2889
2890
### 27.3 Mesures de réduction des risques
2891
2892
**Exemples :**
2893
2894
```text
2895
- dictionnaire de données partagé ;
2896
- simulateur d’équipement ;
2897
- simulateur serveur ;
2898
- tests d’intégration précoces ;
2899
- versionnement d’API ;
2900
- exemples de messages ;
2901
- validation de schéma JSON ;
2902
- revue d’interface entre équipes ;
2903
- matrice responsabilités ;
2904
- tests de coupure réseau ;
2905
- tests de messages invalides ;
2906
- règles d’acquittement explicites ;
2907
- journalisation avec correlation_id.
2908
```
2909
2910
### 27.4 Points ouverts
2911
2912
Cette partie liste les décisions non encore prises.
2913
2914
**Exemple :**
2915
2916
```text
2917
ID | Sujet | Description | Responsable | Échéance | Impact | Statut
2918
PO-IF-001 | Protocole équipement/serveur | Choix final HTTPS ou MQTT/TLS | Architecte système | avant conception API | firmware/serveur | ouvert
2919
PO-IF-002 | Format export | CSV ou JSON pour export client | Client/exploitation | avant IHM | reporting | ouvert
2920
PO-IF-003 | Authentification équipement | Certificat ou jeton | Cybersécurité | avant intégration | sécurité | ouvert
2921
PO-IF-004 | Interface GMAO | API disponible ou échange fichier | Client IT | avant intégration tiers | maintenance | ouvert
2922
PO-IF-005 | Connecteur capteur | Référence connecteur à confirmer | Hardware/client | avant routage | hardware | ouvert
2923
```
2924
2925
---
2926
2927
## 28. Critères d’acceptation de la spécification d’interfaces
2928
2929
### 28.1 Complétude
2930
2931
Cette partie définit les critères permettant de considérer le document comme complet.
2932
2933
**Exemples :**
2934
2935
```text
2936
La spécification détaillée des interfaces est considérée comme complète si :
2937
- toutes les interfaces identifiées dans l’architecture sont décrites ;
2938
- les interfaces hardware sont définies ;
2939
- les interfaces firmware/hardware sont définies ;
2940
- les interfaces équipement/serveur sont définies ;
2941
- les interfaces serveur/base sont définies ;
2942
- les interfaces IHM sont définies ;
2943
- les interfaces fichiers sont définies ;
2944
- les interfaces maintenance sont définies ;
2945
- les interfaces systèmes tiers sont définies si applicables ;
2946
- les formats de données principaux sont décrits ;
2947
- les erreurs et codes retour sont décrits ;
2948
- les exigences de sécurité sont définies ;
2949
- les tests associés sont identifiés ;
2950
- les responsabilités sont claires.
2951
```
2952
2953
### 28.2 Cohérence
2954
2955
Cette partie définit les critères de cohérence.
2956
2957
**Exemples :**
2958
2959
```text
2960
Le document ne doit pas contenir :
2961
- une interface sans source et destination ;
2962
- une interface sans responsable ;
2963
- un message sans format défini ;
2964
- un champ obligatoire non expliqué ;
2965
- un acquittement non défini ;
2966
- une erreur non gérée ;
2967
- une interface critique non sécurisée ;
2968
- une interface non testable ;
2969
- une contradiction entre firmware et serveur ;
2970
- une contradiction entre hardware et firmware ;
2971
- une interface externe sans responsabilité client/fournisseur.
2972
```
2973
2974
### 28.3 Testabilité
2975
2976
Cette partie vérifie que les interfaces peuvent être testées.
2977
2978
**Exemples :**
2979
2980
```text
2981
La spécification est testable si :
2982
- les messages nominaux sont décrits ;
2983
- les messages invalides peuvent être construits ;
2984
- les erreurs sont définies ;
2985
- les acquittements sont définis ;
2986
- les flux réseau sont identifiés ;
2987
- les entrées/sorties hardware peuvent être stimulées ;
2988
- les sorties peuvent être observées ;
2989
- les simulateurs nécessaires sont identifiés ;
2990
- les critères de succès sont explicites.
2991
```
2992
2993
### 28.4 Exploitabilité et maintenabilité
2994
2995
Cette partie vérifie que les interfaces pourront être diagnostiquées en exploitation.
2996
2997
**Exemples :**
2998
2999
```text
3000
La spécification prend correctement en compte l’exploitation si :
3001
- les erreurs d’interface sont journalisées ;
3002
- les identifiants de corrélation sont prévus ;
3003
- les messages rejetés sont traçables ;
3004
- les états de communication sont visibles ;
3005
- les interfaces de maintenance sont documentées ;
3006
- les versions d’interface sont identifiables ;
3007
- les incompatibilités peuvent être diagnostiquées.
3008
```
3009
3010
### 28.5 Validation du document
3011
3012
Cette partie précise les revues nécessaires.
3013
3014
**Exemple :**
3015
3016
```text
3017
La spécification détaillée des interfaces doit être relue par :
3018
- l’ingénieur système ;
3019
- le responsable hardware ;
3020
- le responsable software embarqué ;
3021
- le responsable serveur/application ;
3022
- le responsable infrastructure/réseau ;
3023
- le responsable cybersécurité ;
3024
- le responsable IHM ;
3025
- le responsable intégration ;
3026
- le responsable validation ;
3027
- le représentant client si les interfaces impliquent le SI client ou des équipements tiers.
3028
```
3029
3030
---
3031
3032
## 29. Annexes
3033
3034
### 29.1 Inventaire complet des interfaces
3035
3036
Cette annexe reprend la liste complète des interfaces.
3037
3038
**Exemple :**
3039
3040
```text
3041
ID | Nom | Type | Source | Destination | Criticité | Statut
3042
IF-HW-001 | alimentation | hardware | site | équipement | critique | à valider
3043
IF-SW-HW-001 | lecture entrée | firmware/hardware | carte | firmware | élevée | à spécifier
3044
IF-NET-001 | équipement/serveur | réseau/API | firmware | serveur | élevée | à valider
3045
IF-DB-001 | serveur/base | DB | serveur | base | critique | à spécifier
3046
IF-IHM-001 | tableau bord | IHM | utilisateur | serveur | moyenne | à spécifier
3047
IF-TIERS-001 | GMAO | API/fichier | serveur | GMAO | moyenne | ouvert
3048
```
3049
3050
### 29.2 Dictionnaire de données
3051
3052
Cette annexe définit les champs échangés.
3053
3054
**Exemple :**
3055
3056
```text
3057
Champ | Type | Description | Obligatoire | Exemple
3058
equipment_id | string | identifiant équipement | oui | EQP-001
3059
message_id | string | identifiant message | oui | MSG-0001
3060
timestamp_device | datetime | date côté équipement | oui si disponible | 2026-07-03T14:00:00Z
3061
severity | enum | criticité alarme | oui pour alarme | minor/major/critical
3062
quality | enum | qualité donnée | non/oui selon message | valid/invalid/uncertain
3063
```
3064
3065
### 29.3 Catalogue des messages
3066
3067
Cette annexe reprend les messages échangés.
3068
3069
**Exemples :**
3070
3071
```text
3072
MEASURE
3073
ALARM
3074
EVENT
3075
STATE
3076
DIAGNOSTIC
3077
LOG
3078
ACK
3079
NACK
3080
CONFIG
3081
COMMAND
3082
TIME_SYNC
3083
UPDATE_REQUEST
3084
```
3085
3086
### 29.4 Catalogue des codes d’erreur
3087
3088
Cette annexe reprend les codes retour.
3089
3090
### 29.5 Catalogue des flux réseau
3091
3092
Cette annexe reprend tous les flux réseau autorisés.
3093
3094
### 29.6 Catalogue des fichiers
3095
3096
Cette annexe reprend les formats de fichiers utilisés.
3097
3098
### 29.7 Matrice interfaces / tests
3099
3100
Cette annexe reprend la matrice complète de vérification.
3101
3102
### 29.8 Matrice interfaces / responsabilités
3103
3104
Cette annexe reprend les responsabilités source, destination, spécification et test.
3105
3106
### 29.9 Exemples complets de messages
3107
3108
Cette annexe peut contenir des exemples JSON, XML, CSV ou autres.
3109
3110
### 29.10 Glossaire des interfaces
3111
3112
Cette annexe définit les termes spécifiques.
3113
3114
### 29.11 Historique des décisions d’interface
3115
3116
Cette annexe conserve les décisions importantes.
3117
3118
**Exemple :**
3119
3120
```text
3121
DEC-IF-001 :
3122
Les échanges équipement/serveur utiliseront des messages avec identifiant unique message_id.
3123
3124
Justification :
3125
permettre la détection des doublons lors de la resynchronisation après perte réseau.
3126
3127
Impact :
3128
le firmware doit générer un identifiant stable, le serveur doit conserver les identifiants traités et les tests d’intégration doivent couvrir les cas de retransmission.
3129
```