SlideShare a Scribd company logo
1 of 43
Download to read offline
#DevoxxFR
Devoxx France 2018
@David_Caramelo
@CarlesSistare
1
gRPC, ECHANGES A HAUTE FREQUENCE !
#DevoxxFR
Carles Sistaré
Co-Founder - Tribe IT manager
Ogury
2
@CarlesSistare
https://github.com/carlessistare
carles.sistare@gmail.com
#DevoxxFR
David Caramelo
CTO Incubateur
Societe Generale Corporate and Investment Banking
3
@David_Caramelo
https://github.com/dcaramelo
david.caramelo83@gmail.com
#DevoxxFR
Plateforme Data Mobile
50 micro services
> 2 Milliards requêtes par jour
4
#DevoxxFR
API Rest/Json
5
- Gourmand en bande passante
- Pas de contrat d'API formel
- Pas conçu pour faire du streaming
#DevoxxFR
Bande passante
2TB bande passante
6
#DevoxxFR
Alternatives Rest/Json
7
WebSocket
#DevoxxFR 8
Modèle OSI
(Open Systems Interconnection)
Unités
Couches
Couches Hautes Couches Matérielles
Segment Paquet Trame BitDonnéeDonnéeDonnée
7-Application
6-Présentation
5-Session
4-Transport
3-Réseau
2-Liaison
1-Physique
#DevoxxFR 9
Modèle OSI
(Open Systems Interconnection)
Unités
Couches
Couches Hautes Couches Matérielles
Segment Paquet Trame BitDonnéeDonnéeDonnée
7-Application
6-Présentation
5-Session
4-Transport
3-Réseau
2-Liaison
1-Physique
#DevoxxFR 10
Donnée
7- Application
Donnée
6 - Présentation
Donnée
5 - Session
RPC
#DevoxxFR 11
Couche application
#DevoxxFR
HTTP évolution
HTTP 1.0 HTTP 1.1
Retard
12
HTTP 2
#DevoxxFR 13
HTTP 1 HTTP 2
1 TCP conn per HTTP req (hors Keep-Alive)
Head of line blocking
Connections
1 TCP conn -> Multiplexed Requests
Headers
Header Text Plain
Header et Data dans le même frame
Chaque Request renvoie le meme header
Header comprimé codage Huffman
Header et Data frames differents
Première Request envoie tous les headers
#DevoxxFR 14
Couche présentation
#DevoxxFR 15
Principe
Data
Contrat
(*.proto)
Marshal
0101010010
Unmarshal
Contrat
(*.proto)
Data
Les données sont composées d’une en-tête et de la donnée sérialisée.
#DevoxxFR
Exemple de fichier *.proto
syntax = "proto3";
service Example {
rpc Ping (stream MessageRequest) returns (stream MessageReply) {}
}
message MessageRequest {
string name = 1;
}
message MessageReply {
enum EnumStatus {
UNKNOWN = 0;
OK = 1;
KO = 2;
}
EnumStatus status = 1;
string message = 2;
}
16
#DevoxxFR
Data to JSON
17
message MessageRequest {
int32 ma_variable = 1;
}
17 octets
{ma_variable:150}
JSON
7b 6d 61 5f 76 61 72 69 61
62 6c 65 3a 31 35 30 7d
HEXA
#DevoxxFR 18
message MessageRequest {
int32 ma_variable = 1;
}
Data to binary
// position = 1
// type = 0 - Varint
// (position << 3) | type
(1 << 3) | 0 = 0000 1000
Résultat : 0x08
#DevoxxFR 19
VARINT
150 = 1001 0110
// Step 1: Groupe de 7 bits
000 0001 001 0110
// Step 2: Inverse (Least significant group first)
001 0110 000 0001
// Step 3: Add MSB
1001 0110 0000 0001
Résultat : 0x9601
- Least significant group first.
- Un octet =
1 bit MSB (Most Significant Bit)
7 bits pour le stockage
Quand le MSB = 1, c’est qu’il y a un octet
supplémentaire.
#DevoxxFR 20
Protobuf bilan
82 % de gain
// {ma_variable:150}
7b 6d 61 5f 76 61 72 69 61
62 6c 65 3a 31 35 30 7d
// 17 Octets
JSON
08 96 01
// 3 Octets
PROTOBUF
#DevoxxFR 21
Second exemple
61 % de gain
// {ma_variable:150,
mon_string:“Hello world”}
7b 6d 61 5f 76 61 72 69 61 62 6c
65 3a 31 35 30 2c 6d 6f 6e 5f 73
74 72 69 6e 67 3a 93 48 65 6c 6c
6f 20 77 6f 72 6c 64 94 7d
// 42 octets
JSON
08 96 01 12 0B 48 65 6c 6c
6f 20 77 6f 72 6c 64
// 16 octets
PROTOBUF
message PingRequest {
int32 ma_variable = 1;
string mon_string = 2;
}
#DevoxxFR
Démarche
message PingRequest {
int32 ma_variable = 1;
string mon_string = 2;
}
// {ma_variable:150, mon_string:“Hello world”}
>> 08 96 01 12 0B 48 65 6c 6c 6f 20 77 6f 72 6c 64
>> 0x089601 = 150 // (vu précédemment, 08 : header, 9601 : 150)
22
#DevoxxFR
Démarche
message PingRequest {
int32 ma_variable = 1;
string mon_string = 2;
}
// {ma_variable:150, mon_string:“Hello world”}
>> 08 96 01 12 0B 48 65 6c 6c 6f 20 77 6f 72 6c 64
>> 0x089601 = 150 // (vu précédemment, 08 : header, 9601 : 150)
// Step 1: Header (string)
// TYPE : 2 (010) - POSITION : 2 (0010)
// (2 << 3) | 2 = 0001 0010
>> 0x12
23
#DevoxxFR
Démarche
message PingRequest {
int32 ma_variable = 1;
string mon_string = 2;
}
// {ma_variable:150, mon_string:“Hello world”}
>> 08 96 01 12 0B 48 65 6c 6c 6f 20 77 6f 72 6c 64
>> 0x089601 = 150 // (vu précédemment, 08 : header, 9601 : 150)
// Step 1: Header (string)
// TYPE : 2 (010) - POSITION : 2 (0010)
// (2 << 3) | 2 = 0001 0010
>> 0x12
// Step 2: String Length
// 11 = 0000 1101
>> 0x0B

24
#DevoxxFR
Démarche
message PingRequest {
int32 ma_variable = 1;
string mon_string = 2;
}
// {ma_variable:150, mon_string:“Hello world”}
>> 08 96 01 12 0B 48 65 6c 6c 6f 20 77 6f 72 6c 64
>> 0x089601 = 150 // (vu précédemment, 08 : header, 9601 : 150)
// Step 1: Header (string)
// TYPE : 2 (010) - POSITION : 2 (0010)
// (2 << 3) | 2 = 0001 0010
>> 0x12
// Step 2: String Length
// 11 = 0000 1101
>> 0x0B

// Step 3: Text
// 48 65 6c 6c 6f 20 77 6f 72 6c 64
// H e l l o w o r l d
>> 08 96 01 12 0B 48 65 6c 6c 6f 20 77 6f 72 6c 64
25
#DevoxxFR
Démarche
message PingRequest {
int32 ma_variable = 1;
string mon_string = 2;
}
// {ma_variable:150, mon_string:“Hello world”}
>> 08 96 01 12 0B 48 65 6c 6c 6f 20 77 6f 72 6c 64
>> 0x089601 = 150 // (vu précédemment, 08 : header, 9601 : 150)
// Step 1: Header (string)
// TYPE : 2 (010) - POSITION : 2 (0010)
// (2 << 3) | 2 = 0001 0010
>> 0x12
// Step 2: String Length
// 11 = 0000 1101
>> 0x0B

// Step 3: Text
// 48 65 6c 6c 6f 20 77 6f 72 6c 64
// H e l l o w o r l d
>> 08 96 01 12 0B 48 65 6c 6c 6f 20 77 6f 72 6c 64
26
_______________________
#DevoxxFR 27
Protobuf
Gain limité s’il y a beaucoup de chaînes de caractère.
message MessageReply {
enum EnumStatus {
UNKNOWN = 0;
OK = 1;
KO = 2;
}
enum EnumErrorMessage {
UNKNOWN = 0;
USER_NOT_FOUND = 1;
ASSET_NOT_FOUND = 2;
}
EnumStatus status = 1;
EnumErrorMessage message = 2;
}
Favoriser les Enums
#DevoxxFR 28
Couche Session
#DevoxxFR 29
RPC / IDL
public class HelloWorldClient {
public HelloWorld() {
return HelloWorldServer.sayHello();
}
}
public class HelloWorldServeur {
public static String HelloWorld() {
return "Hello World";
}
}
(Remote Procedure Call / Interface Description Language)
RPC permet de faire des appels de procédures sur un ordinateur distant.
Client Serveur
#DevoxxFR
Types de requêtes
SIMPLE RPC REQ STREAM
30
RESP STREAM FULL DUPLEX
#DevoxxFR
gRPC : Définition des services
31
syntax = "proto3";
service Example {
rpc MessageSimple (MessageRequest) returns (MessageReply) {}
rpc MessageStreamReq (stream MessageRequest) returns (MessageReply) {}
rpc MessageStreamRes (MessageRequest) returns (stream MessageReply) {}
rpc MessageFullDuplex (stream MessageRequest) returns (stream MessageReply) {}
}
message MessageRequest {
string name = 1;
}
message MessageReply {
enum EnumStatus {
UNKNOWN = 0;
OK = 1;
KO = 2;
}
EnumStatus status = 1;
string message = 2;
}
#DevoxxFR 32
Les performances
#DevoxxFR 33
Protocole de test
Temps Response
#message/sec
I/O bytes
#DevoxxFR
Résultats
34
Message HTTP (keep-alive) gRPC (Simple Connection)
Simple
2200 msg/s
15 ms/95p
33 Mo I/O
3700 msg/s
7 ms/95p
28 Mo I/O +32% msg/s
-50% response time
Complexe
2200 msg/s
15 ms/95p
138 Mo I/O
3700 msg/s
7 ms/95p
80 Mo I/O
+318% octets +185% octets
#DevoxxF
R
Load Balancing
• Client Load Balancing (external load balancing)
• ENVOY
• LINKERD
• NGINX (très recent)
35
#DevoxxFR 36
Mise en oeuvre
#DevoxxFR
Screen capture
37
https://github.com/LogNet/grpc-spring-boot-starter
Java
#DevoxxFR 38
Java
>> protoc —-java_out=src/main/java/
./exemple.proto
Les classes sont générés.
Maven Ligne de commande
#DevoxxFR 39
https://www.npmjs.com/package/grpc
Javascript
#DevoxxFR 40
https://www.npmjs.com/package/grpc-promise
Javascript
#DevoxxFR
Code !
41
https://github.com/dcaramelo/grpc-demo
#DevoxxFR
TAKE AWAY
42
- Optimisation du traffic réseau inter machine.
- Diminution des temps de latence
- Travailler votre monitoring
- Debug plus compliqué (curl, proxy http-grpc, double entrée http-grpc, ...)
#DevoxxFR
Merci à vous !
Merci à la team #DevoxxFR !
43
@David_Caramelo
@CarlesSistare

More Related Content

What's hot

Corrige tp3 m3102_dut2
Corrige tp3 m3102_dut2Corrige tp3 m3102_dut2
Corrige tp3 m3102_dut2Youssef Rvd
 
Les secrets de la JVM pour les algos à haute fréquence
Les secrets de la JVM pour les algos à haute fréquenceLes secrets de la JVM pour les algos à haute fréquence
Les secrets de la JVM pour les algos à haute fréquenceOCTO Technology
 
VTP(Virtual Trunking Protocol)
VTP(Virtual Trunking Protocol)VTP(Virtual Trunking Protocol)
VTP(Virtual Trunking Protocol)Sirine Ibrahim
 
Gestion et surveillance du reseau syslogng
Gestion et surveillance du reseau  syslogngGestion et surveillance du reseau  syslogng
Gestion et surveillance du reseau syslogngKiemde Franck
 
DNS sous linux
DNS sous linuxDNS sous linux
DNS sous linuxSouhaib El
 
Corrigé cisco wissamben
Corrigé cisco wissambenCorrigé cisco wissamben
Corrigé cisco wissambenWissam Bencold
 
TP switch pod4
TP switch pod4TP switch pod4
TP switch pod4mickaelday
 
QCM informatique de base
QCM informatique de baseQCM informatique de base
QCM informatique de baseFrust Rados
 
Acces distant VPN (mode client) pour la domotique
Acces distant VPN (mode client) pour la domotiqueAcces distant VPN (mode client) pour la domotique
Acces distant VPN (mode client) pour la domotiqueBenoît VAN DEN BULCKE
 
Lire les tables de routage
Lire les tables de routageLire les tables de routage
Lire les tables de routagebelhadj_rached
 
Installation de la clé orange sur ubuntu
Installation de la clé orange sur ubuntuInstallation de la clé orange sur ubuntu
Installation de la clé orange sur ubuntuRahma Ben Hammouda
 
Retour d'expérience sur notre stack de log
Retour d'expérience sur notre stack de logRetour d'expérience sur notre stack de log
Retour d'expérience sur notre stack de logJulien Maitrehenry
 

What's hot (17)

Corrige tp3 m3102_dut2
Corrige tp3 m3102_dut2Corrige tp3 m3102_dut2
Corrige tp3 m3102_dut2
 
Les secrets de la JVM pour les algos à haute fréquence
Les secrets de la JVM pour les algos à haute fréquenceLes secrets de la JVM pour les algos à haute fréquence
Les secrets de la JVM pour les algos à haute fréquence
 
VTP(Virtual Trunking Protocol)
VTP(Virtual Trunking Protocol)VTP(Virtual Trunking Protocol)
VTP(Virtual Trunking Protocol)
 
Gestion et surveillance du reseau syslogng
Gestion et surveillance du reseau  syslogngGestion et surveillance du reseau  syslogng
Gestion et surveillance du reseau syslogng
 
DNS sous linux
DNS sous linuxDNS sous linux
DNS sous linux
 
Corrigé cisco wissamben
Corrigé cisco wissambenCorrigé cisco wissamben
Corrigé cisco wissamben
 
TP switch pod4
TP switch pod4TP switch pod4
TP switch pod4
 
Protocoles SSL/TLS
Protocoles SSL/TLSProtocoles SSL/TLS
Protocoles SSL/TLS
 
QCM informatique de base
QCM informatique de baseQCM informatique de base
QCM informatique de base
 
Implémentation d'openvpn
Implémentation d'openvpnImplémentation d'openvpn
Implémentation d'openvpn
 
Acces distant VPN (mode client) pour la domotique
Acces distant VPN (mode client) pour la domotiqueAcces distant VPN (mode client) pour la domotique
Acces distant VPN (mode client) pour la domotique
 
Réseau MiNET
Réseau MiNETRéseau MiNET
Réseau MiNET
 
Mise en place d’un OpenVPN sous PfSense
Mise en place d’un OpenVPN sous PfSenseMise en place d’un OpenVPN sous PfSense
Mise en place d’un OpenVPN sous PfSense
 
Lire les tables de routage
Lire les tables de routageLire les tables de routage
Lire les tables de routage
 
Installation de la clé orange sur ubuntu
Installation de la clé orange sur ubuntuInstallation de la clé orange sur ubuntu
Installation de la clé orange sur ubuntu
 
Formation1 sockets
Formation1 socketsFormation1 sockets
Formation1 sockets
 
Retour d'expérience sur notre stack de log
Retour d'expérience sur notre stack de logRetour d'expérience sur notre stack de log
Retour d'expérience sur notre stack de log
 

Similar to gRPC, échange à haute fréquence !

gRPC, ECHANGES A HAUTE FREQUENCE !
gRPC, ECHANGES A HAUTE FREQUENCE !gRPC, ECHANGES A HAUTE FREQUENCE !
gRPC, ECHANGES A HAUTE FREQUENCE !Carles Sistare
 
gRPC, échange à haute fréquence!
gRPC, échange à haute fréquence!gRPC, échange à haute fréquence!
gRPC, échange à haute fréquence!David Caramelo
 
DevoxxFR 2019: Consul @Criteo
DevoxxFR 2019: Consul @CriteoDevoxxFR 2019: Consul @Criteo
DevoxxFR 2019: Consul @CriteoPierre Souchay
 
Réseaux et protocoles - Cours + exercices
Réseaux et protocoles - Cours + exercices Réseaux et protocoles - Cours + exercices
Réseaux et protocoles - Cours + exercices sarah Benmerzouk
 
Messaging temps réel avec Go
Messaging temps réel avec GoMessaging temps réel avec Go
Messaging temps réel avec GoMickaël Rémond
 
Travaux dirigés Réseau Ethernet
Travaux dirigés Réseau EthernetTravaux dirigés Réseau Ethernet
Travaux dirigés Réseau EthernetInes Kechiche
 
Sthack 2015 - David Berard & Vincent Fargues - Attack the cache to get some cash
Sthack 2015 - David Berard & Vincent Fargues - Attack the cache to get some cashSthack 2015 - David Berard & Vincent Fargues - Attack the cache to get some cash
Sthack 2015 - David Berard & Vincent Fargues - Attack the cache to get some cashStHack
 
Démons en PHP, de inetd à ZeroMQ
Démons en PHP, de inetd à ZeroMQDémons en PHP, de inetd à ZeroMQ
Démons en PHP, de inetd à ZeroMQAmaury Bouchard
 
Couche1 couche2 s4_v05
Couche1 couche2 s4_v05Couche1 couche2 s4_v05
Couche1 couche2 s4_v05LeslyOctave
 
Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux?
Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux?Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux?
Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux?Ruau Mickael
 
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesBreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesXavier MARIN
 
Chapter2_ScalingNetworks.pdf
Chapter2_ScalingNetworks.pdfChapter2_ScalingNetworks.pdf
Chapter2_ScalingNetworks.pdfBARKAAMINEAHAMAT
 
Composants routeur cisco et différent mode de Configuration
Composants routeur cisco et différent mode de ConfigurationComposants routeur cisco et différent mode de Configuration
Composants routeur cisco et différent mode de ConfigurationZakariaBouzzitMadrid
 
laboratoire formation ccna cisco materiel .ppt
laboratoire formation ccna cisco materiel .pptlaboratoire formation ccna cisco materiel .ppt
laboratoire formation ccna cisco materiel .pptprofsn
 
Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux!
Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux!Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux!
Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux!Ruau Mickael
 

Similar to gRPC, échange à haute fréquence ! (20)

gRPC, ECHANGES A HAUTE FREQUENCE !
gRPC, ECHANGES A HAUTE FREQUENCE !gRPC, ECHANGES A HAUTE FREQUENCE !
gRPC, ECHANGES A HAUTE FREQUENCE !
 
gRPC, échange à haute fréquence!
gRPC, échange à haute fréquence!gRPC, échange à haute fréquence!
gRPC, échange à haute fréquence!
 
DevoxxFR 2019: Consul @Criteo
DevoxxFR 2019: Consul @CriteoDevoxxFR 2019: Consul @Criteo
DevoxxFR 2019: Consul @Criteo
 
Implementing a key/value store
Implementing a key/value storeImplementing a key/value store
Implementing a key/value store
 
Formation python
Formation pythonFormation python
Formation python
 
Réseaux et protocoles - Cours + exercices
Réseaux et protocoles - Cours + exercices Réseaux et protocoles - Cours + exercices
Réseaux et protocoles - Cours + exercices
 
Messaging temps réel avec Go
Messaging temps réel avec GoMessaging temps réel avec Go
Messaging temps réel avec Go
 
Travaux dirigés Réseau Ethernet
Travaux dirigés Réseau EthernetTravaux dirigés Réseau Ethernet
Travaux dirigés Réseau Ethernet
 
Sthack 2015 - David Berard & Vincent Fargues - Attack the cache to get some cash
Sthack 2015 - David Berard & Vincent Fargues - Attack the cache to get some cashSthack 2015 - David Berard & Vincent Fargues - Attack the cache to get some cash
Sthack 2015 - David Berard & Vincent Fargues - Attack the cache to get some cash
 
Démons en PHP, de inetd à ZeroMQ
Démons en PHP, de inetd à ZeroMQDémons en PHP, de inetd à ZeroMQ
Démons en PHP, de inetd à ZeroMQ
 
OWF12/PHP de inetd à ZeroMQ
OWF12/PHP de inetd à ZeroMQOWF12/PHP de inetd à ZeroMQ
OWF12/PHP de inetd à ZeroMQ
 
Couche1 couche2 s4_v05
Couche1 couche2 s4_v05Couche1 couche2 s4_v05
Couche1 couche2 s4_v05
 
Astuces cisco
Astuces ciscoAstuces cisco
Astuces cisco
 
Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux?
Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux?Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux?
Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux?
 
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesBreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
 
Chapter2_ScalingNetworks.pdf
Chapter2_ScalingNetworks.pdfChapter2_ScalingNetworks.pdf
Chapter2_ScalingNetworks.pdf
 
Composants routeur cisco et différent mode de Configuration
Composants routeur cisco et différent mode de ConfigurationComposants routeur cisco et différent mode de Configuration
Composants routeur cisco et différent mode de Configuration
 
laboratoire formation ccna cisco materiel .ppt
laboratoire formation ccna cisco materiel .pptlaboratoire formation ccna cisco materiel .ppt
laboratoire formation ccna cisco materiel .ppt
 
Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux!
Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux!Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux!
Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux!
 
ethernet.ppt
ethernet.pptethernet.ppt
ethernet.ppt
 

Recently uploaded

BOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitières
BOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitièresBOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitières
BOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitièresidelewebmestre
 
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...idelewebmestre
 
Cours polymère presentation powerpoint 46 pages
Cours polymère presentation powerpoint 46 pagesCours polymère presentation powerpoint 46 pages
Cours polymère presentation powerpoint 46 pagesPierreFournier32
 
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminantsBow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminantsidelewebmestre
 
BOW 2024 -3-9 - Matelas de logettes à eau refroidie VL
BOW 2024 -3-9 - Matelas de logettes à eau refroidie VLBOW 2024 -3-9 - Matelas de logettes à eau refroidie VL
BOW 2024 -3-9 - Matelas de logettes à eau refroidie VLidelewebmestre
 
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...idelewebmestre
 
Accompagnement de l'agrivoltaïsme dans le département de la Nièvre
Accompagnement de l'agrivoltaïsme dans le département de la NièvreAccompagnement de l'agrivoltaïsme dans le département de la Nièvre
Accompagnement de l'agrivoltaïsme dans le département de la Nièvreidelewebmestre
 
BOW 2024 - 3-2 - Stress thermique impact vaches laitières
BOW 2024 - 3-2 - Stress thermique impact vaches laitièresBOW 2024 - 3-2 - Stress thermique impact vaches laitières
BOW 2024 - 3-2 - Stress thermique impact vaches laitièresidelewebmestre
 
Cadre réglementaire et développement de l'agrivoltaïsme en France
Cadre réglementaire et développement de l'agrivoltaïsme en FranceCadre réglementaire et développement de l'agrivoltaïsme en France
Cadre réglementaire et développement de l'agrivoltaïsme en Franceidelewebmestre
 
BOW 2024 - Jardins d'hiver en poulets de chair
BOW 2024 - Jardins d'hiver en poulets de chairBOW 2024 - Jardins d'hiver en poulets de chair
BOW 2024 - Jardins d'hiver en poulets de chairidelewebmestre
 
BOW 2024 - L'écurie ouverte : un concept inspirant pour la filière équine
BOW 2024 - L'écurie ouverte : un concept inspirant pour la filière équineBOW 2024 - L'écurie ouverte : un concept inspirant pour la filière équine
BOW 2024 - L'écurie ouverte : un concept inspirant pour la filière équineidelewebmestre
 
BOW 2024 - L'enrichissement du milieu des chèvres laitières
BOW 2024 - L'enrichissement du milieu des chèvres laitièresBOW 2024 - L'enrichissement du milieu des chèvres laitières
BOW 2024 - L'enrichissement du milieu des chèvres laitièresidelewebmestre
 
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...idelewebmestre
 
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleurBOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleuridelewebmestre
 
BOW 2024 - Dedans/Dehors quand voir ne suffit pas
BOW 2024 - Dedans/Dehors quand voir ne suffit pasBOW 2024 - Dedans/Dehors quand voir ne suffit pas
BOW 2024 - Dedans/Dehors quand voir ne suffit pasidelewebmestre
 
BOW 2024 - 3-3 - Adaptation des bâtiments pour ruminants au changement clima...
BOW 2024 - 3-3 -  Adaptation des bâtiments pour ruminants au changement clima...BOW 2024 - 3-3 -  Adaptation des bâtiments pour ruminants au changement clima...
BOW 2024 - 3-3 - Adaptation des bâtiments pour ruminants au changement clima...idelewebmestre
 
BOW 2024-3-10 - Batcool Petits ruminants
BOW 2024-3-10 - Batcool Petits ruminantsBOW 2024-3-10 - Batcool Petits ruminants
BOW 2024-3-10 - Batcool Petits ruminantsidelewebmestre
 
Agrivoltaïsme et filière ovine en Dordogne
Agrivoltaïsme et filière ovine en DordogneAgrivoltaïsme et filière ovine en Dordogne
Agrivoltaïsme et filière ovine en Dordogneidelewebmestre
 
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcins
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcinsBOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcins
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcinsidelewebmestre
 

Recently uploaded (20)

Webinaire lésions podales_04.04.2024.pptx
Webinaire lésions podales_04.04.2024.pptxWebinaire lésions podales_04.04.2024.pptx
Webinaire lésions podales_04.04.2024.pptx
 
BOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitières
BOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitièresBOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitières
BOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitières
 
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...
 
Cours polymère presentation powerpoint 46 pages
Cours polymère presentation powerpoint 46 pagesCours polymère presentation powerpoint 46 pages
Cours polymère presentation powerpoint 46 pages
 
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminantsBow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
 
BOW 2024 -3-9 - Matelas de logettes à eau refroidie VL
BOW 2024 -3-9 - Matelas de logettes à eau refroidie VLBOW 2024 -3-9 - Matelas de logettes à eau refroidie VL
BOW 2024 -3-9 - Matelas de logettes à eau refroidie VL
 
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
 
Accompagnement de l'agrivoltaïsme dans le département de la Nièvre
Accompagnement de l'agrivoltaïsme dans le département de la NièvreAccompagnement de l'agrivoltaïsme dans le département de la Nièvre
Accompagnement de l'agrivoltaïsme dans le département de la Nièvre
 
BOW 2024 - 3-2 - Stress thermique impact vaches laitières
BOW 2024 - 3-2 - Stress thermique impact vaches laitièresBOW 2024 - 3-2 - Stress thermique impact vaches laitières
BOW 2024 - 3-2 - Stress thermique impact vaches laitières
 
Cadre réglementaire et développement de l'agrivoltaïsme en France
Cadre réglementaire et développement de l'agrivoltaïsme en FranceCadre réglementaire et développement de l'agrivoltaïsme en France
Cadre réglementaire et développement de l'agrivoltaïsme en France
 
BOW 2024 - Jardins d'hiver en poulets de chair
BOW 2024 - Jardins d'hiver en poulets de chairBOW 2024 - Jardins d'hiver en poulets de chair
BOW 2024 - Jardins d'hiver en poulets de chair
 
BOW 2024 - L'écurie ouverte : un concept inspirant pour la filière équine
BOW 2024 - L'écurie ouverte : un concept inspirant pour la filière équineBOW 2024 - L'écurie ouverte : un concept inspirant pour la filière équine
BOW 2024 - L'écurie ouverte : un concept inspirant pour la filière équine
 
BOW 2024 - L'enrichissement du milieu des chèvres laitières
BOW 2024 - L'enrichissement du milieu des chèvres laitièresBOW 2024 - L'enrichissement du milieu des chèvres laitières
BOW 2024 - L'enrichissement du milieu des chèvres laitières
 
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
 
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleurBOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
 
BOW 2024 - Dedans/Dehors quand voir ne suffit pas
BOW 2024 - Dedans/Dehors quand voir ne suffit pasBOW 2024 - Dedans/Dehors quand voir ne suffit pas
BOW 2024 - Dedans/Dehors quand voir ne suffit pas
 
BOW 2024 - 3-3 - Adaptation des bâtiments pour ruminants au changement clima...
BOW 2024 - 3-3 -  Adaptation des bâtiments pour ruminants au changement clima...BOW 2024 - 3-3 -  Adaptation des bâtiments pour ruminants au changement clima...
BOW 2024 - 3-3 - Adaptation des bâtiments pour ruminants au changement clima...
 
BOW 2024-3-10 - Batcool Petits ruminants
BOW 2024-3-10 - Batcool Petits ruminantsBOW 2024-3-10 - Batcool Petits ruminants
BOW 2024-3-10 - Batcool Petits ruminants
 
Agrivoltaïsme et filière ovine en Dordogne
Agrivoltaïsme et filière ovine en DordogneAgrivoltaïsme et filière ovine en Dordogne
Agrivoltaïsme et filière ovine en Dordogne
 
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcins
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcinsBOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcins
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcins
 

gRPC, échange à haute fréquence !