Developpez.com - DI/DSI Solutions d'entreprise

Le Club des Développeurs et IT Pro

60 % des employés sont frustrés par les nouveaux logiciels

Plus de la moitié des utilisateurs ont souhaité que la direction réintroduise les anciens systèmes selon une enquête de Gartner

Le 2021-11-03 21:44:34, par Sandra Coret, Communiqués de presse
60 % des travailleurs ont déclaré que les nouveaux logiciels les avaient occasionnellement ou fréquemment frustrés au cours des 24 derniers mois, selon une nouvelle enquête* de Gartner, Inc. En fait, 56 % des utilisateurs ont déclaré que les nouveaux logiciels leur avaient fait souhaiter que la direction rétablisse l'ancien système.

"La démocratisation et la consumérisation de l'informatique ont eu pour conséquence que les employés ont plus de latitude quant aux logiciels qu'ils utilisent et à la manière dont ils les utilisent", explique Craig Roth, vice-président de la recherche chez Gartner. "Les responsables de produits logiciels se concentrent souvent sur l'ajout de nouvelles fonctionnalités pour rester dans la course face à la concurrence, mais cela conduit à des produits trop complexes avec une expérience utilisateur (UX) médiocre."

L'enquête mondiale menée par Gartner auprès de 4 953 utilisateurs de produits et services technologiques entre avril et juin 2021 a révélé trois façons dont les utilisateurs peuvent avoir un impact sur l'adoption des logiciels d'entreprise :

Adoption personnelle

L'enquête a révélé que 81 % des utilisateurs de logiciels ont pris une mesure quelconque - positive ou négative - après une expérience notable avec un logiciel. Par exemple, 40% des utilisateurs ont résisté à l'utilisation d'applications après une expérience négative en utilisant des fonctionnalités minimales, en évitant ou en retardant l'utilisation. En revanche, après une expérience positive avec une application, 41% des utilisateurs ont passé plus de temps à approfondir ses fonctionnalités.

"La profondeur de l'utilisation d'une application peut avoir un impact significatif sur la valeur qu'une organisation tire d'un logiciel. Cette valeur perçue devient importante lorsque le moment du renouvellement ou de la mise à niveau arrive", a déclaré Roth. "La consommation de nouvelles fonctionnalités aide les fournisseurs de technologie à accroître l'adhérence d'un produit, mais lorsque les utilisateurs ignorent les fonctionnalités avancées, les fournisseurs ont moins d'influence pour obtenir des ventes incitatives ou des renouvellements et rester en tête de la concurrence."

Influencer les autres à adopter ou à éviter

L'enquête a également révélé que les utilisateurs partagent fréquemment leurs opinions sur les logiciels avec leurs pairs, avec le service informatique et avec les chefs d'entreprise, soit de manière proactive, soit en réponse à des demandes de commentaires. Ce "bouche à oreille" peut déclencher une réaction en chaîne qui influence l'adoption ou l'évitement d'applications par d'autres.

42 % des répondants à l'enquête ont déclaré s'être plaints à leurs pairs après une expérience logicielle négative, tandis que 38 % ont recommandé une application à leurs pairs après une expérience positive. En outre, 42 % ont partagé des expériences négatives avec le service informatique, et 25 % ont partagé ces expériences avec la direction de l'entreprise.

Les médias sociaux deviennent également un moyen important de partager des opinions sur les logiciels, puisque 10 % des personnes interrogées ont indiqué avoir laissé des commentaires sur les médias sociaux ou les sites d'évaluation après une expérience négative avec une application.

Lorsqu'on a demandé aux utilisateurs quelles mesures les éditeurs de logiciels pourraient prendre pour qu'ils soient plus enclins à recommander leurs produits à leurs pairs, aux responsables informatiques ou aux chefs d'entreprise, la réponse la plus fréquente a été de rendre les produits plus faciles à utiliser (51 % des personnes interrogées). L'ajout de fonctionnalités manquantes n'arrive qu'en troisième position, avec 30 % des réponses.


Auto-achat

Les utilisateurs de logiciels d'entreprise peuvent également agir en tant qu'acheteurs dans certains cas. L'enquête de Gartner a révélé que 34 % des utilisateurs déclarent que leur service informatique leur permet de choisir la plupart des logiciels qu'ils utilisent. Dans certains cas, les utilisateurs peuvent également s'auto-acquérir des logiciels par le biais de cartes de crédit personnelles ou professionnelles, ou les utilisateurs seront facturés en fonction de leur consommation, bien que ces arrangements ne soient pas encore courants.

"Le chiffre d'affaires du SaaS augmentant plus rapidement que celui de l'ensemble du secteur des logiciels, les fournisseurs se retrouvent de plus en plus dans un cycle d'achat continu", a déclaré M. Roth. "Sur ce marché concurrentiel, maintenir l'utilisation d'applications à forte valeur ajoutée en faisant de l'UX une compétence de base est essentiel pour générer des résultats commerciaux positifs."

Source : Gartner

Et vous ?

Que pensez-vous de cette enquête de Gartner ? la trouvez-vous pertninente ?
Comment sont accueillis les nouveaux logiciels d'entreprise au sein de votre organisation ?

Voir aussi :

Les entreprises adoptent le stockage défini par logiciel face à l'augmentation des volumes de données, 9 % d'entre elles constatant une croissance annuelle des données d'un pétaoctet ou plus

Le revenu mondial des applications d'entreprise a augmenté de 4,1 % en 2020, et atteindra près de 334 milliards de dollars en 2025, selon IDC

Les revenus mondiaux des logiciels d'infrastructure définie par logiciel ont dépassé les 12 milliards de dollars en 2020, soit une augmentation de 5 % par rapport à l'année précédente, selon IDC
  Discussion forum
10 commentaires
  • Mercenary Developer
    Membre habitué
    Bonjour,

    Cette enquête ne m'étonne même pas. Dans un autre registre je m'occupe de TMA sur des projets de gestion de trafic routier.
    Chaque client a son logiciel spécifique.
    Je constate que les vieux logiciels (tout langage confondu) fonctionnent beaucoup mieux que les refontes qui en sont faite. Pourquoi ? Je pense parce qu'il sont moins lourds:
    J'ai une TMA sur un projet censé être neuf, le truc il mets 20 minutes à compiler et 15 à se lancer, y'a une trentaine de dépendance Maven et presque autant niveau Javascript avec une utilisation abusive de npm, autant dire qu'aucune dépendance n'est à jour et que l'on ne va pas risquer de faire une MAJ, tant au niveau Maven que npm, sans savoir les impacts que cela aura sur le code.

    A croire qu'aujourd'hui on ne peux pas développer sans framework. Les gars, quand il ont une fonctionnalité à faire, au lieu d'essayer de la faire eux même se dise: "Regardons si il n'y a pas une librairie qui fait déjà le boulot", à la fin on obtient un logiciel qui n'est qu'un assemblage de librairie... Et plus il y a de dépendance, plus il y a des mise à jour à faire (quand il y a un suivi, ce qui est très rare) et plus il y a de risque de bug et/ou de problème de sécurité...

    Personnellement j’essaie au plus de coder en Javascript / HTML / CSS coté frontend en essayant de me passer le plus possible de dépendance et autre framework. Et cela fonctionne très bien. Par exemple pour mon petit site perso https://sortiesympa.com (un peu de pub ) je n'ai utilisé coté JS que OpenLayers (forcément la se serait idiot de coder ce genre de fonctionnalité à partir de zéro) et Date Picker (car j'avais la flemme de coder un calendrier en JS).

    L'avantage ? Je peux facilement garder à jour mes dépendances, car elles sont peu nombreuse, et j'ai donc une page qui me permet de voir si les versions sont à jour (https://sortiesympa.com/app1/statistiques.html)

    Bref, le seul framework que j'apprécie reste VanillaJS (https://blog.lesieur.name/vanilla-js-france/) et la méthode KISS ! (Keep It Simple, Stupid ).

    Bonne journée !
  • diamondsoftware
    Membre habitué
    tout a fait d'accord avec le message précédent. Moins on a de dependances exterieures moins on a de soucis futur...
  • smarties
    Expert confirmé
    Je suis globalement d'accord avec walfrat

    De plus, en entreprise, on doit généralement développer vite et on n'a pas le temps de refaire une implémentation de tout et n'importe quoi.

    On a forcément besoin de dépendances pour :
    - les connecteurs de BDD
    - gestion de protocole réseau
    - sérialisation/désérialisation : pour du CSV on peut s'en passer par contre
    - ...

    Quand on veut faire évoluer des logiciels, on fait rarement des tests unitaires pour vérifier les fonctions utilisées de nos librairies.
  • valaendra
    Membre éclairé
    Bonjour.

    Envoyé par Mercenary Developer
    A croire qu'aujourd'hui on ne peux pas développer sans framework.
    Toute une génération de développeurs qui ne savent pas coder hors framework/CMS.

    J'en ai croisé récemment, par exemple un "Dev wordpress++" (tel qu'il se décrit lui même) qui bug sur un simple for

    Bonne soirée
  • walfrat
    Membre émérite
    Envoyé par Mercenary Developer
    Les gars, quand il ont une fonctionnalité à faire, au lieu d'essayer de la faire eux même se dise: "Regardons si il n'y a pas une librairie qui fait déjà le boulot"
    Et ils ont parfaitement raison,

    Un nouveau logiciel qui vient de sortir tant à être moins mature que quelque chose qui existe depuis 20ans. Il était comment ton fameux vieux logiciel au moment où il est sorti ? Je pari que pour la plupart, c'était la galère, à installer, configurer, former les utilisateurs etc.

    Ca se trouve ton logiciel, sur les machines d'il y a 20ans mettait 20mn à compiler et autant à se lancer.

    Personnellement, sauf côté IHM si elle est très modeste, je ne ferais jamais sans framework/librairies :

    • Base de données : transactions/modèle de données
    • Gestion des dates
    • Logs
    • Multithreading
    • Pool de connections
    • Sérialisation/Déserialisation
    • Authentification/Authorization
    • Parsing, encodage des caractères
    • etc


    Toutes ses choses semblent simples sur le papier mais en vrai quand tu veux faire une applis solide et performance, tout les génies qui se sont dit qu'ils allaient faire ça eux-même deviennent le boulot de ceux qui leur succéderont.

    Pour chacun de ses éléments il faut prendre en compte :

    • La performance, on est clairement plus exigeant aujourd'hui qu'il y a 20ans, alors qu'il y a plus de traffic, plus grosses base de données etc etc
    • Les aspect de sécurité relatifs à cela, encore une fois, on est plus exigeant aujourd'hui.


    Je parie que dans la plupart de tes applis "fiable" d'il y a 20ans, il y a autant plein de problème de sécurité.

    Toutes ses librairies n'ont qu'un seul prix : il faut comprendre comment elles fonctionnent quand on s'en sert. De même quand on récupère les devs d'un génie qui a réinventer la roue. Et ce n'est pas la faute des dites librairies si les gens les empilent en mode osef et les utilise de travers.
  • PomFritz
    Membre confirmé
    Tiens... on parle de Windows, là? Toujours plus bordélique de version en version...
  • Mercenary Developer
    Membre habitué
    Je ne dis pas de tout faire soi même, simplement d'utiliser des dépendances avec parcimonie, parce que quand on récupère une TMA avec ça dans le POM:

    Code XML :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    <spring-boot.version>1.1.10.RELEASE</spring-boot.version> 
    <activemq.version>5.9.1</activemq.version> 
    <aspectj.version>1.8.4</aspectj.version> 
    <codahale-metrics.version>3.0.2</codahale-metrics.version> 
    <commons-beanutils.version>1.9.2</commons-beanutils.version> 
    <commons-collections.version>4.0</commons-collections.version> 
    <commons-lang.version>3.3.2</commons-lang.version> 
    <commons-dbcp.version>1.4</commons-dbcp.version> 
    <commons-digester.version>2.1</commons-digester.version> 
    <commons-pool.version>1.6</commons-pool.version> 
    <commons-pool2.version>2.2</commons-pool2.version> 
    <crashub.version>1.3.0</crashub.version> 
    <flyway.version>3.0</flyway.version> 
    <freemarker.version>2.3.21</freemarker.version> 
    <gemfire.version>7.0.2</gemfire.version> 
    <gradle.version>1.6</gradle.version> 
    <groovy.version>2.3.7</groovy.version> 
    <h2.version>1.4.182</h2.version> 
    <hamcrest.version>1.3</hamcrest.version> 
    <hibernate.version>4.3.7.Final</hibernate.version> 
    <hibernate-entitymanager.version>${hibernate.version}</hibernate-entitymanager.version> 
    <hibernate-jpa-api.version>1.0.0.Final</hibernate-jpa-api.version> 
    <hibernate-validator.version>5.1.2.Final</hibernate-validator.version> 
    <hibernate-spatial.version>4.3</hibernate-spatial.version> 
    <jpa-validation.version>1.1.0.Final</jpa-validation.version> 
    <hikaricp.version>1.4.0</hikaricp.version> 
    <hornetq.version>2.4.5.Final</hornetq.version> 
    <hsqldb.version>2.3.2</hsqldb.version> 
    <httpasyncclient.version>4.0.2</httpasyncclient.version> 
    <httpclient.version>4.3.6</httpclient.version> 
    <jackson.version>2.4.1</jackson.version> 
    <janino.version>2.6.1</janino.version> 
    <javassist.version>3.18.1-GA</javassist.version> <!-- Same as Hibernate --> 
    <jaxen.version>1.1.6</jaxen.version> 
    <jdom2.version>2.0.5</jdom2.version> 
    <jedis.version>2.4.2</jedis.version> 
    <jetty.version>8.1.15.v20140411</jetty.version> 
    <jetty-jsp.version>2.2.0.v201112011158</jetty-jsp.version> 
    <joda-time.version>2.3</joda-time.version> 
    <jolokia.version>1.2.3</jolokia.version> 
    <json-path.version>0.9.1</json-path.version> 
    <jstl.version>1.2</jstl.version> 
    <junit.version>4.11</junit.version> 
    <liquibase.version>3.3.2</liquibase.version> 
    <log4j.version>2.0.2</log4j.version> 
    <xml-api.version>1.4.01</xml-api.version> 
    <logback.version>1.1.2</logback.version> 
    <mockito.version>1.9.5</mockito.version> 
    <mongodb.version>2.12.4</mongodb.version> 
    <mysql.version>5.1.34</mysql.version> 
    <reactor.version>1.1.5.RELEASE</reactor.version> 
    <reactor-spring.version>1.1.3.RELEASE</reactor-spring.version> 
    <servlet-api.version>3.0.1</servlet-api.version> 
    <slf4j.version>1.7.7</slf4j.version> 
    <snakeyaml.version>1.13</snakeyaml.version> 
    <solr.version>4.7.2</solr.version> 
    <spock.version>0.7-groovy-2.0</spock.version> 
    <spring.version>4.1.4.RELEASE</spring.version> 
    <spring-amqp.version>1.3.6.RELEASE</spring-amqp.version> 
    <spring-batch.version>3.0.2.RELEASE</spring-batch.version> 
    <spring-data-releasetrain.version>Dijkstra-SR4</spring-data-releasetrain.version> 
    <spring-hateoas.version>0.16.0.RELEASE</spring-hateoas.version> 
    <spring-plugin.version>1.1.0.RELEASE</spring-plugin.version> 
    <spring-integration.version>4.0.4.RELEASE</spring-integration.version> 
    <spring-loaded.version>1.2.1.RELEASE</spring-loaded.version> 
    <spring-mobile.version>1.1.3.RELEASE</spring-mobile.version> 
    <spring-security.version>3.2.5.RELEASE</spring-security.version> 
    <spring-security-jwt.version>1.0.2.RELEASE</spring-security-jwt.version> 
    <spring-social.version>1.1.0.RELEASE</spring-social.version> 
    <spring-social-facebook.version>1.1.1.RELEASE</spring-social-facebook.version> 
    <spring-social-linkedin.version>1.0.1.RELEASE</spring-social-linkedin.version> 
    <spring-social-twitter.version>1.1.0.RELEASE</spring-social-twitter.version> 
    <spring-ldap.version>2.0.2.RELEASE</spring-ldap.version> 
    <spring-ws.version>2.2.0.RELEASE</spring-ws.version> 
    <thymeleaf.version>2.1.3.RELEASE</thymeleaf.version> 
    <thymeleaf-extras-springsecurity3.version>2.1.1.RELEASE</thymeleaf-extras-springsecurity3.version> 
    <thymeleaf-layout-dialect.version>1.2.7</thymeleaf-layout-dialect.version> 
    <tomcat.version>7.0.56</tomcat.version> 
    <velocity.version>1.7</velocity.version> 
    <velocity-tools.version>2.0</velocity-tools.version> 
    <wsdl4j.version>1.6.3</wsdl4j.version> 
    <lombok.version>1.14.8</lombok.version> 
    <postgres.version>9.2-1004-jdbc41</postgres.version> 
    <querydsl.version>3.5.1</querydsl.version> 
    <commons-configuration.version>1.10</commons-configuration.version> 
    <commons-io.version>2.4</commons-io.version> 
    <dozer.version>5.5.1</dozer.version> 
    <poi.version>3.8</poi.version> 
    <hornetq-stomp.version>2.4.5.Final</hornetq-stomp.version> 
    <javax.mail.version>1.4</javax.mail.version> 
    <common-repository.version>1.0.0</common-repository.version> 
    <common-workflow.version>1.0.0</common-workflow.version> 
    <common-utilisateur.version>1.0.0</common-utilisateur.version> 
    <common-authentication.version>1.0.0</common-authentication.version> 
    <common-domain.version>1.0.0</common-domain.version> 
    <opc.version>2.2.0</opc.version> 
    <dom4j.version>1.6.1</dom4j.version> 
    <quartz.version>2.2.1</quartz.version> 
    <jgroups.version>3.4.5.Final</jgroups.version>

    Dire
    Toutes ses librairies n'ont qu'un seul prix : il faut comprendre comment elles fonctionnent quand on s'en sert.

    je veux bien, mais désolé je ne les maitrise pas tous !

    Et la c'est coté Java, coté JavaScript on a ce genre de message:

    Code :
    1
    2
    3
    4
    npm version : 
    6.14.6 
    audited 286 packages in 3.807s 
    found 135 vulnerabilities (21 low, 32 moderate, 66 high, 16 critical)
    On hésite à en parler au client, car si il nous demande de mettre tout cela à jour sans qu'il n'y ai aucune conséquence sur le code source et aucune régression franchement je n'y crois pas.

    Quand je vois, à titre personnel, que quand j'ai mis à jour la librairie OpenLayers de mon site perso https://sortiesympa.com (encore un peu de pub ) vers la version 6.9.0 la cartographie ne fonctionne plus sous Safari / Mac OS... Et la je suis simplement passé de la version n-1 à la version n !

    Alors désolé mais pour moi ma démarche est:

    Besoin d'une fonctionnalité:

    1) Existe-t-elle déjà dans les dépendances du projet (Spring par exemple apporte avec lui beaucoup de fonctionnalités).
    2) Est-elle difficile à coder et/ou prendras-t-elle beaucoup de temps à faire ? Tant qu'à avoir des failles autant que ce soit dans du code que l'on a fait, cela permettra une correction plus rapide sans attendre une éventuelle nouvelle version de la dépendance.
    3) Si ni 1, ni 2 alors on recherche la librairie/dépendance la plus apte à nous aider.

    Après c'est ma façon de faire, chacun est libre de faire comme il veut, pensez simplement au pauvre développeur qui reprendra quelques années plus tard votre code.... J'ai des projets TMA de plus de 5 ans dont certaines dépendances n'existent même plus ! Exemple de classes :

    Code :
    1
    2
    3
    4
    /* 
     * This class was automatically generated with  
     * <a href="http://www.castor.org">Castor 0.9.6</a>, using an XML 
    */
    Je vous laisse aller visiter le site http://www.castor.org qui n'a plus rien à voir avec la librairie...
  • marc.collin
    Membre émérite
    Envoyé par Mercenary Developer 
    Je ne dis pas de tout faire soi même, simplement d'utiliser des dépendances avec parcimonie, parce que quand on récupère une TMA avec ça dans le POM:

    Code XML :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    <spring-boot.version>1.1.10.RELEASE</spring-boot.version> 
    <activemq.version>5.9.1</activemq.version> 
    <aspectj.version>1.8.4</aspectj.version> 
    <codahale-metrics.version>3.0.2</codahale-metrics.version> 
    <commons-beanutils.version>1.9.2</commons-beanutils.version> 
    <commons-collections.version>4.0</commons-collections.version> 
    <commons-lang.version>3.3.2</commons-lang.version> 
    <commons-dbcp.version>1.4</commons-dbcp.version> 
    <commons-digester.version>2.1</commons-digester.version> 
    <commons-pool.version>1.6</commons-pool.version> 
    <commons-pool2.version>2.2</commons-pool2.version> 
    <crashub.version>1.3.0</crashub.version> 
    <flyway.version>3.0</flyway.version> 
    <freemarker.version>2.3.21</freemarker.version> 
    <gemfire.version>7.0.2</gemfire.version> 
    <gradle.version>1.6</gradle.version> 
    <groovy.version>2.3.7</groovy.version> 
    <h2.version>1.4.182</h2.version> 
    <hamcrest.version>1.3</hamcrest.version> 
    <hibernate.version>4.3.7.Final</hibernate.version> 
    <hibernate-entitymanager.version>${hibernate.version}</hibernate-entitymanager.version> 
    <hibernate-jpa-api.version>1.0.0.Final</hibernate-jpa-api.version> 
    <hibernate-validator.version>5.1.2.Final</hibernate-validator.version> 
    <hibernate-spatial.version>4.3</hibernate-spatial.version> 
    <jpa-validation.version>1.1.0.Final</jpa-validation.version> 
    <hikaricp.version>1.4.0</hikaricp.version> 
    <hornetq.version>2.4.5.Final</hornetq.version> 
    <hsqldb.version>2.3.2</hsqldb.version> 
    <httpasyncclient.version>4.0.2</httpasyncclient.version> 
    <httpclient.version>4.3.6</httpclient.version> 
    <jackson.version>2.4.1</jackson.version> 
    <janino.version>2.6.1</janino.version> 
    <javassist.version>3.18.1-GA</javassist.version> <!-- Same as Hibernate --> 
    <jaxen.version>1.1.6</jaxen.version> 
    <jdom2.version>2.0.5</jdom2.version> 
    <jedis.version>2.4.2</jedis.version> 
    <jetty.version>8.1.15.v20140411</jetty.version> 
    <jetty-jsp.version>2.2.0.v201112011158</jetty-jsp.version> 
    <joda-time.version>2.3</joda-time.version> 
    <jolokia.version>1.2.3</jolokia.version> 
    <json-path.version>0.9.1</json-path.version> 
    <jstl.version>1.2</jstl.version> 
    <junit.version>4.11</junit.version> 
    <liquibase.version>3.3.2</liquibase.version> 
    <log4j.version>2.0.2</log4j.version> 
    <xml-api.version>1.4.01</xml-api.version> 
    <logback.version>1.1.2</logback.version> 
    <mockito.version>1.9.5</mockito.version> 
    <mongodb.version>2.12.4</mongodb.version> 
    <mysql.version>5.1.34</mysql.version> 
    <reactor.version>1.1.5.RELEASE</reactor.version> 
    <reactor-spring.version>1.1.3.RELEASE</reactor-spring.version> 
    <servlet-api.version>3.0.1</servlet-api.version> 
    <slf4j.version>1.7.7</slf4j.version> 
    <snakeyaml.version>1.13</snakeyaml.version> 
    <solr.version>4.7.2</solr.version> 
    <spock.version>0.7-groovy-2.0</spock.version> 
    <spring.version>4.1.4.RELEASE</spring.version> 
    <spring-amqp.version>1.3.6.RELEASE</spring-amqp.version> 
    <spring-batch.version>3.0.2.RELEASE</spring-batch.version> 
    <spring-data-releasetrain.version>Dijkstra-SR4</spring-data-releasetrain.version> 
    <spring-hateoas.version>0.16.0.RELEASE</spring-hateoas.version> 
    <spring-plugin.version>1.1.0.RELEASE</spring-plugin.version> 
    <spring-integration.version>4.0.4.RELEASE</spring-integration.version> 
    <spring-loaded.version>1.2.1.RELEASE</spring-loaded.version> 
    <spring-mobile.version>1.1.3.RELEASE</spring-mobile.version> 
    <spring-security.version>3.2.5.RELEASE</spring-security.version> 
    <spring-security-jwt.version>1.0.2.RELEASE</spring-security-jwt.version> 
    <spring-social.version>1.1.0.RELEASE</spring-social.version> 
    <spring-social-facebook.version>1.1.1.RELEASE</spring-social-facebook.version> 
    <spring-social-linkedin.version>1.0.1.RELEASE</spring-social-linkedin.version> 
    <spring-social-twitter.version>1.1.0.RELEASE</spring-social-twitter.version> 
    <spring-ldap.version>2.0.2.RELEASE</spring-ldap.version> 
    <spring-ws.version>2.2.0.RELEASE</spring-ws.version> 
    <thymeleaf.version>2.1.3.RELEASE</thymeleaf.version> 
    <thymeleaf-extras-springsecurity3.version>2.1.1.RELEASE</thymeleaf-extras-springsecurity3.version> 
    <thymeleaf-layout-dialect.version>1.2.7</thymeleaf-layout-dialect.version> 
    <tomcat.version>7.0.56</tomcat.version> 
    <velocity.version>1.7</velocity.version> 
    <velocity-tools.version>2.0</velocity-tools.version> 
    <wsdl4j.version>1.6.3</wsdl4j.version> 
    <lombok.version>1.14.8</lombok.version> 
    <postgres.version>9.2-1004-jdbc41</postgres.version> 
    <querydsl.version>3.5.1</querydsl.version> 
    <commons-configuration.version>1.10</commons-configuration.version> 
    <commons-io.version>2.4</commons-io.version> 
    <dozer.version>5.5.1</dozer.version> 
    <poi.version>3.8</poi.version> 
    <hornetq-stomp.version>2.4.5.Final</hornetq-stomp.version> 
    <javax.mail.version>1.4</javax.mail.version> 
    <common-repository.version>1.0.0</common-repository.version> 
    <common-workflow.version>1.0.0</common-workflow.version> 
    <common-utilisateur.version>1.0.0</common-utilisateur.version> 
    <common-authentication.version>1.0.0</common-authentication.version> 
    <common-domain.version>1.0.0</common-domain.version> 
    <opc.version>2.2.0</opc.version> 
    <dom4j.version>1.6.1</dom4j.version> 
    <quartz.version>2.2.1</quartz.version> 
    <jgroups.version>3.4.5.Final</jgroups.version>

    l'application fait quand même beaucoup d'opération....

    je suppose

    envoie / réception de message
    envoie de email
    opération sur bd nosql, postgresql, h2, hsql
    création / lecture de fichier word, excel
    gestion de migration de bd
    ui
    sécurité avec jwt et les réseau sociaux
    web service
    orm
    ...

    beaucoup de mixe technologique
  • Mercenary Developer
    Membre habitué
    Pas tant que ça, et c'est la ou on en revient au sujet initial.

    envoie / réception de message -> Oui via JMS
    envoie de email -> Oui
    opération sur bd nosql, postgresql, h2, hsql -> Uniquement PostgreSQL, je ne sais pas le pourquoi de la présence des dépendances pour les autres BDD
    création / lecture de fichier word, excel -> Uniquement lecture de fichier Excel
    gestion de migration de bd -> Non
    ui -> Oui, enfin IHM web
    sécurité avec jwt et les réseau sociaux -> JWT oui, réseau sociaux non, c'est une application interne qui fonctionne sur un Intranet
    web service -> Oui
    orm -> Oui avec Hibernate
    En fait j'ai plusieurs applications en TMA, de plusieurs clients, mais avec le même corps de métier.

    Et donc, j'ai une TMA plus vieille (celle dont je parle avec la librairie Castor), qui à l'origine était faite pour fonctionner uniquement avec IE6 et que j'ai adapté pour Firefox, qui me pose moins de problème que la plus récente dont j'ai fourni la liste des dépendances. Bon OK coté IHM c'est pas le même look, sur la vieille appli les cartes sont en SVG et c'est galère à mettre à jour alors que sur le nouvelle, comme la boite qui a créé l'appli n'a pas été foutu de mettre en place un Geoserver, utilise des tuiles pompées sur OpenStreetMap pour le rendu cartographique.

    Mais ce que je veux dire c'est que les 2 applications font quasiment la même chose, et l'ancienne est nettement moins lourde ! Les utilisateurs de cette dernière en sont content.

    J'avoue ne pas m'être penché sur le pourquoi il y a tant de dépendance car si bien on n'a jamais le temps d'approfondir et le but dans ma boite c'est de corriger et/ou ajouter des fonctionnalités le plus rapidement possible. Donc pas vraiment le temps de se former ou d’approfondir les projets que l'on nous donne.
  • walfrat
    Membre émérite
    Envoyé par Mercenary Developer


    Dire je veux bien, mais désolé je ne les maitrise pas tous !
    Attention, j'ai bien dit "savoir ce que l'on fait avec la librairie" pas "maîtriser".

    Car oui, parfaitement maîtriser toute une pile technos a soi seule, c'est trop demander.

    Je demande juste que les gens ont une bonne idée de ce qu'ils font en général, après il se peut qu'on tombe sur une petite surprise avec un composant qui fonctionne pas comme on s'y attendait de temps en temps, ça arrive.