IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Approche théorique du décisionnel Discussion :

[Projet] Choix d'une solution de Business Intelligence


Sujet :

Approche théorique du décisionnel

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2016
    Messages : 11
    Points : 3
    Points
    3
    Par défaut [Projet] Choix d'une solution de Business Intelligence
    Bonjour

    Je suis actuellement en stage dans une PME ayant besoin d'un service automatisé de reporting.

    Les objectifs de ce système sont simples:
    • Recevoir en entrée des informations (en base de donnée, la méthode pour les acquérir peut être en push ou pull mais on préférera laisser les donner venir plutôt que faire des requètes)
    • Stocker ces données dans un entrepôt de données accessible
    • Vérifier ces données, et les trier (en sélectionnant certaines données utiles et en négligeant les données moins importantes)
    • Créer une interface mettant à disposition les données brutes (pour permettre une historisation) et les données agrégées (pour permettre de créer des rapports paramétrables statiques (pdf par exemple, ou html) et interactifs (format web permettant de gagner en précision pour certaines valeurs ou d'obtenir dynamiquement des graphiques)
    • Gérer l'ordonnancement de production de rapport et l'envoi automatisé (boite mail notamment)


    Bien entendu, je ne viens pas vers vous sans avoir déjà consulté les offres existantes, mais je me retrouve souvent avec des comparateur, des articles, ou des avis ne dépassant pas 2010, et j'aimerais avoir un avis le plus objectif possible (même si on ne l'est jamais à 100%) sur les outils à employer. Les seules informations récentes sont celles des créateurs qui sont bien évidemment les moins objectif.

    Jusque là j'ai pensé à:
    • Récupérer les données et les stocker via un ETL type Talend ou Kettle
    • Permettre la gestion du reporting via Pentaho, Acrutate (Birt), JasperReports, Jedox, Palo ou SpagoBI.


    Nb: pour les gestionnaires de reporting, j'ai écarté dans la liste les logiciels commerciaux (notamment les logiciels microsoft, SAP Business Object Crystal Report ou encore Cognos,...) principalement car ils sont (de mon premier point de vue) trop fermés pour l'utilisation demandée. Quant au coût, je veux qu'il soit adapté au besoin et éviter un maximum l'apport de biens superflus. Il faut savoir que selon mon domaine de compétence et celui de l'entreprise, l'utilisation de java est préconisé, c'est aussi dans cet esprit que je cherche un outil adapté.

    A noter que je n'ai pas besoin d'effectuer de mise en place de tableaux de bord, car nous avons déjà un logiciel fait pour créer une interface utilisateur et que celles-ci demande simplement de pouvoir récupérer les données sur une API.

    Je vous remercie pour vos idées et n'hésitez pas à m'éclairer dans ma démarche!

  2. #2
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Bonjour il y a des points qui me semblent contradictoires:
    Citation Envoyé par Le_Stagiaire Voir le message
    Créer une interface mettant à disposition [...] les données agrégées (pour permettre de créer des rapports paramétrables statiques (pdf par exemple, ou html) et interactifs (format web permettant de gagner en précision pour certaines valeurs ou d'obtenir dynamiquement des graphiques)
    [...]
    Permettre la gestion du reporting via Pentaho, Acrutate (Birt), JasperReports, Jedox, Palo ou SpagoBI.
    [...]
    A noter que je n'ai pas besoin d'effectuer de mise en place de tableaux de bord, car nous avons déjà un logiciel fait pour créer une interface utilisateur et que celles-ci demande simplement de pouvoir récupérer les données sur une API.
    Vous n'avez besoin QUE de fournir les données au travers d'API ou bien vous avez besoin AUSSI de faire des rapports au format html / PDF avec possibilité pour un utilisateur de sélectionner des valeurs?

    Ensuite quelle BDD envisagez-vous? Selon la version de SQLServer il y a déjà des outils BI embarqués gratuits, qui sont largement suffisants et sans surcoût.

    Moi aussi j'étais formé au java quand j'ai fait mon stage de fin d'études, j'ai découvert la BI et ses outils et je n'ai plus jamais fait de java

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2016
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Merci de votre réponse, voilà quelques éclaircissements

    Citation Envoyé par nuke_y Voir le message
    Bonjour il y a des points qui me semblent contradictoires:

    Vous n'avez besoin QUE de fournir les données au travers d'API ou bien vous avez besoin AUSSI de faire des rapports au format html / PDF avec possibilité pour un utilisateur de sélectionner des valeurs?
    J'ai en fait besoin des deux: fournir une API pour alimenter les logiciels réutilisant les informations pour les afficher, et pour permettre à un navigateur d'avoir visibilité sur l'ensemble des données (historisations incluse)
    Et créer des rapports statiques et interactifs. Pour la sélection des valeurs celà pourrait être une bonne idée à laquelle je n'avais pour l'instant pas penser. Je pensais plutôt créer des rapports en lien avec chaque utilisateur (selon la hiérarchie) car un utilisateur lambda ne doit pas avoir accès aux mêmes informations qu'un chef de projet ou un manager.

    Citation Envoyé par nuke_y Voir le message
    Ensuite quelle BDD envisagez-vous? Selon la version de SQLServer il y a déjà des outils BI embarqués gratuits, qui sont largement suffisants et sans surcoût.
    A titre personnel, j'ai surtout utilisé des BDD MySQL au cours de ma formation, c'est donc naturellement que cette solution m'a séduit.


    Citation Envoyé par nuke_y Voir le message
    Moi aussi j'ai formé au java quand j'ai fait mon stage, j'ai découvert la BI et ses outils et je n'ai plus jamais fait de java
    En fait les logiciels de la société sont développé en Java et donc c'est pour celà que le développement du système doit s'adapter au contexte existant (afin de permettre une meilleure maintenabilité lorsque le système sera opérationnel)

  4. #4
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    La plupart des outils BI sont conçus pour offrir une interface utilisateur, pas des accès API java donc votre bonheur va être difficile à trouver.

    En principe, je conseille aux clients d'apprendre à maîtriser les technologies BI plutôt qu'essayer de les éviter.

    Eventuellement vous pourriez TOUT faire en java, et les rapports avec le graphiques avec des librairies javascript mais c'est la partie PDF qui va être compliquée dans ce cas.

    A noter que MySQL n'est pas la meilleure BDD pour la BI, mais bon si votre volume de données est faible et les performances requises sont limitées, ça peut être acceptable.

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2016
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par nuke_y Voir le message
    La plupart des outils BI sont conçus pour offrir une interface utilisateur, pas des accès API java donc votre bonheur va être difficile à trouver.
    Mes besoins vont se préciser de jours en jours, et je souhaiterais les redéfinir ici pour voir ce qui est possible:
    En entrée actuellement j'ai des données qui (actuellement) ne sont pas stockées. Je souhaite donc dans un premier temps pouvoir les stocker dans une base de donnée afin de pouvoir avoir une historisation des données sur une période définie (donc avec potentielle destruction automatique des données si c'est possible).
    Ensuite je souhaite consolider mes données par un tri et une aggrégation. Je dois également vérifier les données entrantes pour m'assurer qu'il n'y a pas de problème (l'absence de donnée est dans mon cas l'un des problème les plus important que le "système" doit être capable de voir seul, et il doit également prévenir certains utilisateurs de ce problème avec une notification (reporting).
    Enfin, je souhaite mettre a disposition les données pour
    1. Créer des rapports périodiques statiques, dont l'ordonnancement doit être modifiable, et dont le contenu doit être généré automatiquement mais potentiellement modifiable (pour éviter d'envoyer le même rapport à un technicien et au manager.
    2. Potentielement créer des rapports dynamiques, permettant d'avoir plus d'informations sur telle ou telle donnée (sans forcément avoir de requète ad hoc vers les données, donc sans forcément donner à l'utilisateur la possibilité de demander une donnée particulière à la base).
    3. Mettre a disposition les données pour un système d'affichage indépendant (visiblement c'est là où ça coince. Je vais aujourd'hui essayer d'avoir des informations pour savoir comment ces données doivent "arriver" pour qu'elles soient utilisables par le système indépendant, mais depuis votre message d'hier j'ai réfléchi au fait que le simple accès sur la base de données donne peut être la possibilité d'en extraire les données?
    4. Mettre a disposition certaines données en temps réel (par exemple le nombre de données arrivées dans la journée doit s'incrémenter à chaque donnée (en temps réel)) sur un portail intranet, avec la possibilité pour l'utilisateur d'obtenir des précisions sur une donnée qu'il voit (avec l'accès à des graphiques sur une période donnée ou sur l'historisation complète)
    5. Créer des notifications automatisés (envoi de mail par exemple) dans deux cas: cas normal avec des résultats périodiques, et cas d'urgence explicité plus haut lorsqu'un problème survient ou qu'une valeur est trop haute par exemple.


    Citation Envoyé par nuke_y Voir le message
    En principe, je conseille aux clients d'apprendre à maîtriser les technologies BI plutôt qu'essayer de les éviter.
    Je suis moi même entrain de plonger au coeur de ce domaine. Il n'est pas évident de savoir les outils qui existe, alors essayer de comprendre leur fonctionnement pour réutiliser leurs méthodes me semble complexe. Qu'en pensez vous?

    Citation Envoyé par nuke_y Voir le message
    Eventuellement vous pourriez TOUT faire en java, et les rapports avec le graphiques avec des librairies javascript mais c'est la partie PDF qui va être compliquée dans ce cas.
    C'est un peu l'idée de la société. Ils ne comptent pas vraiment réutiliser un système déjà existant (qui serait trop limité pour leur besoin, comme on peut le voir) mais pourquoi pas créer leur propre logiciel. Mais d'un autre côté, ils sont conscients que ce travail peut être long. Parmis les 5 besoins explicités plus haut, lesquels vous semblent faisable en java?
    Et surtout, vous parlez de "tout" faire en java, celà comprend aussi l'archivage et le tri des données? Ne peut on pas utiliser un ETL classique (type Talend) pour gérer les données et une fois que les bases sont faites créer son logiciel de reporting permettant d'effectuer les 4 actions de reporting explicité plus haut?

    Citation Envoyé par nuke_y Voir le message
    A noter que MySQL n'est pas la meilleure BDD pour la BI, mais bon si votre volume de données est faible et les performances requises sont limitées, ça peut être acceptable.
    Comme tout stagiaire, je suis prêt à apprendre, et je suis ouvert aux propositions. Je vais me renseigner pour voir sur quel type de base les données sont stockées actuellement, mais de votre côté, vers quelle BDD vous orienteriez vous?


    En tout cas, merci du temps passé qui me permet d'y voir plus clair!

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2016
    Messages : 21
    Points : 25
    Points
    25
    Par défaut
    Bonjour,

    Je viens de finir mon stage en BI et j'ai utilisé SpagoBI et Talend


    D'après la description de vos besoins, je vous conseille de jeter un coup d'oeil à BIRT

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2016
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Je suis entrain de me pencher dessus. Le fait qu'il utilise Java, Xml et qu'il soit implanté sous eclypse semble plaisant.

    Pensez vous que cette solution permette d'implanter l'api java destinée à envoyer les données ou à répondre aux requètes d'un logiciel tiers comme nuke s'en inquiétait plus tôt?

    Edit: Je suis entrain de regarder le fonctionnement de BIRT, il répond en effet à nombre de mes attentes mais jusque là je n'ai pas trouvé (ou compris) comment pouvoir "automatiser" le reporting, notamment en suivant une certaine périodicité et comment rendre cette dernière paramètrable.

  8. #8
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2016
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Etant donné que vous avez plus d'expérience avec Spagobi (et que pour l'instant je n'ai aucun avis arrêté et je continue d'effectuer autant de recherche possible pour pouvoir comparer les solutions existantes, pourquoi m'avoir conseillé Birt plutôt que l'outil que vous avez utilisé?
    Quelles parties de mon cahier des charges seraient compliquées à traiter avec SpagoBI?

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2016
    Messages : 21
    Points : 25
    Points
    25
    Par défaut
    SpagoBI permet de créer des documents qui sont visualisés sur un portail web, donc la partie API et application tier je ne pense pas que vous pourrez la compléter

  10. #10
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2016
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Bonjour à tous. Suite à une discussion avec mon supérieur hier j'ai éclairci les besoins.

    Concernant les entrées:
    • il existe actuellement une base de donnée MySQL permettant de retrouver une partie des informations.
    • Une autre partie des informations provient d'un serveur nagios, sur lequel une application tierce (java) vient, en temps réel piocher des informations (1800 lignes de codes raffraichies chaque seconde donnant chacun des états de variables, desquantités de variables,...). Actuellement ces informations ne sont historisées que sous deux formes: les changements d'états sont mémorisés (avec date de mémorisation) et les variables évolutives sont mémorisées (je ne sais pas encore à quelle fréquence).
    • il existe d'autres informations que j'aurais à traiter en entrée mais pour lesquelles je n'ai peu d'infos actuellement
    • il va également y avoir des informations référentielles, c'est a dire une base de donnée d'informations avec des seuillages de valeur. Ces seuillages doivernt servir à vérifier l'information et la classer.

    En résumé, il faut historiser une partie de l'information qui ne l'est pas actuelement, à une fréquence à définir afin de ne pas surcharger la base de donnée. Il est également nécessaire que l'ETL soit capable de faire un tri des informations, et une vérification de celles-ci. Dans le cas où une information dépasse un certain seuil, le "système" doit être capable d'envoyer automatiquement une notification (mail) vers un responsable compétent.


    Concernant les sorties:
    • Le système indépendant dont j'ai parlé au début de cette conversation est celui qui actuellement va chercher les informations sur un serveur nagios. Il est nécessaire que j'approfondisse ma recherche pour savoir dans quelles mesures il pourrait aller chercher ses infos depuis une base de donnée MySQL.
    • Le portail Intranet doit permettre de télécharger (manuellement, clic sur bouton) des rapports à jour (donc créé en temps réel). Il doit également disposer d'un lien direct avec la base de donnée afin de pouvoir afficher en temps réel les données en cours, et des statistiques sur les données quotidiennes par exemple. Il doit également permettre d'effectuer des recherches précises dans la base de donnée (recherche à une date précise par exemple).
    • Enfin, un envoi automatique de notifications doit être effectué, avec un paramétrage spécifique (cf catégorie suivante).



    Là où j'ai eu le plus de précision, c'est sur le paramétrage que chaque utilisateur peut faire de ses rapports:
    • fréquence d'émission (intervalle entre deux rapports)
    • précision du rapport (contenu)
    • profondeur du rapport (sur combien de temps les données sont-elles perçues?)
    • précision des données (intervalles entre chaque donnée)

    Ce paramétrage doit être issu d'une interface intuitive, donc par exemple de la plateforme intranet?


    Enfin, le Java m'a été imposé. En revanche pour la base de donnée le choix est laissé entre MySQL et PostGreSQL. Les coûts ne doivent pas être excessif mais le plus important c'est sa compatibilité avec les outils existant et l'autonomie du système.

    J'espère que ces explications pourront éclaircir votre point de vue afin de m'apporter des conseils les plus cohérents possibles.

  11. #11
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Soyons francs, si vous arrivez à survivre à ce stage et à délivrer ce que vous me décrivez-là, vous méritez d'être embauché dans les meilleures entreprises du monde.

    Le système que vous décrivez est en quelque sorte LE système BI de rêve, qui mélange les pires contraintes et fonctionnalités qu'on peut croiser dans les expressions de besoin, si on met de côté les problématiques de Big Data qui ont émergé ces dernières années:
    • Temps réel, ce qui implique un mécanisme de Complex Event Processing (n'existe pas en gratuit, que je sache) ou alors un système d'indexation assez costaud (MySQL n'est pas bon sur ce domaine)
    • Paramétrage utilisateur fin : rien que pour développer l'interface de paramétrage, il faudra des semaines de travail
    • Prompts (sélections utilisateurs qui modifient dynamiquement une requête): c'est pas si simple d'écrire un moteur de prompt qui va générer du SQL de manière dynamique
    • Faible coût
    • Alerting: l'interaction avec les serveurs d'emails d'entreprise peut être assez compliquée en java, bon c'est possible
    • Publication de rapports par mails : je ne sais même pas s'il existe des API java pour fabriquer des rapports en PDF / html à la volée


    Bon peut-être que votre modèle de données est super simple (mono-table) mais sur les cas d'usage habituels de la BI: plusieurs tables de faits, des règles complexes, du nettoyage à faire, croiser des données, ça serait très très dur.

  12. #12
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2016
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Bonjour.

    Je m'aprête aujourd'hui à avoir une réunion pour discuter du projet avec mes supérieurs.

    Cependant, je souhaite avant tout éclaircir certains points sur ce dont vous m'avez parlé, puis essayer d'ouvrir la discussion sur une approche plus précise, plus détaillée, mais aussi moins complète.

    Citation Envoyé par nuke_y Voir le message
    Temps réel, ce qui implique un mécanisme de Complex Event Processing (n'existe pas en gratuit, que je sache) ou alors un système d'indexation assez costaud (MySQL n'est pas bon sur ce domaine)
    Pour la technologie gérant le temps réel, nous allons certainement opter pour un modèle ressemblant à une solution existante. Un connecteur interne qui va juste effectuer des requètes sur la base de donnée de façon automatique et va les transférer dans le logiciel les affichant. L'idée de "tableau de bord intranet" montrant en temps réel les données est abandonnée.

    Citation Envoyé par nuke_y Voir le message
    Paramétrage utilisateur fin : rien que pour développer l'interface de paramétrage, il faudra des semaines de travail
    Le travail ne m'effraie pas, et j'ai déjà par exemple effectuer ce genre d'interface sur NetBeans. En revanche, je ne sais pas s'il est possible d'importer directement ce genre d'interface sur un serveur intranet ou s'il faut directement coder en php/html/css/js cette interface sur la page web?

    Citation Envoyé par nuke_y Voir le message
    Prompts (sélections utilisateurs qui modifient dynamiquement une requête): c'est pas si simple d'écrire un moteur de prompt qui va générer du SQL de manière dynamique
    En fait après mûre réflexion, j'ai pensé à un moteur plus simple qu'un prompt à proprement dit. Est-ce possible d'utiliser un moteur recherchant selon une entrée donnée (par exemple "type de donnée" + "Granularité des données" + "Granularité choisie" => "Données 1" "Vues sur l'année" "2015") une requète prédéfinie par avance par exemple sous la forme d'une procédure stockée?
    On aurait ainsi un choix limité de procédures stockées (NN1*N2*N3 avec N2=5, N3={3-10}, N1 ={5-10} donc N={75-500} (qu'on peut minimiser en diminuant N3)) qu'on pourrait aisément stocker à l'avance et ne rechercher que celle qui nous intéresse?

    Citation Envoyé par nuke_y Voir le message
    Faible coût
    Ca ça reste à discuter avec mes supérieurs. Ils ont d'avantage peur d'être "bloqués" par une situation commerciale qu'on ne pourrait pas mettre à notre sauce, et qu'on ne pourrait pas harmoniser selon nos besoins que d'un coût trop important.

    Citation Envoyé par nuke_y Voir le message
    Alerting: l'interaction avec les serveurs d'emails d'entreprise peut être assez compliquée en java, bon c'est possible
    Pour l'instant, cette partie est plus négligeable. Si déjà on est capable de faire le projet "standard" cette partie n'en sera que bénéfique.

    Citation Envoyé par nuke_y Voir le message
    Publication de rapports par mails : je ne sais même pas s'il existe des API java pour fabriquer des rapports en PDF / html
    En peu de temps j'en ai trouvé beaucoup (Itext, Flying Saucer, PDFBox,...) donc je pense que c'est possible de fabriquer les rapports. Néanmoins, je n'ai toujours pas trouvé d'outils capable de les envoyer. Peut être quartz? http://www.quartz-scheduler.org/



    II) Rétrécir les besoins pour avoir une solution plus évolutive.
    Voila l'idée. Jusqu'ici je vous ai fait part de ce que le projet devrait être à son apogée.
    Plutôt que de chercher des choses très compliquées et où on ne peut rentrer dans les détails, je vais maintenant me concentrer pas à pas sur de petites choses, quitte à ce que j'ai moins d'idées globales, afin d'avoir une meilleure idée des outils utiles précisément.

    Je vais donc débuter mon projet sous une forme toute simple:

    Le premier projet doit :
    1) aller chercher des données déjà présentes dans une BDD (MySql)
    2) créer un rapport contenant ces données (ou certaines) (birt?)
    3) L'envoyer par mail sous format Pdf (Itext/quartz + Apache Commons Email )


    Comme toujours je vous remercie pour votre implication et votre aide précieuse.

  13. #13
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Ca me parait une bonne chose que de démarrer par un cas d'usage simple mais concret qui met en jeu une bonne partie de la chaîne.

    J'ai travaillé récemment avec 2 développeurs BIRT qui s'arrachaient les cheveux, donc je suis intéressé de savoir combien de temps cela vous a pris de
    - créer vos rapports BIRT
    - mettre en place un module de génération de PDF

    Pour l'envoi par mail il y a des solutions, une fois que le rapport PDF est créé.

    Honnêtement ce qui m'étonne c'est cette défiance envers les solutions propriétaires. Ce genre de projet c'est le cas typique pour lequel un client fait appel à des gens comme moi pour remplacer l'existant "impossible à maintenir" par des solutions propriétaires. C'est une grosse entreprise ?

  14. #14
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2016
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par nuke_y Voir le message
    Je suis intéressé de savoir combien de temps cela vous a pris de
    - créer vos rapports BIRT
    - mettre en place un module de génération de PDF
    Je vous communiquerais cela une fois le travail débuté.


    Citation Envoyé par nuke_y Voir le message
    Honnêtement ce qui m'étonne c'est cette défiance envers les solutions propriétaires. Ce genre de projet c'est le cas typique pour lequel un client fait appel à des gens comme moi pour remplacer l'existant "impossible à maintenir" par des solutions propriétaires. C'est une grosse entreprise ?
    En fait je ne suis que simple stagiaire, et je suis en stage pour plusieurs mois pour travailler uniquement sur ce projet de Reporting. Amener une solution toute faite n'est donc pas vraiment possible pour moi car l'objet et l'enjeu de mon stage est de créer cette solution.

    L'entreprise compte une dizaine de salariés, mais l'outil de reporting doit, depuis un portail intranet lié à l'entreprise mais disponible pour les clients leur servir avec les limites que la confidentialité des données entraine. Enfin, l'outil doit être "pas trop cher", administrable facilement (et avec les compétences déjà existante dans l'entreprise, donc BDD MySQL ou PostGreSQL, pas d'oracle; Programmation en Java uniquement) et compatible et cohérent avec les solutions déjà existantes auquel l'outil doit se rattacher (d'où l'idée d'avoir un Webservice de mise à disposition des indicateurs et des données).

    Après pour ma part, en temps que stagiaire je me suis "naturellement" tourné vers de l'open source car pour moi les solutions propriétaires vont avoir des coûts bien souvent trop important et surtout (c'est presque la pire condition) on ne pourra pas les modifier pour les adapter aux besoins qui sont les nôtres.

    Maintenant si vous pensez que ce que l'on discute depuis le sujet est potentiellement relevable par une solution propriétaire je suis près à me pencher dessus. Il me reste une à deux semaine pour faire un choix dans les solutions existantes, et faire des tests quand je le peux (et je compte le faire pour birt.)

    En tout cas merci de votre aide et de votre franchise

  15. #15
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Le problème n'est pas tant de développer ce genre de solution que de la stabiliser. Développer en plusieurs mois, disons que c'est possible (et encore ça veut dire que vous avez un niveau largement supérieur à tous les stagiaires, apprentis et juniors que j'ai pu rencontrer dans ma vie, mais pourquoi pas) mais par contre ça va prendre des mois supplémentaires à stabiliser : corriger les bugs, apporter les fonctionnalités essentielles qui manquent, ajouter une couche de sécurité, optimiser, faire le support, l'accompagnement, etc.

    Pour vous donner une idée, à partir du moment où des utilisateurs commencent à utiliser des solutions, qu'elles tournent en production, à chaque évolution je passe 0.5j à réfléchir, entre 10mn et 1h à coder et 1 à 2 semaines à gérer tout le reste : tester, valider, documenter, planifier le changement, prévenir que ça va changer, faire le changement, contrôler, expliquer, former, logger les demandes / remarques, corriger les bugs, m'expliquer sur le pourquoi des bugs, etc. Donc à moins d'avoir des utilisateurs super cool et d'être un Mozart du développement, le temps disponible pour les évolutions va rapidement se faire manger par le temps passé sur le maintien de l'existant. Et à un moment ça n'évolue plus, ou ça évolue mais la maintenance générale du système est trop bâclée pour le maintenir opérationnel, il défaille, les utilisateurs le laissent tomber, le projet est enterré.

    Ce n'est pas pour rien que les solutions propriétaires évoluent si peu une fois qu'elles ont percé : le coût de maintien est tel que les éditeurs se limitent à de petites évolutions. Là vous vous proposez de réécrire des pans entiers de fonctionnalités que de gros éditeurs ont mis des années à stabiliser. Je veux bien croire que les API java disponibles soient bien faites de nos jours, mais quand même.

    Autre exemple: récemment chez un client j'ai vu ce que je cherchais depuis des années : des scripts sur tous les serveurs qui loggent toutes les 5mn des informations : RAM consommée, % CPU, disque occupé et une petite interface PHP qui permet de présenter les données. Des années que je me dis que ça serait du boulot de coder un truc comme ça mais que ça serait très utile. Techniquement c'est tout bête : un simple script qui logge dans un fichier texte les informations, et le fichier texte qui est alimenté toutes les nuits dans une BDD. Et du PHP pour la restitution avec des graphiques javascript. Déjà ça leur a pris des années à développer ça, pas full time bien sûr, mais quand même. J'ai pris les données, je les ai analysées et j'ai mis en évidence des trous dans les données, régulièrement, dans des proportions qui rendent les données inutilisables. Donc ils ont bien le code, c'est en production, ça tourne "bien", mais le manque de stabilité du système le rend, en fait, totalement inutile.

    Donc je suis curieux de savoir ce que votre projet va donner, quel sera le statut à la fin de votre stage et surtout quel sera le statut de la solution 1 an après sa livraison.

  16. #16
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2016
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Avant de répondre, je tiens à préciser certaines choses.
    Je suis d'accord avec ce que vous exprimez et je comprends bien votre situation. Néanmoins, je pense qu'il vous manque des éléments pour comprendre la façon avec laquelle nous abordons ce projet.
    Je suis seul à développer le noyau du logiciel, mais je ne serai pas seul (et certainement même pas du tout) en charge de la maintenabilité du logiciel. Une équipe de développeurs sera là pour m'aider puis pour reprendre les rennes.
    Enfin, je pense que tout votre cheminement serait vrai pour un gros groupe, ou pour une société travaillant dans la finance par exemple. Mais nous sommes une société d'informatique, et notre cœur de métier est de proposer des logiciels et des fonctions adaptées à chacun de nos clients. Même si l'outil de Reporting sur lequel je travaille est créé aussi pour nous, le premier objectif est de pouvoir offrir son utilisation à nos clients (dans une certaine limitation). Et jusque là, afin justement de rendre nos logiciels adaptés et spécialisés, les seuls moyens trouvés ont été de les créer de bout en bout.

    Néanmoins, et comme je n'ai cessé de le répéter jusqu'ici, notre choix n'est absolument pas fait. Je suis encore dans une optique de comparer et de tester les solutions possibles. Si vous aviez un logiciel propriétaire à me conseiller, lequel (ou lesquels) me conseilleriez vous? Et si vous en avez la possibilité, pouvez vous me communiquer une brochure avec les tarifications des licences et des supports?


    Citation Envoyé par nuke_y Voir le message
    Le problème n'est pas tant de développer ce genre de solution que de la stabiliser. Développer en plusieurs mois, disons que c'est possible (et encore ça veut dire que vous avez un niveau largement supérieur à tous les stagiaires, apprentis et juniors que j'ai pu rencontrer dans ma vie, mais pourquoi pas) mais par contre ça va prendre des mois supplémentaires à stabiliser : corriger les bugs, apporter les fonctionnalités essentielles qui manquent, ajouter une couche de sécurité, optimiser, faire le support, l'accompagnement, etc.
    Pour ça nous sommes d'accord. Néanmoins je ne suis là que pour mettre au point la solution. Et il est bien prévu qu'une fois la solution mise en place, ce sont nos développeurs logiciel qui géreront les corrections.

    Citation Envoyé par nuke_y Voir le message
    Pour vous donner une idée, à partir du moment où des utilisateurs commencent à utiliser des solutions, qu'elles tournent en production, à chaque évolution je passe 0.5j à réfléchir, entre 10mn et 1h à coder et 1 à 2 semaines à gérer tout le reste : tester, valider, documenter, planifier le changement, prévenir que ça va changer, faire le changement, contrôler, expliquer, former, logger les demandes / remarques, corriger les bugs, m'expliquer sur le pourquoi des bugs, etc. Donc à moins d'avoir des utilisateurs super cool et d'être un Mozart du développement, le temps disponible pour les évolutions va rapidement se faire manger par le temps passé sur le maintien de l'existant. Et à un moment ça n'évolue plus, ou ça évolue mais la maintenance générale du système est trop bâclée pour le maintenir opérationnel, il défaille, les utilisateurs le laissent tomber, le projet est enterré.
    C'est effectivement un risque. Mais je pense qu'il est considérablement réduit à partir du moment où l'outil n'est pas fait pour un gros groupe mais pour une petite structure et pour ses clients. En tout, une centaine de personnes grand maximum seront touchées par les changements. Je pense que la maintenance est difficile à partir du moment où le nombre d'utilisateur est grand.

    Citation Envoyé par nuke_y Voir le message
    Ce n'est pas pour rien que les solutions propriétaires évoluent si peu une fois qu'elles ont percé : le coût de maintien est tel que les éditeurs se limitent à de petites évolutions. Là vous vous proposez de réécrire des pans entiers de fonctionnalités que de gros éditeurs ont mis des années à stabiliser. Je veux bien croire que les API java disponibles soient bien faites de nos jours, mais quand même.
    En fait, l'idée c'est pas de "recopier" ce que de gros éditeurs ont fait. C'est prendre des outils existants, s'inspirer de ce qui existe pour avoir un logiciel où l'adaptation est optimale. Et une fois le logiciel mis en place (selon le cahier des charges dont j'ai déjà parlé), il n'y aura plus de gros changements à effectuer.


    Citation Envoyé par nuke_y Voir le message
    Donc je suis curieux de savoir ce que votre projet va donner, quel sera le statut à la fin de votre stage et surtout quel sera le statut de la solution 1 an après sa livraison.
    Eh bien je serai ravi de pouvoir vous montrer le résultat (Pour ça il va falloir commencer à travailler ) une fois le logiciel fini, si bien sur nous restons sur l'idée d'un développement complet du logiciel, ce qui n'est encore pas certain...

  17. #17
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Il y a une telle volonté de customisation que je serais bien en peine de conseiller un logiciel, malheureusement.

    Pour faire ça sans logiciel propriétaire je verrais de la BDD, si possible plutôt puissante sur de l'analytique, donc pas MySQL, un langage de programmation avec de bonnes librairies donc Python ou Java ou .NET ou du nodes.js peut-être, du R pour tout ce qui est statistique, du shell (powershell pour windows ou shell unix/linux) pour l'administration côté backend et du html 5 + javascript côté frontend.

    Mais bon puisque j'ai l'impression que les outils BI traditionnels ne vont pas vous aider, peut-être qu'il faudrait aller discuter architecture dans les forums de développement logiciel parce que l'architecture que j'imagine sent un peu le rapiécé. Vous pourriez écrire un cahier des charges détaillé des fonctionnalités attendus à jour suite aux récentes itérations ? Au cas où j'irais le montrer par chez moi aux équipes de développement .NET pour qu'elles me donnent leur avis.

  18. #18
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2016
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Effectivement, je pense que réaménager un cahier des charges avec les nouvelles itérations est indispensable. Néanmoins il me manque encore des informations (notamment sur les besoins) car en interne tout le monde n'est pas forcément d'accord sur la façon de faire et même sur les besoins. Et c'est encore moins le cas vis à vis de nos clients où nous avons actuellement peu de remontées.

    Je pense que d'ici le début de semaine prochaine ce dernier pourrait commencer à être envisagé, et il permettra notamment de voir quelle approche nous devons avoir car, actuellement, mes supérieurs sont d'accord sur tout et sur rien concernant les solutions. Faute de précision je continue de faire mon comparatif...

  19. #19
    Nouveau Candidat au Club
    Homme Profil pro
    etudiant
    Inscrit en
    Avril 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : etudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2018
    Messages : 1
    Points : 0
    Points
    0
    Par défaut slt mon frere peux tu menvoye ton email pour que l'on puisse parle car jai un sujet similaire au tien
    Citation Envoyé par Le_Stagiaire Voir le message
    Bonjour

    Je suis actuellement en stage dans une PME ayant besoin d'un service automatisé de reporting.

    Les objectifs de ce système sont simples:
    • Recevoir en entrée des informations (en base de donnée, la méthode pour les acquérir peut être en push ou pull mais on préférera laisser les donner venir plutôt que faire des requètes)
    • Stocker ces données dans un entrepôt de données accessible
    • Vérifier ces données, et les trier (en sélectionnant certaines données utiles et en négligeant les données moins importantes)
    • Créer une interface mettant à disposition les données brutes (pour permettre une historisation) et les données agrégées (pour permettre de créer des rapports paramétrables statiques (pdf par exemple, ou html) et interactifs (format web permettant de gagner en précision pour certaines valeurs ou d'obtenir dynamiquement des graphiques)
    • Gérer l'ordonnancement de production de rapport et l'envoi automatisé (boite mail notamment)


    Bien entendu, je ne viens pas vers vous sans avoir déjà consulté les offres existantes, mais je me retrouve souvent avec des comparateur, des articles, ou des avis ne dépassant pas 2010, et j'aimerais avoir un avis le plus objectif possible (même si on ne l'est jamais à 100%) sur les outils à employer. Les seules informations récentes sont celles des créateurs qui sont bien évidemment les moins objectif.

    Jusque là j'ai pensé à:
    • Récupérer les données et les stocker via un ETL type Talend ou Kettle
    • Permettre la gestion du reporting via Pentaho, Acrutate (Birt), JasperReports, Jedox, Palo ou SpagoBI.


    Nb: pour les gestionnaires de reporting, j'ai écarté dans la liste les logiciels commerciaux (notamment les logiciels microsoft, SAP Business Object Crystal Report ou encore Cognos,...) principalement car ils sont (de mon premier point de vue) trop fermés pour l'utilisation demandée. Quant au coût, je veux qu'il soit adapté au besoin et éviter un maximum l'apport de biens superflus. Il faut savoir que selon mon domaine de compétence et celui de l'entreprise, l'utilisation de java est préconisé, c'est aussi dans cet esprit que je cherche un outil adapté.

    A noter que je n'ai pas besoin d'effectuer de mise en place de tableaux de bord, car nous avons déjà un logiciel fait pour créer une interface utilisateur et que celles-ci demande simplement de pouvoir récupérer les données sur une API.

    Je vous remercie pour vos idées et n'hésitez pas à m'éclairer dans ma démarche!

  20. #20
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2016
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    1. Un message serait le bienvenue. Un titre n'en est pas un.
    2. Un peu de politesse vous ferait du bien.
    3. Je ne suis pas votre frère.
    4. Un léger effort d'orthographe me permettrait d'être à même de comprendre votre message, avant d'envisager d'y répondre.


    Je doute à votre façon d'écrire que vous reveniez sur le sujet mais si vous le faites et que vous réaménagez votre réponse, je prendrai peut être 2 minutes de mon temps pour vous aider. Pour l'instant ce n'est pas la peine d'y penser.

    Cordialement,

    Rémi Lamotte

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/11/2007, 10h07
  2. Nb de projets max dans une solution
    Par jerome.fortias dans le forum Visual Studio
    Réponses: 3
    Dernier message: 13/11/2007, 10h05
  3. combobox à 2 colonnes, aide au choix d'une solution
    Par hansaplast dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 06/11/2007, 18h21
  4. Choix d'une solution de blog
    Par Flashball dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 17/10/2007, 11h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo