cdc
This commit is contained in:
commit
ecdd37bef0
BIN
cahier_des_charges.pdf
Normal file
BIN
cahier_des_charges.pdf
Normal file
Binary file not shown.
388
cahier_des_charges.typ
Normal file
388
cahier_des_charges.typ
Normal file
@ -0,0 +1,388 @@
|
|||||||
|
// #import "@preview/showybox:2.0.1": showybox
|
||||||
|
|
||||||
|
#set document(
|
||||||
|
title: "Cahier des charges - Projet de fin d'études",
|
||||||
|
author: "Votre nom",
|
||||||
|
date: datetime.today(),
|
||||||
|
)
|
||||||
|
|
||||||
|
#set page(
|
||||||
|
paper: "a4",
|
||||||
|
margin: (x: 2.5cm, y: 2cm),
|
||||||
|
numbering: "1",
|
||||||
|
header: align(right)[
|
||||||
|
_Cahier des charges - Projet de fin d'études_
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
#set text(
|
||||||
|
font: "Liberation Serif",
|
||||||
|
size: 12pt,
|
||||||
|
lang: "fr",
|
||||||
|
)
|
||||||
|
|
||||||
|
#set heading(numbering: "1.1.")
|
||||||
|
|
||||||
|
#show heading: it => [
|
||||||
|
#v(1em)
|
||||||
|
#set text(weight: "bold")
|
||||||
|
#it
|
||||||
|
#v(0.5em)
|
||||||
|
]
|
||||||
|
|
||||||
|
#align(center)[
|
||||||
|
#text(size: 20pt, weight: "bold")[
|
||||||
|
CAHIER DES CHARGES
|
||||||
|
]
|
||||||
|
|
||||||
|
#v(1cm)
|
||||||
|
|
||||||
|
#text(size: 16pt)[
|
||||||
|
Projet de fin d'études
|
||||||
|
]
|
||||||
|
|
||||||
|
#v(0.5cm)
|
||||||
|
|
||||||
|
#text(size: 14pt)[
|
||||||
|
Jumeau numérique d'une plateforme \
|
||||||
|
de production éducative
|
||||||
|
]
|
||||||
|
|
||||||
|
#v(2cm)
|
||||||
|
|
||||||
|
#grid(
|
||||||
|
columns: (1fr, 1fr),
|
||||||
|
column-gutter: 2cm,
|
||||||
|
[
|
||||||
|
*Étudiant :* \
|
||||||
|
[Votre nom] \
|
||||||
|
[Votre spécialité] \
|
||||||
|
[Année universitaire]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
*Encadrant :* \
|
||||||
|
[Nom de l'encadrant] \
|
||||||
|
[Titre/Fonction] \
|
||||||
|
[Institution]
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
#v(2cm)
|
||||||
|
|
||||||
|
#text(size: 12pt)[
|
||||||
|
#datetime.today().display("[day]/[month]/[year]")
|
||||||
|
]
|
||||||
|
]
|
||||||
|
|
||||||
|
#pagebreak()
|
||||||
|
|
||||||
|
= Table des matières
|
||||||
|
|
||||||
|
#outline(indent: auto)
|
||||||
|
|
||||||
|
#pagebreak()
|
||||||
|
|
||||||
|
= Introduction
|
||||||
|
|
||||||
|
== Contexte du projet
|
||||||
|
Dans le cadre de l'industrie 4.0, les plateformes de production éducatives jouent un rôle crucial dans la formation des futurs ingénieurs et techniciens. Ces plateformes permettent d'enseigner les concepts de l'automatisation, de l'IoT et des systèmes cyber-physiques. Le développement d'un jumeau numérique de ces plateformes éducatives ouvre de nouvelles possibilités pédagogiques : simulation en temps réel, expérimentation sans risque, et formation à distance.
|
||||||
|
|
||||||
|
== Problématique
|
||||||
|
Les plateformes de production éducatives actuelles présentent plusieurs limitations :
|
||||||
|
- Accès limité aux équipements physiques pour tous les étudiants
|
||||||
|
- Difficultés d'extraction et de standardisation des données des capteurs industriels
|
||||||
|
- Manque d'outils d'analyse temps réel pour l'apprentissage
|
||||||
|
- Absence de visualisation 3D pour comprendre les processus complexes
|
||||||
|
- Besoin d'agrégation de données pour une vue d'ensemble pédagogique
|
||||||
|
- Préparation insuffisante aux enjeux de la téléopération industrielle
|
||||||
|
|
||||||
|
== Objectifs généraux
|
||||||
|
- Créer un jumeau numérique fidèle de la plateforme de production éducative
|
||||||
|
- Développer un système d'extraction de données capteurs en temps réel
|
||||||
|
- Implémenter une analyse temps réel pour l'amélioration des KPI
|
||||||
|
- Construire un environnement de simulation 3D interactif
|
||||||
|
- Préparer l'infrastructure pour la téléopération future
|
||||||
|
|
||||||
|
= Analyse de l'existant
|
||||||
|
|
||||||
|
== État de l'art
|
||||||
|
[Présentez les solutions existantes, les technologies actuelles, les recherches dans le domaine.]
|
||||||
|
|
||||||
|
== Analyse critique
|
||||||
|
[Analysez les forces et faiblesses des solutions existantes. Identifiez les lacunes.]
|
||||||
|
|
||||||
|
== Positionnement du projet
|
||||||
|
[Expliquez en quoi votre projet se distingue de l'existant et quelle valeur ajoutée il apporte.]
|
||||||
|
|
||||||
|
= Spécifications fonctionnelles
|
||||||
|
|
||||||
|
== Fonctionnalités principales
|
||||||
|
|
||||||
|
#rect(
|
||||||
|
width: 100%,
|
||||||
|
stroke: blue + 1pt,
|
||||||
|
inset: 10pt,
|
||||||
|
radius: 5pt,
|
||||||
|
fill: blue.lighten(95%),
|
||||||
|
[
|
||||||
|
#text(weight: "bold", fill: blue)[Fonctionnalité 1 : Extraction de données capteurs]
|
||||||
|
|
||||||
|
*Description :* Système d'extraction et de standardisation des données provenant des capteurs de la plateforme physique (température, pression, position, vitesse, etc.) via les systèmes de contrôle existants.
|
||||||
|
|
||||||
|
*Critères d'acceptation :*
|
||||||
|
- Connexion aux systèmes de contrôle X
|
||||||
|
- Extraction temps réel des données capteurs
|
||||||
|
- Formatage standard des données (JSON, OPC UA, ou protocole spécifique)
|
||||||
|
- Gestion des erreurs de communication
|
||||||
|
- Log des données pour traçabilité
|
||||||
|
|
||||||
|
*Priorité :* Haute
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
#rect(
|
||||||
|
width: 100%,
|
||||||
|
stroke: green + 1pt,
|
||||||
|
inset: 10pt,
|
||||||
|
radius: 5pt,
|
||||||
|
fill: green.lighten(95%),
|
||||||
|
[
|
||||||
|
#text(weight: "bold", fill: green)[Fonctionnalité 2 : Analyse temps réel et KPI]
|
||||||
|
|
||||||
|
*Description :* Module d'analyse des données en temps réel pour calculer et améliorer les indicateurs de performance clés (KPI) de la chaîne de production.
|
||||||
|
|
||||||
|
*Critères d'acceptation :*
|
||||||
|
- Calcul automatique des KPI (efficacité, disponibilité, qualité)
|
||||||
|
- Détection d'anomalies en temps réel
|
||||||
|
- Alertes configurables
|
||||||
|
- Dashboard de visualisation
|
||||||
|
- Historique des performances
|
||||||
|
|
||||||
|
*Priorité :* Haute
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
#rect(
|
||||||
|
width: 100%,
|
||||||
|
stroke: orange + 1pt,
|
||||||
|
inset: 10pt,
|
||||||
|
radius: 5pt,
|
||||||
|
fill: orange.lighten(95%),
|
||||||
|
[
|
||||||
|
#text(weight: "bold", fill: orange)[Fonctionnalité 3 : Environnement de simulation 3D]
|
||||||
|
|
||||||
|
*Description :* Jumeau numérique 3D de la plateforme de production permettant la visualisation, la simulation et les tests sans impact sur le système physique.
|
||||||
|
|
||||||
|
*Critères d'acceptation :*
|
||||||
|
- Modélisation 3D fidèle de la plateforme physique
|
||||||
|
- Synchronisation avec les données réelles
|
||||||
|
- Interface utilisateur intuitive
|
||||||
|
- Simulation de scénarios de test
|
||||||
|
- Exportation de résultats
|
||||||
|
|
||||||
|
*Priorité :* Moyenne
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
#rect(
|
||||||
|
width: 100%,
|
||||||
|
stroke: purple + 1pt,
|
||||||
|
inset: 10pt,
|
||||||
|
radius: 5pt,
|
||||||
|
fill: purple.lighten(95%),
|
||||||
|
[
|
||||||
|
#text(weight: "bold", fill: purple)[Fonctionnalité 4 : Agrégation et vue globale]
|
||||||
|
|
||||||
|
*Description :* Système d'agrégation des données provenant de multiple sources pour fournir une vue d'ensemble complète de la chaîne de production.
|
||||||
|
|
||||||
|
*Critères d'acceptation :*
|
||||||
|
- Collecte de données multi-sources
|
||||||
|
- Base de données temporelle
|
||||||
|
- API de requête de données
|
||||||
|
- Rapports automatisés
|
||||||
|
- Interface de visualisation globale
|
||||||
|
|
||||||
|
*Priorité :* Moyenne
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
#rect(
|
||||||
|
width: 100%,
|
||||||
|
stroke: red + 1pt,
|
||||||
|
inset: 10pt,
|
||||||
|
radius: 5pt,
|
||||||
|
fill: red.lighten(95%),
|
||||||
|
[
|
||||||
|
#text(weight: "bold", fill: red)[Fonctionnalité 5 : Infrastructure téléopération]
|
||||||
|
|
||||||
|
*Description :* Préparation de l'architecture système pour permettre la téléopération future de la plateforme (contrôle à distance, maintenance prédictive).
|
||||||
|
|
||||||
|
*Critères d'acceptation :*
|
||||||
|
- Architecture modulaire et extensible
|
||||||
|
- Protocoles de communication sécurisés
|
||||||
|
- Interface de contrôle à distance (prototype)
|
||||||
|
- Documentation d'intégration
|
||||||
|
- Tests de latence et fiabilité
|
||||||
|
|
||||||
|
*Priorité :* Basse (Perspective future)
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
== Cas d'utilisation
|
||||||
|
[Décrivez les principaux cas d'utilisation avec les acteurs impliqués.]
|
||||||
|
|
||||||
|
== Interface utilisateur
|
||||||
|
[Décrivez les exigences concernant l'interface utilisateur si applicable.]
|
||||||
|
|
||||||
|
= Spécifications techniques
|
||||||
|
|
||||||
|
== Architecture système
|
||||||
|
L'architecture proposée suit un modèle en couches :
|
||||||
|
|
||||||
|
*Couche Physique :*
|
||||||
|
- Plateforme de production éducative avec capteurs et actionneurs
|
||||||
|
- Systèmes de contrôle (PLCs, contrôleurs industriels)
|
||||||
|
- Réseau industriel (Ethernet/IP, Profinet)
|
||||||
|
|
||||||
|
*Couche Communication :*
|
||||||
|
- Gateway OPC UA pour standardisation des protocoles
|
||||||
|
- Collecteur de données temps réel
|
||||||
|
- File d'attente de messages (MQTT/Redis)
|
||||||
|
|
||||||
|
*Couche Traitement :*
|
||||||
|
- Service d'agrégation et normalisation des données
|
||||||
|
- Moteur d'analyse temps réel et calcul des KPI
|
||||||
|
- Base de données temporelle pour l'historisation
|
||||||
|
|
||||||
|
*Couche Application :*
|
||||||
|
- API REST pour l'accès aux données
|
||||||
|
- Moteur de simulation 3D (jumeau numérique)
|
||||||
|
- Interface web pour visualisation et contrôle
|
||||||
|
|
||||||
|
*Couche Présentation :*
|
||||||
|
- Dashboard web interactif
|
||||||
|
- Interface de simulation 3D
|
||||||
|
- Application mobile (optionnel)
|
||||||
|
|
||||||
|
== Technologies envisagées
|
||||||
|
- *Langages de programmation :* Python (backend), JavaScript/TypeScript (frontend), C++ (simulation temps réel)
|
||||||
|
- *Frameworks :*
|
||||||
|
- Backend : FastAPI, Flask, ou Django
|
||||||
|
- Frontend : React.js ou Vue.js pour les dashboards
|
||||||
|
- Simulation 3D : Unity 3D, Unreal Engine, ou Three.js
|
||||||
|
- Communication : OPC UA, MQTT, WebSocket
|
||||||
|
- *Base de données :*
|
||||||
|
- Temporelle : InfluxDB ou TimescaleDB
|
||||||
|
- Relationnelle : PostgreSQL
|
||||||
|
- Cache : Redis
|
||||||
|
- *Outils de développement :* Docker, Git, CI/CD (GitLab/GitHub Actions)
|
||||||
|
- *Protocoles de communication :* OPC UA, Modbus TCP, Ethernet/IP
|
||||||
|
- *Formats d'échange :* JSON, XML, Protocol Buffers
|
||||||
|
|
||||||
|
== Contraintes techniques
|
||||||
|
- Performance : Latence < 100ms pour l'analyse temps réel, support de 1000+ points de données/seconde
|
||||||
|
- Scalabilité : Architecture microservices, support multi-utilisateurs (50+ utilisateurs simultanés)
|
||||||
|
- Sécurité : Authentification robuste, chiffrement des communications, isolation réseau
|
||||||
|
- Compatibilité : Navigateurs modernes, Windows/Linux, intégration avec systèmes industriels existants
|
||||||
|
|
||||||
|
== Intégrations
|
||||||
|
[Décrivez les intégrations nécessaires avec d'autres systèmes.]
|
||||||
|
|
||||||
|
= Contraintes et exigences
|
||||||
|
|
||||||
|
== Contraintes temporelles
|
||||||
|
- *Durée du projet :* [X mois]
|
||||||
|
- *Jalons importants :*
|
||||||
|
- Jalon 1 : [Date] - [Description]
|
||||||
|
- Jalon 2 : [Date] - [Description]
|
||||||
|
- Jalon 3 : [Date] - [Description]
|
||||||
|
|
||||||
|
== Contraintes budgétaires
|
||||||
|
[Si applicable, mentionnez les contraintes budgétaires.]
|
||||||
|
|
||||||
|
== Contraintes réglementaires
|
||||||
|
[Mentionnez les normes, réglementations ou standards à respecter.]
|
||||||
|
|
||||||
|
== Contraintes de sécurité
|
||||||
|
[Détaillez les exigences de sécurité.]
|
||||||
|
|
||||||
|
= Livrables
|
||||||
|
|
||||||
|
== Livrables techniques
|
||||||
|
- [ ] Code source documenté
|
||||||
|
- [ ] Documentation technique
|
||||||
|
- [ ] Guide d'installation
|
||||||
|
- [ ] Tests unitaires et d'intégration
|
||||||
|
- [ ] Documentation utilisateur
|
||||||
|
|
||||||
|
== Livrables académiques
|
||||||
|
- [ ] Mémoire de fin d'études
|
||||||
|
- [ ] Présentation de soutenance
|
||||||
|
- [ ] Poster de présentation (si requis)
|
||||||
|
|
||||||
|
== Critères de qualité
|
||||||
|
[Définissez les critères qui permettront d'évaluer la qualité des livrables.]
|
||||||
|
|
||||||
|
= Planification
|
||||||
|
|
||||||
|
== Méthodologie
|
||||||
|
[Décrivez la méthodologie de développement que vous comptez utiliser (Agile, cascade, etc.).]
|
||||||
|
|
||||||
|
== Planning prévisionnel
|
||||||
|
|
||||||
|
#table(
|
||||||
|
columns: (1fr, 2fr, 1fr, 1fr),
|
||||||
|
inset: 8pt,
|
||||||
|
align: horizon,
|
||||||
|
table.header(
|
||||||
|
[*Phase*], [*Tâches*], [*Durée*], [*Échéance*]
|
||||||
|
),
|
||||||
|
[Phase 1], [Analyse et conception], [4 semaines], [[Date]],
|
||||||
|
[Phase 2], [Développement core], [8 semaines], [[Date]],
|
||||||
|
[Phase 3], [Tests et intégration], [3 semaines], [[Date]],
|
||||||
|
[Phase 4], [Documentation et finalisation], [2 semaines], [[Date]],
|
||||||
|
[Phase 5], [Préparation soutenance], [1 semaine], [[Date]],
|
||||||
|
)
|
||||||
|
|
||||||
|
== Risques identifiés
|
||||||
|
|
||||||
|
#table(
|
||||||
|
columns: (2fr, 1fr, 2fr, 2fr),
|
||||||
|
inset: 8pt,
|
||||||
|
align: horizon,
|
||||||
|
table.header(
|
||||||
|
[*Risque*], [*Probabilité*], [*Impact*], [*Mitigation*]
|
||||||
|
),
|
||||||
|
[Complexité technique sous-estimée], [Moyenne], [Retard dans le planning], [Décomposition en tâches plus petites],
|
||||||
|
[Indisponibilité des ressources], [Faible], [Blocage temporaire], [Identification d'alternatives],
|
||||||
|
[Changement des exigences], [Faible], [Refonte partielle], [Communication régulière avec l'encadrant],
|
||||||
|
)
|
||||||
|
|
||||||
|
= Critères de réussite
|
||||||
|
|
||||||
|
== Critères techniques
|
||||||
|
- [ ] Toutes les fonctionnalités principales implémentées
|
||||||
|
- [ ] Performance conforme aux spécifications
|
||||||
|
- [ ] Tests couvrant au moins 80% du code
|
||||||
|
- [ ] Aucun bug critique en production
|
||||||
|
|
||||||
|
== Critères académiques
|
||||||
|
- [ ] Mémoire respectant les standards académiques
|
||||||
|
- [ ] Démonstration fonctionnelle lors de la soutenance
|
||||||
|
- [ ] Respect des délais de livraison
|
||||||
|
- [ ] Innovation et originalité de l'approche
|
||||||
|
|
||||||
|
= Conclusion
|
||||||
|
|
||||||
|
[Résumez les points clés de ce cahier des charges et réaffirmez l'importance du projet.]
|
||||||
|
|
||||||
|
= Annexes
|
||||||
|
|
||||||
|
== Annexe A : Glossaire
|
||||||
|
[Définissez les termes techniques utilisés dans le document.]
|
||||||
|
|
||||||
|
== Annexe B : Références
|
||||||
|
[Listez vos sources et références bibliographiques.]
|
||||||
|
|
||||||
|
== Annexe C : Maquettes (si applicable)
|
||||||
|
[Incluez vos maquettes d'interface utilisateur.]
|
Loading…
x
Reference in New Issue
Block a user