Overblog Suivre ce blog
Administration Créer mon blog

APEX : installation gratuite pour POC

20 Décembre 2011 , Rédigé par benkirane Publié dans #La technologie APEX d Oracle

J'ai parlé dans un précédent et lointain billet de la technologie APEX d'Oracle. Aujourd'hui, je vais vous donner la procédure pour installer APEX sur votre PC local afin de voir les différentes fonctionnalités offertes par la technologie (et il y a en a beaucoup !!!!!)

Etape 1 : Installation d'Oracle XE

Avant d'installer APEX, il vous faudra une base de données Oracle. Si vous n'en avez pas, je vous conseille de récupérer la version gratuite sur le site d'Oracle : http://www.oracle.com/technetwork/database/express-edition/downloads/index.html. La dernière version stable à l'heure où j'écris cet article est la 11g.

Il vous faudra pour cela vous enregistrer chez Oracle si vous n'avez pas déjà un compte. L'archive fait plus de 300Mo, il est donc possible que cela prenne un peu de temps à moins que vous ne soyez l'heureux détenteur d'une ligne fibrée :))...

Une fois le téléchargement terminé, il suffit de dézipper le fichier et exécuter le setup. Un mot de passe d'administrateur vous sera demandé, conservez le bien en tête. Par défaut, Oracle XE s'installe sous Windows dans le répertoire C:\oraclexe. Suite au "clicodrome", Oracle est installé sur votre machine et prêt à être utilisé.

Etape 2 : Téléchargement d'APEX

Une fois votre base de données Oracle installée, vous pouvez télécharger APEX et l'installer. Pour le téléchargement, le lien est le suivant: http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html. La dernière version stable à l'heure où j'écris cet article est la 4.1.

L'archive est moins volumineuse que celle d'Oracle, un peu plus de 100Mo, elle sera donc téléchargée plus vite. Une fois téléchargé, dézippez le fichier dans un répertoire à votre convenance. Par exemple, c:\Apex.


Etape 3 : Installation d'APEX (scénario comprenant la configuration de l'Oracle APEX Listener)

Il existe plusieurs façons d'installer APEX. Elles sont toutes décrites très précisément sur le site d'Oracle à cette adresse: http://docs.oracle.com/cd/E23903_01/doc/doc.41/e21673/overview.htm#i46634 (voir paragraphe 1.5 Available Installation Scenarios). Je vous présenterais l'installation d'APEX par configuration de l'Oracle Apex Listener.

Installation de l'environnement de développement APEX

Tout d'abord, comme je l'avais expliqué dans mon billet précédent concernant Apex, la technologie est complètement installée dans une base de données Oracle. La première chose à faire est donc d'exécuter le script SQL d'installation d'APEX. Pour ce faire, démarrer une console de commande Windows (cmd dans la partie rechercher du menu démarrer). Placez vous alors au niveau du répertoire où vous avez dézippé Apex. Dans l'exemple que j'ai pris, se serait c:\Apex\apex.

Connectez vous alors à Oracle à l'aide de la commande sqlplus /nolog.

Dans l'invite de commande SQL, connectez vous alors en tant qu'utilisateur système à l'aide de la commande CONNECT SYS as SYSDBA. Le mot de passe de l'administrateur que vous avez saisi lors de l'installation d'Oracle et que je vous avez demandé de garder en tête vous sera alors demandé. Saisissez le! Si c'est le bon, vous serez alors connecté en tant qu'utilisateur système.

La prochaine étape est d'installer tout l'environnement de développement APEX à l'aide de la commande suivante :

@apexins tablespace_apex tablespace_files tablespace_temp images

Où:

  • tablespace_apex est le nom du tablespace pour l'utilisateur de l'application APEX.

  • tablespace_files est le nom du tablespace pour l'utilisateur de fichier APEX.

  • tablespace_temp est le nom du tablespace temporaire.

  • images est le nom du dossier virtuel utilisé pour les images d'APEX. Pour les futures compatibilité avec les prochaines versions d'APEX, il est recommandé de définir ce dossier par /i/.

Au final, vous devez exécuter une commande qui ressemble à cela :
@apexins SYSAUX SYSAUX TEMP /i/

Activation du compte de l'utilisateur APEX_PUBLIC_USER

Une fois l'environnement de développement installé, vous devez activé le compte de l'utilisateur APEX_PUBLIC_USER à l'aide de la commande suivante en étant connecté à SQLPLUS en mode SYSDBA comme précédemment:

ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK;
Modifier ensuite son mot de passe à l'aide de la commande:
ALTER USER APEX_PUBLIC_USER IDENTIFIED BY new_password;

Droits de connexion à la base de données APEX

Il vous faudra ensuite fournir les droits aux autres machines de se connecter à votre base de données APEX en exécutant la procédure suivante:

DECLARE
ACL_PATH  VARCHAR2(4000);
ACL_ID    RAW(16);
BEGIN
-- Look for the ACL currently assigned to '*' and give APEX_040100
-- the "connect" privilege if APEX_040100 does not have the privilege yet.
SELECT ACL INTO ACL_PATH FROM DBA_NETWORK_ACLS
WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL;
-- Before checking the privilege, ensure that the ACL is valid
-- (for example, does not contain stale references to dropped users).
-- If it does, the following exception will be raised:
--
-- ORA-44416: Invalid ACL: Unresolved principal 'APEX_040100'
-- ORA-06512: at "XDB.DBMS_XDBZ", line ...
--
SELECT SYS_OP_R2O(extractValue(P.RES, '/Resource/XMLRef')) INTO ACL_ID
FROM XDB.XDB$ACL A, PATH_VIEW P
WHERE extractValue(P.RES, '/Resource/XMLRef') = REF(A) AND
EQUALS_PATH(P.RES, ACL_PATH) = 1;
DBMS_XDBZ.ValidateACL(ACL_ID);
IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_040100',
'connect') IS NULL THEN
DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
'APEX_040100', TRUE, 'connect');
END IF;
EXCEPTION
-- When no ACL has been assigned to '*'.
WHEN NO_DATA_FOUND THEN
DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('power_users.xml',
'ACL that lets power users to connect to everywhere',
'APEX_040100', TRUE, 'connect');
DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('power_users.xml','*');
END;
/
COMMIT;

Activation du serveur HTTP XML DB d'Oracle

Pour finaliser la configuration d'APEX, il vous faudra activer ou, si c'est déjà actif, fournir le port sur lequel vous souhaitez vous connecter à APEX à l'aide de la commande suivante:

EXEC DBMS_XDB.SETHTTPPORT(port);

Etape 4 : installation de l'Oracle APEX listener

Lorsque votre environnement de développement APEX est complètement configuré, dans le scénario que j'ai choisi de vous présenter, il est nécessaire d'installer l'Oracle APEX listener qui est téléchargeable à l'adresse suivante:

http://www.oracle.com/technetwork/developer-tools/apex-listener/downloads/index.html.

Une fois téléchargée, dézippez l'archive dans un répertoire à votre convenance. Par exemple, c:\Apex.
Comme vous l'aurez vu, l'archive est une application Web de type WAR. Vous pouvez démarrer le listener
soit par l'intermédiaire d'un serveur d'applications classique (Tomcat, JBoss, Glassfish) soit en
standalone. C'est cette dernière façon que je vais utilisée. La commande à lancer est:
java -Dapex.port=nnnn –jar <temp directory>\apex.war

Vous pouvez positionner le numéro de port que vous souhaitez. Il doit être différent du numéro de port
de lancement du serveur HTTP XML DB. <temp directory> est le répertoire où vous avez décompressé le
listener.
 
Le chemin vers le répertoire d'installation d'Apex est c:\Apex\apex si vous avez suivi l'exemple que j'ai fourni.
Suite au lancement de cette commande, le chemin vers le répertoire des ressources statiques d'APEX vous sera demandé c'est le dossier images du répertoire d'installation d'Apex. Dans mon exemple donc, c:\Apex\apex\images.
D'autres éléments vous seront demandés comme le nom de l'administrateur du listener ainsi que son mot de passe (et sa confirmation) et le nom du manager du listener et son mot de passe.

Si tout est ok, une fenêtre Web devrait s'ouvrir pour compléter la configuration de l'Oracle Apex Listener. La copie d'écran suivante vous indique les éléments que vous devez saisir dans le formulaire:



Le mot de passe de l'utilisateur APEX_PUBLIC_USER est celui que vous avez défini plus haut.

Lorsque vous avez rempli le formulaire, cliquez sur le bouton Apply pour prendre en compte la configuration. Si tout s'est bien passé, vous devriez accéder automatiquement à l'URL suivante: http://localhost:8787/apex/f?p=4550:1.

Etape 5 : création d'un nouveau workspace

A partir de la page précédente, vous pouvez accéder à la partie administration d'APEX en bas de page. Un login / mot de passe vous sera demandé. Saisissez alors admin et admin se sont les login / mot de passe que vous avez défini pour la connexion Oracle. Modifier ensuite le mot de passe administrateur (demandé automatiquement). Il faudra saisir un mot de passe ayant au moins une majuscule et un caractère spécial comme le $.

Utilisez ensuite ce login/mot de passe pour vous connecter à la console d'administration d'APEX. Vous devriez arriver sur la page suivante (APEX version 4.1):

Allez alors dans Manage Workspaces puis Create Workspace. Choisissez alors un nom pour votre Workspace et cliquer sur Next. Saisissez alors un nom pour votre schema et un mot de apsse associé et cliquez sur Next. Entrez alors les informations sur l'administrateur de ce nouveau Workspace et cliquez sur Next. Si le récapitulatif des informations vous convient, cliquer sur le bouton create Workspace pour terminer sa création.

Retournez alors sur l'URL http://localhost:8787/apex/f?p=4550:1 afin de vous connecter à votre nouveau Workspace qui comprend une belle application exemple de ce que vous pouvez faire avec APEX.

Amusez vous bien !! Et si vous avez des retours sur ce billet, n'hésitez pas, je prends toutes les critiques positives comme négatives...

Lire la suite

Retours sur l'Agile Tour 2011 à Paris (1/2)

12 Décembre 2011 , Rédigé par benkirane Publié dans #Les outils pour la gestion de projets

Le 6 décembre dernier, j'ai participé à l'Agile Tour 2011 à Paris dans les locaux de Microsoft à Issy-les-Moulineaux. Après avoir suivi la formation SCRUM fin octobre, il était intéressant pour moi d'assister à des conférences autour de l'agilité. Je vais vous raconter le déroulement de ma journée et présenter les différentes sessions auxquelles j'ai assisté. Je le ferais en, au moins deux billets pour alléger la lecture (et que la lecture, pas les infos... :) ).

La plénière d'introduction

Cette journée, prévue pour être très riche en informations autour de l'agilité, a commencé par une récupération des badges et le programme de la journée. Un petit déjeuner est offert, histoire de donner à nos neurones de l'énergie pour suivre les différentes conférences. La première est une plénière d'introduction à l'agile tour. On nous y apprends que l'agile tour a commencé il y a quelques années à peine par quelques villes pour devenir aujourd'hui un évenement mondial organisé dans des disaines de villes des Etats-Unis à l'Australie en passant par le Canada, le Brésil, la France, la Chine, l'Inde, etc... 

Il s'en suit une présentation brève des différents sponsors de l'évenement parmi lesquels Novédia. Il faut bien faire de la pub à tous ceux qui ont permis l'organisation de l'Agile Tour parisien.

La keynote de Martin Woodward

Suite à la plénière, Martin Woodward, Senior Program Manager de l'équipe Visual Studio, présente, en anglais (et se sera le seul),  comment Microsoft met en oeuvre l'agilité dans le développement de ces logiciels comme Visual Studio.


Martin nous parle de la valeur ajoutée liée à la mise en place de l'agilité. L'efficacité des équipes grâce à leur polyvalence. On y entend aussi parler d'intégration continue et de feedbacks réguliers. Deux principes qui permettent d'améliorer la qualité du logiciel chez Microsoft et la mise en oeuvre de nouvelles fonctionnalités.

La conférence est, plutôt, intéressante et animée. On voit bien que l'orateur est américain et habitué aux Key Notes.

Suite à la Key Note, les plénières sont terminées. Les conférences de l'Agile Tour 2011 qui suivent sont organisées en sessions de 45 mins ou 1h30. Il faut alors faire le choix entre 4 thèmes différents parmis les suivants:

  • l'Agile en Entreprise

  • la Qualité Logicielle & Test

  • l'Equipe

  • Ateliers / Idées de Coaching

Malheureusement, le programme récupéré en début de journée est très succint. On y voit que les titres des sessions. Le résumé du contenu de celles-ci n'étant disponible que sur le Web à cette adresse: http://at2011.agiletour.org/fr/programme_paris.html.

J'ai trouvé cela très léger pour choisir les conférences auxquelles on va assister. Bref, pour le reste de la journée, il faudra se baser sur le seul titre de la session pour se décider...

L'ALM agile, Facteur Clé de Succès des Projets Informatiques

Ma première session de 45 mins est celle-ci. Je ne sais pas ce qu'est l'ALM, encore moins agile. La notion de Facteur Clé de Succès des Projets Informatiques est plutôt pleine de promesses. J'y assiste dans le but d'en savoir plus.

L'orateur est un expert ALM. Il nous apprend que l'ALM est l'Application Lifecycle Management. En français, cela donne la gestion du cycle de vie d'une application. En résumé, c'est l'ensemble des phases d'un projet de développement, de l'analyse au déploiement en passant par le développement, bien sûr, les tests. Au cours de la session, l'orateur fait un focus sur Visual Studio Team Foundation qui intègre l'outillage nécessaire pour gérer ce cycle de vie pour des projets de développements agiles. Cela fait suite à la Keynote et c'est encore un peu de pub pour Microsoft. On est dans leurs locaux quand même...

On entends des mots qui sont des fondamentaux de l'agilité inscrits au Manifeste Agile comme:

  • Livrez fréquemment un logiciel opérationnel

  • Une attention continue à la qualité du Logiciel au travers des tests

  •  L'automatisation de processus comme la compilation, l'exécution des tests et le déploiement

  • La transmission de l'information autour du projet avec des outils de communication partagés

Une démonstration des outils agiles intégrés à Visual Studio Team Foundation est faite. On voit, par exemple, comment gérer un Product Backlog, un Sprint Backlog, répartir les tâches entre développeurs, etc...

Une session plutôt intéressante même si tournée principallement sur les outils de Microsoft que je n'utilise jamais mais c'est toujours bon à savoir pour une prochaine discussion avec des développeurs .NET.


Améliorez votre Kanban!

Ne sachant pas ce qu'est un Kanban, j'assiste à cette session. L'orateur est un consultant agile de chez Octo, habitué à mettre en place l'agilité dans des équipes de développements.

Très rapidement, je sais, enfin, ce qu'est un Kanban. En fait, je connaissais déjà sans savoir ce que c'est comme beaucoup d'entre vous d'ailleurs j'imagine. Le Kanban est en fait le fameux tableau où l'on accroche les post-its avec les colonnes A Faire, En cours et Fait. Bon, ce tableau là c'est le Kanban le plus simple mais il en existe une infinité. D'ailleurs, l'orateur nouis propose de partir de ce Kanban et de l'améliorer afin d'obtenir un Kanban plus efficace et plus riche en informations. Venant du monde du développement, les informations sont très pragmatiques et rapidement opérationnelles.

Pour améliorer l'efficacité du Kanban, on nous conseille les élements suivants :

  • positionner les fameuses User Stories plutôt que les tâches: pour accompagner ce positionnement, la définition du "Done" est très importante. Elle doit d'ailleurs être tenue à jour quelque part pas loin ou sur le Kanban lui-même.

  • on peut ajouter des colonnes comme: En test, en pré-production, en qualification, etc...

  • limiter le flux des User Stories à réaliser dans le A Faire: d'après l'orateur, il est inutile de charger le flux des User Stories à faire si l'équipe ne peut pas toutes les prendre en charge. Cela permet une meilleure fluidité et efficacité du déroulement des projets agiles.

  • ajouter la ligne en or: elle permet de gérer des problèmes non prévus mais très urgent. L'exemple même est le bug en production. Cette ligne fera alors passer des tâches avant tout le reste.

  • ajouter un bac rouge: il permet la récolte des User Stories qui ont posées problème pendant le projet. Il sert principallement au moment de la Rétrospective afin d'améliorer le Kanban, l'équipe, les process agiles mis en place.

Au cours de cette session, j'apprend que le Kanban est une méthode agile à part entière comme l'est SCRUM mais sans gestion de Sprints. J'ai vraiment appris pas mal de choses grâce à cette présentation même si le PPT était améliorable... :)


Kanban pour la préparation, SCRUM pour la réalisation

Pour continuer dans ma lancée "Kanbanienne" si je puis dire, j'assiste à la suite Kanban pour la préparation, SCRUM pour la réalisation. Le prochain orateur, SCRUM Master et Coach agile depuis 8 ans, nous fait un retour d'expérience sur la mise en place de l'agilité au PMU. Lorsque l'état a décidé de mettre en concurrence le marché du jeu, des entreprises historiques dans le domaine, comme le PMU, ont du évoluer afin de s'adapter aux nouvelles demandes de leurs clients. L'entreprise, assistée par un coach, a décidée de passer ces équipes à l'agilité.

Kanban a, alors, été utilisé dès l'initialisation du programme de refonte des applications en ligne du PMU. Il a permis aux équipes d'intégrer les principes agiles au plus tôt. L'orateur nous montre le Kanban qu'ils ont utilisé pendant la phase de préparation. Un Kanban plutôt complet. Il précise que pour la réalisation, ils sont partis de ce même Kanban sur lequel ils ont simplement changés le nom des différentes parties. La présentation et le retour d'expérience du coach agile nous montre clairement que l'agilité peut être introduite dans des équipes fonctionnant en mode traditionnel sur des programmes informatiques ambitieux. Les questions du public en fin de séance indique que cela n'est, certainement pas, sans problèmes. De gros efforts doivent être entrepris surtout par rapport au top management, non habitué à une telle organisation, qui est très inquiet par rapport à la réalisation concrète des projets. Il en ressort un élément très important de la réussite d'une mise en place de l'agilité qui est la relation de confiance obligatoire entre l'équipe et sa hiérarchie.

Ceci dis la livraison rapide d'un logiciel qui fonctionne permet de montrer l'efficacité de la méthode et incite le top management de croire en ce type d'organisation.


Suite à cette session, c'est la fin de matinée et donc la pause déjeuner. Un buffet complet nous est offert. Ouf, nul besoin d'aller chercher une sandwicherie autour de Microsoft où tout ou presque est plutôt loin. Comme cela a été le cas à chaque présentation, un grand merci aux sponsors!! :)

Dans un prochain billet, je raconterais la seconde partie de journée...


Lire la suite