fr Project Structure - SEB103/QtOpcUaManager GitHub Wiki
English · Deutsch · Français · Italiano · Русский · Українська
Structure du projet
Ce chapitre est une carte reliant « où est implémenté X ? » à l’arborescence des sources. Ce n’est volontairement pas une liste exhaustive des fichiers ; il pointe vers le répertoire et les quelques fichiers clés de chaque domaine, chacun renvoyant vers la OpcUaManager API Reference.
Organisation de premier niveau
| Répertoire | Rôle |
|---|---|
app/ |
Exécutable de l’interface : démarrage, enveloppe du moteur QML, services de l’application. |
src/ |
Bibliothèques C++ réutilisables (cœur client, modèles, persistance, projets, façades). |
runtime/ |
Exécutable serveur OPC UA open62541 headless. |
qml/ |
Module QML de l’application (écrans/dialogues) et le module réutilisable qml/Base. |
resources/ |
Images/SVG fournis et configuration du style QML. |
doc/ |
Cette documentation (pages de manuel QDoc, sujets d’API, configuration). |
packaging/, installer/ |
Pipeline de publication, installateur et métadonnées produit. |
Où se trouve chaque fonctionnalité
| Pour travailler sur… | Voir dans… | Types clés |
|---|---|---|
| Connexion client / découverte / abonnements | src/core/opcuaservice.* |
OpcUaService |
| L’objet client auquel QML parle | src/qmlapi/opcuamanager.* |
OpcUaManager |
| Arbre (navigation) de l’espace d’adressage | src/models/opcuamodel.*, treeitem.* |
OpcUaModel, TreeItem |
| Attributs / valeurs / tendances des nœuds | src/models/ |
AttributesModel, DataAccessModel, TrendModel |
| Décodage des valeurs structurées (CODESYS) | src/core/structurednodereader.* |
StructuredNodeReader |
| Conception du serveur + contrôle du runtime | src/qmlapi/serverstudio.*, serverruntimecontroller.* |
ServerStudio, ServerRuntimeController |
| Modèle / fichier / validation / NodeSet2 du projet serveur | src/serverproject/ |
ServerProject::* |
| Le serveur headless lui-même | runtime/ |
ProjectBuilder, SimulationEngine, SecuritySetup, DiagnosticsServer, RuleEngine |
Projet client (.uaproj) |
src/project/ |
ProjectData, ProjectSerializer |
| Persistance des nœuds surveillés | src/persistence/nodedatabase.* |
NodeDatabase |
| Chemins installé/portable | src/core/apppaths.* |
AppPaths |
| Démarrage de l’app / services | app/ |
AppCore, AppEngine, AppInfo, LocaleController |
| Coquille d’interface et écrans | qml/Main.qml, qml/*Screen*.qml |
OpcUaManager QML Types |
| Contrôles d’interface réutilisables | qml/Base/ |
Base QML Types |
Bibliothèques et leurs frontières
- OpcUaCore (
src/core,src/models,src/persistence,src/project) — la pile client ; lie Qt Core/Network/OpcUa/Sql. - ServerProjectCore (
src/serverproject) — Qt Core uniquement, afin d’être partagé par l’interface et le runtime headless. - OpcUaQmlApi (
src/qmlapi) — les façades QML ; dépend des deux cœurs.
Pour le raisonnement derrière ces frontières, threads et processus, voir Architecture.