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
HDFS HA : Stockage à haute disponibilité par Damien HardyOlivier DASINI
Jusqu'alors dans HDFS, NameNode etait un élément critique difficile à fiabiliser. Hadoop 2 et donc CDH4 introduisait HDFS HA. CDH4.1 élimine tous les SPOF. Nous verrons comment mettre en place la haute disponibilité dans HDFS. Quels sont les nouveaux services, comment les articuler.
http://fr.viadeo.com/fr/profile/damien.hardy8
This tutorial is an introduction to Debian packaging. It teaches prospective developers how to modify existing packages, how to create their own packages, and how to interact with the Debian community. In addition to the main tutorial, it includes three practical sessions on modifying the 'grep' package, and packaging the 'gnujump' game and a Java library.
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
HDFS HA : Stockage à haute disponibilité par Damien HardyOlivier DASINI
Jusqu'alors dans HDFS, NameNode etait un élément critique difficile à fiabiliser. Hadoop 2 et donc CDH4 introduisait HDFS HA. CDH4.1 élimine tous les SPOF. Nous verrons comment mettre en place la haute disponibilité dans HDFS. Quels sont les nouveaux services, comment les articuler.
http://fr.viadeo.com/fr/profile/damien.hardy8
This tutorial is an introduction to Debian packaging. It teaches prospective developers how to modify existing packages, how to create their own packages, and how to interact with the Debian community. In addition to the main tutorial, it includes three practical sessions on modifying the 'grep' package, and packaging the 'gnujump' game and a Java library.
Beaucoup de personnes ont entendu parler de Linux, savoir si cela peut être utile pour vous devient alors une autre réalité qu'il est possible d'imaginer en terme de productivité et de sécurité comme station de
travail;
Décider de tester Linux est déjà un grand pas. C'est également le début pour découvrir quelle « distro » est faite en fonction de vos besoins.
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016Fabien Arcellier
Après maints périples, vous avez progressivement amélioré votre capacité à gérer des environnements au travers d'Infra as Code. Votre code initialement simple a pris de l'embonpoint et vous sentez la réalité vous rattraper implacablement : vous êtes en train de créer de la complexité, voire même de la dette.
Loin d'être une fatalité, à partir de notre expérience de développeur (Fabien) et d'ops (Alexandre), nous vous proposons un road trip dans des
pratiques de développement déclinées sur l'Infra as Code (Bash, Puppet et Ansible).
Nous présentons des pratiques, des plus simples activables immédiatement à des démarches plus complexes pour dessiner une big picture de l'Infra as Code, de ses contraintes, de ses forces et de ses pièges.
* Comment mettre en place des boucles de feedback les plus courtes possibles ?
* Comment faire du test driven development sur l'infrastructure ?
* Quels patterns et outils pour tester une configuration sans tirer toute votre infra et itérer plus rapidement ?
* Quel est le rapport entre Tetris, un ascenceur et l'Infra as Code ?
Développement avec Intégration continue:Git, Jenkins, Tomcat, CentOS, ubuntuAhmed Archive
Comment préparer un environnement de développement (ici sur ubunu) avec intégration continue (Jenkins sur CentOS 6, déployé sur Tomcat) et déploiement automtaique sur Tomcat (CentOS)
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.
Virtualiastion des systèmes d'exploitations :
Installation et administration
Journée Logiciel Libre à la Faculté des Sciences Dhar El Mahraz.
Par KHAMILICH Jamal
Document de formation[FR] pour l'apprentissage de Archlinux et la protection de l'information. Intégration d'environnement de travail et de suite logicielle(calcul scientifique, virtualisation, gestion biblio, gestionnaire mot de passe, etc..) pour l'internet des objets avec l'Open Source Hardware (Arduino, RaspberryPi). Optimisation IDE sous langage de programmation en python.
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...Jérôme Petazzoni
Présentation donnée le 18 novembre 2015 au Paris Open Source Summit par Hervé Leclerc (Alterway) et Jérôme Petazzoni (Docker), présentant entre autres les nouvelles fonctionalités de Docker pour le stockage et le réseau arrivées dans la version 1.9 du Docker Engine.
Beaucoup de personnes ont entendu parler de Linux, savoir si cela peut être utile pour vous devient alors une autre réalité qu'il est possible d'imaginer en terme de productivité et de sécurité comme station de
travail;
Décider de tester Linux est déjà un grand pas. C'est également le début pour découvrir quelle « distro » est faite en fonction de vos besoins.
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016Fabien Arcellier
Après maints périples, vous avez progressivement amélioré votre capacité à gérer des environnements au travers d'Infra as Code. Votre code initialement simple a pris de l'embonpoint et vous sentez la réalité vous rattraper implacablement : vous êtes en train de créer de la complexité, voire même de la dette.
Loin d'être une fatalité, à partir de notre expérience de développeur (Fabien) et d'ops (Alexandre), nous vous proposons un road trip dans des
pratiques de développement déclinées sur l'Infra as Code (Bash, Puppet et Ansible).
Nous présentons des pratiques, des plus simples activables immédiatement à des démarches plus complexes pour dessiner une big picture de l'Infra as Code, de ses contraintes, de ses forces et de ses pièges.
* Comment mettre en place des boucles de feedback les plus courtes possibles ?
* Comment faire du test driven development sur l'infrastructure ?
* Quels patterns et outils pour tester une configuration sans tirer toute votre infra et itérer plus rapidement ?
* Quel est le rapport entre Tetris, un ascenceur et l'Infra as Code ?
Développement avec Intégration continue:Git, Jenkins, Tomcat, CentOS, ubuntuAhmed Archive
Comment préparer un environnement de développement (ici sur ubunu) avec intégration continue (Jenkins sur CentOS 6, déployé sur Tomcat) et déploiement automtaique sur Tomcat (CentOS)
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.
Virtualiastion des systèmes d'exploitations :
Installation et administration
Journée Logiciel Libre à la Faculté des Sciences Dhar El Mahraz.
Par KHAMILICH Jamal
Document de formation[FR] pour l'apprentissage de Archlinux et la protection de l'information. Intégration d'environnement de travail et de suite logicielle(calcul scientifique, virtualisation, gestion biblio, gestionnaire mot de passe, etc..) pour l'internet des objets avec l'Open Source Hardware (Arduino, RaspberryPi). Optimisation IDE sous langage de programmation en python.
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...Jérôme Petazzoni
Présentation donnée le 18 novembre 2015 au Paris Open Source Summit par Hervé Leclerc (Alterway) et Jérôme Petazzoni (Docker), présentant entre autres les nouvelles fonctionalités de Docker pour le stockage et le réseau arrivées dans la version 1.9 du Docker Engine.
Distribué auprès de nos partenaires et de nos clients, le Journal Au Coeur des Saveurs relaie les actualités du Marché. Au sommaire de ce numéro, vous pourrez trouver un zoom sur Fel'Partenariat, un article sur les agrumes et un rappel des dernières actions menées par le Marché de Gros Lyon-Corbas. Bonne lecture
Portes empilables souples rapides Porte souple rapideOcmflex Ocmflex
Portes intérieures - Portes empilables souples rapides - portes rapides automatiques à enroulement - Porte conforme à la norme européenne EN 13241-1 - www.ocmflex.com
Etude TIC Tracking - 3 iles de l'Océan Indien 2010Silicon Village
Etude TIC Tracking -3 iles 2010. La Réunion, Ile Maurice, Madagascar
Les données sont libres d'utilisation sous réserve de publier la source : "Région Réunion" et le prestataire : "IPSOS OI".
Delphi et C++Builder sont des outils de développement riches en composants et fonctionnalités pas toujours connues ni exploitées. S'il est un domaine dans lequel il est bon d'avoir un aperçu de ce qui est possible en standard, c'est bien la synchronisation de données entre logiciels ou bases de données.
Lors de ce webinaire on vous propose de découvrir quelques unes de ces solutions. Vous pourrez les utiliser dans vos logiciels bureautiques comme avec vos applications mobiles. Patrick Prémartin abordera également le cas pratique d'une application multiplateforme utilisant un cloud maison développé sous Delphi en fin de présentation.
La rediffusion de cette présentation est disponible avec ses codes sources et des liens complémentaires sur https://serialstreameur.fr/webinaire-20181218.php
KeeeX - Kit de Survie dans la Jungle Numérique - xuros-zebom-vesihLaurent Henocque
Ce diaporama est une présentation non technique de KeeeX. En deux parties. Il est destiné à illustrer les difficultés auxquelles KeeeX (http://keeex.io) permet de répondre.
Kernel Recipes 2019 - Driving the industry toward upstream firstAnne Nicolas
Wanting to avoid the Android experience, Google developers always aimed to make their Chrome OS Linux kernels as close to mainline as possible. However, when Chromebooks were first created, Google was left with no choice, the mainline kernel, in some subsystems, still did not have all the functionalities needed by Chromebooks. Hence, similarly to Android, Chrome OS had to develop their own out-of-tree code for the kernel and maintain that for a few different kernel versions.
Luckily, over the last few years a strong and consistent effort has been happening to bring Chromebook devices closer to mainline. It has led to significant improvements that now make it possible to run mainline on Chrome OS devices. And not only Chromebooks, as these significant strides are also improving Arm-based SOCs and other key components of the rich Chromebook hardware ecosystem. In this talk, we will look at how and why upstream support for Chromebooks improved, the current status of various models, and what we expect in the future.
Enric Balletbò i Serra
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMIAnne Nicolas
As the name would suggest, a Non-Maskable Interrupt (NMI) is an interrupt-like feature that is unaffected by the disabling of classic interrupts. In Linux, NMIs are involved in some features such as performance event monitoring, hard-lockup detector, on demand state dumping, etc… Their potential to fire when least expected can fill the most seasoned kernel hackers with dread.
AArch64 (aka arm64 in the Linux tree) does not provide architected NMIs, a consequence being that features benefiting from NMIs see their use limited on AArch64. However, the Arm Generic Interrupt Controller (GIC) supports interrupt prioritization and masking, which, among other things, provides a way to control whether or not a set of interrupts can be signaled to a CPU.
This talk will cover how, using the GIC interrupt priorities, we provide a way to configure some interrupts to behave in an NMI-like manner on AArch64. We’ll discuss the implementation, some of the complications that ensued and also some of the benefits obtained from it.
Julien Thierry
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernelAnne Nicolas
At a rate of almost 9 changes per hour (24/7), the Linux kernel is definitely a scary beast. Bugs are introduced on a daily basis and, through the use of multiple code analyzers, *some* of them are detected and fixed before they hit mainline. Over the course of the last few years, Gustavo has been fixing such bugs and many different issues in every corner of the Linux kernel. Recently, he was in charge of leading the efforts to globally enable -Wimplicit-fallthrough; which appears by default in Linux v5.3. This presentation is a report on all the stuff Gustavo has found and fixed in the kernel with the support of the Core Infrastructure Initiative.
Gustavo A.R. Silva
Kernel Recipes 2019 - Metrics are moneyAnne Nicolas
In I.T. we all use all kinds of metrics. Operations teams rely heavily on these, especially when things go south. These metrics are sometimes overrated. Let’s dive into a few real life stories together.
Aurélien Rougemont
Kernel Recipes 2019 - Kernel documentation: past, present, and futureAnne Nicolas
The Linux kernel project includes a huge amount of documentation, but that information has seen little in the way of care over the
years. The amount of care has increased significantly recently, though, and things are improving quickly. Listen as the kernel’s documentation maintainer discusses the current state of the kernel’s docs, how we got here, where we’re trying to go, and how you can help.
Jonathan Corbet
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...Anne Nicolas
Modern SoC designs incorporate technologies from numerous vendors, each with their own inconsistent, confusing, undocumented and even contradictory terminology. The result is a mess of acronyms and product names which have a surprising impact on the ability to develop reusable, modular code thanks to the nature of the underlying IP being obscured.
This presentation will dive into some of the misnomers plaguing the Arm ecosystem, with the aim of explaining why things are like they are, how they fit together under the architectural umbrella and how you, as a developer, can decipher the baffling ingredients list of your next SoC design!
Will Deacon
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary dataAnne Nicolas
GNU poke is a new interactive editor for binary data. Not limited to editing basic ntities such as bits and bytes, it provides a full-fledged procedural, interactive programming language designed to describe data structures and to operate on them. Once a user has defined a structure for binary data (usually matching some file format) she can search, inspect, create, shuffle and modify abstract entities such as ELF relocations, MP3 tags, DWARF expressions, partition table entries, and so on, with primitives resembling simple editing of bits and bytes. The program comes with a library of already written descriptions (or “pickles” in poke parlance) for many binary formats.
GNU poke is useful in many domains. It is very well suited to aid in the development of programs that operate on binary files, such as assemblers and linkers. This was in fact the primary inspiration that brought me to write it: easily injecting flaws into ELF files in order to reproduce toolchain bugs. Also, due to its flexibility, poke is also very useful for reverse engineering, where the real structure of the data being edited is discovered by experiment, interactively. It is also good for the fast development of prototypes for programs like linkers, compressors or filters, and it provides a convenient foundation to write other utilities such as diff and patch tools for binary files.
This talk (unlike Gaul) is divided into four parts. First I will introduce the program and show what it does: from simple bits/bytes editing to user-defined structures. Then I will show some of the internals, and how poke is implemented. The third block will cover the way of using Poke to describe user data, which is to say the art of writing “pickles”. The presentation ends with a status of the project, a call for hackers, and a hint at future works.
Jose E. Marchesi
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...Anne Nicolas
Operating system distributors often face challenges that are somewhat different from that of upstream kernel developers. For instance, some kernel updates often need to stay at least binary compatible with modules that might be “out of tree” for some time.
In that context, being able to automatically detect and analyze changes to the binary interface exposed by the kernel to its module does have some noticeable value.
The Libabigail framework is capable of analyzing ELF binaries along with their accompanying debug info in the DWARF format, detect and report changes in types, functions, variables and ELF symbols. It has historically supported that for user space shared libraries and application so we worked to make it understand the Linux kernel
binaries.
In this presentation, we are going to present the current support of ABI analysis for Linux Kernel binaries, the challenges we face, how we address them and the plans we have for the future.
Dodji Seketeli, Jessica Yu, Matthias Männich
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and BareboxAnne Nicolas
Different upgrade and update strategies exist when it comes to embedded Linux system. If at development time none of these strategies have been chosen, adding them afterwards can be tedious task.
Even harder it gets when the system is already deployed in the field and only accessible via a 3G connection.
This talk is a developer experience of putting in place exactly that. Giving a return of experience on one way of doing it on a system running Barebox and a Yocto-based distribution.
Patrick Boettcher
Embedded Recipes 2019 - Making embedded graphics less specialAnne Nicolas
Traditionally graphics drivers were one of the last hold-outs of proprietary software in an embedded Linux system. This situation is changing with open-source graphics drivers showing up for almost all of the graphics acceleration peripherals on the market right now. This talk will show how open-source graphics drivers are making embedded systems less special, as well as trying to provide an overview of the Linux graphics stack, de-mystifying what is often seen as black magic GPU stuff from outside observers.
Lucas Stach
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre SiliconAnne Nicolas
This talk will explore Open Source Hardware projects relevant to Linux, including boards like BeagleBone, Olimex OLinuXino, Giant board and more. Looking at the benefits and challenges of designing Open Source Hardware for a Linux system, along with BeagleBoard.org’s experience of working with community, manufacturers, and distributors to create an Open Source Hardware platform. In closing also looking at the future, Libre Silicon like RISC-V designs, and where this might take Linux.
Drew Fustini
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) pictureAnne Nicolas
The I2C subsystem is not the shiniest part of the Linux Kernel. For embedded devices, though, it is one of the many puzzle pieces which just have to work. Wolfram Sang has the experience of maintaining this subsystem for nearly 7 years now. This talk gives a short overview of how maintaining works in general and specifically in this subsystem. But mainly, it will highlight noteworthy points in the timeline and lessons learnt from that. It will present trends, not so much regarding I2C but more the Linux Kernel and the embedded ecosystem in general. And of course, there will be plenty of anecdotes and bits from behind the scenes for your entertainment.
Wolfram Sang
Embedded Recipes 2019 - Testing firmware the devops wayAnne Nicolas
ITRenew is selling recertified OCP servers under the Sesame brand, those servers come either with their original UEFI BIOS or with LinuxBoot. The LinuxBoot project is pushing the Linux kernel inside bios flash and using userland programs as bootloader.
To achieve quality on our software stack, as any project, we need to test it. Traditional BIOS are tested by hand, this is 2019 we need to do it automatically! We already presented the hardware setup behind the LinuxBoot CI, this talk will focus on the software.
We use u-root for our userland bootloader; this software is written in Go so we naturally choose to use Go for our testing too. We will present how we are using and extending the Go native test framework `go test` for testing embedded systems (serial console) and improving the report format for integration to a CI.
Julien Viard de Galbert
Embedded Recipes 2019 - Herd your socs become a matchmakerAnne Nicolas
About 60% of the Linux kernel source tree is devoted to drivers for a large variety of supported hardware components. Especially in the embedded world, the number of different SoC families, versions, and revisions, integrating a myriad of “IP cores”, keeps on growing.
In this presentation, Geert will explain how to match drivers against hardware, and how to support a wide variety of (dis)similar devices, without turning platform and driver code into an entangled bowl of spaghetti.tra
Starting with a brief history of driver matching in Linux, he will fast-forward to device-tree based matching. He will discuss ways to handle slight variations of the same hardware devices, and different SoC revisions, each with their own quirks and bugs. Finally, Geert will show best practices for evolving device drivers in a maintainable way, based on his experiences as an embedded Linux kernel developer and maintainer.
Geert Uytterhoeven
Embedded Recipes 2019 - LLVM / Clang integrationAnne Nicolas
Buildroot is a popular and easy to use embedded Linux build system. It generates, in few minutes, lightweight and customized Linux systems, including the cross-compilation toolchain, kernel and bootloader images, as well as a wide variety of userspace libraries and programs.
This talk is about the integration of LLVM/clang into Buildroot.
In 2018, Valentin Korenblit, supervised by Romain Naour, worked on this topic during his internship at Smile ECS. After a short introduction about llvm/clang and Buildroot, this talk will go through the numerous issues discovered while adding llvm/clang componants and how these issues were fixed. Romain will also detail the work in progress and the work to be done based on llvm/clang libraries (OpenCL, Compiler-rt, BCC. Chromium, ldd).
Romain Naour
Embedded Recipes 2019 - Introduction to JTAG debuggingAnne Nicolas
This talk introduces JTAG debugging capabilities, both for debugging hardware and software. Marek first explains what the JTAG stands for and explains the operation of the JTAG state machine. This is followed by an introduction to free software JTAG tools, OpenOCD and urJTAG. Marek shortly explains how to debug software using those tools and how that ties into the JTAG state machine. However, JTAG was designed for testing hardware. Marek explains what boundary scan testing (BST) is, what are BSDL files and their format, and practically demonstrates how to blink an LED using BST and only free software tools.
Marek Vasut
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimediaAnne Nicolas
PipeWire is an open source project that aims to greatly improve audio and video handling under Linux. Utilising a fresh design, it bridges use cases that have been previously addressed by different tools – or not addressed at all -, providing ground for building complex, yet secure and efficient, multimedia systems.
In this talk, Julien is going to present the PipeWire project and the concepts that make up its design. In addition, he is going to give an update of the current and future work going on around PipeWire, both upstream and in Automotive Grade Linux, an early adopter that Julien is actively working on.
Julian Bouzas
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all startedAnne Nicolas
Ftrace’s most powerful feature is the function tracer (and function graph tracer which is built from it). But to have this enabled on production systems, it had to have its overhead be negligible when disabled. As the function tracer uses gcc’s profiling mechanism, which adds a call to “mcount” (or more recently fentry, don’t worry if you don’t know what this is, it will all be explained) at the start of almost all functions, it had to do something about the overhead that causes. The solution was to turn those calls into “nops” (an instruction that the CPU simply ignores). But this was no easy feat. It took a lot to come up with a solution (and also turning a few network cards into bricks). This talk will explain the history of how ftrace came about implementing the function tracer, and brought with it the possibility of static branches and soon static calls!
Steven Rostedt
Kernel Recipes 2019 - Suricata and XDPAnne Nicolas
Suricata is a network threat detection engine using network packets capture to reconstruct the traffic till the application layer and find threats on the network using rules that define behavior to detect. This task is really CPU intensive and discarding non interesting traffic is a solution to enable a scaling of Suricata to 40gbps and other.
This talk will present the latest evolution of Suricata that knows uses eBPF and XDP to bypass traffic. Suricata 5.0 is supporting the hardware XDP to provide ypass with network card such as Netronome. It also takes advantage of pinned maps to get persistance of the bypassed flows. This talk will cover the different usage of XDP and eBPF in Suricata and shows how it impact performance and usability. If development time permit, the talk will also cover AF_XDP and the impact on this new capture method on Suricata.
Eric Leblond
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)Anne Nicolas
System memory configuration is a transparent operation nowadays, something that we all came to expect to just work out of the box. Still, it does happen behind the scenes every single time we boot our computers. This requires the cooperation of hardware components on the mainboard and on memory modules themselves, as well as firmware code to drive these. While it is possible to just let it happen, having a deeper understanding of how it works makes it possible to access valuable information from the operating system at run-time.
I will take you through the history of system memory configuration from the mid 70s to now. We will explore the different types of memory modules, how their configuration data is stored and how the firmware can access them. We will see which problems had to be solved along the way and how they were solved. Lastly we will see how Linux supports reading the memory configuration information and what you can do with that information.
Jean Delvare
5. Du code à son installation en passant par le packaging :
reproductible à n'importe quel moment
maintenable dans le temps car le contenu est
parfaitement connu
traçable quel que soit le moment : d'où ça vient, qui l'a
modifié, qui a reverté...
sécurisé : le contenu est généré dans un environnement
connu et reproductible
#2 Unechaînedeproductioncomplète
7. #3 git :pourquoi ?
rapide (opérations locales)
design simple
support optimal de la gestion des branches multiples
système complètement distribué (backups data)
sécurisation des données (checksum systématique)
staging de données
système capable de gérer de gros projets en matière de
données et de rapidité
11. #4 Packaging :cequ’onenpensesouvent
Réservé aux packagers des distributions Linux
Pénible et sans intérêt
Une bonne occasion de multiplier les bugs
Une perte de temps
Le meilleur moyen de devoir se plonger dans les
« subtilités » des distributions
13. #4 Packaging :cequirendfouunpackager
des librairies et autres dépendances embarquées dans les tarballs
et qui se terminent en conflit
des librairies harcodées sur une architecture
des problèmes de licenses, différentes selon les composants
des binaires embarqués (plate-forme, sécurité, bugs)
des dépendances téléchargées lors de l'installation (pas de
connaissance exhaustive du contenu, conflits)
hardcodage des spécificités des distributions : initiscripts,
chemins...
15. #4 Packaging :cequeçaapporteréellement
integration parfaite dans une distribution Linux
facilité d’utilisation pour l'utilisateur final : gestion des
dépendances , installation, mise à jour, suppression
facilitation de la diffusion du logiciel
traçabilité des versions et des fichiers installés sur un
système
faciliter la recompilation du logiciel (moyennant les
évolutions des outils comme autotools)
16. #4 Packaging :quiestconcerné ?
les développeurs qui contribuent à fournir un code
facilitant le packaging
les entreprises qui utilisent un socle Linux pour leur
infrastructure interne et qui modifient certains composants
ou les personnalisent
les entreprises qui éditent une solution basée sur un OS
Linux
17. #4 Packaging :lespolitiquesdepackaging
non elles n’ont pas été écrites pour satisfaire un besoin
sadique des packagers officiels des distributions !
elles sont le garant de la cohérence d’une distribution à un
moment donné et dans le temps
18. #4 Packaging :qualitéetoutils
vérification de la concordance des packages aux politiques
(ex : rpmlint, lintian)
vérification de la signature des tarballs sources et des
packages
vérification de la cohérence des dépots de packages
vérification de la qualité des changelogs
20. #4 Packaging :faciliterlaviedesadministrateurssystème
limite les dépendances requises (pas de dépendances de build)
gère les dépendances automatiquement
facilite les mises à jour, investissement moindre une fois le premier
package réalisé
gestion de patches traçable
conserve un historique des modifications
connaissance détaillée des logiciels installés et de leurs versions
21. #4 Packaging :conseilpourlesdéveloppeurs
fournir un script d’installation qui sera utilisé lors du build
du package
Fournir la possibilité overrider la destination d'installation
du logiciel sous peine de patch systématique
Vérifier l’existence des librairies et/ou dépendances
embarquées
Porter une attention particulière à la réalisation du tarball
de sources et à son versioning