Suite du tutoriel.
Cette partie décrit les processus de création d'une application Oracle APEX et de création de pages dans l'application.
Partie précédente: Tutoriel Oracle Application Express. Présentation de l'IDE
Table des matières
Création d'application
Pages par défaut
Lancement de l'application
Création de page
Composants de la page principale
Éléments visuels
Éléments non visuels
Propriétés de base des éléments
Propriétés générales
Propriétés de la page
Création d'application
Pour créer une application, vous devez aller dans App Builder et cliquer sur le bouton "Créer".
Contexte historique des types d'applicationDans les versions précédentes de l'apex, à la première étape, l'assistant a suggéré de choisir le type d'application (dans les versions 4.x, si la mémoire me sert bien, ce sont les types "Application de base de données" et "Application de feuille Web", dans les versions 5.x - "Bureau", "Mobile" "," Websheet "et" Packaged Application "), dans la version actuelle tous les autres types sont poussés un peu sur le côté (bien que la" Websheet "reste), et il vous suffit de sélectionner" New Application ". Et "Application Packaged" - ce sont les mêmes applications de démonstration de l' App Gallery .
Ensuite, l'assistant de création d'application démarre. À la première étape, vous devez sélectionner "Nouvelle application", à la seconde - remplissez simplement les champs "Nom" et l'ID d'application (numéro d'application). Le nom est nécessaire simplement parce qu'il s'agit d'un champ obligatoire et l' Application ID
- car il ne sera alors pas possible de le modifier. Plus précisément, c'est possible (via export / import), mais c'est long et peu pratique, il vaut mieux régler immédiatement le nombre souhaité si l'apex généré automatiquement ne vous convient pas. Le numéro doit être unique. Ce numéro est utilisé dans le cadre de l'adresse de l'application. Regardons une URL apex typique:
https://apex.oracle.com/pls/apex/f?p=123456:1:14675052744498:::::
Ici, 123456
est l'ID d'application.
Pour le reste des champs de l'assistant, vous pouvez toujours ignorer que tous ces paramètres peuvent être modifiés ultérieurement.
Après cela, vous devez cliquer sur "Créer une application", l'apex créera l'application et vous déplacera automatiquement vers la page de l'application, où vous verrez
Pages par défaut
Par défaut, apex créera 3 pages dans l'application. Les pages, comme les applications, ont un numéro et un titre. Le numéro est utilisé de la même manière dans l'URL pour identifier la page, il suit immédiatement le numéro de demande et est séparé par deux points. Autrement dit, le format est le suivant:
https://apex.oracle.com/pls/apex/f?p=APPLICATION_ID:PAGE_ID:< url>
Les pages par défaut créées sont:
- Page globale (ID de page: 0)
Il s'agit d'une page spéciale qui n'est pas utilisée indépendamment, mais à laquelle vous pouvez ajouter un élément si vous souhaitez qu'elle apparaisse sur toutes les pages. Page d'accueil (ID de page: 1)
Ceci est la page de démarrage de l'application. Vous y accéderez par défaut après avoir entré le login et le mot de passe dans l'application, ou si vous spécifiez l'URL de votre application sans spécifier de page et tout le reste, c'est-à-dire comme ceci:
https://apex.oracle.com/pls/apex/f?p=123456
- Page de connexion (ID de page: 9999, dans les versions 4.x, 5.x au lieu de 101)
C'est évidemment la page de connexion. Il contient des champs pour entrer un identifiant et un mot de passe, pendant un certain temps (je ne peux pas nommer la version, mais relativement récemment) - une case à cocher "Mémoriser le nom d'utilisateur" et un bouton "Se connecter".
Les applications et les pages ont également la propriété Alias
utile. Pour une application, cette propriété est configurée dans les propriétés de l' application ("Propriétés de l'application" → "Définition" → "Nom" → "Alias d'application"), et pour une page, dans l' éditeur de page dans le panneau des propriétés à droite. Alias
peut être utilisé dans l'URL de la page au lieu du numéro. La page de connexion par défaut est créée avec l' LOGIN_DESKTOP
LOGIN_DESKTOP et la page d'accueil avec l'alias HOME
. Si vous définissez l'alias d'application MY_APP
, vous pouvez accéder à la page de connexion à l' MY_APP
https://apex.oracle.com/pls/apex/f?p=MY_APP:LOGIN_DESKTOP
#define true false (ou je sais ce que vous en pensez)Que se passe-t-il si l'application 123 devient l'alias 456 et l'application 456 est l'alias 123? Il n'y aura rien, l'apex ne permettra pas que de tels alias soient créés pour les applications. Cela n'est pas clairement indiqué dans l'aide, mais l'alias d'application semble être soumis aux règles pour les noms d'identificateurs en PL / SQL.
Que se passe-t-il si la page 123 est l'alias 456 et la page 456 est l'alias 123? Il n'y aura rien, vous pouvez donner à des pages de tels alias, mais ils seront ignorés. 123
dans l'URL ouvrira la page 123.
Lancement de l'application
Maintenant que l'application est créée, elle peut déjà être "lancée" (il n'y a encore rien à regarder). Ce n'est pas exactement la même chose que de démarrer une application standard (comme sous Windows ou Linux). L'application apex est rendue par le même moteur que l'IDE lui-même, donc dès que vous créez l'application, elle est instantanément prête à l'emploi, et toute personne qui entre son adresse dans la barre d'adresse peut travailler avec elle. Le lancement de l'application elle-même, en fait, n'est qu'un tel nom pour ouvrir la page de démarrage (celle avec le numéro 1). Vous pouvez lancer l'application de plusieurs manières:
- dans App Builder, dans la liste des applications, il y a une colonne "Exécuter" avec un bouton en face de chaque application;
- sur la page d'application il y a un grand bouton "Exécuter l'application";
- vous pouvez "lancer" non seulement l'application, mais aussi n'importe quelle page sans dialogue (les dialogues ne peuvent être appelés qu'à partir de pages normales): dans la liste des pages d'application, il y a aussi une colonne avec le bouton "Exécuter";
- Vous pouvez démarrer la page actuelle à partir de l'éditeur de page en cliquant sur le bouton dans le coin supérieur droit;
- et enfin, vous pouvez démarrer la page s'il y a de tels boutons dans le coin supérieur droit:

Ces deux boutons se trouvent dans presque toutes les sections de l'IDE. Celui de gauche contient le numéro de la dernière page que vous avez ouverte dans l'éditeur de page. En cliquant dessus, vous procéderez à l'édition de cette page, et en cliquant sur le bouton droit, vous lancerez cette page.
Que se passera-t-il après le lancement? Si la page lancée a un accès limité, l'utilisateur sera d'abord redirigé vers la page de connexion. Si l'utilisateur est déjà connecté ou si la page des paramètres est marquée comme publique, cette page s'ouvrira.
Par défaut, la page est créée avec un accès limité. Il existe deux paramètres possibles dans les propriétés de la page ( Éditeur de page - panneau de droite - groupe de propriétés "Sécurité" - "Authentification"):
Page Requires Authentication
: la page sera disponible uniquement pour les utilisateurs connectés pendant la session;Page is Public
: page publique visible par les utilisateurs enregistrés et non enregistrés.
Création de page
Vous pouvez créer une page sur la page d'application . Cliquez sur "Créer", puis l'assistant de création de page démarre. Étapes de l'assistant:
- Sélection d'un type de page parmi (actuellement) 12 types, dont certains ont également des sous-types (le cas échéant, apparaîtront à l'étape suivante). Le premier type de la liste est la "Page vierge", c'est-à-dire une page vierge sans tout. Les types restants sont des options de page courantes pour travailler avec la base de données: rapports, formulaires de saisie, graphiques, etc. Ici, je décrirai le processus de création d'une page vierge, et les types restants auront un article séparé.
- Saisissez le numéro de page et le titre. J'ai parlé des chiffres ci-dessus; le nombre est défini à cette étape et il ne sera pas possible de le changer, alors faites attention. Parfois, les développeurs divisent les pages en groupes (à des fins fonctionnelles, par exemple) et réservent une plage de numéros pour chaque groupe, donc si vous utilisez cela dans votre projet, soyez prudent. Vous devez immédiatement choisir le type de page: normal, dialogue modal, dialogue non modal.
- Personnalisez les éléments de navigation. Vous pouvez sauter (cliquer sur "Suivant") et configurer plus tard (bien que si vous avez déjà une sorte de système de navigation intégré, il est pratique de tout régler immédiatement à cette étape et de ne plus prendre de bain de vapeur).
- Confirmation de création.
Après cela, la page est créée et prête à l'emploi.
Composants de la page principale
Éléments visuels
Les éléments visuels sont des éléments qui sont en quelque sorte affichés à l'écran. C’est:
- Menu principal. Il contient le nom de l'application, le logo, le nom d'utilisateur, le lien "Déconnexion" (si l'utilisateur est connecté). Là, vous pouvez ajouter d'autres éléments;
- Menu de navigation à gauche. Il peut être utilisé pour naviguer dans l'application, créant, par exemple, une structure hiérarchique des sections d'application;
- Régions (généralement en russe, elles sont appelées «régions»): conteneurs d'éléments. Peut contenir des rapports, des graphiques, des champs de saisie, des boutons et d'autres régions;
- Éléments (il n'y a pas de traduction bien établie en russe, ils disent qui est quoi, ils utilisent généralement les mots élément, champ et souvent juste un élément): ce sont divers champs pour la saisie des utilisateurs;
- Boutons (boutons): eh bien, ce sont des boutons ordinaires, bref, que puis-je dire d'autre;)
- Rapports: tableaux avec des données basées sur des requêtes SQL;
- Graphiques / graphiques: affichage graphique des informations de la base de données, également basé sur des requêtes SQL.
Les rapports et les graphiques peuvent être considérés comme des variétés de régions (techniquement, ils le sont), mais en même temps, ce sont des entités assez indépendantes, avec leur propre comportement, leurs propriétés et d'autres.
Éléments non visuels
Ce sont des éléments pour assurer la logique de l'application. Il existe en fait une grande variété d'éléments, bien que l'utilisateur ne les voit littéralement pas. Les principaux types sont:
- Processus: en règle générale, le code PL / SQL exécuté sur le serveur en réponse à toute action de l'utilisateur;
- Validation: type de processus de validation des entrées utilisateur;
- Action dynamique (il n'y a pas de traduction établie, généralement tout le monde l'écrit - Action dynamique ou simplement DA, et lorsque vous êtes trop paresseux pour changer de disposition, le locuteur peut écrire une action ou OUI): le processus effectué par le navigateur. En fin de compte, DA est un gestionnaire pour un événement javascript. Connaître javascript est facultatif, mais si vous le savez (et les sélecteurs CSS en même temps), vous pouvez faire des merveilles;
- Branches (pas de traduction établie): redirige vers d'autres pages en fonction de certaines conditions.
Propriétés de base des éléments
Propriétés générales
Les principaux groupes de propriétés caractéristiques de chaque (ou presque) type d'élément. Ils peuvent être consultés et modifiés dans l'éditeur de pages. Ici, je décrirai brièvement leur objectif (afin que vous sachiez quoi chercher), et plus en détail je le dirai dans d'autres articles.
Identification
: définit le nom de l'élément et des propriétés supplémentaires (selon le type);Appearance
: propriétés responsables de l'apparence de l'élément visuel. Pour chaque type d'élément, il existe un ensemble de modèles, vous pouvez en sélectionner un ici (propriété Template
). De plus, les modèles ont des paramètres supplémentaires ( Template Options
- en cliquant sur le bouton, une fenêtre avec les paramètres s'ouvrira);Layout
: ajustez la position de l'élément visuel sur la page. Les éléments sont disposés dans une grille de 12 colonnes, ici vous pouvez spécifier comment ils doivent être situés;Source
: pour les régions et les éléments - une source de données pour l'affichage, pour les processus - un code de processus;Server-side Condition
: une condition vérifiée sur le serveur (il existe une vaste sélection de conditions, des plus simples, telles que tel ou tel élément a telle ou telle valeur, au code PL / SQL arbitraire). L'élément sera affiché sur la page si cette condition est remplie, et sinon, il ne le sera pas. De plus, il ne sera pas caché, mais simplement pas rendu;Client-side Condition
(pour Dynamic Action
): une condition vérifiée sur le client (sans accéder au serveur). DA sera satisfaite si la condition est remplie;Read only
: elle fonctionne de la même manière que la Server-side Condition
, mais elle contrôle non pas la présence / l'absence d'un élément, mais la possibilité de modifier la valeur. Cette propriété concerne les éléments, les régions et les pages. Pour un article, il s'applique à l'article lui-même, et pour les régions / pages, à tous les articles dans la région / page correspondante;Security
: contrôlez l'accès à l'article. En principe, tout cela peut être fait en utilisant la Server-side Condition
, mais il est préférable de faire la distinction entre: Server-side Condition
- pour la logique d'application, Security
- pour l'affichage en fonction des droits d'accès.Configuration
: pour activer / désactiver l' Build Option
. Une chose très évidente, mais très utile: elle vous permet d'activer ou de désactiver des fonctionnalités individuelles de l'application, ce qui est très pratique lorsque vous développez des fonctionnalités en parallèle pour plusieurs versions différentes;Comments
: commentaires pour d'autres développeurs;Help
(pour les éléments visuels): Aide pour les utilisateurs finaux de l'application.
Propriétés de la page
Propriétés spécifiques à la page:
Navigation
: il existe deux propriétés dans ce groupe. Cursor Focus
indique s'il faut transférer le focus vers le champ de saisie de la page immédiatement après le chargement (options - soit ne pas transmettre, soit transférer vers le premier champ de la page). Warn on Unsaved Changes
utilisateur de quitter la page s'il existe des données non enregistrées;JavaScript
: permet d'ajouter du code JavaScript à la page. Vous pouvez spécifier le chemin d'accès au fichier ou ajouter votre code directement à la page;CSS
: idem pour CSS. Incluez un fichier ou ajoutez-le à la page si vous avez besoin d'une sorte de paramètre CSS local pour cette page uniquement;Advanced
: permet d'activer ou de désactiver la protection contre une nouvelle soumission du formulaire.