RciTools – Présentation, prise en main du logiciel et première requêtes

RCI Informatique, Juillet 2010
RciTools - 8.04.06

RciTools HTML est un logiciel destiné à la création, la mise au point et la publication
d'ensembles de requêtes SQL, simples ou complexes, et la restitution des résultats
sous différentes formats: tableaux HTML, documents PDF, classeurs Excel, documents Open Office.

RciTools HTML est développé avec Oracle APEX (Application Express)
et fonctionne avec Oracle 10g et Oracle 11, ainsi qu'avec Oracle XE
Les générations PDF et Excel sont basés sur les packages RPDF et RXLS.


1 - Introduction
 

RciTools HTML est un outil d’infocentre « léger », destiné à la mise au point et la publication de requêtes, accédant à des bases de données Oracle, et à d’autres données.

Deux modes d’utilisation sont proposés, le mode « auteur » destiné à la création des requêtes et des états, et le mode « publication » destinés aux utilisateurs « finaux ».

Le mode de fonctionnement est totalement HTML, « client léger », un simple navigateur installé sur les postes clients.
Il n’y a rien à installer, ni « client Oracle », ni DLLs, ni contrôles OCX, ni composants .Net.  sur les postes de travail.
Le serveur peut être toute version d’Oracle 10 et 11, y compris la version Oracle XE (gratuite).
Il est possible d’utiliser uniquement le serveur http intégré dans Oracle, à partir de la 10g (technologie XDB/Webdav), en standard avec Oracle XE.
On peut également utiliser l’un des différents « frontaux » proposés par Oracle : Oracle Apache, Oracle Application Server, etc.

RciTools HTML intègre des fonctionnalités de « reporting bureautique », essentiellement PDF et tableur.

RciTools HTML s’appuie pour ces fonctionnalités sur les bibliothèques RPDF et RXLS diffusées depuis 2006 auprès d’un large public de développeurs Oracle PL/SQL et Oracle Application Express.

Principales fonctionnalités de la version 8.04.06 :

- Stockage et publication de requêtes organisées en catégories et domaines
- Génération automatique d’une interface Oracle Application Express (Onglets, pages) en fonction des requêtes
- Gestion des utilisateurs à partir du dictionnaire RciTools ou d’un dictionnaire extérieur
- Gestion des droits d’accès par domaine
- Domaines d’accès contrôlé et domaines d’accès public
- Mécanisme de Questions et Dialogues permettant de gérer des requêtes avec « arguments variables »
- Arguments variables texte (avec fonctions de contrôle de date et de numéricité) ou de sélection dans des listes de valeurs
- Personnalisation de l’interface (Entête, pied de page HTML)
- Génération de documents PDF, avec pagination, insertion de logo, entièrement intégrée, y compris dans Oracle XE
- Génération de classeurs Microsoft Excel, comportant mise en page, styles de cellules, formules, définition de noms Excel, calculs, , entièrement intégrée, y compris dans Oracle XE
- Génération de classeurs Calc Open Office, comportant mise en page, styles de cellules, formules, définition de noms Excel, calculs, , entièrement intégrée, y compris dans Oracle XE
- Génération de documents tableurs comportant de une à n feuilles, correspondant à des listes de requêtes, avec nommage des feuilles (onglets Excel et Open Office)
- Intégration en tant que requêtes d’appel à des applications indépendantes développées avec Oracle Application Express (APEX)
- Création automatisée de vues liées aux requêtes. Visualisation intégrée des vues et dépendances vues /tables.  Exemples…
- Fonction de Documentation automatique des requêtes d’un domaine (Document PDF, avec une page par requête, source SQL et échantillon du résultat)


2 - Démarrage



On accède à l'application par la chaîne de connexion déterminée lors de l'installation.

Ici, on a indiqué :   http://127.0.0.1:8080/apex/f?p=80406


Dans l'ordre: le protocole (http), l'adresse IP ou le nom du serveur, le port, et le numéro de l'application.

Selon le mode de fonctionnement (Oracle/Apache) ou le serveur HTTP intégré à Oracle, et votre gestion réseau, il sera possible de créer une adresse de connexion simplifiée, ou une page HTML comportant un lien simple, renvoyant à l'URL de l'application.

La première fois, connectez-vous en tant qu'administrateur: User Name:    admin     Password:    admin
Vous pourrez ensuite créer des utilisateurs et changer le mot de passe d'administration.

 

3 - Page d'accueil - menu principal
 

La page d'accueil permet, à gauche de sélectionner un "domaine", à droite d'accéder aux différents écrans de paramétrage des requêtes et objets de RciTools.

On va cliquer à droite sur le lien "Domaines".



4 - Création d'un nouveau domaine
 

Dans la région gauche, l'administrateur voit tous les domaines qui ont déjà été créés.
Un domaine est un ensemble de requêtes, ces requêtes étant rangées dans des "catégories".
L'attribution de droits de consultation ou de création/modification des requêtes est effectuée par domaine.

Les domaines serviront à organiser les requêtes par fonction, application ou profil d'utilisateur.

Nous allons créer un nouveau domaine, destiné à effectuer des requêtes sur les tables DEPT et EMP fournies par Oracle en tant qu'exemples.

Dans la région de droite, qui est un "formulaire de saisie", indiquons l'intitulé du nom du nouveau domaine, avec une brève description.
Ne cliquons pas pour l'instant sur "Domaine publié".
Dès que les différentes requêtes auront été introduites et tester, on pourra procéder à une publication "instantanée", en cliquant sur "Domaine publié".
Puis validons la création en cliquant sur le bouton de droite "Confirmer la création du nouveau domaine".

Le domaine a été ajouté à la liste des domaines. Il suffit de cliquer (à gauche) sur l'icone  pour sélectionner, en visualisation et modification une domaine existant.
Un indicateur de sélection (colonne Sel)   précise quel est la ligne de données actuellement sélectionnée.

Un numéro (interne, arbitraire, unique) a été attribué automatiquement au nouveau domaine. C'est ici le numéro 14.
Il sera utile à l'administrateur et aux développeurs pour communiquer entre eux sur l'avancement des développements, ainsi que pour attribuer les droits de consultation aux utilisateurs.


5 - Création d'une nouvelle catégorie, pour ce nouveau domaine
 

Il n'est pas nécessaire de revenir à la page d'accueil, on peut utiliser la barre d'onglets :

Cet ensemble d'onglets, permet de naviguer entre les fonctionnalités exactement comme la liste nommé "Paramétrages" de la page d'accueil.
Cliquer sur l'onglet "Catégories" permet d'accéder à la création et la modification de catégories.

Si on clique sur "Catégories", on est ramené à la page d'accueil.  En effet, avant de pouvoir créer et modifier les catégories, il faut avoir indiqué sur quel domaine on souhaite travailler.

Sélectionnons (à gauche, dans la liste "pop-up") le domaine que l'on vient de créer, puis cliquons sur "Catégories par domaine"

On crée ici une nouvelle catégorie nommée "Les tables DEPT et EMP" avec comme descriptif associé "Requêtes simples sur ces tables".
Indiquons un ordre d'affichage (on utilisera par exemple 10, 20, 30,... ce qui permettra d'insérer facilement  des lignes) et demandons une "publication" immédiate.

Tant que le domaine ne sera pas "publié", les utilisateurs ne pourront accéder à aucune requête.

Puis cliquons sur "Confirmer la création".

Nous allons ensuite créer une deuxième catégorie, que nous allons appeler "Relations entre DEPT et EMP" .

Pour cela nous cliquons à gauche sur le bouton "Créer un nouvelle catégorie". Cela efface la région de droite, dans laquelle on peut saisir la nouvelle catégorie:

Puis, en cliquant sur "Confirmer la création", on obtient une deuxième catégorie :


6 - Création d'une première requête
 

On clique sur l'onglet "Requêtes", depuis la page des catégories.

 

Sélectionnons une catégorie, la première :

Il n’y a encore aucune requête.
Un choix est proposé entre la création d’une nouvelle requête « ex nihilo » ou bien en reprenant la définition d’une vue existante, dans l’un des schémas accessibles :

Cliquons sur le bouton « Créer manuellement une nouvelle requête ».

L'éditeur de requêtes apparaît :

Créons une première requête :

- le texte de la requête est    select * from dept
- le commentaire: "Toutes les rubriques de la table DEPT"
- l'ordre d'affichage: 10
- la requête est à publier
- son intitulé : « Les départements », ainsi qu’un intitulé destiné à l’impression.

Puis on cliquera sur le bouton "Enregistrer les modifications":
 


7 - Test des différents modes de restitution

En dessous de la requête, une région propose différents modes de restitution, actuellement implémentés :

Il suffit de cliquer sur l'un des boutons pour obtenir un état ou un document, tous dans une "nouvelle" fenêtre du navigateur..

 

Test direct en HTML :

avec titre et pagination automatique.

Classeur  Microsoft Excel  :

C'est un classeur (et non pas un simple export CSV).
La norme utilisée est la norme de document "riche" Microsoft XML 2003.
Les documents peuvent être ouverts avec Excel 2003 Windows, Excel 2007 Windows et Excel 2008 Macintosh.
Les dates et nombres sont des dates et nombres Excel.
Les largeurs de colonnes tiennent automatiquement compte du contenu et de la largeur des noms de rubriques

 

Document tableur Open Office   :


L'utilisateur doit indiquer l'ouverture avec Scalc.exe :


C'est un classeur (et non pas un simple export CSV).
La norme utilisée est la norme de document "riche" Microsoft XML 2003.
 

 

 

Document PDF :

avec entête, filet, pied de page, pagination automatique, numérotation des pages.
On est "par défaut" en format A4 vertical.

8 - Création d'une seconde requête, sur la table des employés
 

Créons, dans la même catégorie, avec le bouton une seconde requête ayant pour source SQL

Select * from EMP

Examinons les sorties Excel et PDF :

En sortie tableur, les dates Oracle ont été converties en dates Excel (en tenant compte des limites différentes),
 

 

En format PDF, l'organisation des colonnes et des formats est optimisée en fonction des contenus.
La colonne sal ne comporte aucune décimale, parce qu’il n’existe que des valeurs entières.
Les colonnes empno, mgr, deptno, comm, étant entières, aucune décimale n'a été générée.
On tient compte également des préférences de présentation des montants (virgules, points décimaux) :

Modifions, dans le SQL Workshop d’ Apex, ou dans SQL Plus ou SQL Developer, le salaire de Miller, de façon à ce qu’il y ait au moins une ligne dans la requête, pour laquelle la rubrique sal comporte des décimales.

Update EMP set sal = 1300.45 where empno = 7934
/
Commit
/

Relançons simplement la génération PDF, sans modifier la requête.
Cette-fois ci, la colonne sal est automatiquement à deux décimales :

 

9 - Publication du domaine créé et des requêtes qui ont été définies
 

Afin de rendre disponibles les requêtes qui ont été créés, il faut maintenant définir un compte utilisateur.

Nous allons utiliser ici la gestion intégrée des utilisateurs dans RciTools HTLM.

Il est prévu de pouvoir définir également une gestion des droits "externe", basée sur diverses méthodes, comme l'identification par l'adresse IP, l'identification Windows (NTLM) ou d'autres systèmes d'annuaires.
Cet définition de droits externe pourra être définie sous forme de l'écriture de procédures stockées PL/SQL, dont les noms et l'interaction avec RciTools a déjà été préparée.

Cliquons sur l'onglet "Utilisateurs":

 

Cliquons sur le bouton de gauche "Création d'un nouvel utilisateur" pour effacer la région de saisie, et commencer la définition d'un nouvel utilisateur :

Saisissons le nouvel utilisateur, dont l'identifiant et le mot de passe seront tous les deux:   toto

Puis cliquons sur le bouton "Confirmation de la création".

Dans la région de gauche, sélectionnons l'utilisateur nommé toto , en cliquant sur l'icone 

 

Pour ajouter un nouveau droit, nous allons cliquer sur le bouton "Nouveau droit",

Puis sélectionner le domaine "Tests avec DEPT et EMP", et indiquer un droit de "Consultation".
Enfin on valide, en cliquant sur "Enregistrer les modifications de droits".

Ensuite, il faut vérifier que les requêtes, les catégories et le domaine sont "publiées".
Pour cela, vérifions avec les formulaires Domaine, Catégories et Requêtes. Enregistrons les modifications :

 

 

 

10 - Testons ce que l'utilisateur va voir et les commandes qui seront à sa disposition

Déconnectons nous (du rôle d'administrateur) en cliquant sur  Logout  (en haut à droite des onglets) :

 

Puis identifions-nous en tant que "simple utilisateur" (toto  toto), et cliquons sur le bouton "Login".


 

La page d'accueil , une fois l'identification effectuée, propose juste le choix d'un domaine, parmi la liste des domaines accessibles à cet utilisateur :

 

Un seul domaine est proposé, le seul domaine, publié, et pour lequel toto dispose d'un droit de consultation :

L'utilisateur sélectionne ce domaine, un bouton apparaît :

En cliquant sur ce bouton, on va aller au menu général de la consultation du domaine sélectionné :

 

On dispose d’un onglet par catégorie.

En cliquant sur chaque onglet, on accède à la liste des requêtes de cette catégorie.

Si on clique sur le titre d’une requête, "Les employés", par exemple, on accède à une page qui présente le résultat de la requête, en mode HTML :

Les trois boutons   PDF,   Excel et Open Office fonctionnent comme présenté plus haut, de façon à permettre à l'utilisateur de générer dynamiquement un document PDF, Microsoft Excel ou Open Office Calc, correspondant à cette requête :

 

11 – Présentation du résultat de plusieurs requêtes dans différentes feuilles d’un même classeur Excel ou Open Office

Reconnectons-nous (en tant qu’administrateur).
Sélectionnons le domaine « Tests avec Dept et Emp ».

Créons une nouvelle requête, ayant « Départements et Employés » comme intitulé.

On voit que, par défaut, le type proposé est « Requête SQL ».

Sélectionnons en tant que « Type » le choix « Enchainement de requêtes », puis validons en cliquant sur le bouton « Enregistrer les modifications ».

 

La présentation des éléments de la requête change.
Un dialogue propose, à gauche les requêtes disponibles :

Sélectionnons les deux requêtes 303 et 302, dans cet ordre, en utilisant les boutons >  puis Enregistrons.

Maintenant, nous avons ceci :

Si nous regardons les choix de sorties, nous constatons que deux types de restitution sont disponibles :

 

Si nous choisissons, Excel, nous obtenons directement un classeur comportant deux feuilles :

Les onglets Excel permettant d’accéder aux feuilles, reprennent les libellés des requêtes.

Avec la génération Calc / Open Office, nous obtenons la même présentation :

 

13 – Disponibilité et diffusion de RciTools HTML

- Si RciTools HTML  vous intéresse pour vos projets de développement et de publication de requêtes, ou que vous souhaitiez bénéficier de certaines fonctionnalités de  RciTools HTML dans vos développements Oracle APEX, contactez nous par ce formulaire…
 

RCI Informatique SAS
Tél:  02 35 71 24 59    ou    (33) 2 35 71 24 59
Mail:   rci@wanadoo.fr

 


14 – Coûts des licences et prestations complémentaires

Tarifs indicatifs, hors frais de déplacement, année 2010 :

• Licence RciTools HTML 8.04.06  par instance Oracle, clients illimités :  4473 euros HT 

• Maintenance applicative annuelle :  1064 euros HT / an et par licence

• Prestations de consulting, prototypage, développements complémentaires et assistance :  985 euros HT / jour

 

15 – Information complémentaire

BLOG de RCI Informatique sur Oracle, PL/SQL et Application Express

RciTools RPDF, bibliothèque de génération par programmation PL/SQL de documents PDF

RciTools RXLS, bibliothèque de génération par programmation PL/SQL de documents Microsoft Excel et Calc Open Office

Sélection de sites Internet sur Oracle Database XE

Dossier technique Oracle Application Express (APEX 4.0)

Sélection de sites Internet réalisés avec Oracle Application Express

Sessions de formation à  Oracle Application Express (HTML DB-APEX)

Installation d'Oracle 11.2 pour Windows et activation d'APEX (intégré en standard)

Installation d'Oracle XE  et activation d'APEX

 


 



Tous droits réservés, RCI Informatique SAS, 1997-2010

rci@wanadoo.fr

www.rci-informatique.fr