dimanche 25 mars 2007

Birt Eclipse, ça promet !

J'étudie la mise en place de Birt sur un projet Client Riche basé sur Eclipse RCP et j'avoue être quelque peu bluffé par certaines fonctionnalités bien sympathiques de ce framework de reporting.

En effet, en plus de fournir le minimum vital qui sont pour moi un designer WYSIWYG et une solution d'intégration du moteur de génération de documents (+ graphiques etc...), BIRT apporte des fonctionnalités étonnantes !

Par exemple, la possibilité d'être intégré très simplement dans une application RCP avec le BIRT Viewer ! Cette solution élégante permet notamment d'ajouter un côté "événementiel" fort convivial et pratique aux rapports de l'application. Il est possible d'afficher un rapport (un "état" pour les puristes) et sa table des matières dans colonne à gauche de l'écran avec un système de liens (ancres) sur chacun des titres un peu à la manière d'adobe viewer pour les fichiers PDF.

De plus, l'utilisation du BIRT Viewer permet d'ajouter au sein de vos rapports des liens vers d'autres rapports. C'est aussi la possibilité de paginer vos rapports et ce même au format HTML. Et pour finir, il est possible d'ajouter de l'interactivité (AJAX-like) aux rapports soit via du code javascript soit du code Java directement... Tout ceci peut en laisser rêveur quand on sait que le tout est bien entendu gratuit !

Les bons points qui me font écrire se billet sont:
-La communauté Eclipse qui héberge le projet (Birt Designer = plugin Eclipse ^^)
-Actuate dans l'ombre de BIRT ($$$)
-Une aide complète avec moult tutoriaux et exemples !
-Les possibilités d'extension de toute part du projet (ODA, Output Emitters, Birt Item...) pour ceux qui sont pressés et qui ont absolument besoin de certaines fonctionnalités manquantes à ce jour !
-Le libre choix du processus de génération et d'affichage des rapports (génération coté serveur ou client, render coté serveur ou client, fichier rptdocument transportable entre le client et le serveur si besoin pour externaliser l'affichage...)
-Des sous-rapports facilement gérables , testables et intégrables

Bon il y a certes quelques inconvénients quand même:
-La stabilité du designer qui peu parfois laisser perplexe le concepteur de rapport que j'ai pu être. (plantages réguliers sur différentes versions)
-Le codage style javascript pour prendre en entrée des objets javas (beans POJOs)
-Le manque d'input/output par rapport à d'autres framework de reporting à l'heure actuelle...
-La jeunesse du projet par rapport à d'autres...
-La lenteur de génération ?!

Les listes des atouts/défauts ne sont pas exhaustives... juste le reflet de mon retour d'expérience.

Wazaabi & Eclipse RCP


Eclipse RCP, un environnement de développement "utopique" :

Un des besoins récurrents chez les clients de type grand compte est de refondre leurs applicatifs métier réalisés avec des technos archaïques. Les raisons qui poussent les clients à refaire ce type d'application sont l'arrivée de nouveaux besoins, la nécessité d'interfacer les applicatifs, permettre une meilleure maintenabilité, augmenter l'ergonomie et j'en passe. Pour ce faire, une des solutions permettant de répondre tous les besoins est d'utiliser le framework d'Eclipse RCP ! Ce n'est pas la seule solution mais elle mérite d'être mise en avant son potentiel est intéressant.

Eclipse RCP permet très facilement de générer des applications clientes qui sont capables de communiquer avec un serveur distant. Avec des interfaces graphiques basées sur des composants propres au système d'exploitation exécutant, Eclipse RCP possède un véritable tookit de widgets standardisé, comme son nom l'indique (SWT = Standart Widget Toolkit). Accompagné de JFace, une surcouche à SWT, Eclipse RCP se dote d'un cadre de développement simple pour les composants dits "complexes" (les listes par exemple) mais c'est aussi une foultitude de fonctionnalités complémentaires: boites de dialogues, assistants, raccourcis clavier, undo/redo, filtres/tris... SWT s'occupe donc de fournir une bibliothèque de composants performants alors que JFace permet de simplifier la création des interfaces et offre un cadre de développement ainsi que des facilitant puissants !

Eclipse RCP c'est aussi et surtout le workbench d'Eclipse: ses vues, ses éditeurs, sa gestion des perspectives et ses fenêtres de préférence... Un atout considérable pour créer une application complexe ! Un environnement de travail ou les aspects principaux de l'application sont régis par des règles répondant à des besoins basiques. Ce framework, c'est aussi la gestion des plugins dont hérite une application de type Eclipse RCP, ce qui permet d'étendre des plugins existants ou de laisser la possibilité à d'autres d'utiliser son application, son plugin pardon...

Bien sur en choisissant Eclipse RCP, on prend ce qu'il y a de meilleur, c'est a dire l'environnement de développement d'Eclipse, l'IDE Java le plus aboutit à mon sens dont les performances et la maniabilité n'est plus a démontrer ! C'est notamment un facilitant de création pour les plugins Eclipse (RCP ou non) ou encore un assistant pour dessiner ses interfaces graphiques avec Visual Editor ! Utiliser Eclipse RCP c'est aussi "s'assurer" une compatibilité avec la batteries de projets Eclipse tel que BIRT, GEF etc...

Parlons de Wazaabi, un facilitant pour Eclipse RCP :

Je n'ai pas parlé des inconvénients d'Eclipse RCP... oui, comme tout ce qui existe, il y existe des inconvénients propres à Eclipse RCP ! Et la conception des interfaces graphiques en fait partie... En effet, un des avantages des applications web sur les clients riches type Eclipse RCP, est de pouvoir concevoir les écrans via un langages balisé comme l'HTML. Wazaabi est la pour combler ce manque ! Il permet de créer des interfaces graphiques en utilisant le langages XUL très proche du XML. Les fichiers XUL comme les fichiers HTML sont interprétés par un moteur de rendus pour générer visuellement les écrans ! Ceci permet de séparer la conception des écrans et les services métiers de l'application comme pour les clients légers en somme.

Pour résumer Wazaabi est une surcouche à Eclipse RCP qui est une alternative à l'utilisation de Visual Editor pour concevoir ses écrans. Ce framework permet notamment de mettre facilement en place l'internalisation des écrans depuis peu, et bientôt les feuilles de style. De plus, d'ici quelques temps un éditeur graphique permettra bientôt de concevoir les interfaces graphiques XUL... ce qui est tout de même un manque pour un facilitant dans ce même domaine mais passons... Un projet plein d'avenir qui a déjà été utilisé chez Leroy Merlin ainsi que chez Kiabi sur divers projets sur lesquels j'ai eu la chance de pouvoir m'impliquer.

Etre ingénieur en SSII

Une vision du consulting en SSII, parmi tant d'autres...

Depuis maintenant 1 an, j'occupe le poste d'ingénieur d'études et développement pour le compte d'une SSII à taille humaine (+/- 20 pers.) sur la métropole lilloise. Je pense avoir assez d'expérience pour tenter de la partager même si je suis bien conscient de manquer d'ancienneté dans ce métier pour faire une véritable analyse.

Le monde des SSII est souvent décrit comme rempli de dents longues où règne un climat malsain et où le profit est le maître mot ! Et bien laissez moi vous avouer la vérité: c'est VRAI ! Mais il faut développer ce propos et le nuancer pour se faire une idée réelle de ce qu'est le travail en SSII classique. Si vous commencez à lire ces lignes, merci d'aller jusqu'au bout de ma pensée.

Un monde sans scrupule ? Mais pas sans reproches !

Oui dans le monde des SSII, les consultants en sont réduits à être des pions placés par des commerciaux/managers de manière stratégique pour allier satisfaction client, bénéfice pour l'entreprise et épanouissement du collaborateur (notez bien l'ordre choisi). Ce n'est donc pas faux tout ce que l'on dit... mais réfléchissons 2min: Dans un monde ou le capitalisme atteint des sommets et ou la star'Ac et les médias font la loi, il faut arrêter de s'étonner quand, dans le tableau que je vous ai dressé plus haut, on rencontre des déçus et des anecdotes de fin malheureuse entre un consultant et une SSII quelconque... Bref, si vous vous engagez dans une SSII pour vous tourner les pouces, rebroussez chemins, on vous forcera à apprendre, on vous poussera au delà de vos capacités, on demandera d'être le meilleur, d'encaisser les "coups", d'être un caméléon, un espion et même parfois un menteur... Stoppons la langue de bois, en travaillant dans une société de service, on ne peux que vous demander d'être rentable !

Des collaborateurs délaissés... C'est faux !!!

Non, les consultants ne sont pas les laissés pour compte de la négociation SSII/Client. En effet, qui peut se plaindre d'avoir un supérieur nous demandant de nous surpasser, d'apprendre un peu plus chaque jour, d'avoir de multiples casquettes (technique, commerciale) et j'en passe... C'est en effet bien plus valorisant, même si c'est beaucoup plus fatiguant, d'avoir un poste de ce type que d'être un pion inutile dans un bureau reculé au fond d'un sombre couloir... Votre entreprise à besoin de vous et vous propose d'évoluer rapidement dans le sens qui vous va le mieux... Il suffit de faire savoir quels sont vos perspectives d'évolutions pour avoir un poste en corrélation avec votre demande... ce n'est pas immédiat mais si vous êtes à la hauteur, un manager préférera un collaborateur épanoui qui avance qu'un frustré qui trépigne... sur place.

Le revers de la médaille !

Parfois, souvent, rarement... tout est relatif. Toujours est il qu'il arrive que des consultants soient malheureux et se sentent rabaissés dans le petit monde du consulting. C'est sure que l'on entend régulièrement les consultants se plaindre de souffrir de leur condition de pseudo'intérimaire, condition qu'on leur rappelle trop souvent en clientèle où nous sommes souvent en décalage par rapport aux titulaires que l'on côtoie (avantages, statut, accès...) Mais est-ce que les titulaires peuvent se réjouir de participer 6 projets innovant et valorisants au sein de 3 grandes marques internationales sur une période de seulement 8 mois... j'en doute.

Comme dans tout il y a du pour et du contre dans le travail en SSII... le principal étant de piocher ce qui vous intéresse et d'encaisser sans rechigner sur ce qui vous rebute !

Formation : Ingénieur en Génie Informatique : IG2I, EC Lille

Formation : Ingénieur en Génie Informatique (IG2I, EC Lille)

2001-2006

Elève ingénieur à l’Institut de Génie Informatique et Industriel (IG2I) de Lens, Département de l’Ecole Centrale de Lille.
Informations : http://www.ig2i.fr et http://www.ec-lille.fr

2000-2001

Obtention du baccalauréat Scientifique option Sciences et Vie de la Terre (SVT) spécialité Mathématiques au Lycée Louis Armand à Eaubonne (95 – Val d’Oise).

Téléchargez mon CV au format PDF ou WORD.

Ingénieur d’études à Empeiria (SSII) (59 – Hellemmes): Depuis Juillet 2006

Ingénieur d’études – Empeiria - SSII (59 – Hellemmes): Conception et développement d’application. (J2EE, Eclipse RCP, Hibernate, Ibatis, Spring, BIRT)

Leroy Merlin/ADEO – DSI : (Distribution) [Forfait]
Mission de conception et développement d’application type client riche en J2EE avec Eclipse RCP/JBoss/Hibernate/Spring. Développement des couches de services et d’accès aux données, création des IHMs et réalisation des batchs.
-Livraison au domicile du client : application de gestion des livraisons clients.

KIABI - DSI: (Distribution) [Forfait/Régie]
Mission de conception et développement d’applications type client riche en J2EE avec le framework Wazaabi basé sur Eclipse RCP/Tomcat/Ibatis/Spring/BIRT. Mission de conseil, interventions en clientèle et participation à la conception. Prise en charge des IHMs et développement de services métier. Maquettage des écrans, estimation et suivi des charges.
-Point de mesures : Application de gestion des informations de conception des vêtements.
-Plan de collection visuel : application de gestion des présentations des collections de vêtement.

Leroy Merlin/ADEO – DSI : (Distribution) [Forfait]
Mission d’étude et développement du module de reporting à intégrer à une application Eclipse RCP/JBoss/Hibernate/Spring. Etude du framework de reporting BIRT et comparatif avec JasperReport. Conception des états avec BIRT.
-SIBUD : application de suivi budgétaire de la DSI.

KIABI - DSI: (Distribution) [Régie/Forfait]
Mission de conception et développement d’application type client riche en J2EE avec le framework Wazaabi basé sur Eclipse RCP et Tomcat/Ibatis/Spring/BIRT. Prise en charge des IHMs et développement de services métier. Maquettage des écrans, estimation et suivi des charges. Réalisation des états avec BIRT.
-Fiche de recherche : application de gestion des coloris, des accessoires et des fiches produits.

Leroy Merlin/ADEO – DSI : (Distribution) [Régie]
Mission d’urbanisation du SI : Refactoring d’une application pilote, mise en place de l’intégration continue. Optimisation des processus de réalisation des applicatifs avec Maven, SVN, UML, Spring, Hibernate, BIRT, Eclipse RCP.
-Commande client : application de gestion des ventes.

Stage ingénieur d’études à Empeiria (SSII) (59 – Hellemmes): Janvier-Juin 2006

Stage ingénieur d’études à Empeiria (SSII) (59 – Hellemmes):
Conception et Développement d’application Client Riche et Web dans les NTIC – (JAVA J2EE, Wazaabi, RCP, eXo Platform, SSO CAS, Postgres, JSR 168 et 170, CVS, SVN…)

Bricolage - Outillage - Service Marketing : (Grand Compte) [Forfait]
Mission de conception et de développement d’application type Client Riche en Java J2EE avec une interface graphique en SWING. En utilisant les frameworks et plateformes comme la chaîne ABS (www.sharengo.org) ou le CMS open source MarcoPolo. Participation aux phases de test, intégration et recette des applicatifs dans les différents environnements (test, recette, pré-prod…)

Cosmétique – Instituts de beauté - Siège Social : (Grand Compte) [Forfait]
Mission d’études et veille technologique sur le projet de refonte du portail extranet/intranet. Etudes du projet eXo Platform v2.0 = Portail + Portlets + JCR + ECM + ESB + BI + ETL + Groupware (www.exoplatform.org). Intégration de la solution avec les serveurs d’applications (JBoss Jonas Tomcat) sur bases de données MySQL, Mise en place du Serveur Proxy Single Sign On (SSO) avec le projet CAS sur bases de données MySQL ou sur LDAP, CASification d’application JAVA (JSP, Sources Java, Taglib) et PHP5.

Bricolage - Outillage – DSI : (Grand Compte) [Forfait]
Mission de conception et développement d’application type Client Riche en Java J2EE avec le framework Wazaabi basé sur RCP (www.wazaabi.org). Création des services d’impression avec Jasper Report et iReport. Conception et développement des écrans d’administration. Application de type gestion des stocks.

Cosmétique – Instituts de beauté - Siège Social : (Grand Compte) [Forfait]
Mission de conception et développement d’application de type Client Léger en JAVA J2EE. Refonte applicative, ajout de fonctionnalité, administration de l’application, configuration automatique…

Stage assistant ingénieur à Adistar (59 – Roubaix): Septembre 2004 - Juillet 2005

Stage assistant ingénieur à Adistar (59 – Roubaix):
Gestion de projets, conception, relation clientèle et commerciale, benchmarking, hotline, formation, administration système et développement d’application Web – (VB .NET, Asp, Php, MySQL, SQL Server, Visual SourceSafe, ChartDirector)

Tracking-Solution :
Conception et Développement d’une application de calcul de ROI pour les médias Internet en PHP4 avec base de données MySQL. Participation aux phases de développement et de conception selon la méthodologie « Extreme Programming ». Application mise en stand-by avant son arrivée à terme pour des raisons d’efficacité.

Ad-Referer :
Conception et Développement d’une application préexistante d’utilisation interne pour le calcul du ROI des clients du groupe Adistar en ASP 3.0 avec des bases de données SQL Server. Etudes des problèmes de lenteur de l’application, Optimisation et « réparation » des traitements, Ajout de fonctionnalités diverses, Modification complète de l’architecture interne de l’application.

Etude de marché : La mesure d’audience sur Internet.
Etude et Benchmarking sur le thème des applications WEB de calcul du ROI des médias. Sujet de l’étude : Adistar peut-il encore se positionner sur ce type de produit ? Réalisation d’un dossier d’études, Compte rendu hebdomadaire avec les responsables décisionnels, techniques et commerciaux. Réalisation d’un bilan qui décida de la poursuite de l’étude en imposant le périmètre du projet.

ROI Solution :
Gestion de projet, Analyse, Conception, Développement, Intégration, Relation clientèle, Hotline et Formation utilisateurs/commerciaux sur l’application www.roisolution.com qui sera l’accomplissement pour le groupe ADSITAR de plusieurs mois d’études. Cette application réalisée en VB .NET avec des bases de données SQL Server utilise une architecture complexe multi-serveurs (multi-OS) qui lui confère la possibilité de gérer des sites Web à très hautes fréquentations (> 1 million de pages vues/mois). L’utilisation de Visual SourceSafe a permit un travail collaboratif. Réalisation de la partie d’administration, gestion des services d’affichage des divers graphiques avec ChartDirector. Formation des commerciaux pour la vente du produit. Formation des utilisateurs internes. Prise en charge de la hotline directe. Réalisation des plaquettes commerciales avec les responsables commerciaux et de la communication.

Stage Technicien à Motorola (Basingstoke – Angleterre): Janvier-Mars 2004

Stage Technicien à Motorola (Basingstoke – Angleterre):
Gestion de Projet, réalisation de progiciels et création de sites Internet – (Java, Php, MySQL, Debian)

SMS Server :
Conception et développement d’une application clients/serveur d’envois massifs de SMS administrable à distance par SMS/Mail ou par le réseau. Réalisée en JAVA avec une base de données MySQL sur un environnement Linux Debian. Reprise et analyse de l’existant. Prise de connaissance des spécifications du langage de communication avec les portables (Commandes AT). Réalisation de l’administration par mail et ajout de fonctionnalités d’administration à distance. Intégration et test des applicatifs en production.

Gestion des demandes d’accès :
Réalisation d’une application de gestion des demandes d’accès aux applicatifs gérés par le service en PHP avec base de données MySQL. Afin de centraliser les moyens de communication permettant de réaliser une demande d’accès à l’un des applicatifs du service (Serveur de SMS, CMS des OS des téléphones…). Réponse par email et notification automatique des états d’affectation des tâches à réaliser.

Stage Technicien à P.S.A Logistique (95 – Cergy-Pontoise) : Avril-Juin 2003

Stage Technicien à P.S.A Logistique (95 – Cergy-Pontoise) :
Conception et Développement de logiciels, approche managériale, formation et gestion de conflit et de changement – (Visual Basic, VBA, Access)

Manaflux :
Conception d’une application de gestion des flux de courriers au sein des services logistique pour les commandes « spéciales » et « urgentes ». Réalisée en Visual Basic 6 elle permet au service de suivre un courrier de sa réception jusqu’à la réponse au client en passant par l’affectation des différentes tâches. Récolte des besoins auprès des responsables et des utilisateurs. Réalisation du cahier des charges et prise en charge de la gestion de projet. Développement de l’application en réseau et déploiement sur le parc utilisateur. Formation des différents services.

Mise en place de SAP PSA Logistique :
Etude du logiciel SAP PSA en phase de développement au moment du stage. Etude de faisabilité des tâches effectuées via l’ancien logiciel de PSA à travers le nouveau logiciel SAP. Réalisation des Story Board et formation utilisateur. Travail en collaboration avec les développeurs SAP pour l’ajout de fonctionnalités primordiales « oubliées » lors de la conception du module logistique de SAP PSA.

Gestion de changement et de conflit :
Participation à de nombreuses réunions de gestion de changement et de conflit dans le contexte de réorganisation des services pour des raisons de productivité et de mauvais retours des clients (concessionnaires PSA). Développement de la capacité d’écoute d’autrui dans le cadre de la mise en place de la réorganisation complète des services logistiques.

Stage "découverte" de l’entreprise au journal Le Parisien (93 – St-Ouen) : Juin 2002

Stage de découverte de l’entreprise au journal Le Parisien (93 – St-Ouen) à la Direction des Services Informatique :
Conception et Développement d’applications – (Visual Basic, VBA, Access)

Calcul de statistiques :
Conception et développement d’une application d’automatisation de calcul des statistiques de mesure d’audience des sites Internet lequipe.fr et leparisien.com. Réalisation automatique de graphiques de synthèse et des tableaux d’évolution des statistiques sou Excel.

Maintenance informatique :
Participation active aux activités du service de la DSI du groupe Le Parisien. Installation de poste client, dépannages divers, maintenance applicative. Etude des activités des ingénieurs en poste et participation à diverses réunions décisionnelles entre les responsables de la DSI.

Compétences professionnelles - Enseignement

Compétences professionnelles - Enseignement

Gestion de projets informatique et industriel :

  • 2005 Germinotes : Etude de la mise en place d’une solution de report de note en ligne pour le collège lycée de Raismes (59). Rédaction de cahier des charges, cahier de conception préliminaire et détaillée, réalisation du dossier qualité, suivi des risques et application globale des cours de gestion de projet et de gestion d’équipe enseignées sur les cinq années. Chef de projet et responsable conception.
  • 2005 JPetStore : Refonte d’une application existante d’e-marketing permettant la vente en ligne d’animaux. Etude et modification de l’architecture de l’application pour remplacer le framework de persistance Ibatis par Hibernate. Utilisation de spring MVC. Refonte des couches métiers de l’application.
  • 2004 GD2I : Conception et développement d’une application de gestion des demandes d’intervention pour une entreprise fictive. Réalisation du plan d’assurance qualité ainsi que des dossiers de conception. Développement de l’application en Visual Basic avec une base de données Access.
  • 2003 ETO : Conception d’un site de gestion des outils développés chez ETO. Réalisation des dossiers de conception, recueil des besoins du client, développement de l’application en ASP avec une base de données Access. Intégration de la solution chez le client.

Langages Informatique :
  • Java J2EE (Jsp, Servlet, EJB…)
  • VB .NET
  • Php 4 et 5, Asp, WS, Javascript, Html, Rmi
  • C, C++, Ada, Visual Basic
  • UML, Perl, Xml, script shell
  • SQL, PL/Sql
  • Frameworks JAVA : Struts, Hibernate, JSF, Spring, Ibatis, Wazaabi, Eclipse RCP, Jasper Report, BIRT, JMS
  • Base de données : MySQL, Oracle, SQL Server, Postgres, Access, HSQLDB
  • Outils de développement : CVS, SVN, Eclipse, NetBeans, Sun Studio, Maven, Ant, Squirrel, Visual Studio, SourceSafe, Maven
  • Serveurs Web/Applicatif : Apache, Tomcat, JBoss, Jonas
  • Génie Industriel : Electricité, Electronique, Automatique, Automatisme, CAO-DAO, Grafcet
  • Bureautique : Excel, Word, PowerPoint, Project, Access, Photoshop
  • Systèmes d’exploitation : Windows (XP, 2000, NT) et Linux (RH, Debian…)

Communication :
  • Management d’entreprise et commerce (vente)
  • Encadrement d’équipe (simulations, projets)
  • Gestion de conflit et de changement
  • Marketing, étude de marché, psychologie du travail
  • Gestion, économie
  • Qualité et droit d’entreprise
  • Stratégie entrepreneuriale et de gestion d’entreprise

Langues :
  • Anglais : bonne maîtrise (Score TOEIC (2004) : 880)
  • Allemand : niveau moyen

Centres d’intérêts

Centres d’intérêts

Sport
  • Badminton/Squash
  • Tennis – 6 ans
Loisirs
  • Cinéma
  • Voyages