Designer et l ingénierie du logiciel L intégration d images dans les applications Web PL/SQL - Concepts



Documents pareils
1.2 Genèse. 1.3 Version de Designer utilisée

La base de données dans ArtemiS SUITE

Poll-O Guide de l utilisateur. Pierre Cros

Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications

Information utiles. webpage : Google+ : digiusto/

Etude et développement d un moteur de recherche

CAHIER DES CHARGES DES MOYENS INFORMATIQUES Introduction

Programmation Web TP1 - HTML

INTERCONNEXION ENT / BCDI / E - SIDOC

Module BD et sites WEB

Créer le schéma relationnel d une base de données ACCESS

Manuel du composant CKForms Version 1.3.2

BES WEBDEVELOPER ACTIVITÉ RÔLE

SITE I NTERNET. Conception d un site Web

Sync-A-BOX et Duplicati. est une plateforme Cloud pour stocker et gérer vos données en ligne.

Le logiciel de création de site internet IZISPOT est un outil très puissant et qui est assez simple après quelques temps d utilisation.

APIs de table pour SQL Server

INTERCONNEXION ENT / BCDI / E - SIDOC

Thème : Gestion commerciale

Création, analyse de questionnaires et d'entretiens pour Windows 2008, 7, 8 et MacOs 10

PLATEFORME DE GESTION DE CONGRÈS SCIENTIFIQUES

OFFRE DE SERVICE.

Savoir utiliser les services de l ENT Outils personnels SOMMAIRE

Website Express Créer un site professionnel avec Orange

Tsoft et Groupe Eyrolles, 2005, ISBN :

KWISATZ MODULE PRESTASHOP

NOTICE D UTILISATION DE LA PLATEFORME DES AIDES REGIONALES (PAR) UNEEM PREMIERE CONNEXION - CREATION & GESTION DE VOTRE COMPTE UTILISATEUR

Installation / Sauvegarde Restauration / Mise à jour

Déploiement d application Silverlight

1 - Se connecter au Cartable en ligne

Guide de prise en main Symantec Protection Center 2.1

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

CEGID - Business Suite PGI Business Suite Paye. A - Paramétrages initiaux de la paye

PLATEFORME DE GESTION DE CONGRÈS SCIENTIFIQUES. 12 mars 2015

4. Personnalisation du site web de la conférence

HTML. Notions générales

Initiation à html et à la création d'un site web

INTERCONNEXION ENT / BCDI / E - SIDOC

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

VOS RESSOURCES NUMÉRIQUES PAS À PAS

Communiqué de Lancement

GITI, 20 mars 2009, CERN, Genève

Modules Multimédia PAO (Adobe)

Gestion des s par ELO

Créer un site Web : mode d emploi Sous SPIP, avec le squelette «établissement» de l académie de Versailles

Systèmes d information et bases de données (niveau 1)

Spécifications techniques

PLATEFORME DE GESTION DE CONGRÈS SCIENTIFIQUES. h tt p : / / w w w. s c i e n c e s c o n f. o rg

Conception Création Site. Web CAHIER DES CHARGES CREATION DE SITE WEB

Les nouveautés de Sage DS Version 2

Les bases de données Page 1 / 8

Guide d utilisation - Intranet de l ASG Pour utilisateurs d Albatros Version 8.7

Procédure d utilisation de la fonction TELETRANSMISSION

Sage 100 CRM - Guide de la Fusion Avancée Version 8. Mise à jour : 2015 version 8

Communiqué de Lancement. Sage Intégrale V4.50

Veille Technologique. Cloud-Computing. Jérémy chevalier

Édu-groupe - Version 4.3

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa Novembre 2008

L outillage du Plan de Continuité d Activité, de sa conception à sa mise en œuvre en situation de crise

MAILING KOMPOZER... 2 CREEZ UNE PAGE... 2 FORMAT DE LA PAGE... 2 AJOUTER DU TEXTE SUR UNE PAGE... 4

Introduction à. Oracle Application Express

MODULES 3D TAG CLOUD. Par GENIUS AOM

Mettre en place un formulaire dans le site avec le module webform

Document d accompagnement pour l utilisation du Cartable en ligne Lycée des Métiers Fernand LÉGER 2013/2014

IMPORTANT Bienvenue

Chapitre 07 Le modèle relationnel des données

BIBLIOTHÈQUE NUMÉRIQUE MODE D EMPLOI

arcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole :

Grain Tracker Manuel d'utilisation

SERVICE COMMUN DE MICROSCOPIE

TMS THE MUSEUM SYSTEM

CRÉER SON SITE INTERNET. Créer son site Internet. Méd de Roanne. FG 16/09/08

MATRICE DES FONCTIONNALITES

LES PROCEDURES DE LA POLITIQUE D ARCHIVAGE

Intégrer des notices de MoCCAM-en-ligne dans BCDI abonnement

F O R M A T I O N S LOTUS NOTES. 8.5 Utilisateurs rue de la Bôle. E U R L. a u c a p i t a l d e

Evry - M2 MIAGE Entrepôt de données

Manuel d utilisation NETexcom

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES

KWISATZ_TUTO_module_magento novembre 2012 KWISATZ MODULE MAGENTO

Cours Base de données relationnelles. M. Boughanem, IUP STRI

L archivage pérenne du document numérique au CINES. CINES (O.Rouchon) Rencontres RNBM 3 Octobre 2007

Utilisation du client de messagerie Thunderbird

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

Optimiser pour les appareils mobiles

Optimiser les s marketing Les points essentiels

Introduction à MATLAB R

Etape 1 : Identification avec un compte personnel sur la plateforme (cf. notice «Création et gestion de votre compte utilisateur»)

Les Ateliers Info Tonic

Manuel du logiciel PrestaTest.

Suite Messerli Gest (gestion de chantier) Prestations (imputations des heures) Procédure d'installation du programme ou d'une mise à jour

Guide Utilisateur Transnet

L archivage pérenne du document numérique au CINES. CINES (O.Rouchon) JRES Novembre 2007

ASSISTANCE. jdscenter. Centre d Affaires. jdscenter

Créer son Blog! Une fois votre compte blogger ouvert, vous allez pouvoir cliquer sur «Nouveau Blog» Une nouvelle fenêtre apparaît

ESPACE COLLABORATIF. L Espace Collaboratif : votre espace de partage entre acteurs régionaux

Documentation utilisateur "OK-MARCHE" Historique des modifications. 3.0 Mise à jour complète suite à version OK-MARCHE V2.2. de marchés publics

Conférence Cloud Computing Retour d expérience des Mousquetaires

Manuel d utilisation de la messagerie.

Logiciel de Gestion Electronique de Dossiers

Transcription:

Designer et l ingénierie du logiciel L intégration d images dans les applications Web PL/SQL - Concepts P.-A. Sunier, Haute Ecole Arc, Neuchâtel, avec le concours de P. Ferrara 1 Introduction... 1 2 Contexte d illustration... 1 3 Problématique... 2 4 Modes de stockage... 2 5 Intégration d images provenant du serveur d application... 3 5.1 Principes... 3 5.2 Bilan... 3 6 Intégration d images stockées dans les tables de la base de données... 4 6.1 Principes... 4 6.2 Passerelle PL/SQL... 5 6.3 Table de chargement... 6 6.4 Classe OrdImage... 7 6.5 Procédure Quittance...7 6.6 Bilan... 8 7 Liens utiles... 8 1 Introduction Dans cet article nous aborderons la problématique de l intégration d images dans les applications Web PL/SQL générées par Designer ; nous présenterons les opportunités techniques, les commenterons et les comparerons. Nous présenterons la conception des modules Web PL/SQL dans un prochain article. Remarque: La lecture de notre premier article «Notions élémentaires» est conseillée aux lecteurs qui n ont pas la connaissance de Designer et du générateur de modules Web PL/SQL. 2 Contexte d illustration Pour illustrer notre propos, nous nous baserons sur la gestion d un catalogue de produits. Les produits sont enregistrés dans une table PRODUITS et une image doit être associée à chaque produit afin d avoir un formulaire d édition de produit comme illustré par la figure 1. Figure 1 - Formulaire d'édition d'un produit Article 8-1/8- Mai 2005

3 Problématique Une image est un attribut d un produit tout comme son prix, son «id» ou encore son libellé. Toutefois, une image n est pas encore couramment traitée comme une simple colonne de table qui serait non pas de type date, nombre ou chaîne de caractères mais de type image. Dès lors, plusieurs problèmes se présentent lors de la conception d applications basées sur des modules Web PL/SQL : 1. Comment garantir la pérennité de l association entre le produit et son image illustrative? 2. Comment saisir, référencer ou restituer l image d un produit par l intermédiaire de formulaires? 3. Comment uniformiser la présentation des images par les formulaires? Par exemple, il peut être nécessaire de définir une dimension maximale en longueur et largeur des images. 4. Comment traiter les images? Par exemple, il peut être nécessaire de définir une taille maximale de stockage des images. 4 Modes de stockage L intégration d images dans les modules Web PL/SQL peut se faire sur la base de deux alternatives essentielles : Les images sont stockées en tant que fichiers sur le serveur d application. Les images sont stockées en tant que contenu de colonne de tables de la base de données. Quel que soit la stratégie de stockage des images, leur affichage par les formulaires sur le poste client est identique pour l utilisateur. Figure 2 - Alternatives de stockage Remarque : Quelques solutions intermédiaires existent comme le stockage d images en tant que fichiers du serveur de données ; nous ne les documenterons pas car, elles n ont pas un grand intérêt et elles découlent des spécificités des deux alternatives présentées. Article 8-2/8- Mai 2005

5 Intégration d images provenant du serveur d application 5.1 Principes L intégration d images provenant du serveur d application dans une application Web PL/SQL obéit aux principes suivants : 1. Les images (sous forme de fichiers) sont stockées dans un répertoire du serveur d application par copie de fichiers. 2. Le répertoire d hébergement doit être référencé dans les préférences du générateur Web PL/SQL. 3. Le module Web PL/SQL référencera l image par l intermédiaire du nom de son fichier. 4. Le formulaire de l utilisateur contiendra une balise HTML <IMG> pour l affichage de l image en tant que fichier du serveur d application. Figure 3 - Balise HTML <IMG> 5.2 Bilan Avantages Simplicité HTML standard Inconvénients L association entre le produit et l image est réalisée artificiellement par le nom du fichier contenant l image. Le catalogage des images doit se faire par des commandes du système d exploitation et en dehors de l application utilisateur ; l application Web PL/SQL ne peut qu afficher l image du produit. Aucun traitement des images, dimensions ou taille, n est possible par l application Web PL/SQL. Article 8-3/8- Mai 2005

6 Intégration d images stockées dans les tables de la base de données 6.1 Principes Les images peuvent être stockées dans des colonnes de type BLOB, Binary Large Objects, ou dans des colonnes de classe ORDSYS.ORDImage. Le traitement d images, dimensions, tailles et autres n est possible que pour les objets de classe ORDSYS.ORDImage. Pour le reste, les principes régissant l intégration d images stockées dans les tables de la base de données sont identiques et correspondent à l énumération suivante : 1. Les images sources, sous forme de fichiers, sont accessibles par le poste de travail de l utilisateur. 2. Une colonne de type BLOB ou ORDImage est créée dans la table PRODUITS pour le stockage de l image. 3. Une table de chargement accessible à la passerelle PL/SQL doit être créé dans le schéma de base de données ; Cette table de chargement doit être référencée dans le DAD. 4. Une procédure de chargement PL/SQL, MetDansBD, transférera le fichier image source dans la table de chargement. 5. Une procédure de transfert PL/SQL, Quittance, utilisera la colonne de type BLOB de la table de chargement comme source de données pour alimenter la colonne de type BLOB ou ORDImage de la table PRODUITS. Ensuite, cette procédure effacera l enregistrement courant de la table de chargement. Si la colonne de la table PRODUITS est de type ORDImage, l image peut être traitée en mémoire avant son enregistrement. 6. Une procédure d affichage PL/SQL, AFFDepuisBD, lira la colonne de type BLOB ou ORDImage de la table PRODUITS et en restituera le contenu sous forme d un flux de données constitutif de l image à afficher. 7. Le module doit définir la procédure d affichage comme source d image ; le générateur Web PL/SQL crée une balise HTML <IMG> dont la source est l appel de la procédure d affichage. Remarque : Les noms des procédures PL/SQL sont libres ; nous indiquons les noms de nos procédures, pour que le lecteur puisse faire aisément le lien entre les principes décrits dans cet article et la réalisation de modules que nous présenterons dans le prochain article. Article 8-4/8- Mai 2005

6.2 Passerelle PL/SQL Le transfert d un fichier image du poste de travail de l utilisateur dans une colonne de table de la base de données s effectue par l intermédiaire d une table de chargement définie au niveau de la passerelle PL/SQL. Cette table de chargement de la base de données doit être référencée par le DAD utilisé par l application cliente Web PL/SQL. Figure 4 - Passerelle PL/SQL Lors de la soumission du formulaire HTML d envoi d un nouveau fichier image, la passerelle effectue deux tâches dans la base de données définie par le DAD : 1. elle insère un enregistrement dans la table de transfert et en alimente la colonne de type BLOB avec le contenu du fichier image ; 2. elle lance l exécution de la procédure PL/SQL associée au formulaire HTML ; pour notre exemple, il s agit de la procédure MetDansBD. A son tour, la procédure MetDansBD lancera la procédure Quittance qui transférera le contenu de la colonne de type BLOB de la table de chargement dans la colonne ad-hoc de la table de destination finale. Article 8-5/8- Mai 2005

6.3 Table de chargement La structure de la table de chargement est imposée par la passerelle PL/SQL ; son nom est libre et doit être référencé dans le DAD ; une seule table de chargement peut être définie par DAD. Figure 5 - Tables de chargement et de destination La table de chargement est une ressource utilisable concurremment par plusieurs utilisateurs ; pour résoudre l éventuelle collision de chargement de fichiers de même nom simultanément par deux utilisateurs, la passerelle ajoute une clé unique au nom du fichier à charger. Ce nom de fichier préfixé d une clé unique est enregistré dans la colonne NAME. Figure 6 - Clés uniques de la table de chargement La procédure de transfert, Quittance pour notre exemple, recevra de la passerelle le nom de fichier préfixé de la clé unique ; ainsi et même en cas d accès concurrent, chaque instance de procédure de transfert peut récupérer dans la table de chargement son propre fichier, même si le nom initial est utilisé par une autre instance. Les fichiers images pourraient être conservés directement dans la table de chargement mais, sans aucune possibilité de différencier deux images différentes de même nom de fichier initial. Dès lors, il faut impérativement s interdire de conserver les fichiers BLOB dans la table de chargement pour un usage ultérieur! Remarque: Si la table PRODUITS est journalisée, la colonne PHOTO devrait être mise dans une table dépendante non journalisée Article 8-6/8- Mai 2005

6.4 Classe OrdImage Pour traiter des images directement par la base de données et ainsi garantir l intégrité d éléments tel que la taille ou les dimensions maximales ; nous pouvons utiliser la classe OrdImage du paquetage ORDSYS. Les fichiers images de type BLOB alimentent la classe ORDSource de la classe abstraite ORDMultiMedia que nous instantierons en tant que classe spécialisée ORDImage. Figure 7 - Classe ORDMultiMedia 6.5 Procédure Quittance La figure 8 reproduit un extrait du code de notre procédure Quittance utilisée pour le transfert du fichier image dans la colonne PHOTO de type ORDImage de notre table PRODUITS. Nous pouvons observer : 1. La récupération du contenu du de la colonne BLOB_CONTENT depuis la table de chargement dans un objet de type ORDImage ; la sélection de l enregistrement adéquat de la table de chargement se fait avec le paramètre P_FICHIER qui a été transmis par la passerelle. La passerelle a ajouté la clé unique au nom du fichier contenu initialement dans le paramètre P_FICHIER. 2. L objet est traité par la base de données ; en l occurrence, elle limitera longueur et largeur à 120 pixels. 3. L objet traité et intègre est stocké dans la colonne PHOTO de la table PRODUITS. 4. L enregistrement de la table de chargement est effacé. Figure 8 - Code de la procédure "Quittance" Article 8-7/8- Mai 2005

6.6 Bilan Avantages L association entre le produit et l image est transparente ; elle est assumée par le modèle relationnel. La pérennité des images est assurée par la base de données. Les images peuvent être chargées par l application Web PL/SQL Inconvénients Solution propre à Oracle De plus, si la colonne d accueil de l image est de type ORDImage, la base de données peut effectuer des traitements comme la normalisation des dimensions ou de la taille. 7 Liens utiles L auteur : Pierre-André Sunier pierre-andre.sunier@he-arc.ch Portail de l atelier de génie logiciel de la HE-Arc http://lgl.isnetne.ch Site de formation à Designer Rubrique: Enseignement / Atelier de génie logiciel / Designer 6i/9i Cours de formation de base Site de référencement des anciens articles. Rubrique: Publication / Informatique / Designer et l ingénierie du logiciel Pour plus de détails sur l intégration d images dans une application Web PL/SQL, utilisez la rubrique suivante de notre site de formation à Designer sous la rubrique : Cahier 19 / InterMédia Fichiers LOB Pour plus de détails sur les colonnes de types LOB et BLOB ainsi que sur les classes ORDSYS.ORDMultimedia, consultez le portail d ingénierie des bases de données de notre collègue Eddy Meylan http://libd.isnetne.ch Rubrique : Ra&D/ISNet15 Naturellement, la documentation Oracle fournit d utiles compléments et approfondissements aux différentes notions abordées ; l aide utilisable est référencée sur notre site. Article 8-8/8- Mai 2005