Desruelle luc : les outils qui nous veulent du bien

58
www.mesulog.fr Les outils qui nous veulent du bien Plus de temps pour développer en LabVIEW Luc DESRUELLE Certifié LabVIEW Architect - MESULOG Rhône-Alpes LUG : Rencontre développeurs 04/07/2013

description

Présentation réalisée lors de la rencontre développeur du 4 juillet 2013, par Mesulog - Luc Desruelle - Les Outils Qui Nous Veulent Du Bien Sous-titre : Plus de temps pour développer en LabVIEW

Transcript of Desruelle luc : les outils qui nous veulent du bien

Page 1: Desruelle luc : les outils qui nous veulent du bien

www.mesulog.fr

Les outils qui nous veulent du bien Plus de temps pour développer en LabVIEW

Luc DESRUELLE – Certifié LabVIEW Architect - MESULOG

Rhône-Alpes LUG : Rencontre développeurs 04/07/2013

Page 2: Desruelle luc : les outils qui nous veulent du bien

La société MESULOG en bref

Activité : Développement logiciel test et mesure

Compétences : LabVIEW (Windows, RT, DSC, PDA, FPGA),

TestStand

VeriStand

Localisation : Grenoble (Moirans, 38)

Partenaire National Instruments (2001)

Développeurs certifiés LabVIEW et TestStand

www.mesulog.fr (exemples de réalisation)

Juillet 2013 Les logiciels qui vous veulent du bien 2

Page 3: Desruelle luc : les outils qui nous veulent du bien

La société MESULOG en bref

Ils nous ont fait confiance : AREVA T&D

ALSTOM Grid

ATMEL

BEAMIND

CEA (Commissariat à l'Énergie Atomique)

CETIAT (Centre Technique des Industries Aérauliques et Thermiques)

CNES (Centre National d'Études Spatiales)

CNRS (Centre National de la Recherche Scientifique)

EDF

HONEYWELL Security

LNE (Laboratoire National d'Essais)

NIST (National Institute of Standards and Technology)

NMIJ (National Metrology Institute of Japan)

PECHINEY

RADIALL

STMicroelectronics

THALES

VALEO

...

Juillet 2013 Les logiciels qui vous veulent du bien 3

Page 4: Desruelle luc : les outils qui nous veulent du bien

Luc DESRUELLE

Chef Projet

FORUMS

CLA

Le présentateur

Juillet 2013 Les logiciels qui vous veulent du bien 4

Page 5: Desruelle luc : les outils qui nous veulent du bien

Le constat

Le constat « amiable » de la gestion de projet

Juillet 2013 Les logiciels qui vous veulent du bien 5

Page 6: Desruelle luc : les outils qui nous veulent du bien

Exemples d’erreurs : bombe à retardement

Ne pas savoir où trouver de l’aide

Pas de logiciel de gestion version

Pas de centralisation de l’Information

Pas d’Analyse - ni Test du code source

Attendre la fin du projet pour générer l’exécutable

Pas de gestion de la machine de développement

Juillet 2013 Les logiciels qui vous veulent du bien 6

Page 7: Desruelle luc : les outils qui nous veulent du bien

Le constat

Juillet 2013 Les logiciels qui vous veulent du bien 7

Départ gestion

projet

Faire vite

ou bien?

Gestion Projet :

Spécifications

Réalisation Tâches

Gestion code source

Tests du code

Livrables

Distributions

Gestion Versions

Suivi des bugs

Documentation

Support

Evolutions

Machine de Dévelop.

Les bons

outils?

Plus de

temps

Coder

vite ou

bien

Livrer

code

Evolution

Traçabilité

Version

support

Gestion projet :

Juste avec

un bloc notes

et

un stylo MESULOG?

VITE

BIEN

NON

BIEN

NON

Bien

Coder

OUI

VITE

Autre

présentation

Page 8: Desruelle luc : les outils qui nous veulent du bien

Du Temps pour coder

Notre métier : chef de projet – développeur - Passionné…

du développement LabVIEW

Mais…

Combien de temps passez-vous à coder ?

Juillet 2013 Les logiciels qui vous veulent du bien 8

70% : Technicien Développeur

30% : Chef de projet

10% - 20% : Architecte LabVIEW

Pas beaucoup de temps pour coder

Page 9: Desruelle luc : les outils qui nous veulent du bien

Le but : trouver du temps pour coder

Discuter – Partager

Une vrai boite à outils pour trouver plus de temps pour coder

Juillet 2013 Les logiciels qui vous veulent du bien 9

Page 10: Desruelle luc : les outils qui nous veulent du bien

Sommaire

L’histoire dont vous êtes le héros

Où trouver de l’aide?

Zoom sur : logiciel de gestion de code source

FORGE (?)

Logiciels d’analyse et test de National Instruments

Autres outils dans la boite à outils

Zoom sur : Machine Virtuelle

Juillet 2013 Les logiciels qui vous veulent du bien 10

Page 11: Desruelle luc : les outils qui nous veulent du bien

Où trouver de l’aide ?

Juillet 2013 Les logiciels qui vous veulent du bien 11

Page 12: Desruelle luc : les outils qui nous veulent du bien

Où trouver de l’aide ?

La communauté travaille pour vous

2 Forums National Instruments Francophone http://forums.ni.com/t5/Discussions-au-sujet-de-NI/bd-p/4171

http://forums.ni.com/t5/Discussions-au-sujet-des-autres/bd-p/4170

1 communauté Francophone https://decibel.ni.com/content/community/regional/france/labview

Rencontre développeurs

Mais aussi… l’ensemble des forums et communautés de NI LabVIEW Development Best Practices

ni.com/largeapps

Des articles sur le site de NI + LAVA

« Le logiciel ne se limite pas au code » de l'équipe JKI

http://zone.ni.com/devzone/cda/pub/p/id/1743

Juillet 2013 Les logiciels qui vous veulent du bien 12

Page 13: Desruelle luc : les outils qui nous veulent du bien

Logiciel de gestion de code source

Quel logiciel se cache derrière le « Graphique de révision »?

(Lien entre l’ensemble des versions d’un logiciel)

Juillet 2013 Les logiciels qui vous veulent du bien 13

Page 14: Desruelle luc : les outils qui nous veulent du bien

Logiciel de gestion de code source

Juillet 2013 Les logiciels qui vous veulent du bien 14

Page 15: Desruelle luc : les outils qui nous veulent du bien

Logiciel de gestion de code source

Le contrôle du code source est l'un des aspects les plus

importants du développement logiciel

Simple à mettre en œuvre

Mais aussi trop négligé

Qui utilise un logiciel de gestion code source?

Lequel?

Mais quelle utilité??

Juillet 2013 Les logiciels qui vous veulent du bien 15

Page 16: Desruelle luc : les outils qui nous veulent du bien

Version d'un logiciel VS révision Fichier

http://fr.wikipedia.org/wiki/Version_d%27un_logiciel

Les logiciels évoluent = versions du logiciel

Chaque étape d'avancement = version

Version = modifications de fichiers (code, vi)

« révision » d’un fichier VS la « version » d'un logiciel.

Cette activité étant fastidieuse et complexe, un appui

logiciel est presque indispensable.

Juillet 2013 Les logiciels qui vous veulent du bien 16

Page 17: Desruelle luc : les outils qui nous veulent du bien

Gestion de code source : Pourquoi ?

Un logiciel de gestion de code source pourquoi?

Pour répondre à :

Comment faire pour gérer les révisions du code source ?

Comment gérer les versions des exécutables ?

Comment travailler à plusieurs développeurs ?

Comment faire des tests et les conserver ?

Comment revenir sur une ancienne version?

….

Juillet 2013 Les logiciels qui vous veulent du bien 17

Page 18: Desruelle luc : les outils qui nous veulent du bien

Logiciel Gestion de code source

Source Code Control : SCC

Agit sur une arborescence de fichiers afin de :

Conserver toutes les révisions des fichiers (Historique)

Ajouter un commentaire pour chaque livraison.

Identifier & retrouver le code source des différentes versions du

logiciel.

Aider aux développements multi-développeur (gestion conflits)

… beaucoup d’autres fonctionnalités

Juillet 2013 Les logiciels qui vous veulent du bien 18

Page 19: Desruelle luc : les outils qui nous veulent du bien

SCC : Histoire

1972 Source Code Control

System (SCCS) est un système

de gestion de versions pour les

Systèmes d’IBM .

Puis RCS, CVS, puis

Subversion, Mercurial, Git,...

Juillet 2013 Les logiciels qui vous veulent du bien 19

Logiciel de gestion de versions

Gestion locale

Logiciels libres GNU RCS (1982)

GNU CSSC

Logiciels

propriétaires PVCS (1985)

D'importance

historique SCCS (1972)

Client-serveur

Logiciels libres

CVS (1990)

CVSNT (1992)

SVN (2000)

Logiciels

propriétaires

Rational ClearCase

(1992)

CCC/Harvest

(Années 70)

CMVC (1994)

Visual SourceSafe

(1994)

Perforce (1995)

AccuRev SCM

(2002)

Sourceanywhere

(2003)

Rational Synergy

(2006)

Décentralisé

Logiciels libres

GNU arch (2001)

Darcs (2002)

DCVS (2002)

SVK (2003)

Monotone (2003)

Codeville (2005)

Git (2005)

Mercurial (2005)

Bazaar (2005)

Fossil (2007)

Veracity (2011)

Logiciels

propriétaires

BitKeeper (1998)

Plastic SCM (2007)

Page 20: Desruelle luc : les outils qui nous veulent du bien

Zoom sur Subversion

Subversion (en abrégé svn)

Logiciel Libre

Mode client-serveur, avec :

Un Serveur unique :

les fichiers constituant la référence (le « dépôt » ou « référentiel »)

un logiciel serveur Subversion tournant en 'tâche de fond'

Des postes clients :

les fichiers recopiés depuis le serveur, éventuellement modifiés

localement depuis,

un logiciel client permettant la synchronisation entre chaque

client et le serveur de référence

Juillet 2013 Les logiciels qui vous veulent du bien 20

Page 21: Desruelle luc : les outils qui nous veulent du bien

Un logiciel client SVN : TortoiseSVN :

Son nom vient de l'anglais Tortoise, « Tortue »

Logiciel Libre

S’intègre à l'explorateur de Windows :

Superposition d'icône aux répertoires et fichiers permettant de

visualiser instantanément l'état

« Menu contextuel » des actions

Juillet 2013 Les logiciels qui vous veulent du bien 21

Page 22: Desruelle luc : les outils qui nous veulent du bien

Architecture SCC Client - Serveur

Architecture

Juillet 2013 Les logiciels qui vous veulent du bien 22

Serveur SVN

Avec Dépot ou

repository

Client SVN

Par exemple

TortoiseSVN

Client SVN

Par exemple

TortoiseSVN

Client SVN

Par exemple

TortoiseSVN

Page 23: Desruelle luc : les outils qui nous veulent du bien

SCC : création du dépôt

Création du dépôt sur le serveur

Juillet 2013 Les logiciels qui vous veulent du bien 23

Chemin du dépôt : Trunk Tags branches

Page 24: Desruelle luc : les outils qui nous veulent du bien

SCC : Extraire le dépôt

Exemple : Extraire sur un client

Juillet 2013 Les logiciels qui vous veulent du bien 24

Page 25: Desruelle luc : les outils qui nous veulent du bien

SCC : commit ou livraison

Exemple : Commit ou livraison par un des clients

Juillet 2013 Les logiciels qui vous veulent du bien 25

Page 26: Desruelle luc : les outils qui nous veulent du bien

SCC : Update ou Mettre à jour

Exemple : Mettre à jour ou Update par un autre client

Juillet 2013 Les logiciels qui vous veulent du bien 26

Page 27: Desruelle luc : les outils qui nous veulent du bien

SCC : Revert ou Revenir en arrière

Exemple : revenir en arrière ou Revert

Juillet 2013 Les logiciels qui vous veulent du bien 27

Page 28: Desruelle luc : les outils qui nous veulent du bien

SCC : Etiquette & journal

Exemple : Tag ou étiquette : retrouver une

version

Exemple : journal

Juillet 2013 Les logiciels qui vous veulent du bien 28

Page 29: Desruelle luc : les outils qui nous veulent du bien

SCC : Trunk – Branches - Tags

Trunk (s)

Branches

Tags : nom

Juillet 2013 Les logiciels qui vous veulent du bien 29

Page 30: Desruelle luc : les outils qui nous veulent du bien

Popularités des logiciels SCC

Juillet 2013 Les logiciels qui vous veulent du bien 30

Source: 2010 ni.com/largeapps survey

10

48

1 1 1 4 3

0

10

20

30

40

50

60

Perforce Subversion ClearCase Git VSS Mecurial none

Page 31: Desruelle luc : les outils qui nous veulent du bien

Inconvénient de SVN : pas intégré par NI

Juillet 2013 Les logiciels qui vous veulent du bien 31

Native LabVIEW Integration

Perforce

Integration Through Standard API

Microsoft Visual SourceSafe

Microsoft Team System

Rational ClearCase

PCVS (Serena) Version Manager

MKS Source Integrity

Seapine Surround SCM

Borland StarTeam

Telelogic Synergy

ionForge Evolution

Support through additional add-ons

Subversion

Mecurial

Page 32: Desruelle luc : les outils qui nous veulent du bien

Pour aller plus loin

Gestion utilisateurs – mot de passe

Accès https

Branches

Merge

Lock

…..

Juillet 2013 Les logiciels qui vous veulent du bien 32

Page 33: Desruelle luc : les outils qui nous veulent du bien

FORGE ?

FORGE ? Pour les Pro ?

Juillet 2013 Les logiciels qui vous veulent du bien 33

Page 34: Desruelle luc : les outils qui nous veulent du bien

Bug tracker : outil de gestion de bug

Identifier, Diffuser, sauvegarder

Associer à une version de code

Correctif code et distribution

Quelques exemples

FogBugz

Mantis

Bugzilla

Tuleap

Gestion Tâche – bug – livrable, autres

Juillet 2013 Les logiciels qui vous veulent du bien 34

Page 35: Desruelle luc : les outils qui nous veulent du bien

Gestion Tâche – bug – livrable, autres

Diffusion documentation

Box (box.com)

Tuleap

Diffusion du « logiciel »

Serveur FTP

Tuleap

Gestion des tâches

Trello

Tuleap

Intégration Continue

Jenkins

Juillet 2013 Les logiciels qui vous veulent du bien 35

Page 36: Desruelle luc : les outils qui nous veulent du bien

Beaucoup de logiciels MAIS Logiciels séparés….

FORGE?

Système qui gère « les développements collaboratif de logiciel »

Système simple et efficace

Regroupe les outils

Chez MESULOG : TULEAP

FORGE

Juillet 2013 Les logiciels qui vous veulent du bien 36

Page 37: Desruelle luc : les outils qui nous veulent du bien

TULEAP

Mettre à disposition de tous les acteurs autorisés,

l'ensemble des données du projet :

Documentation (doc #ID)

Code source (gestion sous Subversion, https, svn #ID)

Exécutables, installeurs (release #ID unique)

Suivi de tâches (task #ID unique)

Suivi de bugs (bug #ID unique)

Espace de téléchargement FTP

Forums de discussion et wiki

Les commentaires SVN sont croisés avec les tags #ID unique

des bugs - livrable - task. L'historique du projet est ainsi

redoutable.

Juillet 2013 Les logiciels qui vous veulent du bien 37

« La Suite ALM 100% Open-Source»

Page 38: Desruelle luc : les outils qui nous veulent du bien

Test et Analyse du code

Test et Analyse du code

Juillet 2013 Les logiciels qui vous veulent du bien 38

Requirements

Gathering

Application

Architecture Development

Testing and

Validation Deployment

LabVIEW

VI Analyzer

LabVIEW Desktop

Execution Trace

LabVIEW Unit

Test Framework

Page 39: Desruelle luc : les outils qui nous veulent du bien

Test et Analyse du code

Juillet 2013 Les logiciels qui vous veulent du bien 39

High Risk Low Risk

Debugging &

Testing

Dynamic Code Analysis Real Time

Execution Trace

Static Code Analysis

Functional Validation

of Code Unit Test

Framework

Ad

van

ced

S

imp

le

Application Criticality

Desktop

Execution Trace

VI Analyzer

Toolkit

Page 40: Desruelle luc : les outils qui nous veulent du bien

VI Analyser

Automatise l’analyse du

code via 80 fonctions

Performance

Style

Documentation

Complexité

Possibilité d’ajouter des

fonctions de test (LV 2010)

Juillet 2013 Les logiciels qui vous veulent du bien 40

Page 42: Desruelle luc : les outils qui nous veulent du bien

Desktop Execution Trace Toolkit

Juillet 2013 Les logiciels qui vous veulent du bien 42

Trace During Run-Time:

• Event Structures

• Memory Allocation

• Queues / Notifiers

• Reference Leaks

• Thread ID

• Unhandled Errors

• Dynamic / Static SubVIs

• Custom User Strings

Page 43: Desruelle luc : les outils qui nous veulent du bien

LabVIEW Unit Test Framework

Juillet 2013 Les logiciels qui vous veulent du bien 43

VI Under Test

Input Values Output

Expected Output Unit Test

Framework Automated

Report Generation

Test vector = Input value(s) + Expected

output(s)

Page 44: Desruelle luc : les outils qui nous veulent du bien

Autres Outils

Juillet 2013 Les logiciels qui vous veulent du bien 44

Page 45: Desruelle luc : les outils qui nous veulent du bien

Package Manager

Juillet 2013 Les logiciels qui vous veulent du bien 45

http://jki.net/vipm/download et http://www.ni.com/white-paper/11611/en/

Télécharger les incontournables : openG.org

Page 46: Desruelle luc : les outils qui nous veulent du bien

PSR de Windows???

L'enregistreur d'action utilisateur ... de Windows

Fonction cachée de Windows 7.

Enregistrer actions utilisateur à effectuer.

Sauvegarde directement du descriptif des actions, images

et commentaires dans un fichier .mht

Dans le menu Démarrer de Windows, tapez les lettres "PSR":

Juillet 2013 Les logiciels qui vous veulent du bien 46

Page 47: Desruelle luc : les outils qui nous veulent du bien

AUTOIT

Automatiser des tâches communes :

contrôle de site Web,

contrôle de réseau,

la défragmentation de disques

sauvegarde.

Simuler des actions utilisateurs : un script pilote une

application en lieu et place d'un contrôle manuel

pendant le test d'un logiciel.

Démonstration

Juillet 2013 Les logiciels qui vous veulent du bien 47

Page 48: Desruelle luc : les outils qui nous veulent du bien

Intégration Continue : Jenkins

Suivre la santé de votre projet

L'intégration continue vérifier à chaque modification de

code source que le résultat des modifications ne produit

pas de régression dans l'application développée.

Modifications de code -> Compiler et tester votre

application.

Si erreur avertir les développeurs afin qu'ils puissent

tout de suite corriger le problème.

Juillet 2013 Les logiciels qui vous veulent du bien 48

Page 49: Desruelle luc : les outils qui nous veulent du bien

Autres

Notepad ++

FileZilla

Axialis

Jenkins : intégration continue

…..

Les VOTRES ?

Juillet 2013 Les logiciels qui vous veulent du bien 49

Page 50: Desruelle luc : les outils qui nous veulent du bien

Machine Virtuelle

Juillet 2013 Les logiciels qui vous veulent du bien 50

Page 51: Desruelle luc : les outils qui nous veulent du bien

Machine Virtuelle : définition

But : Virtualiser la plate-forme de développement

Virtualisation : simuler l'existence de plusieurs machines

informatiques sur une seule.

Juillet 2013 Les logiciels qui vous veulent du bien 51

Machine virtuelle illusion d'un appareil

informatique créée par un logiciel

d'émulation.

Simule la présence des ressources

matérielles et logicielles (mémoire,

processeur, disque dur, système

d'exploitation, pilotes)

Page 52: Desruelle luc : les outils qui nous veulent du bien

Machine Virtuelle : définition

hyperviseur une plate-forme de virtualisation qui permet

à plusieurs systèmes d'exploitation de travailler sur une

même machine physique en même temps

Juillet 2013 Les logiciels qui vous veulent du bien 52

Type 2 : VMware, VirtualBox, VirtualPC, sont quelques

logiciels de virtualisation

Page 53: Desruelle luc : les outils qui nous veulent du bien

Machine Virtuelle : Exemples

Virtualisation des serveurs est le modèle le plus courant.

plusieurs serveurs virtuels sur un serveur physique

OS moderne simule une machine qui exécute MS-DOS;

Machine de développement : une machine virtuelle par

plate-forme de développement (PDA, Windows, linux,..)

Juillet 2013 Les logiciels qui vous veulent du bien 53

Page 54: Desruelle luc : les outils qui nous veulent du bien

+ et - pour le développement

Les avantages Sécurisation des plates-formes de développement (quelques

fichiers à copier) : sauvegarde – retour en arrière possible.

Installation, déploiement et migration facile des machines virtuelles d’une machine physique à une autre (copier – coller)

Une machine virtuelle par version de LabVIEW : plus de conflit de version

Facilité pour test de driver et logiciel

Les Inconvénients Le matériel est virtualisé donc lenteur réseau, port série, USB,…

Le matériel est virtualisé donc difficulté à installer un véritable matériel par exemple matériel National Instruments

Conseillé d’utiliser une « Grosse » machine physique (8 Go RAM, processeurs muli-core,

Gestion des licences : une Machine Virtuelle = une licence

Taille sur le disque de la machine virtuelle et de ses snapshots

Juillet 2013 Les logiciels qui vous veulent du bien 54

Page 55: Desruelle luc : les outils qui nous veulent du bien

Oracle VM VirtualBox

Logiciel libre par Oracle

Juillet 2013 Les logiciels qui vous veulent du bien 55

Page 56: Desruelle luc : les outils qui nous veulent du bien

PODIUM

Juillet 2013 Les logiciels qui vous veulent du bien 56

Page 57: Desruelle luc : les outils qui nous veulent du bien

liens

http://fr.wikipedia.org/wiki/TortoiseSVN

http://fr.wikipedia.org/wiki/Version_d%27un_logiciel

https://tuleap.net/?utm_source=forge&utm_medium=f

orge&utm_campaign=forge

http://www.enalean.com/produits/tuleap/

http://fr.wikipedia.org/wiki/Machine_virtuelle

https://fr.wikipedia.org/wiki/Jenkins_(informatique)

ni.com/largeapps

Juillet 2013 Les logiciels qui vous veulent du bien 57

Page 58: Desruelle luc : les outils qui nous veulent du bien

Questions

Juillet 2013 Les logiciels qui vous veulent du bien 58