SAPUI5
SAPUI5 est le framework d'interface JavaScript d'entreprise de SAP pour créer des applications SAP Fiori exécutées dans le navigateur, avec une structure modèle-vue-contrôleur et un data binding vers des services OData. SAPUI5 est la distribution sous licence SAP du même cœur que l'open source OpenUI5, enrichie de bibliothèques, comme les graphiques et les smart controls pilotés par annotations, livrées uniquement avec les produits SAP.
L'essentiel
- Type
- Framework d'interface JavaScript (MVC, data binding, bibliothèques de contrôles)
- Couche
- Applications d'interface
- Livré avec
- SAP BTP (réseau de diffusion de contenu), plateforme ABAP / SAP Fiori front-end server, SAP S/4HANA Cloud
- Cœur open source
- OpenUI5 (licence Apache 2.0)
- Rythme des versions
- Versions mineures mensuelles sur SAP BTP ; versions à maintenance longue durée pour les front-end servers on-premise
- Qui l'utilise
- Développeurs SAP Fiori, architectes UI, équipes Basis qui planifient les mises à niveau
- S'applique à
- SAP S/4HANA (toutes les options de déploiement), SAP BTP
Couche : Applications d'interfaceOù se situe-t-il ? ▾
Couche : Applications d'interface
Ouvrir la carte d'architecture →Comment fonctionne SAPUI5 ?
Une application SAPUI5 est un ensemble de fichiers que le navigateur charge et exécute. Ses principaux composants sont :
- Component — le point d'entrée de l'application, que le SAP Fiori Launchpad ou un autre conteneur instancie.
- App descriptor (manifest.json) — déclare les sources de données, les modèles, le routage, les dépendances et les inbounds de navigation.
- Vues — généralement en XML, elles déclarent les contrôles affichés à l'écran, issus pour la plupart de bibliothèques comme
sap.m. - Contrôleurs — du code JavaScript ou TypeScript qui réagit aux événements utilisateur.
- Modèles — des modèles OData V2 ou V4 pour les données back-end, des modèles JSON pour l'état local, des modèles de ressources pour les textes traduits.
Le data binding relie les contrôles aux propriétés du modèle : un champ se met à jour quand les données changent, sans code de liaison écrit à la main. Des thèmes comme SAP Horizon donnent un style cohérent à tous les contrôles. SAPUI5 est donc un framework applicatif, pas une simple bibliothèque de widgets : il prescrit la façon dont une application est structurée, chargée et connectée aux données.
Où se situe SAPUI5 dans l'architecture SAP Fiori ?
SAPUI5 s'exécute dans la couche des applications d'interface, dans le navigateur de l'utilisateur. Au-dessus, le SAP Fiori Launchpad ou SAP Build Work Zone fournit le shell, la navigation et les rôles. En dessous, des services OData construits avec l'ABAP RESTful application programming model, SAP Gateway ou d'autres back-ends fournissent les données et appliquent les règles métier.
Les deux principales approches de développement produisent des applications SAPUI5. SAP Fiori elements génère l'interface à l'exécution à partir des annotations OData, en s'appuyant sur des contrôles SAPUI5. Une application SAPUI5 freestyle est écrite à la main avec les mêmes contrôles. Les SAP Fiori Design Guidelines décrivent l'expérience utilisateur visée ; SAPUI5 est l'une des technologies qui l'implémentent dans le code. SAPUI5 est le runtime commun aux applications SAP Fiori elements comme aux applications freestyle, quelle que soit la façon dont l'application a été construite.
En quoi SAPUI5 diffère-t-il d'OpenUI5 ?
La principale différence est la licence. OpenUI5 est open source sous licence Apache 2.0 et développé publiquement sur GitHub. SAPUI5 est livré avec des produits SAP comme SAP BTP et la plateforme ABAP.
Le runtime de base et les bibliothèques de contrôles les plus utilisées, par exemple sap.m, sap.ui.layout et sap.ui.unified, sont identiques dans les deux. SAPUI5 ajoute d'autres bibliothèques : graphiques (sap.viz, sap.chart, sap.suite.ui.microchart), smart controls qui se configurent à partir des annotations OData (sap.ui.comp), SAP Fiori elements (sap.fe) et le shell du launchpad (sap.ushell). La liste évolue à chaque version ; dans SAPUI5 1.154, aucune bibliothèque n'est livrée uniquement avec OpenUI5. Les noms techniques et les API sont communs : du code écrit pour OpenUI5 fonctionne sur SAPUI5 lorsque l'on change de runtime. Les numéros de version peuvent différer au niveau du patch, car la distribution SAPUI5 embarque un cœur OpenUI5.
Pour les équipes qui développent sur des produits SAP, SAPUI5 est la distribution pertinente ; OpenUI5 compte pour l'outillage open source et pour les applications qui doivent fonctionner sans licence SAP.
Quelle version de SAPUI5 votre système exécute-t-il ?
La réponse dépend de l'option de déploiement :
- SAP BTP : SAP présente SAP BTP comme le canal principal de SAPUI5. Plusieurs versions sont disponibles sur le réseau de diffusion de contenu, et chaque application choisit sa version lors de son bootstrap. De nouvelles versions mineures paraissent environ tous les mois, et les versions sont retirées du réseau au plus tard un an après leur publication ; consultez le version overview pour connaître le statut des versions à maintenance longue durée.
- On-premise et Private Edition : SAPUI5 est livré avec le composant de technologie UI de la plateforme ABAP. Chaque version du SAP Fiori front-end server apporte une version à maintenance longue durée ; par exemple, le front-end server 2023 correspond à SAPUI5 1.120 et le front-end server 2025 à SAPUI5 1.136.
- SAP S/4HANA Cloud Public Edition : SAPUI5 est fourni avec le produit, et sa maintenance suit la documentation du produit plutôt que la stratégie SAP BTP.
Critère de décision : développez et testez avec la version de SAPUI5 la plus basse parmi les systèmes sur lesquels l'application s'exécutera. La boîte de dialogue des informations techniques (Ctrl+Alt+Shift+P) affiche la version réellement chargée. Connaître la version de SAPUI5 est la première étape de toute question de compatibilité.
Quelles sont les erreurs courantes avec SAPUI5 ?
- Développer sur une version plus récente que celle de la production. Une fonctionnalité disponible sur SAP BTP peut ne pas exister dans le front-end server on-premise. Consultez le version overview avant d'utiliser un nouveau contrôle ou une nouvelle API.
- S'appuyer sur des API obsolètes. Le chargement synchrone et d'autres modèles hérités fonctionnent encore mais sont obsolètes ; le guide de modernisation de SAP indique leurs remplaçants, et le UI5 linter les détecte.
- Figer la version des applications SAP BTP et les oublier. Une application liée à une version qui quitte le réseau de diffusion de contenu ne se charge plus. Planifiez les mises à niveau de version comme toute autre tâche de maintenance.
- Coder les textes en dur. Les libellés appartiennent aux modèles de ressources ; sinon, la traduction devient une modification de code.
- Tout écrire en freestyle par habitude. Les recommandations de SAP elles-mêmes préconisent SAP Fiori elements partout où un floorplan convient, et du code freestyle là où ce n'est pas le cas.
La plupart des problèmes SAPUI5 relèvent du cycle de vie — versions, obsolescences et responsabilités — plutôt que du code.
SAPUI5, SAP Fiori Design Guidelines ou UI5 Web Components : quelle différence ?
| SAPUI5 | SAP Fiori Design Guidelines | UI5 Web Components | |
|---|---|---|---|
| Ce que c'est | Framework applicatif avec contrôles, modèles et routage | Documentation du design system : principes, floorplans, patterns | Web components indépendants de tout framework, au style SAP Fiori |
| Question traitée | Comment l'application est-elle construite et exécutée ? | Quel aspect et quel comportement l'application doit-elle avoir ? | Comment utiliser des contrôles SAP Fiori dans un autre framework web ? |
| Utilisateurs | Développeurs SAP Fiori | Designers UX, product owners, développeurs | Développeurs web utilisant du HTML standard ou d'autres frameworks JavaScript |
| Usage type | Applications freestyle et SAP Fiori elements dans SAP S/4HANA et SAP BTP | Revues de design et spécifications d'applications | Applications web hors du modèle de programmation SAPUI5 qui doivent ressembler à SAP Fiori |
SAPUI5 implémente l'expérience décrite par les SAP Fiori Design Guidelines, tandis que les UI5 Web Components offrent le même langage visuel sans le framework applicatif SAPUI5.
Questions fréquentes
SAPUI5 est-il gratuit ?
SAPUI5 est concédé sous licence avec des produits SAP comme SAP BTP et la plateforme ABAP ; son utilisation est donc couverte par ces licences. OpenUI5, qui partage le même cœur et la plupart des bibliothèques de contrôles courantes, est gratuit et open source sous licence Apache 2.0.
SAPUI5 et SAP Fiori, est-ce la même chose ?
Non. SAP Fiori est le standard d'expérience utilisateur défini par les SAP Fiori Design Guidelines. SAPUI5 est le framework JavaScript avec lequel la plupart des applications web SAP Fiori sont construites. Une application SAPUI5 n'est une application SAP Fiori que si elle respecte ces guidelines.
SAP Fiori elements remplace-t-il SAPUI5 ?
Non. SAP Fiori elements repose sur SAPUI5 et génère des interfaces SAPUI5 à partir des annotations OData. Les développeurs ont toujours besoin de connaître SAPUI5 pour les extensions, les pages personnalisées et tout besoin que les floorplans ne couvrent pas.
Peut-on écrire des applications SAPUI5 en TypeScript ?
Oui. SAPUI5 prend en charge le développement en TypeScript, et le SDK SAPUI5 inclut des tutoriels et des définitions de types TypeScript. Les contrôleurs et les contrôles personnalisés peuvent être écrits en TypeScript, puis transpilés en JavaScript au moment du build.
Comment savoir quelle version de SAPUI5 une application utilise ?
Ouvrez l'application et appuyez sur Ctrl+Alt+Shift+P pour afficher la boîte de dialogue des informations techniques, qui indique la version de SAPUI5 et les bibliothèques chargées. Pour les applications SAP BTP, la version est également définie dans la configuration de bootstrap de l'application.
Sources
- SAPUI5 SDK: SAPUI5 vs. OpenUI5
- SAPUI5 SDK: Versioning and maintenance of SAPUI5
- SAPUI5 version overview (maintenance status and front-end server mapping)
- SAPUI5 SDK: Developing apps with modern concepts — guidance for developers
- SAPUI5 version file: libraries delivered with the current SAPUI5 release
- S'applique à
- SAP S/4HANA on-premise · SAP S/4HANA Cloud Private Edition · SAP S/4HANA Cloud Public Edition · SAP BTP
- Dernière relecture