SlideShare une entreprise Scribd logo
1  sur  69
Télécharger pour lire hors ligne
@Jean_Eudes#DevoxxSystemD
Les développeurs aussi maîtrisent le
systemd
@Jean_Eudes#DevoxxSystemD
Les développeurs aussi maîtrisent le systemd
@Jean_Eudes
Xebia Developer
Devops fan
Objectifs
@Jean_Eudes#DevoxxSystemD
Calendrier
• Système d'init ?
• SystemD : Une solution à quelles problématiques ?
• Décortiquons un peu systemD
• Les « scripts » SystemD
@YourTwitterHandle@YourTwitterHandle @Jean_eudes#DevoxxSystemD
L'ère pré SystemD
@Jean_Eudes#DevoxxSystemD
Démarrage d'un linux
@Jean_Eudes#DevoxxSystemD
Responsabilité de l'init
• Initialisation des processus
• Gestion du cycle de vie des processus
• Resté en vie
@Jean_Eudes#DevoxxSystemD
System V
• Lecture du fichier inittab
• Chargement des différents niveaux
@Jean_Eudes#DevoxxSystemD
System V
. /lib/lsb/init-functions
NAME=cocktail
EXEC=$CATALINA_HOME/bin/startup.sh
PIDFILE=$CATALINA_BASE/logs/cocktail.pid
export CATALINA_PID=$PIDFILE
do_start()
{
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $EXEC -c tomcat
}
do_stop()
{
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE
rm -f $PIDFILE
}
do_status()
{
status_of_proc -p $PIDFILE $EXEC $NAME && exit 0 || exit $?
}
@Jean_Eudes#DevoxxSystemD
System V
• Comment démarrer un processus
/etc/init.d/service start
@Jean_Eudes#DevoxxSystemD
System V
• Comment arrêter un processus
/etc/init.d/service stop
@Jean_Eudes#DevoxxSystemD
System V
• Comment arrêter un processus
kill $PID
@Jean_Eudes#DevoxxSystemD
System V
●
Connaître le status d'un processus
ps aux | grep service
@Jean_Eudes#DevoxxSystemD
System V
●
Connaître le status d'un processus
/etc/init.d/service status
@Jean_Eudes#DevoxxSystemD
Les problématiques avec SystemV
• Les dépendances entre services
• Gestion des daemons
• Gestion des processus zombie
• Duplication du code
@Jean_Eudes#DevoxxSystemD
Les alternatives à SystemV
• Upstart
• OpenRC
@YourTwitterHandle@YourTwitterHandle @Jean_eudes#DevoxxSystemD
La philosophie SystemD
@Jean_Eudes#DevoxxSystemD
Fiche signalétique
• Projet commence en 2010
• Écrit en C
• maintenu par Lennart Poettering
@Jean_Eudes#DevoxxSystemD
Adoption
• Fedora / Red Hat / Centos
• Archlinux
• Debian / Ubuntu (en cours)
@Jean_Eudes#DevoxxSystemD
Démarrage
@Jean_Eudes#DevoxxSystemD
Améliorer la vitesse de démarrage
• Paralléliser le démarrage des services
• Démarrer moins de services
@Jean_Eudes#DevoxxSystemD
Gérer les dépendances entre services
@Jean_Eudes#DevoxxSystemD
Est ce vraiment la bonne solution ?
@Jean_Eudes#DevoxxSystemD
Est ce vraiment la bonne solution ?
@Jean_Eudes#DevoxxSystemD
Une autre alternative
• Supprimer la dépendance au service
• Dépendre uniquement de la socket
@Jean_Eudes#DevoxxSystemD
Comment suivre les processus : cgroup
• Regrouper des processus
• Contrôler l'usage des ressources matériels
• Comptabiliser les ressources utilisées
@Jean_Eudes#DevoxxSystemD
Gestion des logs
• Un nouvel outil : journald
• Récupérer facilement les logs des services
• Requêter plus facilement les logs
• zip, rotation, ...
@Jean_Eudes#DevoxxSystemD
All is Unit
• Un service : unit
• Monter un système de fichier : unit
• Créer une socket : unit
• Créer un cron : unit
• ...
@YourTwitterHandle@YourTwitterHandle @Jean_eudes#DevoxxSystemD
La boîte à outil systemD
@Jean_Eudes#DevoxxSystemD
Gérer les services
$ systemctl
@Jean_Eudes#DevoxxSystemD
Connaître la liste des services actifs
$ systemctl list-units -t service
@Jean_Eudes#DevoxxSystemD
Connaître la liste de tous les services
$ systemctl list-units -t service --all
@Jean_Eudes#DevoxxSystemD
Gestion des unités
$ systemctl start <unit>
$ systemctl stop <unit>
$ systemctl restart <unit>
$ systemctl reload <unit>
@Jean_Eudes#DevoxxSystemD
activer une unité au démarrage
$ systemctl enable <unit>
$ systemctl disable <unit>
@Jean_Eudes#DevoxxSystemD
Mask une unité
$ systemctl mask <unit>
$ systemctl unmask <unit>
@Jean_Eudes#DevoxxSystemD
Lire les logs
$ journalctl
@Jean_Eudes#DevoxxSystemD
Lire les logs pour un service donné
$ journalctl -u sshd
@Jean_Eudes#DevoxxSystemD
Lire les logs pour un pid donné
$ journalctl _PID=1
@Jean_Eudes#DevoxxSystemD
Lire les logs de la dernière heure
$ journalctl --since="2015-04-10 13:30:00"
@Jean_Eudes#DevoxxSystemD
Lire les logs de l'avant dernière heure
journalctl --since="2015-04-10 12:30:00" -until="2015-04-10 13:30:00"
@Jean_Eudes#DevoxxSystemD
De très nombreux critères de recherches
• service
• date
• utilisateur, groupe
• ...
@Jean_Eudes#DevoxxSystemD
Des formats d'export
• texte
• json
@YourTwitterHandle@YourTwitterHandle @Jean_eudes#DevoxxSystemD
Les scripts systemD
@Jean_Eudes#DevoxxSystemD
Version SystemV
. /lib/lsb/init-functions
NAME=cocktail
EXEC=$CATALINA_HOME/bin/startup.sh
PIDFILE=$CATALINA_BASE/logs/cocktail.pid
export CATALINA_PID=$PIDFILE
do_start()
{
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $EXEC -c tomcat
}
do_stop()
{
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE
rm -f $PIDFILE
}
do_status()
{
status_of_proc -p $PIDFILE $EXEC $NAME && exit 0 || exit $?
}
@Jean_Eudes#DevoxxSystemD
Un exemple Simple
[Unit]
Description=Ma super application en node
[Service]
ExecStart=/opt/nodejs/bin/node /var/www/myApp/main.js
$ systemctl start monAppli.service
@Jean_Eudes#DevoxxSystemD
Activation en service
[Unit]
Description=Ma super application en node
[Service]
ExecStart=/opt/nodejs/bin/node /var/www/myApp/main.js
[Install]
WantedBy=multi-user.target
$ systemctl enable monAppli
@Jean_Eudes#DevoxxSystemD
Redémarrage automatique
[Unit]
Description=Ma super application en node
[Service]
ExecStart=/opt/nodejs/bin/node /var/www/myApp/main.js
Restart=Always
[Install]
WantedBy=multi-user.target
@Jean_Eudes#DevoxxSystemD
Redémarrage automatique
• Les autres options :
• no (par défaut)
• always
• on-success
• on-abort
• on-abnormal
@Jean_Eudes#DevoxxSystemD
Redémarrage automatique
• Définir un laps de temps : RestartSec
• 100 ms par défaut
@Jean_Eudes#DevoxxSystemD
Passons en mode production
[Unit]
Description=Ma super application en node
[Service]
ExecStart=/opt/nodejs/bin/node /var/www/myApp/main.js
Restart=Always
Environnement=NODE_ENV=production
[Install]
WantedBy=multi-user.target
@Jean_Eudes#DevoxxSystemD
Les variables d'environnement
• Utiliser un fichier : EnvironmentFile
@Jean_Eudes#DevoxxSystemD
Récupérons les logs
[Unit]
Description=Ma super application en node
[Service]
ExecStart=/opt/nodejs/bin/node /var/www/myApp/main.js
Restart=Always
StandardOutput=journal
Environnement=NODE_ENV=production
[Install]
WantedBy=multi-user.target
@Jean_Eudes#DevoxxSystemD
Récupérons les logs
• Les autres options :
• null
• tty
• journal
• Syslog
• journal+console, syslog+console
• inherit
@Jean_Eudes#DevoxxSystemD
Récupérons les logs
• On a la même option pour la sortie d'erreur : StandardError
@Jean_Eudes#DevoxxSystemD
Utilisation d'un user non root
[Unit]
Description=Ma super application en node
[Service]
ExecStart=/opt/nodejs/bin/node /var/www/myApp/main.js
Restart=Always
StandardOutput=journal
User=nobody
Group=nobody
Environnement=NODE_ENV=production
[Install]
WantedBy=multi-user.target
@Jean_Eudes#DevoxxSystemD
Utilisons chroot
[Unit]
Description=Ma super application en node
[Service]
ExecStart=/nodejs/bin/node /www/myApp/main.js
Restart=Always
StandardOutput=journal
User=nobody
Group=nobody
RootDirectory=/opt/myApp/
Environnement=NODE_ENV=production
[Install]
WantedBy=multi-user.target
@Jean_Eudes#DevoxxSystemD
Comment arrêter mon service
$ systemctl stop monAppli
@Jean_Eudes#DevoxxSystemD
Comment arrêter mon service
• Définir une commande ExecStop
• Sinon kill par défaut
• Tue l'ensemble des processus généré par
le processus parent
@Jean_Eudes#DevoxxSystemD
Essayons avec un tomcat
[Unit]
Description=Ma super application en Java
[Service]
Type=forking
PIDFile=/var/run/tomcat.pid
Environnement=CATALINA_PID=/var/run/tomcat.pid
ExecStart=/usr/bin/tomcat start
[Install]
WantedBy=multi-user.target
@Jean_Eudes#DevoxxSystemD
Les autres valeurs de Type
• simple (valeur par défaut)
• forking
• oneshot
• dbus, notify, idle
@Jean_Eudes#DevoxxSystemD
Essayons avec un docker
[Unit]
Description=Ma super application sous docker
[Service]
ExecStart=/usr/bin/docker run --name busybox1 busybox /bin/sh -c
"while true; do echo Hello World; sleep 1; done"
[Install]
WantedBy=multi-user.target
@Jean_Eudes#DevoxxSystemD
Essayons avec un docker
[Unit]
Description=Ma super application sous docker
After=docker.socket
Requires=docker.socket
[Service]
ExecStart=/usr/bin/docker run --name busybox1 busybox /bin/sh -c
"while true; do echo Hello World; sleep 1; done"
[Install]
WantedBy=multi-user.target
Dépendance vers docker
@Jean_Eudes#DevoxxSystemD
Gestion des dépendances
• Requires,Wants
• Before, After
$ systemctl list-dependencies busybox1
@Jean_Eudes#DevoxxSystemD
Des listeners ?
[Unit]
Description=Ma super application sous docker
After=docker.service
Requires=docker.service
[Service]
ExecStartPre=/usr/bin/docker kill busybox1
ExecStartPre=/usr/bin/docker rm busybox1
ExecStartPre=/usr/bin/docker pull busybox
ExecStart=/usr/bin/docker run --name busybox1 busybox /bin/sh -c
"while true; do echo Hello World; sleep 1; done"
[Install]
WantedBy=multi-user.target
@Jean_Eudes#DevoxxSystemD
Des listeners ?
• ExecStartPre
• ExecStartPost
• ExecStopPost
@Jean_Eudes#DevoxxSystemD
Mais encore,
• Démarrer une socket (System.inheritedChannel())
• Monter un système de fichier
• Démarrer des cron
• Lancer des containers (machinectl)
@Jean_Eudes#DevoxxSystemD
Pour aller plus loin
• man
• http://0pointer.de/blog/projects/systemd.html (lennart)
• http://www.freedesktop.org/wiki/Software/systemd/
@Jean_Eudes#DevoxxSystemD
Summary
@Jean_Eudes#DevoxxSystemD
Q & A

Contenu connexe

Tendances

Principes de fonctionnement unix
Principes de fonctionnement unixPrincipes de fonctionnement unix
Principes de fonctionnement unixwebreaker
 
Installation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey SpiderInstallation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey SpiderMohamed Ben Bouzid
 
Analyse d'un kernel (crash, core) dump
Analyse d'un kernel (crash, core) dumpAnalyse d'un kernel (crash, core) dump
Analyse d'un kernel (crash, core) dumpGaëtan Trellu
 
Install arch ultrabook full luks ssd
Install arch ultrabook full luks ssdInstall arch ultrabook full luks ssd
Install arch ultrabook full luks ssdAnthony Le Goff
 

Tendances (8)

Principes de fonctionnement unix
Principes de fonctionnement unixPrincipes de fonctionnement unix
Principes de fonctionnement unix
 
Tp n 5 linux
Tp n 5 linuxTp n 5 linux
Tp n 5 linux
 
Installation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey SpiderInstallation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey Spider
 
Analyse d'un kernel (crash, core) dump
Analyse d'un kernel (crash, core) dumpAnalyse d'un kernel (crash, core) dump
Analyse d'un kernel (crash, core) dump
 
Boot
BootBoot
Boot
 
Nagios twil
Nagios twilNagios twil
Nagios twil
 
Nagios
NagiosNagios
Nagios
 
Install arch ultrabook full luks ssd
Install arch ultrabook full luks ssdInstall arch ultrabook full luks ssd
Install arch ultrabook full luks ssd
 

En vedette

Varnish & blue/green deployments
Varnish & blue/green deploymentsVarnish & blue/green deployments
Varnish & blue/green deploymentsOxalide
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide
 
ISO 27001 est-il soluble dans l'agilité ?
ISO 27001 est-il soluble dans l'agilité ?ISO 27001 est-il soluble dans l'agilité ?
ISO 27001 est-il soluble dans l'agilité ?Oxalide
 
XebiCon'16 : Xebia Labs : Les outils de déploiement sont morts avec les Conta...
XebiCon'16 : Xebia Labs : Les outils de déploiement sont morts avec les Conta...XebiCon'16 : Xebia Labs : Les outils de déploiement sont morts avec les Conta...
XebiCon'16 : Xebia Labs : Les outils de déploiement sont morts avec les Conta...Publicis Sapient Engineering
 
Introduction à docker.io
Introduction à docker.ioIntroduction à docker.io
Introduction à docker.ioNicolas Hennion
 
[2C4]Clustered computing with CoreOS, fleet and etcd
[2C4]Clustered computing with CoreOS, fleet and etcd[2C4]Clustered computing with CoreOS, fleet and etcd
[2C4]Clustered computing with CoreOS, fleet and etcdNAVER D2
 
Amazon EC2 Container Service in Action
Amazon EC2 Container Service in ActionAmazon EC2 Container Service in Action
Amazon EC2 Container Service in ActionRemotty
 
RancherOS Introduction
RancherOS IntroductionRancherOS Introduction
RancherOS IntroductionRemotty
 
Mesos on coreOS
Mesos on coreOSMesos on coreOS
Mesos on coreOS충섭 김
 
[2A1]Line은 어떻게 글로벌 메신저 플랫폼이 되었는가
[2A1]Line은 어떻게 글로벌 메신저 플랫폼이 되었는가[2A1]Line은 어떻게 글로벌 메신저 플랫폼이 되었는가
[2A1]Line은 어떻게 글로벌 메신저 플랫폼이 되었는가NAVER D2
 
Back day - REX vsct - Secrets de conception d’une application innovante au s...
Back day -  REX vsct - Secrets de conception d’une application innovante au s...Back day -  REX vsct - Secrets de conception d’une application innovante au s...
Back day - REX vsct - Secrets de conception d’une application innovante au s...Publicis Sapient Engineering
 
Carrefour des Possibles processus 2014
Carrefour des Possibles processus 2014Carrefour des Possibles processus 2014
Carrefour des Possibles processus 2014Fing
 
InformacióN BioméDica Y Medicina Basada En Evidencia De Acceso Libre En Inter...
InformacióN BioméDica Y Medicina Basada En Evidencia De Acceso Libre En Inter...InformacióN BioméDica Y Medicina Basada En Evidencia De Acceso Libre En Inter...
InformacióN BioméDica Y Medicina Basada En Evidencia De Acceso Libre En Inter...landaromero
 
Changeons la conception de nos applications grâce aux services Cloud (DevoxxF...
Changeons la conception de nos applications grâce aux services Cloud (DevoxxF...Changeons la conception de nos applications grâce aux services Cloud (DevoxxF...
Changeons la conception de nos applications grâce aux services Cloud (DevoxxF...Publicis Sapient Engineering
 
Autoportrait Imaginaire
Autoportrait ImaginaireAutoportrait Imaginaire
Autoportrait Imaginairelilibelle38
 

En vedette (20)

Varnish & blue/green deployments
Varnish & blue/green deploymentsVarnish & blue/green deployments
Varnish & blue/green deployments
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
 
ISO 27001 est-il soluble dans l'agilité ?
ISO 27001 est-il soluble dans l'agilité ?ISO 27001 est-il soluble dans l'agilité ?
ISO 27001 est-il soluble dans l'agilité ?
 
Docker infiniband
Docker infinibandDocker infiniband
Docker infiniband
 
XebiCon'16 : Xebia Labs : Les outils de déploiement sont morts avec les Conta...
XebiCon'16 : Xebia Labs : Les outils de déploiement sont morts avec les Conta...XebiCon'16 : Xebia Labs : Les outils de déploiement sont morts avec les Conta...
XebiCon'16 : Xebia Labs : Les outils de déploiement sont morts avec les Conta...
 
Introduction à docker.io
Introduction à docker.ioIntroduction à docker.io
Introduction à docker.io
 
[2C4]Clustered computing with CoreOS, fleet and etcd
[2C4]Clustered computing with CoreOS, fleet and etcd[2C4]Clustered computing with CoreOS, fleet and etcd
[2C4]Clustered computing with CoreOS, fleet and etcd
 
Amazon EC2 Container Service in Action
Amazon EC2 Container Service in ActionAmazon EC2 Container Service in Action
Amazon EC2 Container Service in Action
 
Présentation Docker
Présentation DockerPrésentation Docker
Présentation Docker
 
RancherOS Introduction
RancherOS IntroductionRancherOS Introduction
RancherOS Introduction
 
Mesos on coreOS
Mesos on coreOSMesos on coreOS
Mesos on coreOS
 
[2A1]Line은 어떻게 글로벌 메신저 플랫폼이 되었는가
[2A1]Line은 어떻게 글로벌 메신저 플랫폼이 되었는가[2A1]Line은 어떻게 글로벌 메신저 플랫폼이 되었는가
[2A1]Line은 어떻게 글로벌 메신저 플랫폼이 되었는가
 
Bullying
BullyingBullying
Bullying
 
Back day - REX vsct - Secrets de conception d’une application innovante au s...
Back day -  REX vsct - Secrets de conception d’une application innovante au s...Back day -  REX vsct - Secrets de conception d’une application innovante au s...
Back day - REX vsct - Secrets de conception d’une application innovante au s...
 
XebiConFr 15 - Le nouvel Ops
XebiConFr 15 - Le nouvel Ops XebiConFr 15 - Le nouvel Ops
XebiConFr 15 - Le nouvel Ops
 
Carrefour des Possibles processus 2014
Carrefour des Possibles processus 2014Carrefour des Possibles processus 2014
Carrefour des Possibles processus 2014
 
InformacióN BioméDica Y Medicina Basada En Evidencia De Acceso Libre En Inter...
InformacióN BioméDica Y Medicina Basada En Evidencia De Acceso Libre En Inter...InformacióN BioméDica Y Medicina Basada En Evidencia De Acceso Libre En Inter...
InformacióN BioméDica Y Medicina Basada En Evidencia De Acceso Libre En Inter...
 
Changeons la conception de nos applications grâce aux services Cloud (DevoxxF...
Changeons la conception de nos applications grâce aux services Cloud (DevoxxF...Changeons la conception de nos applications grâce aux services Cloud (DevoxxF...
Changeons la conception de nos applications grâce aux services Cloud (DevoxxF...
 
IDEP_Patrimoine documentaire
IDEP_Patrimoine documentaireIDEP_Patrimoine documentaire
IDEP_Patrimoine documentaire
 
Autoportrait Imaginaire
Autoportrait ImaginaireAutoportrait Imaginaire
Autoportrait Imaginaire
 

Similaire à Les développeurs aussi maitrisent le systèmD - Devoxx 2015

systemd red hat linux examen Ex200 rh124
systemd red hat linux examen Ex200 rh124systemd red hat linux examen Ex200 rh124
systemd red hat linux examen Ex200 rh124loffyhacker
 
TDD for DevOps with Chef
TDD for DevOps with ChefTDD for DevOps with Chef
TDD for DevOps with ChefOlivier BAZOUD
 
Maven/Ivy vs OSGi (Toulouse Jug 26-05-2011)
Maven/Ivy vs OSGi (Toulouse Jug 26-05-2011)Maven/Ivy vs OSGi (Toulouse Jug 26-05-2011)
Maven/Ivy vs OSGi (Toulouse Jug 26-05-2011)hibnico
 
22410B_04.pptx bdsbsdhbsbdhjbhjdsbhbhbdsh
22410B_04.pptx bdsbsdhbsbdhjbhjdsbhbhbdsh22410B_04.pptx bdsbsdhbsbdhjbhjdsbhbhbdsh
22410B_04.pptx bdsbsdhbsbdhjbhjdsbhbhbdshkhalidkabbad2
 
0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.ppt0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.pptDenisKouakou1
 
Backdoors et rootkits_avancees_[slides]
Backdoors et rootkits_avancees_[slides]Backdoors et rootkits_avancees_[slides]
Backdoors et rootkits_avancees_[slides]UltraUploader
 
l'Industrialisation (avec PHP) @MMIConnect
l'Industrialisation (avec PHP) @MMIConnectl'Industrialisation (avec PHP) @MMIConnect
l'Industrialisation (avec PHP) @MMIConnectFlorent DENIS
 
WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
 WordCamp Lyon 2015 - WordPress, Git et l'intégration continue WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
WordCamp Lyon 2015 - WordPress, Git et l'intégration continueStéphane HULARD
 
Git utilisation quotidienne
Git   utilisation quotidienneGit   utilisation quotidienne
Git utilisation quotidienneSylvain Witmeyer
 
Cours SE Principes et fonctionnement de système d’exploitation - IPSET.pdf
Cours SE Principes et fonctionnement de système d’exploitation - IPSET.pdfCours SE Principes et fonctionnement de système d’exploitation - IPSET.pdf
Cours SE Principes et fonctionnement de système d’exploitation - IPSET.pdfMedBechir
 
Migrer de Jenkins vers Azure DevOps les Builds Java
Migrer de Jenkins vers Azure DevOps les Builds JavaMigrer de Jenkins vers Azure DevOps les Builds Java
Migrer de Jenkins vers Azure DevOps les Builds JavaCédric Leblond
 
GraphTour - Workday: Tracking activity with Neo4j (French version)
GraphTour - Workday: Tracking activity with Neo4j (French version)GraphTour - Workday: Tracking activity with Neo4j (French version)
GraphTour - Workday: Tracking activity with Neo4j (French version)Neo4j
 
20120110 paris jug-packaging-natif
20120110 paris jug-packaging-natif20120110 paris jug-packaging-natif
20120110 paris jug-packaging-natifHenri Gomez
 
Cedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure DevopsCedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure DevopsFactoVia
 
Cedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure DevopsCedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure DevopsAZUG FR
 

Similaire à Les développeurs aussi maitrisent le systèmD - Devoxx 2015 (20)

systemd red hat linux examen Ex200 rh124
systemd red hat linux examen Ex200 rh124systemd red hat linux examen Ex200 rh124
systemd red hat linux examen Ex200 rh124
 
TDD for DevOps with Chef
TDD for DevOps with ChefTDD for DevOps with Chef
TDD for DevOps with Chef
 
Maven/Ivy vs OSGi (Toulouse Jug 26-05-2011)
Maven/Ivy vs OSGi (Toulouse Jug 26-05-2011)Maven/Ivy vs OSGi (Toulouse Jug 26-05-2011)
Maven/Ivy vs OSGi (Toulouse Jug 26-05-2011)
 
22410B_04.pptx bdsbsdhbsbdhjbhjdsbhbhbdsh
22410B_04.pptx bdsbsdhbsbdhjbhjdsbhbhbdsh22410B_04.pptx bdsbsdhbsbdhjbhjdsbhbhbdsh
22410B_04.pptx bdsbsdhbsbdhjbhjdsbhbhbdsh
 
0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.ppt0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.ppt
 
Les nouveautés de PowerShell 3.0
Les nouveautés de PowerShell 3.0Les nouveautés de PowerShell 3.0
Les nouveautés de PowerShell 3.0
 
Des tests modernes pour Drupal
Des tests modernes pour DrupalDes tests modernes pour Drupal
Des tests modernes pour Drupal
 
Présentation devops&puppet 04112014
Présentation devops&puppet 04112014 Présentation devops&puppet 04112014
Présentation devops&puppet 04112014
 
Backdoors et rootkits_avancees_[slides]
Backdoors et rootkits_avancees_[slides]Backdoors et rootkits_avancees_[slides]
Backdoors et rootkits_avancees_[slides]
 
l'Industrialisation (avec PHP) @MMIConnect
l'Industrialisation (avec PHP) @MMIConnectl'Industrialisation (avec PHP) @MMIConnect
l'Industrialisation (avec PHP) @MMIConnect
 
Introduction à node.js
Introduction à node.js Introduction à node.js
Introduction à node.js
 
WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
 WordCamp Lyon 2015 - WordPress, Git et l'intégration continue WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
 
Git utilisation quotidienne
Git   utilisation quotidienneGit   utilisation quotidienne
Git utilisation quotidienne
 
Jenkins
JenkinsJenkins
Jenkins
 
Cours SE Principes et fonctionnement de système d’exploitation - IPSET.pdf
Cours SE Principes et fonctionnement de système d’exploitation - IPSET.pdfCours SE Principes et fonctionnement de système d’exploitation - IPSET.pdf
Cours SE Principes et fonctionnement de système d’exploitation - IPSET.pdf
 
Migrer de Jenkins vers Azure DevOps les Builds Java
Migrer de Jenkins vers Azure DevOps les Builds JavaMigrer de Jenkins vers Azure DevOps les Builds Java
Migrer de Jenkins vers Azure DevOps les Builds Java
 
GraphTour - Workday: Tracking activity with Neo4j (French version)
GraphTour - Workday: Tracking activity with Neo4j (French version)GraphTour - Workday: Tracking activity with Neo4j (French version)
GraphTour - Workday: Tracking activity with Neo4j (French version)
 
20120110 paris jug-packaging-natif
20120110 paris jug-packaging-natif20120110 paris jug-packaging-natif
20120110 paris jug-packaging-natif
 
Cedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure DevopsCedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure Devops
 
Cedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure DevopsCedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure Devops
 

Plus de Publicis Sapient Engineering

XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humainXebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humainPublicis Sapient Engineering
 
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveurXebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveurPublicis Sapient Engineering
 
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...Publicis Sapient Engineering
 
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin Publicis Sapient Engineering
 
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?XebiCon'18 - Event Sourcing et RGPD, incompatibles ?
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?Publicis Sapient Engineering
 
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?Publicis Sapient Engineering
 
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribuéXebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribuéPublicis Sapient Engineering
 
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...Publicis Sapient Engineering
 
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !Publicis Sapient Engineering
 
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des datavizXebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des datavizPublicis Sapient Engineering
 
XebiCon'18 - Architecturer son application mobile pour la durabilité
XebiCon'18 - Architecturer son application mobile pour la durabilitéXebiCon'18 - Architecturer son application mobile pour la durabilité
XebiCon'18 - Architecturer son application mobile pour la durabilitéPublicis Sapient Engineering
 
XebiCon'18 - Sécuriser son API avec OpenID Connect
XebiCon'18 - Sécuriser son API avec OpenID ConnectXebiCon'18 - Sécuriser son API avec OpenID Connect
XebiCon'18 - Sécuriser son API avec OpenID ConnectPublicis Sapient Engineering
 
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...Publicis Sapient Engineering
 
XebiCon'18 - La sécurité, douce illusion même en 2018
XebiCon'18 - La sécurité, douce illusion même en 2018XebiCon'18 - La sécurité, douce illusion même en 2018
XebiCon'18 - La sécurité, douce illusion même en 2018Publicis Sapient Engineering
 
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...Publicis Sapient Engineering
 
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...Publicis Sapient Engineering
 

Plus de Publicis Sapient Engineering (20)

XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humainXebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
 
Xebicon'18 - IoT: From Edge to Cloud
Xebicon'18 - IoT: From Edge to CloudXebicon'18 - IoT: From Edge to Cloud
Xebicon'18 - IoT: From Edge to Cloud
 
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveurXebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
 
XebiCon'18 - Modern Infrastructure
XebiCon'18 - Modern InfrastructureXebiCon'18 - Modern Infrastructure
XebiCon'18 - Modern Infrastructure
 
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
 
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
 
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?XebiCon'18 - Event Sourcing et RGPD, incompatibles ?
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?
 
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
 
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribuéXebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
 
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
 
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
 
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des datavizXebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
 
XebiCon'18 - Le développeur dans la Pop Culture
XebiCon'18 - Le développeur dans la Pop Culture XebiCon'18 - Le développeur dans la Pop Culture
XebiCon'18 - Le développeur dans la Pop Culture
 
XebiCon'18 - Architecturer son application mobile pour la durabilité
XebiCon'18 - Architecturer son application mobile pour la durabilitéXebiCon'18 - Architecturer son application mobile pour la durabilité
XebiCon'18 - Architecturer son application mobile pour la durabilité
 
XebiCon'18 - Sécuriser son API avec OpenID Connect
XebiCon'18 - Sécuriser son API avec OpenID ConnectXebiCon'18 - Sécuriser son API avec OpenID Connect
XebiCon'18 - Sécuriser son API avec OpenID Connect
 
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
 
XebiCon'18 - Spark NLP, un an après
XebiCon'18 - Spark NLP, un an aprèsXebiCon'18 - Spark NLP, un an après
XebiCon'18 - Spark NLP, un an après
 
XebiCon'18 - La sécurité, douce illusion même en 2018
XebiCon'18 - La sécurité, douce illusion même en 2018XebiCon'18 - La sécurité, douce illusion même en 2018
XebiCon'18 - La sécurité, douce illusion même en 2018
 
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
 
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
 

Les développeurs aussi maitrisent le systèmD - Devoxx 2015