Après avoir conquis le marché des smartphones et tablettes, Android devient incontournable dans le domaine industriel. Son utilisation pour la conception de solutions embarquées industrielles soulève toutefois des problématiques techniques spécifiques : customisation de l'OS, développement de pilotes de périphériques, capacité à répondre à des contraintes temps réel.
S'appuyant sur son expertise des technologies Linux embarqué, Open Wide Ingénierie a accompagné avec succès la réalisation de nombreux systèmes sur mesure. Les experts du pôle Mobilité et Multimédia partage leur expérience à travers cette présentation en abordant les sujets techniques indispensables avant de migrer vers Android.
Open Wide Ingénierie a présenté les différents types de licences existantes ainsi que leurs éventuelles répercussions. Par méconnaissance, ce sujet peut être un frein à l'adoption du libre dans certaines sociétés, il est donc incontournable.
Pour découvrir les autres présentations, rendez-vous sur notre site : http://ingenierie.openwide.fr/References/Conferences-techniques
Open Wide : Les outils pour le développement des systemes embarquesAlexandre LAHAYE
Découvrez comment l'utilisation maîtrisée des outils Open Source peut améliorer de façon significative l'efficience de vos équipes de développement et donc votre compétitivité.
Pour découvrir les autres présentations, rendez-vous sur notre site : http://ingenierie.openwide.fr/References/Conferences-techniques
Voici la présentation d'Adrien Grassein, Technical Expert en logiciel embarqué chez Smile, lors du petit déjeuner technique [ROM Android Customs] du 29 juin 2018.
Open Wide Ingénierie a présenté les différents types de licences existantes ainsi que leurs éventuelles répercussions. Par méconnaissance, ce sujet peut être un frein à l'adoption du libre dans certaines sociétés, il est donc incontournable.
Pour découvrir les autres présentations, rendez-vous sur notre site : http://ingenierie.openwide.fr/References/Conferences-techniques
Open Wide : Les outils pour le développement des systemes embarquesAlexandre LAHAYE
Découvrez comment l'utilisation maîtrisée des outils Open Source peut améliorer de façon significative l'efficience de vos équipes de développement et donc votre compétitivité.
Pour découvrir les autres présentations, rendez-vous sur notre site : http://ingenierie.openwide.fr/References/Conferences-techniques
Voici la présentation d'Adrien Grassein, Technical Expert en logiciel embarqué chez Smile, lors du petit déjeuner technique [ROM Android Customs] du 29 juin 2018.
Créer sa distribution Linux embarqué avec Yocto ou AngströmChristian Charreyre
Création d'une distribution Linux embarqué riche à l'aide des outils de build de distribution Yocto et Angström : slides présentés lors du 5e meetup de Paris Embedded meetup
Yocto une solution robuste pour construire des applications à fort contenu ap...Christian Charreyre
Ce document est la présentation effectuée par CIO Informatique Industrielle lors de la conférence "Yocto et Linux, un couple d'avenir" du salon RTS 2013
These slides (in French language) explain how to build an embedded Linux distribution with reach features, without compromise on quality, using the tools offered by the Yocto Project.
They were presented in a seminar organized by Captronic in Aix en Provence, on May 15th, 2014
Concevoir un système Linux embarqué avec Yocto Project - Version réviséeChristian Charreyre
These slides (in French language) explain how to build an embedded Linux distribution with reach features, without compromise on quality, using the tools offered by the Yocto Project. This is the up to date version presented on December 4th, 2014.
Les slides de la présentation faite par CIO Informatique Industrielle lors du salon Synergie NTIC, sur les utilisations de Linux en contexte embarqué et industriel
Code d'Armor : Open Source, mode d'emploibbailleux
[en] The basics of Open Source, in French
[fr] Open Source, libre, FLOSS, ouvert. Tous ces termes sont familiers, et pourtant, il plane comme un léger brouillard sur le paysage. Tous les développeurs, entre autres, sont dorénavant confrontés à un moment ou un autre à du code ou une licence Open Source, mais tous ne sont pas égaux devant la conduite à tenir. Se détourner comme face à un piège ? L'exploiter au maximum ? Se plonger dans un modèle collaboratif ? En tirer un maximum de fun ?
Pour essayer d'y voir plus clair, on explique en quoi consiste effectivement l'Open Source, et on présente ce qui en fait la force, mais aussi les quelques faiblesses potentielles. De même, on met en lumière les opportunités offertes, sans masquer les quelques risques associés.
Enfin, et à travers quelques exemples et retours d'expériences, on expose quelques bonnes pratiques, certaines implications juridiques ou de propriété industrielles. On parle également de la « pratique » de l'Open Source en entreprise, et on essaye de répondre à un maximum de questions de l'assistance, forcément concernée.
Présenté par Jacques Davy et Benoit Bailleux
Open Wide accompagne ses clients depuis plus de 10 ans sur le choix des plateformes embarquées et propose de partager son expérience à travers cette conférence organisée par CapTronic. Nous aborderons également l’impact du matériel pour le choix du système d'exploitation.
Depuis quelques années Git s'est imposé comme le système de gestion de sources de référence. Simple, rapide , souple, il convient à la fois aux workflows traditionnels et aux workflows distribués. Après une introductions aux principes fondateurs de Git le stagiaire aura l'occasion d'apprendre à créer son premier repository git et à le manipuler localement avant de le partager avec les autres. La formation insistera sur la gestions des branches et la résolution des conflits et sur les commandes permettant d'aborder ces problématiques sereinement. A l'issue de cette formation le stagiaire sera autonome pour utiliser Git aussi bien individuellement qu'au sein d'une équipe.
Les solutions libres pour les systèmes embarquésAlexandre LAHAYE
Les solutions libres ont longtemps été ignorées par l'industrie en raison des divergences entre les contraintes industrielles strictes et les pratiques du développement libre. Par ailleurs, plusieurs reproches étaient formulés contre les logiciels libres : manque de fonctionnalités clés (ex. : temps réel dur), manque de garanties et coûts de support, gestion des licences...Cela a pris des années, mais c'est maintenant acquis et parfaitement connu des acteurs majeurs de l'industrie.
Présentation au logiciel Eclipse et les outils de collaborations dont SVN. La deuxième partie est consacrée à la barre de développeur pour le
navigateur Firefox, on y retrouve les outils les plus utiles.
Ce document est extrait de ma formation “Android - programmation avancée”.
La formation aborde les thèmes suivants : les services, les fournisseurs de contenu, les capteurs, la localisation et évidement le NDK.
Les workshops sont effectués sous Android Studio.
Gestion des dépendances dans un projet PHP - Forum PHP 2012Jean-Marc Fontaine
Que ce soit un framework, des modules ou des libraires spécialisées, la plupart des application web modernes utilisent du code tiers. Ce code a son propre cycle de développement. Il faut donc pouvoir intégrer régulièrement les nouvelles versions sans pour autant perdre la maîtrise de son propre cycle. La tâche n'est pas aisée si elle n'a pas été été prévue dès la conception de l'application. Nous verrons différentes approches pour gérer les dépendances dont les gestionnaires de paquet du système d'exploitation, les liens externes dans les dépôts de code, les fichiers PHAR, l'installateur PEAR et le tout récent Composer.
Slides présentés lors du Meetup Aix Marseille Embedded Linux du 16 Juin.
Présentation sur les GNU/Autotools accompagné d'un exemple Hello World basé sur les autotools.
Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"Smile I.T is open
Retour sur le Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés" qui s'est déroulé le 7 mars à Nantes.
Dans cette présentation, découvrez :
→ L'état de l'art "Android, Linux, et Tizen dans les systèmes embarqués et objets connectés"
→ 2 études de cas techniques :
1) La partie Android décrira comment accéder à un capteur de température (USB ou I²C) afin d'afficher la valeur mesurée dans une application écrite en Java. La cible utilisée sera une carte BeagleBone Black.
2) La partie Linux décrira comment réaliser un capteur de température (I²C) sur la base d'une carte Raspberry Pi zero sous Linux, la distribution adaptée étant produite avec l'outil Yocto.
2 experts de l'embarqué chez Smile sont intervenus :
• Pierre Ficheux, directeur technique Smile ECS, aussi enseignant et responsable de la spécialité Gistre (Génie informatique des systèmes temps réel et embarqués) de l’EPITA et auteur de l’ouvrage "Linux embarqué", ainsi que des livres blancs "Linux pour l'embarqué " et "Logiciel libre pour l'IoT " ;
• Cédric Ravalec, en charge de l'offre open source IoT de Smile, a cocréé et développé la société GENYMOBILE, dotée d’une très forte expertise autour d’Android, et de la société d'expertise Firefox Phoxygen. Il est aussi membre fondateur du Paris Android User Group.
Créer sa distribution Linux embarqué avec Yocto ou AngströmChristian Charreyre
Création d'une distribution Linux embarqué riche à l'aide des outils de build de distribution Yocto et Angström : slides présentés lors du 5e meetup de Paris Embedded meetup
Yocto une solution robuste pour construire des applications à fort contenu ap...Christian Charreyre
Ce document est la présentation effectuée par CIO Informatique Industrielle lors de la conférence "Yocto et Linux, un couple d'avenir" du salon RTS 2013
These slides (in French language) explain how to build an embedded Linux distribution with reach features, without compromise on quality, using the tools offered by the Yocto Project.
They were presented in a seminar organized by Captronic in Aix en Provence, on May 15th, 2014
Concevoir un système Linux embarqué avec Yocto Project - Version réviséeChristian Charreyre
These slides (in French language) explain how to build an embedded Linux distribution with reach features, without compromise on quality, using the tools offered by the Yocto Project. This is the up to date version presented on December 4th, 2014.
Les slides de la présentation faite par CIO Informatique Industrielle lors du salon Synergie NTIC, sur les utilisations de Linux en contexte embarqué et industriel
Code d'Armor : Open Source, mode d'emploibbailleux
[en] The basics of Open Source, in French
[fr] Open Source, libre, FLOSS, ouvert. Tous ces termes sont familiers, et pourtant, il plane comme un léger brouillard sur le paysage. Tous les développeurs, entre autres, sont dorénavant confrontés à un moment ou un autre à du code ou une licence Open Source, mais tous ne sont pas égaux devant la conduite à tenir. Se détourner comme face à un piège ? L'exploiter au maximum ? Se plonger dans un modèle collaboratif ? En tirer un maximum de fun ?
Pour essayer d'y voir plus clair, on explique en quoi consiste effectivement l'Open Source, et on présente ce qui en fait la force, mais aussi les quelques faiblesses potentielles. De même, on met en lumière les opportunités offertes, sans masquer les quelques risques associés.
Enfin, et à travers quelques exemples et retours d'expériences, on expose quelques bonnes pratiques, certaines implications juridiques ou de propriété industrielles. On parle également de la « pratique » de l'Open Source en entreprise, et on essaye de répondre à un maximum de questions de l'assistance, forcément concernée.
Présenté par Jacques Davy et Benoit Bailleux
Open Wide accompagne ses clients depuis plus de 10 ans sur le choix des plateformes embarquées et propose de partager son expérience à travers cette conférence organisée par CapTronic. Nous aborderons également l’impact du matériel pour le choix du système d'exploitation.
Depuis quelques années Git s'est imposé comme le système de gestion de sources de référence. Simple, rapide , souple, il convient à la fois aux workflows traditionnels et aux workflows distribués. Après une introductions aux principes fondateurs de Git le stagiaire aura l'occasion d'apprendre à créer son premier repository git et à le manipuler localement avant de le partager avec les autres. La formation insistera sur la gestions des branches et la résolution des conflits et sur les commandes permettant d'aborder ces problématiques sereinement. A l'issue de cette formation le stagiaire sera autonome pour utiliser Git aussi bien individuellement qu'au sein d'une équipe.
Les solutions libres pour les systèmes embarquésAlexandre LAHAYE
Les solutions libres ont longtemps été ignorées par l'industrie en raison des divergences entre les contraintes industrielles strictes et les pratiques du développement libre. Par ailleurs, plusieurs reproches étaient formulés contre les logiciels libres : manque de fonctionnalités clés (ex. : temps réel dur), manque de garanties et coûts de support, gestion des licences...Cela a pris des années, mais c'est maintenant acquis et parfaitement connu des acteurs majeurs de l'industrie.
Présentation au logiciel Eclipse et les outils de collaborations dont SVN. La deuxième partie est consacrée à la barre de développeur pour le
navigateur Firefox, on y retrouve les outils les plus utiles.
Ce document est extrait de ma formation “Android - programmation avancée”.
La formation aborde les thèmes suivants : les services, les fournisseurs de contenu, les capteurs, la localisation et évidement le NDK.
Les workshops sont effectués sous Android Studio.
Gestion des dépendances dans un projet PHP - Forum PHP 2012Jean-Marc Fontaine
Que ce soit un framework, des modules ou des libraires spécialisées, la plupart des application web modernes utilisent du code tiers. Ce code a son propre cycle de développement. Il faut donc pouvoir intégrer régulièrement les nouvelles versions sans pour autant perdre la maîtrise de son propre cycle. La tâche n'est pas aisée si elle n'a pas été été prévue dès la conception de l'application. Nous verrons différentes approches pour gérer les dépendances dont les gestionnaires de paquet du système d'exploitation, les liens externes dans les dépôts de code, les fichiers PHAR, l'installateur PEAR et le tout récent Composer.
Slides présentés lors du Meetup Aix Marseille Embedded Linux du 16 Juin.
Présentation sur les GNU/Autotools accompagné d'un exemple Hello World basé sur les autotools.
Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"Smile I.T is open
Retour sur le Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés" qui s'est déroulé le 7 mars à Nantes.
Dans cette présentation, découvrez :
→ L'état de l'art "Android, Linux, et Tizen dans les systèmes embarqués et objets connectés"
→ 2 études de cas techniques :
1) La partie Android décrira comment accéder à un capteur de température (USB ou I²C) afin d'afficher la valeur mesurée dans une application écrite en Java. La cible utilisée sera une carte BeagleBone Black.
2) La partie Linux décrira comment réaliser un capteur de température (I²C) sur la base d'une carte Raspberry Pi zero sous Linux, la distribution adaptée étant produite avec l'outil Yocto.
2 experts de l'embarqué chez Smile sont intervenus :
• Pierre Ficheux, directeur technique Smile ECS, aussi enseignant et responsable de la spécialité Gistre (Génie informatique des systèmes temps réel et embarqués) de l’EPITA et auteur de l’ouvrage "Linux embarqué", ainsi que des livres blancs "Linux pour l'embarqué " et "Logiciel libre pour l'IoT " ;
• Cédric Ravalec, en charge de l'offre open source IoT de Smile, a cocréé et développé la société GENYMOBILE, dotée d’une très forte expertise autour d’Android, et de la société d'expertise Firefox Phoxygen. Il est aussi membre fondateur du Paris Android User Group.
Un hackaton est un événement où des développeurs, designers et geeks se réunissent pour faire de la programmation modulaire-collaborative, sur un ou plusieurs jours. Le terme provient de la concaténation des mots « hack » et « marathon ».
Ce slideshow est issu de la contribution de CIO Informatique Industrielle à la conférence / débat Comment travailler avec les logiciels Open Source, qui s'est tenue en Avril 2008 sur le salon RTS Embedded Systems
Séminaire Linagora : poste de travail Libre, décembre 2009LINAGORA
Présentations données lors du séminaire LINAGORA du mois de décembre 2009, intitulé : "Le poste de travail Libre : il faudrait être fou pour dépenser plus !".
Intervenants : Sophie Gautier, Expert OpenOffice.org, LINAGORA et Michel LOISELEUR, Responsable de l'OSSA, LINAGORA.
NetBSD évolue constamment avec de nouvelles idées : The AnyKernel, gestionnaire de packages multiplate-formed pkgsrc, outil d'installation de paquet binaire pkgin, NetBSD Desktop project, NetBSD Logical Volume Manager (LVM) .NetBSD Veriexec subsystem, Common Address Redundancy Protocol (CARP) .
Cette conférence présentera NetBSD pour en détailler les points clés à travers sa dernière branche 6
Introduction au langage de programmation Lua / Digital apéro [03/12/2014]Silicon Comté
« Lua is a powerful, fast, lightweight, embeddable scripting language. »
Dans cette introduction, vous découvrirez quelques particularités ce langage de script brésilien :
La philosophie du langage,
Qui utilise ce langage et pourquoi,
Les usages de ce langage,
Les différences avec les autres langages de script,
Comment ce langage peut vous aider à réaliser vos applications Web, Mobile et même des jeux vidéos.
Des exemples simples et concrets, etc.
A propos de l’intervenant :
Nicolas LORENZON : diplômé de l’UFC en 2004 (DESS, Informatique, systèmes distribués et multimédia), il travaille ensuite à Paris pendant 5 ans dans le monde des ERP pour une boîte de conseil en informatique. De retour en Fanche-Comté, il créée la société ARTENET en 2010 et travaille maintenant essentiellement comme développeur web et mobile. Il est adhérent Silicon Comté.
Réalité virtuelle + Open source = <3Yannick Comte
Talk réalisé lors du 1er meetup XVRRAA le 09/02/2017. Pourquoi est-ce important d'avoir une alternative aux grands constructeurs de matériel VR ? Quels sont les avantages pour les entreprises et les acheteurs ? Quelles pistes pour les développeurs ?
Support de formation pour les développeurs. Pour les formations, ce support est complété par un livret d'exercices pour les stagiaires et de l'ensemble de tous les exemples, sous forme de projets Eclipse.
Open Wide : Les interfaces graphiques dans l'embarqueAlexandre LAHAYE
Cette nouvelle conférence a réuni plus de 30 professionnels de l'embarqué à Paris et plus de 60 à Toulouse qui ont pu découvrir différents outils permettant de construire des interfaces graphiques optimisées pour leurs plateformes matérielles.
Pour découvrir les autres présentations, rendez-vous sur notre site : http://ingenierie.openwide.fr/References/Conferences-techniques
This document discusses building a real-time (RT) image using Yocto Project. It provides an overview of Yocto and real-time Linux options like PREEMPT_RT and Xenomai. It describes extending Yocto recipes and layers to add support for building RT kernels and images for hardware like Raspberry Pi that can run real-time applications. The document references resources for the Yocto meta-xenomai layer and using Xenomai with Yocto to build real-time enabled embedded Linux images.
This document discusses integrating the openPOWERLINK industrial Ethernet protocol stack with the Xenomai real-time Linux subsystem. It provides background on POWERLINK and Xenomai, describes a proof of concept implementation using Xenomai's RTnet networking stack, and evaluates the performance compared to using the PREEMPT_RT Linux kernel patch. While not yet stable enough for industrial use, the work integrates openPOWERLINK with Xenomai's real-time capabilities and performs better than PREEMPT_RT in initial testing. Future work is needed to further optimize and test the stack.
Les technologies Open Source pour les objets connectésAlexandre LAHAYE
Des téléphones aux vêtements, en passant par des capteurs industriels, les objets connectés envahissent notre quotidien, mobilisent des nombreux industriels et génèrent de nouveaux enjeux techniques. Cette conférence a réuni un panel de professionnels sur Paris et Toulouse qui ont pu découvrir différentes solutions Open Source pour les objets connectés et entendre des témoignages d'industriels. Nous vous invitons à télécharger les présentations de cette conférence.
Les technologies Open Source pour les objets connectésAlexandre LAHAYE
Des téléphones aux vêtements, en passant par des capteurs industriels, les objets connectés envahissent notre quotidien, mobilisent des nombreux industriels et génèrent de nouveaux enjeux techniques. Cette conférence a réuni un panel de professionnels sur Paris et Toulouse qui ont pu découvrir différentes solutions Open Source pour les objets connectés et entendre des témoignages d'industriels. Nous vous invitons à télécharger les présentations de cette conférence.
OPEN WIDE : L’open source pour les systemes embarques Temps reelAlexandre LAHAYE
Conférence Open Wide - Avril 2012 : L'Open Source pour les systèmes embarqués temps réel
Cette troisième édition organisée à Paris et Toulouse a réuni pas moins de 140 personnes au total et fait salle pleine à Toulouse avec 110 personnes ! Les participants ont pu découvrir les différentes solutions pour développer des systèmes embarqués temps réel en environnement Open Source.
Pour découvrir les autres présentations, rendez-vous sur notre site : http://ingenierie.openwide.fr/References/Conferences-techniques
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...Horgix
This is the slide deck of a talk by Alexis "Horgix" Chotard and Laurentiu Capatina presented at the MongoDB Paris User Group in June 2024 about the feedback on how PayFit move away from a monolithic hell of a self-hosted MongoDB cluster to managed alternatives. Pitch below.
March 15, 2023, 6:59 AM: a MongoDB cluster collapses. Tough luck, this cluster contains 95% of user data and is absolutely vital for even minimal operation of our application. To worsen matters, this cluster is 7 years behind on versions, is not scalable, and barely observable. Furthermore, even the data model would quickly raise eyebrows: applications communicating with each other by reading/writing in the same MongoDB documents, documents reaching the maximum limit of 16MiB with hundreds of levels of nesting, and so forth. The incident will last several days and result in the loss of many users. We've seen better scenarios.
Let's explore how PayFit found itself in this hellish situation and, more importantly, how we managed to overcome it!
On the agenda: technical stabilization, untangling data models, breaking apart a Single Point of Failure (SPOF) into several elements with a more restricted blast radius, transitioning to managed services, improving internal accesses, regaining control over risky operations, and ultimately, approaching a technical migration when it impacts all development teams.
L'IA connaît une croissance rapide et son intégration dans le domaine éducatif soulève de nombreuses questions. Aujourd'hui, nous explorerons comment les étudiants utilisent l'IA, les perceptions des enseignants à ce sujet, et les mesures possibles pour encadrer ces usages.
Constat Actuel
L'IA est de plus en plus présente dans notre quotidien, y compris dans l'éducation. Certaines universités, comme Science Po en janvier 2023, ont interdit l'utilisation de l'IA, tandis que d'autres, comme l'Université de Prague, la considèrent comme du plagiat. Cette diversité de positions souligne la nécessité urgente d'une réponse institutionnelle pour encadrer ces usages et prévenir les risques de triche et de plagiat.
Enquête Nationale
Pour mieux comprendre ces dynamiques, une enquête nationale intitulée "L'IA dans l'enseignement" a été réalisée. Les auteurs de cette enquête sont Le Sphynx (sondage) et Compilatio (fraude académique). Elle a été diffusée dans les universités de Lyon et d'Aix-Marseille entre le 21 juin et le 15 août 2023, touchant 1242 enseignants et 4443 étudiants. Les questionnaires, conçus pour étudier les usages de l'IA et les représentations de ces usages, abordaient des thèmes comme les craintes, les opportunités et l'acceptabilité.
Résultats de l'Enquête
Les résultats montrent que 55 % des étudiants utilisent l'IA de manière occasionnelle ou fréquente, contre 34 % des enseignants. Cependant, 88 % des enseignants pensent que leurs étudiants utilisent l'IA, ce qui pourrait indiquer une surestimation des usages. Les usages identifiés incluent la recherche d'informations et la rédaction de textes, bien que ces réponses ne puissent pas être cumulées dans les choix proposés.
Analyse Critique
Une analyse plus approfondie révèle que les enseignants peinent à percevoir les bénéfices de l'IA pour l'apprentissage, contrairement aux étudiants. La question de savoir si l'IA améliore les notes sans développer les compétences reste débattue. Est-ce un dopage académique ou une opportunité pour un apprentissage plus efficace ?
Acceptabilité et Éthique
L'enquête révèle que beaucoup d'étudiants jugent acceptable d'utiliser l'IA pour rédiger leurs devoirs, et même un quart des enseignants partagent cet avis. Cela pose des questions éthiques cruciales : copier-coller est-il tricher ? Utiliser l'IA sous supervision ou pour des traductions est-il acceptable ? La réponse n'est pas simple et nécessite un débat ouvert.
Propositions et Solutions
Pour encadrer ces usages, plusieurs solutions sont proposées. Plutôt que d'interdire l'IA, il est suggéré de fixer des règles pour une utilisation responsable. Des innovations pédagogiques peuvent également être explorées, comme la création de situations de concurrence professionnelle ou l'utilisation de détecteurs d'IA.
Conclusion
En conclusion, bien que l'étude présente des limites, elle souligne un besoin urgent de régulation. Une charte institutionnelle pourrait fournir un cadre pour une utilisation éthique.
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...OCTO Technology
Par Nicolas Bordier (Consultant numérique responsable @OCTO Technology) et Alaric Rougnon-Glasson (Sustainable Tech Consultant @OCTO Technology)
Sur un exemple très concret d’audit d’éco-conception de l’outil de bilan carbone C’Bilan développé par ICDC (Caisse des dépôts et consignations) nous allons expliquer en quoi l’ACV (analyse de cycle de vie) a été déterminante pour identifier les pistes d’actions pour réduire jusqu'à 82% de l’empreinte environnementale du service.
Vidéo Youtube : https://www.youtube.com/watch?v=7R8oL2P_DkU
Compte-rendu :
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...OCTO Technology
par Claude Camus (Coach agile d'organisation @OCTO Technology) et Gilles Masy (Organizational Coach @OCTO Technology)
Les équipes infrastructure, sécurité, production, ou cloud, doivent consacrer du temps à la modernisation de leurs outils (automatisation, cloud, etc) et de leurs pratiques (DevOps, SRE, etc). Dans le même temps, elles doivent répondre à une avalanche croissante de demandes, tout en maintenant un niveau de qualité de service optimal.
Habitué des environnements développeurs, les transformations agiles négligent les particularités des équipes OPS. Lors de ce comptoir, nous vous partagerons notre proposition de valeur de l'agilité@OPS, qui embarquera vos équipes OPS en Classe Business (Agility), et leur fera dire : "nous ne reviendrons pas en arrière".
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Laurent Speyser
(Conférence dessinée)
Vous êtes certainement à l’origine, ou impliqué, dans un changement au sein de votre organisation. Et peut être que cela ne se passe pas aussi bien qu’attendu…
Depuis plusieurs années, je fais régulièrement le constat de l’échec de l’adoption de l’Agilité, et plus globalement de grands changements, dans les organisations. Je vais tenter de vous expliquer pourquoi ils suscitent peu d'adhésion, peu d’engagement, et ils ne tiennent pas dans le temps.
Heureusement, il existe un autre chemin. Pour l'emprunter il s'agira de cultiver l'invitation, l'intelligence collective , la mécanique des jeux, les rites de passages, .... afin que l'agilité prenne racine.
Vous repartirez de cette conférence en ayant pris du recul sur le changement tel qu‘il est généralement opéré aujourd’hui, et en ayant découvert (ou redécouvert) le seul guide valable à suivre, à mon sens, pour un changement authentique, durable, et respectueux des individus! Et en bonus, 2 ou 3 trucs pratiques!
2. 2Android pour l’industrie
Ecosystème
● Environ 1,5 M d'activations par jour, plus d’un milliard
de téléphones depuis l’été 2013 !
● 1M d'applications sur Google Play (Android market)
● 75 % du marché des smartphones (17% pour iOS)
● Répartition des versions :
3. 3Android pour l’industrie
Android et l'industrie ?
● Android est conçu pour la téléphonie + tablettes
● Les projets industriels abandonnent les RTOS
propriétaires pour Linux (embarqué)
● Le développement sous Linux (embarqué) est
complexe
– Souvent C/C++ (Qt)
– Outils hétérogènes
● Android nécessite (souvent) une adaptation pour
l’utilisation industrielle
● Typologie des projets
– Avec ou sans temps réel « dur »
– Avec ou sans interfaces graphique (headless)
● Android n’est pas une solution universelle !
4. 4Android pour l’industrie
Android, open source project ?
● Le monde de la téléphonie est peu enclin à utiliser du
logiciel libre
● Les sources d'Android sont disponibles via AOSP →
adaptation possible ou BSP constructeur :)
● En pratique, Android ne suit pas les règles de
fonctionnement des projets libres
– Développements réalisés « behind de doors »
– Nombreux projets « non officiels », comme Android-
x86
– Nombreux développements spécifiques (et
propriétaires) réalisés par/pour les constructeurs
– Si possible, Google évite les composants sous GPL
→ ré-écriture + licence Apache 2
● Départ à l’été 2013 du leader du projet (JBQ) !!
5. 5Android pour l’industrie
Licences
● Android est constitué de nombreux composants
– Noyau Linux (GPL)
– Composants Google (Apache 2)
– Composants externes (user space) souvent GPL
– Propriétaires (pilotes binaires)
● Les applications de Google Play (Android Market) sont
pour la plupart propriétaires (idem AppStore) → non
disponibles dans les sources d’Android
6. 6Android pour l’industrie
La licence GPL en bref
● La GPL a pour origine le projet GNU de la Free
Software Foundation (Richard M. Stallman)
● GPL = General Public License
● Intègre la notion de « copyleft » (vs « copyright »)
● La GPL v2 (1991) est la plus répandue (exemple :
noyau Linux)
● Principes :
1. La licence s'applique uniquement en cas de
redistribution
2. Un code source utilisant du code GPL est du travail
dérivé et doit être publié (i.e. celui qui reçoit la
version binaire peut obtenir le code source)
3. Pas de lien (ld) possible entre du code GPL et du
code « propriétaire » !
7. 7Android pour l’industrie
Licence Apache 2
● Fournie par ASF en 2004
● Proche des licences BSD et MIT
● Principale différence avec la GPL/LGPL : pas de
« copyleft » (dérivation) → pas de publication du code
● Pour plus d'information voir :
– http://source.android.com/source/licenses.html
– http://www.apache.org/licenses/LICENSE-2.0.html
9. 9Android pour l’industrie
Le noyau Linux (rouge)
● Assure l'interface matérielle
● Différent du noyau standard nommé « mainline » et
disponible sur http://www.kernel.org
– Nouveau système d'IPC (Inter Process Comm.)
– Gestion d'énergie améliorée
– Système trace (logs)
● Initialement (et toujours) un « fork » du noyau
● Pilotes retirées du noyau officiel en 2009
● De retour sur drivers/staging/android depuis le
3.3
● Convergence (partielle) avec le mainline en cours
● Google est contributeur par nécessité, choix
pragmatique
● Noyau binaire fourni par défaut dans AOSP
10. 10Android pour l’industrie
Bibliothèques + HAL (vert)
● Bibliothèques spécifiquesGoogle ou externes
● Spécifiques :
– Bionic, libC « allégée » sous licence BSD,
partiellement POSIX → difficulté de portage de
code « legacy »
– Surface Manager, Audio Manager, ...
● Externes (sources fournies par Google dans AOSP) :
– Webkit
– OpenSSL
– …
● Hardware abstraction layer → accès aux pilotes noyau
– Graphique, audio, Wi-Fi, ...
– Pas d'accès direct au noyau (différent de
GNU/Linux)
11. 11Android pour l’industrie
HAL
● Pour chaque « service » on a
– Un System service (Java)
– Une définition dans la HAL (interface matérielle) +
pilote noyau
● Le constructeur doit fournir une bibliothèque (.so)
externe à AOSP (sous licence propriétaire) → à ajouter
au répertoire /device
● Le pilote noyau – également fourni par le constructeur -
reste sous GPL
● Voir un exemple sur
http://www.opersys.com/blog/extending-android-hal
12. 12Android pour l’industrie
Architecture HAL
/frameworks/base/services/java/
/frameworks/base/services/jni/
/hardware/libhardware/
/device/[MANUF.]/[DEVICE]
/sdk/emulator/
Noyau ou module
/frameworks/base/core/
AOSP-provided
ASL
Manuf.-provided
Manuf. license
Manuf.-provided
GPL-license
Schéma K. Yaghmour
Répertoires AOSP
13. 13Android pour l’industrie
Android runtime (jaune)
● Dalvik, LA JVM de Google
– Grosse valeur ajoutée au niveau performances
– Syntaxe Java
– Optimisée pour l'embarqué
– Non compatible avec JDK Oracle, utilise des
fichier .dex
– .dex produit à partir du .class par dex →
encombrement divisé par 2
● Les « core libraries » venant du projet Apache Harmony
remplacent les « JDK libs » pour le runtime
● Contient également des scripts et binaires nécessaires au
démarrage (ramdisk initial) dont Zygote qui démarre Dalvik
14. 14Android pour l’industrie
Android framework (bleu)
● Correspond à l'API fournie aux développeurs pour
écrire les applications
● Majoritairement écrit en Java
● Utilisation de JNI pour l'accès aux couches basses
(C/C++) depuis une application
● La communication utilise Binder, une couche IPC
écrite par Google en remplacement des IPC
UNIX/POSIX
16. 16Android pour l’industrie
AOSP, introduction
● AOSP = Android Open Source Project
● Accessible sur http://source.android.com
● Sources pour les plate formes de référence
– Émulateur goldfish
– Nexus 4, 7, 10
– Pandaboard (carte ARM)
– Certains Galaxy Nexus
→ http://source.android.com/source/building-devices.html
● Bonne documentation
● AOSP utilise aussi des composants propriétaires
(exemple : pilotes graphiques)
https://developers.google.com/android/nexus/drivers
● Les sources représentent plusieurs centaines de
dépôts Git (1 par projet) et plus de 16 Go !
17. 17Android pour l’industrie
AOSP, pré-requis
● Nombreux pré-requis pour la compilation AOSP (rien à
voir avec Linux embarqué)
● Machine (puissante) 64 bits sous Linux ou Mac OS X
(pas de Windows !)
● 4 Go de RAM, 100 Go de disque
● SMP conseillé
● Distribution Ubuntu 10.04 LTS ou éventuellement 12.04
● Quelques paquets à installer
● Utilisation de VM déconseillée (mais fonctionne)
● Java 6 → JDK 6.1
● Largement basé sur GNU Make
● La procédure d'initialisation est décrite sur :
http://source.android.com/source/initializing.html
18. 18Android pour l’industrie
AOSP « in a nutshell »
● Google fournit l'outil repo (un script Python) afin de
gérer les nombreux dépôts Git
● Cet outil utilise un fichier manifest pour indexer les
dépôts
$ mkdir work && cd work
$ repo init -u https://android.googlesource.com/platform/manifest
[-b <branch>]
$ repo sync [-j N]
● Sélection de la cible, compilation et test
$ source build/envsetup.sh
$ lunch aosp_arm-eng
$ make -j N
$ emulator [-show-kernel -shell] &
synchronisation avec le dépôt, N jobs
chargement des variables
cible émulateur (goldfish) + mise au point (eng)
sélection de la branche, exemple android-4.3_r2
19. 19Android pour l’industrie
Les cibles AOSP
● Différentes cibles dans le menu lunch (4.3)
Lunch menu... pick a combo:
1. aosp_arm-eng
2. aosp_x86-eng
3. aosp_mips-eng
4. vbox_x86-eng
5. aosp_deb-userdebug
6. aosp_flo-userdebug
7. ...
12. full_mako-userdebug
13. full_maguro-userdebug
14. full_manta-userdebug
15. full_arndale-userdebug
16. full_toroplus-userdebug
17. full_toro-userdebug
18. full_panda-userdebug
● Différents type de build
– user (production)
– userdebug (production + accès root + debug)
– eng (développement)
Nexus 4
Goldfish
Pandaboard
x86
21. 21Android pour l’industrie
Remarques sur AOSP
● Les sources occupent environ 16 Go (pour JB) car
Google fournit l'intégralité, y compris les composants
externes
● Grosse différence avec GNU/Linux (Buildroot, OE, …)
qui obtiennent les paquets à partir des dépôts et
appliquent des « patch »
● Le système de construction est rudimentaire, rien à voir
avec GNU/Linux !
● Après compilation, le répertoire occupe 40 Go
● Les binaires sont produits sur le répertoire out et
indexés sur le nom de la cible
$ ls -1 out/target/product
generic
panda
cible émulateur (goldfish)
22. 22Android pour l’industrie
Noyau Linux/Android
● Le noyau Linux n'est pas conçu au départ pour la
téléphonie
– Gestion d'énergie :-(
– Mise en veille
– IPC System V → « old style »
– Gestion de mémoire / processus (context switch)
● Modifications par Google
– Wakelocks
– Binder
– Klogger
– Ashmem
– Alarm timers
– Low memory killer
23. 23Android pour l’industrie
Noyau Linux/Android, suite.
● Les pilotes Android sont dans drivers/staging → pas
intégrés au mainline
● Retirés en décembre 2009, ré-intégrés dans la version
3.3
● Effort de convergence sur les versions récentes
● Bonne compatibilité de l’API noyau Linux (modules)
● Rappel : un module noyau ne suffit pas à piloter un
périphérique sous Android (HAL)
24. 24Android pour l’industrie
SDK
● La plupart des développements Android se font en
Java
– Langage « simple », très répandu
– Très bonne performances de Dalvik
● Google fournit un SDK basé sur Eclipse → ADT
(Android Developer Tools)
– Simple à utiliser pour les développeurs Java/Win$
(mais pas forcément pour les autres)
– Approche « Visual Machin » → New Project, Next,
Next, … , Finish
● Test de l'application directement sur émulateur
● Création d'un fichier .apk installable sur n'importe
quelle cible Android
26. 26Android pour l’industrie
NDK
● Les développements C/C++ sont fait avec le NDK (pour
Native Development Kit)
– Portage de code existant, proche de POSIX
– Possibilité de développer uniquement avec NDK
(mais pas conseillé par Google)
– Plus souvent, interfaçage avec SDK par JNI (Java
Native Interface)
● Android utilise des fichiers Makefile dédiés et assez
basiques → Android.mk
● Pas de support officiel Autotools/CMake
● Le NDK contient principalement les chaînes croisées
dans toolchains et les bibliothèques (Bionic, …) dans
platforms
27. 27Android pour l’industrie
NDK et POSIX
● La plupart des RTOS ont une API POSIX (VxWorks,
RTEMS, QNX, ...)
● Android n'est pas totalement un système POSIX car la
libC (Bionic) est simplifiée par rapport à GNU-libC
● Souvent nécessaire d'importer du code (POSIX)
existant (propriétaire ou libre) dans Android
– Porter le code en Java ?
– Utiliser NDK (plus simple en général)
● Le cas le plus fréquent est l'utilisation d'une
bibliothèque C/C++ depuis une application Java (ex :
accès pilote noyau JNI)
● Exemples fournis dans le NDK
28. 28Android pour l’industrie
Bionic
● La libC Bionic est volontairement beaucoup plus légère
que la Glibc
The core idea behind Bionic's design is: KEEP IT
REALLY SIMPLE.
● Pas de support IPC System V (Android utilise Binder) !
● Quelques limites dans le support PThread
● Pas de support des exceptions C++
● Pas de compatibilité binaire avec la Glibc
● Support ARM et x86 uniquement
● Nécessite l'utilisation du compilateur Android (NDK)
● Voir android-ndk-rX/docs/system/libc
29. 29Android pour l’industrie
Utilisation d’une chaîne externe ?
● Le NDK a des limitations au niveau POSIX
● Le noyau Android est un noyau Linux donc les appels
systèmes standards sont disponibles
● Une solution est d'utiliser une chaîne croisée
« standard » (exemples : CodeSourcery, ELDK, …) →
installer les bibliothèques sur la cible (en plus de
Bionic)
● Problème : intégration dans SDK
30. 30Android pour l’industrie
Android et le temps réel
● Android n’est pas conçu au départ pour les applications
TR
● L’API POSIX est cependant disponible dans le noyau
Linux
● L’application de « patch » TR n’est pas triviale car ces
patchs sont prévus pour un noyau « mainline »
● Tests réalisés sur des tâches périodiques avec
PREEMPT-RT et Xenomai sous Android-x86 →
résultats identiques à ceux de GNU/Linux
● Test directement en mode « console »
● Voir la démonstration :)
31. 31Android pour l’industrie
PREEMPT-RT
● Branche expérimentale pour la version 2.6 et 3.x, voir
https://rt.wiki.kernel.org
● Initié par Ingo Molnar, contributeur majeur du noyau
● Aucun lien avec « preempt-kernel » !
● Surtout utilisé sur x86 et des processeurs performants
(nécessite TSC = Time Stamp Counter)
● Fonctionne également sur ARM (9 ou plus), Nios II,
Microblaze, ...
● Nécessite un noyau « mainline » (ou proche) mais ne
sera probablement jamais intégré à la branche officielle
● Mise en place très simple (application d'un patch)
● Mêmes API de programmation que Linux standard
32. 32Android pour l’industrie
PREEMPT-RT, suite
● Threaded interrupt model → utilisation d'un thread
noyau (donc interruptible) pour le traitement de chaque
interruption
4 2 root SW< 0 0% 0% [sirq-high/0]
5 2 root SW< 0 0% 0% [sirq-timer/0]
...
6 2 root SW< 0 0% 0% [sirq-net-tx/0]
● Prévention des inversions de priorité (par héritage)
● Timers noyau haute précision (API hrtimer)
● Réécriture complète des mécanismes de
synchronisation (spinlock → mutex)
● Le résultat est un noyau (presque) « préemptif », mais
reste un noyau Linux
● Sections critiques avec des tâches non TR
33. 33Android pour l’industrie
Linux avec co-noyau
● Utilisation d’un noyau temps dans l’espace mémoire du
noyau Linux
● Séparation entre le composant temps-réel et Linux
– Ordonnanceur temps-réel spécifique
– Pas de dépendance sur les sections critiques Linux
● Virtualisation de la gestion d'interruptions Linux
– Routage prioritaire des IRQs vers le co-noyau
● Linux comme tâche idle du co-noyau
● Se rapproche de la technique de « para-virtualisation »
des hyperviseurs (adaptation de l'OS)
● Extensions RTLinux, RTAI, Xenomai
34. 34Android pour l’industrie
Xenomai, architecture
● Xenomai utilise un micro-noyau (ADEOS) pour partager
le matériel avec le noyau Linux
micro-noyau
noyau TR
API TR
pilote TR
noyau Linux
36. 36Android pour l’industrie
Android industriel,
avantages/inconvénients
● Avantages
– Programmation Java (simple et répandue)
– IHM évoluée
– Communauté importante
– Fait rêver les managers et les comptables (tablette =
grand public = bon marché)
● Inconvénients
– Incompatibilité POSIX
– Système de « build » AOSP rudimentaire par rapport
à GNU/Linux
– Pas réellement un projet libre ni communautaire
– Noyau Linux non standard (même si la situation
évolue)
– Interfaces matérielles spéciales mal supportées !!
37. 37Android pour l’industrie
Conclusions
● Utiliser Android quand :
– Le projet nécessite une IHM
– Le projet ne nécessite pas de TR dur (pour l’instant)
– L’utilisation de Java est un avantage
● Attention à la dépendance / Google → quelle part
d’AOSP disponible et jusqu’à quand ?
● Android ne peut remplacer GNU/Linux embarqué
– Développement communautaire
– Support matériel
– Système de construction bien plus avancé (Yocto)