All posts in PLM

Comment optimiser vos revues de conception produit ?

Votre entreprise développe des produits nécessitant des revues de conception régulières. Les différentes équipes qui interviennent sur le projet (R&D, Qualité, Marketing…) sont peut-être localisées sur différents sites de votre entreprise, voir dans différents pays.
Pour assurer à ces revues d’atteindre leurs objectifs, les conférences téléphoniques ne sont parfois pas suffisantes et se transforment souvent en réunion physique, mobilisant vos équipes mais également des budgets supplémentaires.

Existe-t-il des solutions pour optimiser l’impact et l’efficacité de vos revues de conception ?

En utilisant un module de revue de conception en temps réel, comme celui présent dans DocDokuPLM.
A première vue, son usage semble être le même qu’un outil de partage d’écran. Mais son périmètre fonctionnel va bien au delà.
DocDokuPLM s’adapte aux volumes de données de vos maquettes et peut gérer des sessions multi-utilisateurs.
Tout cela en se basant uniquement sur les technologies web : aucune installation de plug-in n’est nécessaire.

Prise dans un contexte opérationnel standard, la vidéo ci-dessous illustre le principe de cette technologie sur une revue de conception de maquette d’avion.

L’ordinateur de droite initialise la revue de conception virtuelle et invite les utilisateurs connectés sur l’autre PC à se joindre aux échanges.
Le module de revue de conception garantit la sécurité des données et le respect des règles de confidentialité des informations affichées. Ainsi, les participants visualisent uniquement les éléments sur lesquels leur accès est autorisé.

Pour en savoir plus sur DocDokuPLM

Demander une démo

DocDoku référencé par le pôle Innovation de l’UGAP

Le pôle Innovation de l’UGAP (Union des groupements d’achats publics), première centrale d’achat publique française, a choisi d’intégrer DocDoku à son référencement des logiciels multi-éditeurs par l’intermédiaire de son partenaire SCC, leader des solutions de service d’infrastructures informatiques.
Notre plateforme de digitalisation des métiers  et process ainsi que l’ensemble de nos savoir-faire sont à présent plus visibles et immédiatement accessibles pour l’ensemble des acheteurs publics français – administrations et établissements publics de l’Etat, collectivités territoriales, établissements publics de santé et secteur social.

Ce référencement intervient dans le contexte actuel de mutation des organisations qui cherchent à se transformer en digitalisant leurs métiers afin de maîtriser leurs dépenses tout en soutenant les acteurs français de l’innovation.

La plateforme DocDokuPLM dispose des briques essentielles à l’innovation collective, en mesure de répondre aux enjeux de transformation des organisations dans toutes leurs spécificités. Nos capacités permettent ainsi de répondre à des besoins aussi divers que :

Bien choisir sa plateforme au service de l’entreprise étendue

Depuis plus de 30 ans, les logiques d’optimisation des coûts et de réduction des risques ont transformé les entreprises et construit des réseaux d’acteurs interdépendants pour répondre à ces enjeux. L’entreprise étendue est une notion qui fait référence à ces interdépendances, aux relations qui ne se limitent pas aux collaborateurs de l’entreprise mais également à ses partenaires, fournisseurs, voir même ses clients.

Tous ses intervenants contribuent à l’élaboration des propositions de valeur de l’entreprise, impliquant par là même leurs activités dans ses applications et ses processus.

L’évolution du travail a également fait évoluer les métiers vers davantage de nomadisme et l’entreprise étendue renvoie également à de nouvelles considérations dans l’organisation du travail.

Réunir sous une même plateforme les parties prenantes externes et les collaborateurs semble donc indispensable pour organiser les flux entrants et sortants (biens, données, documents, logistique, personnel…) et fluidifier la communication.

Pour répondre à ces enjeux, DocDokuPLM intègre des solutions que nous avons choisies de vous illustrer par quelques exemples concrets.


 Bénéficier d’une messagerie collaborative contextualisée

Caroline, utilisatrice de DocDokuPLM, a créé il y a 2 jours un document relatif au projet DocDoku Relation Client. Elle a apporté quelques mises à jour au document ce matin.
Florent, son manager, a une question suite à la lecture du document dans sa version actuelle et il décide d’entrer en contact avec Caroline – qui est d’ailleurs disponible en ce moment.
Vidéoconférence, chat ou email : Florent a le choix de privilégier la façon la plus efficace pour rentrer en contact avec sa collègue. Ce sera par Chat.

Le lendemain de leur échange, Florent reçoit une information complémentaire concernant le projet et décide d’en parler à Caroline. Il décide de la joindre directement depuis DocDokuPLM pour que Caroline soit informée du contexte dans lequel leur échange aura lieu. Lorsqu’elle reçoit l’invitation à la vidéoconférence, Caroline comprend spontanément que Florent souhaite lui reparler du projet Relation Client.

Accéder et consulter chaque entrée à 360°

Pour gagner en efficacité lors de la consultation, chaque document ou élément enregistré dispose :
  • d’une interface de pré-visualisation,
  • de son propre lien permanent ou Permalink, qui permet un échange facilité (par mail, chat ou sur des forums) et stable dans le temps,
  • un accès à la liste des dernières révisions,
  • ainsi que les liens de rattachement vers d’autres documents ou entrées.

Publier en 1 clic en mode public ou privé

La publication d’un élément est simplifiée par la présence d’un bouton unique permettant de mettre un document en ligne, en version publique (dans ce cas, l’entrée sera accessible depuis Internet) ou protégée par mot de passe avec date d’expiration.

Travailler en collaboratif temps réel

DocDokuPLM permet de faire évoluer un document ou une entrée et de partager ses évolutions avec d’autres utilisateurs en temps réel.

Retrouvez un exemple d’application dans cette vidéo d’illustration de ce projet de construction de maquette d’avion.

Encapsuler une pièce 3D

Dans le cas d’un usage par des équipes R&D ou Production par exemple, DocDokuPLM offre la possibilité d’exporter le modèle 3D d’un produit pour pouvoir le partager sur d’autres supports (blog, portail…) : l’ensemble des interlocuteurs concernés échangent donc à partir de la même source d’information, ce qui diminue le temps de préparation des échanges en amont et les potentielles erreurs.


En résumé, DocDoku PLM est une plateforme co-construite pour et par chacun de ses clients mais qui intègre nativement les meilleurs outils de gestion collaborative, orientés temps réel et partage.

Retrouvez-nous au 12ème forum technique des membres d’aerospace Valley

DocDoku participe au 12ème forum des adhérents

Du 16 au 17 mai 2017 se tiendra le 12 ème forum des adhérents d’Aerospace Valley, DocDoku y participera et y sera exposant.

« Digitalisation, quels risques, quelles opportunités pour nos filières ? »

C’est le thème du forum de cette année qui se tiendra au palais des Congrès d’Arcachon. Un thème majeur pour notre société puisque notre coeur de métier est la digitalisation des processus et des données métier des organisations.
Ces sera en effet l’occasion pour nous de présenter notre accélérateur de transformation digitale en notre plateforme open source DocDokuPLM.
N’hésitez donc pas à nous retrouver sur notre stand afin d’échanger sur vos enjeux et vos projets digitaux.
Pour plus d’informations sur le programme, rendez-vous ici sur le site d’Aerospace Valley.

DocDoku sera présent sur Smart Industries 2016, salon de l’industrie du futur

bannière de smart industries

Du 6 au 9 décembre 2016, se déroulera la deuxième édition du salon Smart Industries à Paris Nord Villepinte. DocDoku y participera pendant quatre jours pour oser avec vous l’industrie du futur.

Smart Industries c’est quoi ?

Smart Industries est un salon qui rassemble 300 exposants et 7000 visiteurs autour de 9 parcours thématiques sur l’industrie du futur. C’est également des conférences de qualité, des dizaines de start-up, des démonstrateurs, un grand concours pour les jeunes… le tout parrainé par la présidence de la république et encouragé par l’Alliance pour l’industrie du futur.

Présentation de la plateforme DocDokuPLM

DocDoku y présentera sa plateforme open source DocDokuPLM et ses nouveautés.
Modulaire et digitale, elle conviendra à toutes les organisations industrielles qui rêvent de gagner en productivité.
En effet, notre plateforme permet d’orchestrer les processus industriels, de structurer les données et collaborer efficacement.
N’hésitez-pas à venir nous rencontrer sur notre stand dans le hall 7 stand F25.

Infos pratiques et chiffres clés sur Smart Industries 2016 :

  • Vous pouvez vous inscrire gratuitement ici
  • Du 6 au 9 décembre 2016 à Paris Nord Villepinte (plan d’accès au parc ici)
  • 300 exposants
  • 7 000 visiteurs attendus
  • 1 espace simulation
  • 1 Connect+ Event autour des enjeux de l’IoT

OW2con 2016 : les logiciels open source répondent aux besoins des entreprises

Morgan tech lead logiciel libre

Morgan, notre tech lead

OW2con’16 une huitième édition toujours autant plébiscitée

Morgan, notre tech lead s’est rendu à lOW2con’16 à Paris pour présenter notre plateforme digitale de gestion des données industrielles DocDokuPLM et plus particulièrement son approche PaaS au service du métier des industriels

Retrouvez sa présentation en vidéo ici et en pdf ici.

Pour cette édition l’événement s’est déroulé dans les locaux de Mozilla Paris.

Organisé pour la huitième année consécutive, OW2con’16 est l’événement communautaire annuel qui rassemble les experts, architectes logiciels, développeurs informatiques, chefs de projet et les décideurs de partout dans le monde. Il s’agit d’un événement célèbre par ses présentations et démonstrations de projets open source pertinents et ainsi que sa table ronde.

Du code au produit : relever le défi de la distribution du logiciel open source

Le thème d’OW2con’16 était « Du code au produit : relever le défi de la distribution du logiciel open source”. Un thème qui nous allait donc à merveille. Les présentations ont su démontrer la maturité du logiciel open source, ainsi que sa capacité à s’adapter et à répondre aux différentes problématiques des entreprises.

Qualité et gouvernance logicielle, accessibilité, plate-forme applicative d’entreprise, sécurité, IoT et mobilité ainsi que cloud computing sont des thèmes qui ont été largement abordés lors de cette conférence.

Retour sur Intersud 2016 à Béziers

Evénement incontournable de rencontres industrielles de la grande région

Le 6 septembre 2016, l’équipe de DocDoku s’est rendue à Intersud Béziers, un événement unique, organisé par la CCI de Béziers au stade de la méditerranée. C’était l’occasion pour preneurs et donneurs d’ordres de la région Occitanie de se rencontrer. Pas moins de 122 personnes ont répondu présents à l’invitation.

L’événement était conçu pour les professionnels de l’industrie issus de domaines d’expertise très divers (énergie, aéronautique, numérique, robotique, santé, agroalimentaire, défense, systèmes embarqués ou encore chimie).

Le but était donc de se réunir autour d’entretiens individuels de 30 minutes. De quoi développer son réseau d’affaires et pouvoir construire des projets avec des acteurs forts de la région. Entre rendez-vous individuels et conférences, la journée s’est clôturée par un moment de convivialité et de rencontres autour d’une « troisième mi-temps ».

Intersud Beziers DocDoku et Sinox

Eric Descargues, co-fondateur de DocDoku et Emmanuel Mouton, PDG de Synox

Grâce à une organisation aux petits oignons et dans un cadre exceptionnel, nous avons pu rencontrer à la fois de nombreux donneurs d’ordres et futurs partenaires issus du tissu industriel occitan.

Notre objectif premier était de faire connaître notre plateforme digitale open source DocDokuPLM, dédiée à la gestion des données industrielles, tout en s’inscrivant durablement dans notre nouvelle région.

A l’année prochaine !

Retour sur l’EclipseCon France 2016

StandDocDolu

Comme l’an dernier nous étions présents à l’EclipseCon France, événement incontournable dans le milieu du logiciel libre à Toulouse. Cette année encore l’organisation était sans faille, avec une grande diversité de thèmes (modélisation, IoT, devops…), chacun représenté par des intervenants de grande qualité.DocDokuPLM

DocDoku était en effet présent afin d’y présenter sa plateforme DocDokuPLM. Ceci a donné lieu à de nombreux échanges avec des acteurs industriels de Toulouse, ce qui a permis de constater que nous sommes au coeur de problématiques essentielles telles que l’interopérabilité, l’ouverture de la plate-forme, la sémantique des modèles.

Retour sur quelques présentations auxquelles j’ai eu la chance d’assister.

La modélisation à l’honneur avec Sirius, Papyrus et Capella

La modélisation de logiciels ou de systèmes est une des problématiques majeures développées au sein de la fondation Eclipse.

Étaient présents cette années, entre autres, le CEA avec l’outil Papyrus, Obeo avec l’outil Sirius, et PolarSys avec l’outil Capella.

Chaque outil a ses particularités. Pour ma part j’ai assisté au workshop sur Sirius animé par une équipe très motivée et maîtrisant parfaitement son outil. Sirius a la particularité de permettre la définition de Domain Specific Languages pour ensuite définir des modèles dans ce langage de modélisation.

Mention spéciale à l’équipe du CEA qui est venue avec une véritable usine en Lego de fabrication de petites voitures (en Lego elles aussi), la partie logicielle étant modélisée à l’aide de Papyrus.

Papyrus

Un IoT open source et innovant avec LoRa

L’IoT était très bien représenté, avec notamment la présence de Benjamin Cabé, animateur du meetup IoT-Toulouse, et Johan Stokking, de The Things Network qui a pour but de développer unLoRa réseau mondial et libre permettant la collecte et l’échange de données provenant d’objets connectés.

Ce projet est basé sur la technologie LoRa qui permet la communication à bas débit, par radio, alternative libre à SigFox, et soutenu par une alliance d’entreprises parmi lesquelles nous retrouvons Orange et Bouygues Télécom.

Eclipse Che : la révolution de l’environnement de développement

Eclipse Che, développé par Codenvy (connu pour son service d’IDE dans le cloud) est un outil permettant de gérer des environnements de développement virtualisés dans le cloud.

EclipseCheEclipse Che permet de mettre en place dans le cloud, non seulement un IDE, mais également un environnement d’exécution et de test automatisé du code.

Ceci permet de ne pas avoir à installer tout un environnement de développement/exécution/test sur la machine de chaque développeur. L’IDE en ligne renforce également le travail collaboratif : plusieurs développeurs peuvent éditer en même temps un même fichier (comme sur Google Docs).

L’équipe d’Eclipse Che est jeune et dynamique et de nombreuses améliorations sont à venir en ce qui concerne le pair programing et les tests JUnit.

TypeScript: du typage pour améliorer la scalabilité de JavaScript

TypeScript

Saurez-vous trouver les membres de DocDoku sur cette photo ?

TypeScript nous a été présenté par Sébastien Pertus, évangéliste technique chez Microsoft. TypeScript est en effet un projet libre développé par Microsoft, principalement par Anders Hejlsberg qui est aussi le principal inventeur de C#.

TypeScriptLogoCette présentation était à la fois pleine d’humour et abordait des questions techniques pointues avec des démonstrations de programmation très pertinentes.

TypeScript est à considérer comme un langage de programmation à part entière qui est trans-compilé en JavaScript. Ce nouveau langage ajoute à JavaScript de nombreuses fonctionnalités de typage comparables à ce qu’on retrouve dans le langage Java. On peut citer le typage statique, les classes, les interfaces…

De nombreuses fonctionnalités ajoutés par TypeScript sont maintenant présentes dans ECMAScript Edition 6, mais TypeScript conserve une longueur d’avance en proposant par exemple la notion de décorateur qui permet de programmer avec des annotations. D’autres améliorations sont prévues dans la future version de Javascript comme par exemple les non nullables types.

Tuleap : l’ALM open source

Enfin, l’aspect gestion de cycle de vie des applications/gestion de projet était également présent avec Tuleap développé par Enalean. Tuleap propose un outil de gestion de projet complet intégrant tous les aspects de tous les processus de développement (Cycle en V, Kaban, Scrum, Extreme Programming etc):

  • Intégration des principaux systèmes de configuration  (Git, SVN, CVS)
  • Intégration continue (Jenkins)
  • Wiki
  • Revue de code
  • Gestionnaire de bugs
  • Gestionnaire de post-it configurable style Trello.

 

Encore un grand merci à tous les organisateurs et conférenciers de cet événement et à l’année prochaine !

2016 sera consacrée à coupler l’IoT avec notre plateforme DocDokuPLM

2016 sera consacrée à l’Internet of Things (IoT)

Comme nous l’avions en effet évoqué lors du SIANE 2015, salon des partenaires de l’Industrie du grand sud, sur lequel nous exposions au sein de l’espace de l’Usine du Futur, 2016 sera en effet consacrée à l’IoT pour DocDoku.

La problématique : comment compléter les données théoriques avec les données terrain ?

Notre équipe R&D continue en effet d’innover en travaillant sur une nouvelle brique de notre pateforme capable de rapprocher et d’analyser avec pertinence les données théoriques issues du PLM et les données captées en situation réelle (capteurs physiques restituant au travers d’un IoT gateway les données au PLM).

La demande des industriels pour l’usine du future nous conforte en effet dans notre effort pour compléter notre plateforme DocDokuPLM avec une brique dédiée notamment à la maintenance prédictive permettant ainsi d’améliorer la prédiction des pannes et d’anticiper les défaillances des équipements / produits. Mon prochain billet sera spécialement dédié à ce sujet.

Retour sur notre présence à l’EclipseCon


La seconde édition de l’EclipseCon à Toulouse les 24 et 25 juin derniers, a réuni plus de 300 visiteurs et 18 exposants, tous accueillis dans une ambiance conviviale et chaleureuse par la responsable des relations partenaires, Perri Lavergne.

DocDokuPLM plébiscité par la communauté et la presse

En tant que partenaire de l’événement, aux côtés d’Obeo, IBM, Thales, Codenvy, Eurotech, Intel ou encore Red Hat, une conférence nous a été consacrée nous permettant ainsi de faire découvrir notre plateforme à la communauté Eclipse.

Parmi les visiteurs sur notre stand, nous avons eu un échange passionnant avec Eike Stepper, Consultant Senior IT Software Architect, au sujet du projet CDO (Connected Data Objects) sur la comparaison de graphes dont l’implémentation serait appropriée aux Product Breakdown Structure de notre plateforme.

Nous avons également échangé avec Wayne Beaton, Directeur des projets Open Source de la Fondation Eclipse, au sujet de l’étendue de  l’écosystème Eclipse et de ses nombreuses applications dans l’industrie.

Enfin, les journalistes de Linux Magazine et de L’embarqué étaient également au rendez-vous et en ont profité pour en savoir davantage sur DocDokuPLM.

Des conférences autour de projets novateurs Eclipse

Parmi les différentes conférences données lors de la convention, nous avons pu assister à celle du projet Oomph: l’installateur Eclipse. Celui-ci permet aux nouveaux utilisateurs dès leur première utilisation, des fonctionnalités poussées d’Eclipse. Permettant ainsi une installation très facile et des mises à jour automatisées, l’installateur est aussi capable de paramétrer très facilement son environnement de travail.

Un autre projet très prometteur nous a été présenté: Eclipse Che. Il existe déjà depuis quelques temps, et la société Codeenvy offrant une plateforme de développement nous a présenté tout son potentiel.

En couplant Eclipse Che à Docker, logiciel open source qui automatise le déploiement d’applications dans des conteneurs logiciels, Codeenvy propose un environnement de travail en ligne, déjà paramétré pour tout nouvel utilisateur. L’utilisation via github étant déjà intégré par le système de pull request (demande de validation de mise à jour), cet outil pourrait être l’avenir pour les projets open source.

Nous avons enfin assisté à des conférences autour d’Eclipse sur notamment de nouveaux plugins, l’intégration des technologies IoT dans Eclipse, la communauté et comment participer au projet. Nous avons particulièrement apprécié la conférence sur la place de l’informatique dans les énergies renouvelables : comment celles-ci peuvent-elles répondre aux problématiques que posent l’intégration des énergies renouvelables dans notre consommation et quelles sont les perspectives que l’on peut avoir à court et long terme ?

Pour finir, nous souhaitons remercier l’équipe de la Fondation Eclipse ainsi que les intervenants pour leur accueil et leur dynamisme.

Projet d’innovation : revue de conception produit en temps réel sur le web

Depuis début 2014, nous travaillons en collaboration avec l’IRIT et plus particulièrement l’équipe Vortex, sur un projet de recherche appliquée dans le cadre de l’appel à projets régional Agile IT 2013.

Objectif du projet

L’objectif de ce projet était de créer un Environnement Virtuel Collaboratif (EVC) rendant accessible, manipulable et modifiable la maquette numérique des produits à tous les métiers de l’entreprise.

D’un point de vue logiciel, il s’agissait donc de développer le module web pour :

  • la visualisation collaborative 3D web temps réel,
  • l’édition et la manipulation web de pièces 3D.

Utilisable depuis un navigateur internet, sans qu’il soit nécessaire d’installer le moindre plugin, ce composant logiciel fait donc partie intégrante de notre plateforme digitale open source DocDokuPLM

Fonctionnalités et bénéfices

Bien plus qu’un simple partage d’écrans, notre plateforme permet donc désormais à la fois de réaliser le design du produit en 3D tout en gérant son cycle de vie depuis le même outil, accessible de n’importe où au travers de votre navigateur.

Véritablement extensible, ce module permet de gérer plusieurs EVC (room en anglais) avec plusieurs utilisateurs simultanés. Entièrement développé grâce aux nouveaux standards du Web, ce dernier ne nécessite aucune installation complémentaire.

De plus, ce module offre toute la sécurité que l’on peut en attendre : les participants invités sur l’EVC (ou la room) pour la revue n’auront jamais accès aux documents ou articles sur lesquels ils n’ont pas les droits d’accès.

La vidéo ci-dessous (filmée par téléphone) montre l’utilisation de cette fonctionnalité.

L’ordinateur de droite initie la réunion de groupe (EVC ou room) et invite les utilisateurs connectés (sur l’autre PC à gauche).

Nous vous invitons également à découvrir gratuitement tout cela en créant un compte et un espace de travail sur notre plateforme cloud : http://www.docdokuplm.net

DocDoku rencontre les industriels au salon de l’industrie 2015

INDUS 05

Le salon de l’industrie 2015 a regroupé, au parc des expositions de Lyon, près de 20 500 professionnels des technologies de production.
Confirmation de l’adoption massive des robots notamment intégrés auprès des équipements de productions et machines à commandes numériques pour améliorer le chargement des pièces et outils, et l’efficacité des approvisionnements.
Même tendance dans l’automatisation des postes d’assemblage par les robots.
Il semble également que la chaine d’automatisation commence toujours par la commande papier avec scan du code-barre de cette dernière.
Accent sur l’innovation avec un prix spécial accordé pour un robot collaboratif d’Akéo-Plus capable de déplacer des boîtes de poids et de taille variables tout en détectant les personnes à proximité et en contournant les obstacles.

La transformation numérique des équipementiers industriels est en marche mais reste centrée à l’adoption d’ERP et d’intégration de fonctionnalités numériques autour de la CFAO.
Il semble qu’une fracture numérique apparait entre les grands équipementiers investissant  dans  l’usine intégrée du futur et les ETI/PMI conservant une approche plus traditionnelle (non digitale) en matière de processus métier autour de leurs produits.
Certains intégrateurs métier, comme les experts en programmation de commandes numérique, souhaitent d’ailleurs compléter leurs offres avec l’utilisation de la maquette numérique en le lien avec les bureaux d’études.

Ces constats confirme que DocDoku est idéalement positionnée pour apporter les solutions digitales nécessaires aux organisations industrielles.
Notre plateforme digitale collaborative répond en effet aux besoins des PMI/ETI industrielles voulant évoluer rapidement et simplement vers la gestion électronique des documents techniques, puis vers la gestion de leurs produits, et de manière homogène et logique.

Les rencontres avec les industriels et les intégrateurs ont été prometteuses d’opportunités. Je vous recommande donc ce très bon salon pour l’année prochaine.

Les tests unitaires avec Mockito

Les tests unitaires

Egalement appelés « TU », ils sont destinés à tester une unité du logiciel. Afin d’être vraiment unitaires, ils doivent être en totale isolation pour ne tester qu’une classe et qu’une méthode à la fois.

Tester le bon comportement de son application c’est bien, détecter les éventuelles régressions c’est encore mieux ! Et c’est là que réside tout l’intérêt d’écrire des TU.

De la théorie… à la bonne pratique

Un test unitaire doit être véritablement unitaire. Pour cela, les appels aux services, aux bases de données et fichiers doivent être évités. Le TU doit s’exécuter le plus rapidement possible afin d’avoir un retour quasi immédiat.

Un TU faisant partie intégrante du code applicatif, les pratiques suivantes sont recommandées :

  • il doit respecter les conventions de code
  • il doit être simple et lisible,
  • il ne doit tester qu’un  seul comportement à la fois
  • il doit faire le moins d’appel possible aux dépendances
  • l’utilisation de mocks est recommandée pour fiabiliser les TU.

Un mock est un objet qui permet de simuler un objet réel tel que la base de données, un web service…

L’approche TDD (Test Driven Development) reste la meilleure solution pour éviter que les tests soient écrits à la fin du développement de l’application.

Frameworks de mock

L’écriture d’objets de type mock peut s’avérer longue et fastidieuse, les objets ainsi codés peuvent contenir des bugs comme n’importe quelle portion du code. Des frameworks ont donc été conçus pour rendre la création de ces objets fiable et rapide.

La plupart des frameworks de mock permettent de spécifier le comportement que doit avoir l’objet mocké avec :

  • les méthodes invoquées : paramètres d’appel et valeurs de retour,
  • l’ordre d’invocation de ces méthodes,
  • le nombre d’invocations de ces méthodes.

Les frameworks de mock permettent de créer dynamiquement des objets généralement à partir d’interfaces ou de classes. Ils proposent fréquemment des fonctionnalités très utiles au-delà de la simple simulation d’une valeur de retour comme :

  • la simulation de cas d’erreurs en levant des exceptions,
  • la validation des appels de méthodes,
  • la validation de l’ordre de ces appels,
  • la validation des appels avec un timeout.

Plusieurs frameworks de mock existent en Java, notamment :

  • EasyMock,
  • JMockIt,
  • Mockito,
  • JMock,
  • MockRunner.

Dans ce qui suit, nous allons détailler le framework Mockito.

Mockito

mockito

C’est un framework Java très connu permettant de générer automatiquement des  objets ‘mockés‘. Couplé avec JUnit, il permet de tester le comportement des objets réels associés à un ou des objets ‘mockés’ facilitant ainsi l’écriture des tests unitaires.

Configuration du projet

Pour intégrer Mockito à son projet, il suffit simplement de rajouter la dépendance Maven :

<dependency>

<groupid>org.mockito</groupid>

<artifactid>mockito-all</artifactid>

<version>1.9.5</version>

</dependency>

Deux manières sont possibles pour intégrer Mockito dans les tests Junit :

1- Ajouter l’annotation @RunWith (MockitoJunitRunner.class) à la classe de test :

@RunWith(MockitoJunitRunner.class)

public class MyTestClass {

}

2- Faire appel à la méthode initMocks dans la méthode de SetUp :

@Before

public void setUp() {

MockitoAnnotations.initMocks(this);

}

Création d’objets mockés avec @Mock

La création d’objets mockés se fait soit en appelant la méthode mock(), soit en rajoutant l’annotation @Mock pour les instances de classes.

User user = Mockito.mock(User.class);

ou

@Mock

User user;

Mockito encapsule et contrôle tous les appels effectués sur l’objet User. Ainsi user.getLogin() retournera tout le temps null si on ne « stubb » pas la méthode getLogin().

Définition du comportement des objets mockés ou « Stubbing »

Le stubbing permet de définir le comportement des objets mockés face aux appels de méthodes sur ces objets. Plusieurs méthodes de stubbing sont possibles :

  1. Retour d’une valeur unique

Mockito.when(user.getLogin()).thenReturn(‘user1’); //la chaine de caractères user1 sera renvoyée quand la méthode getLogin() sera appelée.

  1. Faire appel à la méthode d’origine

Mockito.when(user.getLogin()).thenCallRealMethod();

  1. Levée d’exceptions

Mockito.when(user.getLogin()).thenThrow(new RuntimeException());

Il faut noter que la méthode retournera toujours la valeur stubbée, peu importe combien de fois elle est appelée . Si on stubb la même méthode ayant la même signature plusieurs fois, le dernier stubbing sera pris en compte.

Mockito.when(user.getLogin()).ThenThrow(new RuntimeException()).ThenReturn(« foo »);

Ici le premier appel va lever une exception, tous les appels qui suivront retourneront « foo ».

  1. Retours de valeurs consécutives

Mockito.when(user.getLogin()).thenReturn(‘user1’,’user2’,’user3’);

Le premier appel retourne user1, le deuxième retournera user2 le troisième user3. Tous les appels qui suivent retourneront la dernière valeur c’est à dire user3.

  1. Ne rien retourner

 Mockito.doNothing().when(user.getLogin());

Espionner un objet avec @Spy

Au lieu d’utiliser l’annotation @Mock, nous pouvons utiliser l’annotation @Spy. La différence entre les deux réside dans le fait que la deuxième permet d’instancier l’objet mocké, ce qui peut être très utile quand nous souhaitons mocker une classe et non pas une interface.

Une autre différence est à signaler est le stubbing. Si nous ne redéfinissons pas le comportement des méthodes de l’objet espionné, les méthodes réelles seront appelées, alors qu’avec @Mock, nous sommes obligés de spécifier leurs comportements, sinon la valeur nulle est retournée par défaut. Dans l’exemple qui suit la méthode getLogin() sera appelée.

@Spy

User user = new User(‘user1’);

user.getLogin() // retourne user1

Vérification d’interactions @Verify

@Verify permet de vérifier qu’une méthode a été bien appelée et que que les interactions avec le mock sont celles attendues.

Nous pouvons également vérifier le nombre total de fois ou la méthode a été appelée (atMost(3),atLeastOnce(),never(),times(5)) , l’ordre des invocations des objets mockés en utilisant inOrder() et aussi vérifier si une méthode a été invoquée avant la fin d’un timeout. Nous pouvons également ignorer les appels stubbés en utilisant ignoreStubs() et aussi vérifier qu’il n y’a pas eu  d’interaction en utilisant verifyNoMoreInvocations().

verify(user).getLogin();

//le test passes si getLogin() est appelée avant la fin du timeout

verify(mock, timeout(100)).getLogin();

Injection

Mockito permet également d’injecter des resources (classes nécessaires au fonctionnement de l’objet mocké), en utilisant l’annotation @InjectMock. L’injection est faite soit en faisant appel au constructeur, soit en faisant appel au ‘setter’ ou bien en utilisant l’injection de propriétés.

public Class DocumentManagerBeanTest{

@Mock EntityManager em;

@Mock UserManager userManager;

@Spy RoleProvider role = new RoleProvider();

@InjectMocks DocumentManagerBean docBean;

@Before public void initMocks() {

MockitoAnnotations.initMocks(this);

}

@Test

public void uploadDocument(){

docBean.uploadDoc(file);

}

}

public Class DocumentManagerBean {

private EntityManager em;

UserManager user;

RoleProvider role

public String uploadDoc(String file){

if (user.hasAcess()){

em.checkFileExists(file);

….

}

}

}

Conclusion

Mockito est un framework de mock qui, associé à Junit, permet :

  • une écriture rapide de tests unitaires,
  • de se focaliser sur le comportement de la méthode à tester en mockant les connexions aux bases de données, les appels aux web services …

Cependant il a certaines limitations, en effet , il ne permet pas de mocker :

  • les classes finales,
  • les enums,
  • less méthodes final,
  • les méthodes static,
  • les méthodes privées,
  • les méthodes hashCode() et equals().

Aussi, les objets ‘mockés’ doivent être maintenus au fur et à mesure des évolutions du code à tester.

Interviews DocDoku & Aerospace Valley

François Dorgeret, en charge des projets innovants au sein du pôle Aerospace Valley, et moi-même avons participé à une interview dans le cadre du salon SIANE 2014.
L’occasion pour nous de présenter notre vision de l’usine du future et la manière dont elle est abordée au sein de son DAS chez Aerospace Valley.

Salon Solutions Linux, Paris les 28 et 29 mai 2013 : découvrez notre solution innovante DocDokuPLM

Linux_03

Nous serons présents au salon Solution Linux & Open Source les 28 et 29 mai 2013 au CNIT – Paris La Défense.

Venez donc nombreux sur notre stand (D12) découvrir notre solution innovante DocDokuPLM qui vous permet, entre autres, depuis un simple navigateur (sans auncun plugin ou installation) et depuis n’importe quelle plateforme (PC, Mac, Tablette, Smartphone) de :

– Visualiser vos modèles 3D.

– Collaborer par chat et visio-conférence.

Cliquez ici pour obtenir votre badge d’accès gratuit.

Retour sur le salon SIANE 2012 avec DocDokuPLM

Exposant pour la première année sur le salon SIANE (Salon des Partenaires de l’Industrie du Grand-Sud) qui avait lieu du 23 au 25 octobre 2012 au Parc des Expositions de Toulouse, je vous propose ici notre REX sur ce salon.

Stand SIANE-DocDokuPLM

Notre première participation était pour nous l’occasion de continuer de promouvoir au sein du tissu industriel régional, national et international notre solution innovante DocDokuPLM et donc également de capter sur le terrain les besoins des industriels en matière de PLM.

Nous avons ainsi rencontré un grand nombre d’industriels et de partenaires sur ce salon, ce qui nous a réellement permis de confronter les besoins concrets des entreprises avec notre solution innovante de PLM. Il est en effet toujours indispensable de garder à l’esprit que la technologie n’a de réelle valeur que si elle est au service des usages.

En résumé donc, je retiendrais que les industriels sont très captifs au fort ROI que propose notre solution Open Source.

En effet, nous avons noté que trois éléments technico-économiques ont retenu l’attention de tous nos visiteurs lors de ce salon :

– la possibilité de visualiseur tous types de modèles  3D  (Catia, Inventor, AutoCAD, NX…) sur tous types de terminaux (PC/Mac/Tablettes/Smartphones) directement dans le navigateur internet sans aucune installation ou plugin,
– notre modèle de coût non proportionnel au nombre de postes déployés puisque aucun déploiement nécessaire (donc pas de coût de licence, modèle Open Source), ceci permettant de ne pas limiter les usagers et les usages pour encore plus de ROI,
– la facilité d’intégration de notre solution moderne et résolument orientée web et cloud-ready avec l’existant (CAO, autre PLM, ERP, applications métiers…).

Mais nous avons surtout constaté que les avantages technico-écoonomiques de notre solution procurent une réelle valeur ajoutée métier au sein des industries puisque capables de susciter des nouveaux usages :

– pour le partage des données autour des modèles 3D dans un contexte d’entreprise encore plus étendue (entre clients, fournisseurs et partenaires) grâce au cloud,
– pour une meilleure information produit en situation de mobilité lors des phases d’assemblage et de maintenance,
– pour les managers souhaitant visualiser simplement l’avancement du produit, le montrer et communiquer atour de ce dernier,
– pour le marketing et les commerciaux pouvant enfin disposer simplement depuis n’importe où de la dernière version produit en clientèle !

Enfin, nous avons également relevé une fonctionnalité qui nous a été demandée à plusieurs reprises et qui sera donc prochainement incluse dans notre roadmap  : la possibilité d’effectuer des relevés ou mesures 3D des produits directement sur le modèle 3D, très utile pour les opérationnels mais également pour les utilisateurs devant réaliser des devis et tarifer selon les dimensions des solides.

Bilan extrêmement positif et enrichissant donc pour ce salon SIANE 2012 avec quelques contacts très intéressants à approfondir !

Pour information, le prochain salon où nous serons présent avec DocDokuPLM est un salon international plus orienté grands comptes de l’aéronautique et du spatial,du 4 au 6 décembre 2012 à Toulouse : Aeromart 2012.

DocDokuPLM winner of the Open World Forum Demo Cup 2012

That’s with a great pleasure that we received an Innovation Award for the demo cup at the Open World Forum which took place the 11, 12 and 13th october 2012.

The demo cup consisted of presenting our open source software in a time boxed format of 7 minutes! That was a very funny and challenging exercise, especially with a jury composed of experts and an audience hard to impress.

So, I made a live demo of DocDokuPLM.

DocDokuPLM - Digital MockUp inside your browser

I started with the classical login screen, then quickly went through the document management module. I didn’t take much time on this part of the software as document management is becoming a commodity nowadays. However I explained that our DM is not as classical as it seems in the sense that it follows the PLM industry terminologies and definitions, especially those defined in the « OMG PLM services » and the STEP standards.

After that, I came to what was the heart of my presentation: the DMU (Digital Mock-Up) inside the browser without any plugin. I demonstrated how we can rotate, zoom in or out and move the product model. I showed how to hide/display specific assembly parts just by clicking on checkboxes.

Then I played with the layers and markers functions of our tool that allow to pin notes directly on the model.

At last, I finished my demo with an impressive mashup feature that permits to publish the whole model in any blog, wiki, forum exactly like what we can do with youtube or dailymotion videos.

Finally we were the first team to be called on stage to receive our prize quickly followed by Blue Mind that proposes a messaging and calendar solution and by Hippo with their HippoCMS which is a context sensitive CMS system.

DocDokuPLM - OWF2012 democup winner