Linux Embarqué. Réussir son projet. Gilles BLANC RTS 2011, 31/03/2011 http://gillesblanc.com contact@gillesblanc.com, gblanc@linagora.



Documents pareils
Comment travailler avec les logiciels Open Source

Outils de développement collaboratif

Découverte des Logiciels Libres. Gilles Dequen

Serveur de travail collaboratif Michaël Hoste -

Stratégie de sécurité grâce au logiciel libre. Frédéric Raynal Cédric Blancher

Dossier d analyse et de comparaison 2012

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques

Sécurité & Virtualisation Istace Emmanuel

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

2 Formation utilisateur

Présentation aux entreprises du numérique

INGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE

Systèmes Embarqués Libres

Session 8: Android File System

Présentation Utilisation. VirtualBox. Firas Kraïem. 22 février 2014

Pré-requis installation

INGÉNIEUR - DÉVELOPPEUR SENIOR PHP. 28 ans - 8 ans d'expérience

PLATE-FORME DE CLOUD COMPUTING SLAPOS. Intégration d applications

HP Data Protector Express Software - Tutoriel 4. Utilisation de Quick Access Control (Windows uniquement)

Expert technique J2EE

La plate-forme DIMA. Master 1 IMA COLI23 - Université de La Rochelle

Éléments d'architecture des ordinateurs

Plan global Outils de développement et compilation. Ce que l on veut éviter. Plan. Git : gestion de code source et versionnement.

CARPE. Documentation Informatique S E T R A. Version Août CARPE (Documentation Informatique) 1

Guide de l'utilisateur de l'application mobile

Agilitéet qualité logicielle: une mutation enmarche

Hassene BELGACEM. Expériences Professionnelles. JEE architect / Technical leader. Ingénieur Informatique. Cycle Préparatoire

Profil. Formations Certifications. Etienne de LONGEAUX Architecte logiciel/ Lead développeur PHP5/SYMFONY2/ZEND 13 ans d expérience.

Bienvenue. Présentation de la société. Microsoft Innovation Center, le 20 mars Gilles Dedisse, Chef de Projets

Systèmes de gestion de code source

Virtualisation et le hosting. Christophe Lucas Sébastien Bonnegent rouen.fr>

Ateliers Python+Qt : Premiers pas : S'installer pour PyQt... en quelques minutes sous Windows!

Introduction aux Systèmes et aux Réseaux, Master 2 CCI

Un logiciel de gestion pour les EAJE : crèches, haltes-garderies, centres de loisirs, jardins d'enfants...

Serveur Acronis Backup & Recovery 10 pour Linux. Update 5. Guide d'installation

R. A. A. Bébian. Mimographie, ou essai d écriture mimique. París, 1825

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

Méthodologies SCRUM Présentation et mise en oeuvre

Utilisation de matériels industriels avec des outils de virtualisation open source. Open Source dans le monde industriel

«Converged Infrastructure» des «buzzword» du marketing ou une approche du système garantissant le succès?

1/15. Jean Bernard CRAMPES Daniel VIELLE

e-obs : Conception et utilisation Rémy Decoupes Ether // ums3365

IBM SPSS Statistics Version 22. Instructions d'installation sous Windows (licence simultanée)

Peut-on vivre ( du logiciel libre? Pascal FLAMAND pflamand(at)janua.fr

Jean-Christophe BECQUET

Architecture de la plateforme SBC

Télécom Nancy Année

pythonocc: une plateforme de développement agile d applications CAO.

ERESI : une plate-forme d'analyse binaire au niveau noyau. The ERESI team

inviu routes Installation et création d'un ENAiKOON ID

Auteur LARDOUX Guillaume Contact Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

Webinar. Découvrez Rubedo, la première solution CMS open-source tirant profit des atouts de Zend Framework et du NoSQL. avec la participation de

Plan de notre intervention 1. Pourquoi le test de charge? 2. Les différents types de tests de charge 1.1. Le test de performance 1.2.

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET

En face du commanditaire, on met un chef de projet qui connait le domaine (banque, administration, etc.)

Trend Micro Worry-Free Business Security 8.0 Première installation : trucs et astuces

Ce tutoriel ne fera pas de vous un expert sur le déploiement via WDS, mais il vous permettra de comprendre un peu les rouages de ce système.

HP Data Protector Express Software - Tutoriel 3. Réalisation de votre première sauvegarde et restauration de disque

Les BRMS Business Rules Management System. Groupe GENITECH

Nouveautés Ignition v7.7

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

«clustering» et «load balancing» avec Zope et ZEO

LXC : Une technologie de contextualisation ultra light intégrée au kernel Linux

Refonte front-office / back-office - Architecture & Conception -

Naissance d'un REPTAR

Maarch Framework 3 - Maarch. Tests de charge. Professional Services. 11, bd du Sud Est Nanterre

Virtualisation sous Linux L'age de raison. Daniel Veillard

Installation et prise en main

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com

Virtual Box Mettez un PC dans votre... PC

Offre de services de la DSI

«Clustering» et «Load balancing» avec Zope et ZEO

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février :30 à 20:30

Service d'installation et de démarrage de la solution de stockage réseau HP StoreEasy 1000/3000

Manuel d installation Version Evolution réseau Ciel Compta Ciel Gestion commerciale Ciel Associations

Partager sa connexion Internet via le WiFi avec Windows 8

Service de réplication des données HP pour la gamme de disques Continuous Access P9000 XP

Annexe : La Programmation Informatique

Mise en place d'une solution libre de gestion d'entreprise. Maurice MORETTI Directeur associé

Médiathèque Numérique, mode d emploi

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

Bien architecturer une application REST

Gestion du projet pour qu'il soit pérenne et collaboratif

Alexandre Buge Epitech 5 Promo Soutenance de stage du 01/03/2004 au 31/08/2004

Support technique logiciel HP

Mon premier rpm. 7 juin Avant de commencer RPM URPMI RPMBUILD... 2

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

Présentation du Serveur SME 6000

Hubert & Bruno Lundi 12 octobre 2009 SAINT-QUENTIN (02)

PROJET DE PORTAIL INTRANET YNNA

Proposition technique et commerciale

et Groupe Eyrolles, 2006, ISBN :

Notre Catalogue des Formations IT / 2015

Etude d Exchange, Google Apps, Office 365 et Zimbra

Internet des objets 1

Procédure d installation pour WinEUR PROCÉDURE D INSTALLATION POUR WINEUR. Copyright GIT SA 2015 Page 1/16

Transcription:

Linux Embarqué Réussir son projet Gilles BLANC RTS 2011, 31/03/2011 http://gillesblanc.com contact@gillesblanc.com, gblanc@linagora.com

Licence Creative-Commons by-nc Couvre l'intégralité des présentes planches de présentation Paternité/pas d'utilisation commerciale sans autorisation <http://creativecommons.org/licenses/bync/2.0/fr/legalcode>

Au sommaire Éviter les erreurs fatales Évaluer le projet Mettre correctement en place le projet Mener à bien le projet

Éviter les erreurs fatales

Coûts cachés Première erreur : «le libre est gratuit» NON : certes pas de coûts a priori MAIS : tous les coûts sont cachés Développement Acquisition d'une solution sur étagère Assistance technique Surcoût lié à la complexité de la solution

Estimation des travaux Chausses-trappes Attention aux modules! Complexité <=> Temps de développement Disponibilité de la documentation, licences et NDA Problème du propriétaire et «semi-ouvert» Attention aux temps de réponse! Dépend du matériel Dépend de la solution logicielle Linux Attention aux dépendances! Système homogène et compilation Packaging et patching

Disponibilité de compétences Linux nécessite plus de connaissances Connaissances transverses Ressources difficiles à trouver 3 à 6 mois pour un dev' Formation DIF longue à obtenir Formation insuffisante, besoin d'expérience Ressources geeks & pénibles à gérer La blague de l'off-shore Prévoir un temps de lancement!

Licences Très spécifique, technique-juridique Une erreur est fatale Les ingénieurs s'en fichent Les chefs de projets ne sont pas au courant Les juristes sont débordés ou inexistants Sujet complexe : GPL, LGPL, Apache, noyau et modules Linux, bibliothèques, programmes propriétaires, etc.

Évaluer le projet

Périmètre Qu'est-ce qui existe déjà? Out of the box À réadapter Qu'est-ce qui peut être intégré? Choix d'un framework? (graphique, OE, buildroot, etc.) Quelles implications sur l'architecture? Qu'est-ce qui reste à développer? Sur le framework? Sur quoi s'appuyer?

POC Mise en place de proof-of-concept Premier tour du périmètre Permet d'estimer la charge de travail Brouillon à réutiliser Utiliser une solution Linux embarqué prête à l'emploi (Angström) Coder en script (shell, Python) Sans optimisation aucune Sous émulateur? (Qemu)

Estimation du temps En avant-vente puis au fur et à mesure de la réalisation «combien de temps ça va te prendre?» Définir le périmètre & specs? 5 à 10 jours Compiler un système Linux? 10 à 15 jours Intégrer un système Linux? 5 jours Optimiser? 5 jours Coder un module? Heu... 10 à 40 jours (estimations non contractuelles à la louche)

Calcul des coûts Un ingénieur (junior) : ~750 /jour en SSII Un expert : Attention : forfait vs assistance technique & abus courants 1000 à 1500 /jour en SSII (dépend du nombre de jour et du fractionnement) Moins en indépendant (très peu!) Une solution sur étagère : 5 à 20.000 Autres (modules proprios, licences commerciales, etc.) : à marchander

Nouveaux paradigmes Android, MeeGo & co Compatibles... avec eux-mêmes Plus qu'une simple architecture Impose le langage, le look'n'feel, la philosophie, l'infrastructure Le plus loin : Android (à ce niveau ce n'est quasiment plus du Linux) Donc : nouvelles compétences particulières à acquérir

Mettre correctement en place le projet

Compétences et rôles Qui fait quoi dans l'équipe? Un chef de projet (maître d'œuvre) Un dev' kernel (?) Un concepteur et intégrateur de la solution Un dev' couches logicielles De préférence l'un des trois premiers est un expert Demander son DIF à temps!

Parallélisation des tâches Compilation / intégration : série 1 personne garder la logique du système/homogénéité Travaux noyau : parallèle (sur cible ou non?) 1 personne par module/tâche spécifique Intégration application graphique Par une ou plusieurs personnes Couche logicielle maison à voir (souvent le concepteur/intégrateur)

Environnement de dev' Machine puissante (compilation), avec beaucoup d'espace disque Connexion Internet/réseau Dépôt de source (Git vs SVN) Forge (RedMine) Carte(s) de dev' (& associé : SD/MMC, lecteurs, alim, câbles série, adaptateur USB-série) Cible finale JTAG?

Mener à bien le projet

La vraie vie (par l'ingénieur) Légos : assembler des briques Superglue : lier les logiciels pour répondre à la problématique du projet Scotch : truc et astuce pour que ça tienne Incantations mystiques (secret défense) Toute inversion est fatale Le projet est mal conçu La méthode de La Rache a été trop utilisée

Cycles de dev' Méthode Agile revisitée «Release early, release often» (en commercialement correct) Cycles de développement, intégration client Gras sur maigre Initialisation du projet POC Carte de dev / émulation Compilation et intégration du système Intégration valeur ajoutée et finalisation

Relations client / fournisseur Telephone early, telephone often Une livraison n'est pas aisée Problème de la nature des livrables Problème d'intégration matérielle Prévoir un système d'installation facilitée sur cible Mieux vaut des démos en réunion Attention à ne pas dévier du projet initial Tout tracer, attention aux délais

Gestion proactive Réagir aux erreurs de conception Les systèmes de fichiers Le firmware et les mises à jour Phase de spec importante, demander l'aide d'un expert! Sous Linux, on peut rattraper (normalement) Scotch?... Le système est assez puissant et flexible Mais ça prend du temps... En dernier recours Maintenabilité menacée

Informations Sources Méthodes Web, IRC, Mailing lists Google, DIF, relations Bibliographie Linux Embarqué, Pierre Ficheux etc. (cf. bonus) Mon mien (à paraître) (quand j'aurai trouvé un titre)

Conclusion

Sujet souvent pris trop à la légère Trop tard lorsqu'on se rend compte de la difficulté Peu facilement dévier et couter très cher Important de tout calculer (notamment les besoins hardware) Linux embarqué est un investissement à long terme Trop de projet pas dans les clous (techniquement ou juridiquement) Nécessité d'en prendre conscience

Fin (& bonus?)

Bibliographie Linux embarqué, Pierre Ficheux, éd. Eyrolles Building Embedded Linux Systems, Yaghmour, éd. O'Reilly Embedded Linux Primer, Hallinan, éd. Prentice Hall Embedded Linux System Design and Development, Raghavan/Lad/Neelakandan, éd. Auerbach Publishers Programmation système en C sous Linux, Christophe Blaess, éd. Eyrolles

Aspects juridiques CPI 113-9 : droits d'auteur pour logiciel CPI 131-1 : cession globale C Civ 1626-1640 : garantie d'éviction C Trav 8231-1 : délit de marchandage Droit et expertise des contrats informatiques, Hubert Bitan, éd. Lamy