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.