CINXE.COM

Interviews > Page #1 - InfoQ

<!DOCTYPE html> <html lang="fr" xmlns="http://www.w3.org/1999/xhtml"> <head> <!-- Google Optimize Anti-flicker snippet (recommended) --> <style>.async-hide { opacity: 0 !important} </style> <style>.promo{background:#222528;position:fixed;z-index:1001!important;left:0;top:0;right:0;max-height:48px;min-height:48px;padding-top:0!important;padding-bottom:0!important}.promo,.promo p{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.promo p{font-size:.8125rem;line-height:1rem;color:#fff;margin-bottom:0;margin-top:0;margin:0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;font-weight:700}@media only screen and (max-width:650px){.promo p{font-size:.6875rem}}.promo span{overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.promo a{color:#fff!important;text-decoration:underline!important}.promo a.btn{background:#d0021b;padding:7px 20px;text-decoration:none!important;font-weight:700;margin-left:10px;margin-right:10px;white-space:nowrap;border-radius:5px}@media only screen and (max-width:650px){.promo a.btn{font-size:.6875rem;padding:7px 10px}}.promo.container{padding-top:8px;padding-bottom:8px}@media only screen and (min-width:1050px){.promo.container{padding-top:0;padding-bottom:0}}.promo .actions{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.promo .actions__left{-ms-flex-preferred-size:100%;flex-basis:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.promo .actions__right{-ms-flex-preferred-size:40px;flex-basis:40px;margin-top:0;margin-bottom:0;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.promo.hidden{display:none}.promo.show{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.promo.show .container__inner{-webkit-box-flex:1;-ms-flex:1;flex:1}.promo.fixed{position:fixed}.promo.show+header.header{margin-top:48px}.header{background:#fff;-webkit-box-shadow:0 1px 0 #dde2e5;box-shadow:0 1px 0 #dde2e5}.header .actions__left,.header__bottom__events{max-width:100%!important;margin:0}.header .header__events-all{margin:0;display:-webkit-box;display:-ms-flexbox;display:flex;position:relative}.header .header__events-all .header__event-slot{-webkit-box-flex:1;-ms-flex:1 100%;flex:1 100%;border-right:1px solid #dde2e5;margin-top:3px;margin-bottom:3px;padding-left:15px;text-align:left;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-right:5px;min-width:300px}.header .header__events-all .header__event-slot:hover{text-decoration:none!important}.header .header__events-all .header__event-slot img{min-width:40px;height:40px}.header .header__events-all .header__event-slot div{margin-left:10px}.header .header__events-all .header__event-slot span{font-weight:700!important;font-size:.75rem;margin-bottom:0!important;margin-top:0;display:block;line-height:1.125rem;text-align:left}.header .header__events-all .header__event-slot p{font-weight:400;font-size:.625rem;line-height:130%!important;color:#495057!important;margin:0}@media only screen and (min-width:1050px){.header .header__events-all .header__event-slot p{font-size:.625rem}}.header .header__events-all .header__event-slot:first-child{padding-left:0}.header .header__events-all .header__event-slot:last-child{padding-right:0;border-right:0}@media only screen and (min-width:1050px){.header__bottom,.header__middle,.header__top{position:relative;white-space:nowrap}}.header__top{padding:10px 0}@media only screen and (min-width:800px){.header__top{padding:5px 0}}.header__bottom{padding:5px 0;z-index:29;max-width:100%}.header__bottom a{font-size:.8125rem}.header__bottom .trending{margin-left:0;margin-right:0}.header__bottom .actions{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.header__bottom .actions__left{max-width:calc(100% + 8px)}@media only screen and (min-width:800px){.header__bottom .actions__left{max-width:calc(100% + 24px)}}.header__bottom .actions__right{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;display:none}@media only screen and (min-width:1050px){.header__bottom .actions__right{display:-webkit-box;display:-ms-flexbox;display:flex}}.header__middle{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap}@media only screen and (min-width:1050px){.header__middle{-ms-flex-wrap:nowrap;flex-wrap:nowrap}}.header__top .actions__left{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:center;align-content:center}@media only screen and (min-width:1050px){.header__top .actions__right{max-width:430px}}.no-style.header__nav li:nth-child(3){font-weight:700}.no-style.header__nav li:nth-child(3) a{color:#0e5ef1!important}.header__bottom__events::after{background:-webkit-gradient(linear,left top,right top,color-stop(0,rgba(255,255,255,0)),to(#fff));background:linear-gradient(90deg,rgba(255,255,255,0) 0,#fff 100%);content:'';position:absolute;height:60px;right:10px;width:25px}@media only screen and (min-width:1050px){.header__bottom__events::after{display:none}}.contribute-link{font-weight:400;font-size:.6875rem;color:#000!important;position:relative;padding-left:10px}.contribute-link:hover{color:#00791d!important;text-decoration:none!important}.contribute-link::before{content:'';width:1px;height:12px;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);background:rgba(0,0,0,.1);left:-1px}.my-0{margin-top:0!important;margin-bottom:0!important}.header__desc.my-0{margin-left:0}.header__bottom__events .actions__left{max-width:100%!important;overflow-x:scroll;-ms-overflow-style:none;scrollbar-width:none;display:block;scroll-behavior:smooth;min-width:100%}.header__bottom__events .actions__left::-webkit-scrollbar{display:none}.header__bottom__events .actions__left:-webkit-scrollbar-thumb{background:#fff}.logo{line-height:1rem}.header{position:relative;z-index:41;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.header .input:focus,.header input[type=password]:focus,.header input[type=text]:focus{border:1px solid #00791d}.header a:not(.button):not(.login__action):not(.active){text-decoration:none;color:#222}.header a:not(.button):not(.login__action):not(.active):hover{text-decoration:underline;color:#222}.header__items{display:none;-ms-flex-wrap:wrap;flex-wrap:wrap}@media only screen and (min-width:1050px){.header__items{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.header__items nav{position:relative;background:0 0;padding:0;left:0;top:0;line-height:inherit;display:block;-webkit-box-shadow:none;box-shadow:none;max-width:100%;max-height:80px}}.header__items>div{width:100%;margin-bottom:32px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap}@media only screen and (min-width:552px){.header__items>div:not(:nth-last-child(-n+2)){margin-bottom:32px}}@media only screen and (min-width:552px) and (max-width:1050px){.header__items>div{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:0;flex-shrink:0;-ms-flex-preferred-size:calc(99.7% * 1/2 - (32px - 32px * 1/2));flex-basis:calc(99.7% * 1/2 - (32px - 32px * 1/2));max-width:calc(99.7% * 1/2 - (32px - 32px * 1/2));width:calc(99.7% * 1/2 - (32px - 32px * 1/2))}.header__items>div:nth-child(1n){margin-right:32px;margin-left:0}.header__items>div:last-child{margin-right:0}.header__items>div:nth-child(2n){margin-right:0;margin-left:auto}}@media only screen and (min-width:800px) and (max-width:1050px){.header__items>div{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:0;flex-shrink:0;-ms-flex-preferred-size:calc(99.7% * 1/4 - (32px - 32px * 1/4));flex-basis:calc(99.7% * 1/4 - (32px - 32px * 1/4));max-width:calc(99.7% * 1/4 - (32px - 32px * 1/4));width:calc(99.7% * 1/4 - (32px - 32px * 1/4))}.header__items>div:nth-child(1n){margin-right:32px;margin-left:0}.header__items>div:last-child{margin-right:0}.header__items>div:nth-child(4n){margin-right:0;margin-left:auto}}@media only screen and (min-width:1050px){.header__items>div{margin-bottom:0!important;margin-right:0!important;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}}.header__items .language__switcher{display:none}.header__items .language__switcher .li-nav.active>a,.header__items .language__switcher>li.active>a{color:#fff!important}.header__items .language__switcher .li-nav.active>a:hover,.header__items .language__switcher>li.active>a:hover{color:#fff!important;background:#0e5ef1}.header__items .language__switcher .li-nav:hover>a,.header__items .language__switcher>li:hover>a{color:#fff}.header+main{display:block;min-height:210px;-webkit-transition:margin .15s ease;transition:margin .15s ease;margin-top:0!important}.header--hide .header+main{margin-top:50px}.header--hide .header__toggle{opacity:0;top:20px;visibility:hidden}.header--hide .header__logo{max-height:0}.header--hide .header__middle,.header--hide .header__top{max-height:0;overflow:hidden;padding-top:0;padding-bottom:0;border-color:transparent}.header--hide .header__bottom .vue-portal-target{top:3px;right:0;bottom:auto;left:auto;position:absolute}.header__middle,.header__top{-webkit-transition:all .15s ease;transition:all .15s ease}.header__middle{border-bottom:1px solid rgba(0,0,0,.1);z-index:33}.header__middle .vue-portal-target{width:100%}@media only screen and (min-width:1050px){.header__middle .vue-portal-target{display:none}}@media only screen and (min-width:1050px){.header__middle{line-height:5.75rem;text-align:left;padding:0;z-index:30}.header__middle .widget__heading{display:none}}.header__top>.actions__left{display:none}@media only screen and (min-width:1050px){.header__top>.actions__left{display:-webkit-box;display:-ms-flexbox;display:flex}}.header__top>.actions__right{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;margin-right:0;margin-top:0;margin-bottom:0;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.header__top>.actions__right .dropdown__holder{width:calc(100vw - 16px);max-height:80vh}@media only screen and (min-width:600px){.header__top>.actions__right .dropdown__holder{width:auto}}.header__top>.actions__right>*{margin:0}.header__top>.actions__right .search{display:none}@media only screen and (min-width:1050px){.header__top>.actions__right>*{display:-webkit-box;display:-ms-flexbox;display:flex;white-space:nowrap}.header__top>.actions__right .search{display:block}}.header__top .user__login{display:block}.header__top .user__login>.button,.header__top .user__login>button{border-top-right-radius:0;border-bottom-right-radius:0}@media only screen and (min-width:1050px){.header__top{position:relative;right:auto;width:100%}}.header__logo{max-width:165px;position:absolute;top:8px;overflow:hidden;-webkit-transition:all .1s ease;transition:all .1s ease;z-index:32;line-height:2.25rem;height:36px;width:100px;margin-left:50px;-ms-flex-preferred-size:190px;flex-basis:190px}@media only screen and (min-width:800px){.header__logo{top:4px}}@media only screen and (min-width:1050px){.header__logo{position:relative;top:0;overflow:visible;margin-right:20px;margin-left:0;line-height:3.125rem;height:50px}.header__logo>*{width:165px}}@media only screen and (min-width:1280px){.header__logo{margin-right:30px}}.header__desc,.header__more>button{text-transform:capitalize;color:#666;letter-spacing:0;font-size:0;font-weight:400;line-height:1.5rem;vertical-align:top;font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI Variable","Segoe UI",system-ui,ui-sans-serif,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";-webkit-transition:font-size .15s ease-in-out;transition:font-size .15s ease-in-out}@media only screen and (min-width:1050px){.header__desc,.header__more>button{font-size:.6875rem}}.header__desc{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;position:relative;width:auto}.header__topics{white-space:nowrap;float:right;position:relative}.header__topics *{display:inline-block;vertical-align:top}.header__topics a{font-size:.8125rem}@media only screen and (min-width:1050px){.header__topics{float:none}}.header__more{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;vertical-align:top}.header__more:before{left:-12px}.header__more:after,.header__more:before{content:'';width:1px;height:12px;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);background:rgba(0,0,0,.1)}.header__more:after{right:-12px}.header__more:hover{cursor:pointer;color:rgba(0,0,0,.75)}.header__user{display:inline-block;vertical-align:top;white-space:nowrap;margin-left:8px}@media only screen and (min-width:1050px){.header__user{margin-left:0}}.header__user>div{display:inline-block;vertical-align:top}.header__user-nav a:not(.button){text-transform:uppercase;font-size:.75rem;font-weight:600}.header__user-nav a:not(.button):not(.active){opacity:.5}.header__user-nav a:not(.button):not(.active):hover{opacity:.75}.header__user-nav a:not(.button):hover{text-decoration:none}.header__user-nav a:not(.button).active{color:#222;cursor:default;text-decoration:none}.header__user-nav a:not(.button):before{margin-right:0}.header__user-nav a:not(.button):not(:last-child){margin-right:16px}@media only screen and (min-width:1050px){.header__user-nav a:not(.button):not(:last-child){margin-right:32px}}@media only screen and (min-width:1050px){.header__user-nav+.header__topics{margin-left:56px}}.header__search{display:none;vertical-align:top;margin-right:0}@media only screen and (min-width:1050px){.header__search{display:inline-block}}.header__search,.header__user{line-height:inherit}.header__nav{border-bottom:1px solid rgba(0,0,0,.1)}@media only screen and (min-width:800px){.header__nav{border-bottom:0}}.header__nav .button{margin-left:0}.header__nav .button__more{margin-right:20px}.header__nav .li-nav,.header__nav>li{-webkit-transition:all .15s ease;transition:all .15s ease}@media only screen and (min-width:1050px){.header__nav .li-nav,.header__nav>li{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle;position:static;border:none;min-height:65px}.header__nav .li-nav:hover.has--subnav .nav .li-nav,.header__nav .li-nav:hover.has--subnav .nav>li,.header__nav>li:hover.has--subnav .nav .li-nav,.header__nav>li:hover.has--subnav .nav>li{white-space:normal}.header__nav .li-nav:hover.has--subnav .nav__subnav,.header__nav>li:hover.has--subnav .nav__subnav{opacity:1;top:100%;visibility:visible;-webkit-transition-delay:.25s;transition-delay:.25s}.header__nav .li-nav:hover.has--subnav .nav__category,.header__nav>li:hover.has--subnav .nav__category{width:100%}.header__nav .li-nav:hover.has--subnav .nav__category:after,.header__nav .li-nav:hover.has--subnav .nav__category:before,.header__nav>li:hover.has--subnav .nav__category:after,.header__nav>li:hover.has--subnav .nav__category:before{-webkit-transition-delay:.25s;transition-delay:.25s;opacity:1}}@media only screen and (min-width:1080px){.header__nav .li-nav:not(:last-child),.header__nav>li:not(:last-child){margin-right:23px;margin-left:23px}}@media only screen and (min-width:1280px){.header__nav .li-nav:not(:last-child),.header__nav>li:not(:last-child){margin-right:23px;margin-left:23px}}@media only screen and (min-width:1338px){.header__nav .li-nav:not(:last-child),.header__nav>li:not(:last-child){margin-right:23px;margin-left:23px}}.header__nav .li-nav>a,.header__nav>li>a{font-size:.875rem;line-height:1.5rem;padding:12px 0;color:#000;display:inline-block;max-width:100%;position:relative;z-index:61;white-space:normal}@media only screen and (min-width:1050px){.header__nav .li-nav>a,.header__nav>li>a{padding:8px 0 0;font-weight:700}}.header__nav .li-nav>a:after,.header__nav .li-nav>a:before,.header__nav>li>a:after,.header__nav>li>a:before{content:'';position:absolute;bottom:-1px;left:50%;width:0;height:0;opacity:0;-webkit-transform:translateX(-50%);transform:translateX(-50%);border-style:solid;border-width:0 5px 5px 5px;-webkit-transition:opacity .15s ease-in-out;transition:opacity .15s ease-in-out;border-color:transparent transparent #fff transparent}.header__nav .li-nav>a:before,.header__nav>li>a:before{left:50%;bottom:0;border-width:0 6px 6px 6px;border-color:transparent transparent #f5f7f8 transparent}@media only screen and (min-width:1050px){.header__nav .li-nav>a,.header__nav>li>a{font-size:1rem}}@media only screen and (min-width:1800px){.header__nav .li-nav>a,.header__nav>li>a{font-size:1.125rem}}.header--open{overflow:hidden}@media only screen and (min-width:600px){.header--open{overflow:visible}}.header--open .content-items{max-height:215px;margin:12px 0 24px}.header--open .search{margin-top:16px;display:block}.header--open .header__toggle:before{z-index:10}.header--open .header__toggle>span:nth-child(1){top:50%;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.header--open .header__toggle>span:nth-child(2){opacity:0}.header--open .header__toggle>span:nth-child(3){top:50%;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.header--open .header__items,.header--open .header__items .language__switcher{display:-webkit-box;display:-ms-flexbox;display:flex}.header--open .header__top{z-index:100;position:absolute;left:0;right:8px;background:#fff}@media only screen and (min-width:800px){.header--open .header__top{right:20px}}.header--open .header__top .search{display:none}.header--open .header__logo{z-index:101}.header--open .header__middle{padding-top:60px}.header--open .header__bottom{display:none}.header--open .header__container{max-height:90vh;overflow-x:hidden;overflow-y:auto}@media only screen and (min-width:1050px){.header--open .header__container{overflow:visible}}.header .subnav{position:absolute;-webkit-box-shadow:0 5px 25px 1px rgba(0,0,0,.15);box-shadow:0 5px 25px 1px rgba(0,0,0,.15);background:#fff;visibility:hidden;line-height:1.75rem;max-width:100%;width:100%;left:0;opacity:0;overflow:hidden;border:1px solid #f5f7f8;border-radius:2px;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out;top:105%;z-index:60;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.header .subnav .subnav__categories{-webkit-box-flex:0;-ms-flex:0 1 280px;flex:0 1 280px;padding:24px 0;background:#f5f7f8;margin-right:0!important}.header .subnav .subnav__categories>li{display:block;font-size:.9375rem;padding:2px 48px 2px 24px}.header .subnav .subnav__categories>li a{display:block;font-weight:700}.header .subnav .subnav__categories>li:hover{background:#e1e1e1}.header .subnav .subnav__heading{margin-bottom:20px}.header .subnav .subnav__content{position:relative;-ms-flex-item-align:start;align-self:flex-start;padding:24px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap}@media only screen and (min-width:1050px){.header .subnav .subnav__content{padding-left:32px;padding-right:32px;margin:0 auto;-webkit-box-flex:1;-ms-flex:1 1 600px;flex:1 1 600px}}.header .subnav .subnav__content .heading__container{-ms-flex-preferred-size:100%;flex-basis:100%}.header .subnav .subnav__content:before{content:'';position:absolute;left:0;top:0;bottom:-100%;width:1px;background:rgba(0,0,0,.1)}.languagesEdition .active{font-weight:700}.header__more.dropdown:after{content:'';display:inline-block;vertical-align:middle;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;background-repeat:no-repeat;background-position:center;margin-bottom:2px;width:7px;height:7px;-webkit-transition:-webkit-transform .15s ease;transition:-webkit-transform .15s ease;transition:transform .15s ease;transition:transform .15s ease,-webkit-transform .15s ease;background-color:#fff!important;background-size:contain}.header__more.dropdown button{color:#000!important;margin-right:-20px;padding-right:20px;z-index:1000}.header__more.dropdown .dropdown__holder{width:165px}.header__more.dropdown .dropdown__content{padding:13px;padding-top:5px;padding-bottom:5px}.header__more.dropdown .languagesEdition li{border-bottom:1px solid #e6e6e6}.header__more.dropdown .languagesEdition li:last-child{border:0}.logo__data{display:none;color:#666;font-size:.6875rem}@media only screen and (min-width:1050px){.logo__data{display:block;line-height:.8125rem}}.container{padding-left:12px;padding-right:12px;margin:0 auto;min-width:320px;-webkit-transition:padding .15s ease-in-out;transition:padding .15s ease-in-out}@media only screen and (min-width:600px){.container{padding-left:16px;padding-right:16px}}@media only screen and (min-width:800px){.container{padding-left:20px;padding-right:20px}}@media only screen and (min-width:1250px){.container{padding-left:60px;padding-right:60px}}@media only screen and (min-width:1400px){.container{padding-left:20px;padding-right:20px}}.container.white{background:#fff}.container__inner{max-width:1290px;margin:0 auto;-webkit-transition:max-width .15s ease-out;transition:max-width .15s ease-out}.search{display:block;position:relative;z-index:33;width:100%;max-width:100%;margin:0}.search:before{position:absolute;top:50%;right:24px;-webkit-transform:translateY(-50%);transform:translateY(-50%);margin-right:0;z-index:34}.search__bar{display:block;border-radius:2px;position:relative;z-index:33}.search__bar #search{margin-bottom:0;max-width:100%;background:#fff}.search__go{top:50%;right:0;bottom:0;left:auto;position:absolute;-webkit-transform:translateY(-50%);transform:translateY(-50%);z-index:32;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:36px;height:36px;line-height:2.25rem;-webkit-box-shadow:none;box-shadow:none;display:block;background:0 0;border:0;font-size:0}@media only screen and (min-width:600px){.search__go{z-index:35}}.header #search,.search__go:hover{cursor:pointer}.header #search{height:36px;position:relative;max-width:100%;background-color:#f5f7f8!important}@media only screen and (min-width:600px){.header #search{font-size:.8125rem;min-width:165px;max-width:100%;opacity:1}}.header #search:hover{cursor:auto}@media only screen and (min-width:1050px){.header #search{margin-left:auto;border-top-right-radius:0;border-bottom-right-radius:0;border-right:0}.header #search:focus{min-width:215px}}.header #search:focus{cursor:auto}.header #search .field__desc{display:none}.header #searchForm{width:100%;margin-top:8px}.header #searchForm:before{right:8px}@media only screen and (min-width:600px){.header #searchForm{margin-top:16px}}@media only screen and (min-width:1050px){.header #searchForm{margin-top:0}}</style> <script>(function(a,s,y,n,c,h,i,d,e){s.className+=' '+y;h.start=1*new Date; h.end=i=function(){s.className=s.className.replace(RegExp(' ?'+y),'')}; (a[n]=a[n]||[]).hide=h;setTimeout(function(){i();h.end=null},c);h.timeout=c; })(window,document.documentElement,'async-hide','dataLayer',4000, {'GTM-W9GJ5DL':true});</script> <script type="text/javascript"> var loggedIn = false; if (loggedIn) { var userCountryId = ''; } </script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('config', 'G-VMVPD4D2JY'); //CookieControl tool recomendation // Call the default command before gtag.js or Tag Manager runs to // adjust how the tags operate when they run. Modify the defaults // per your business requirements and prior consent granted/denied, e.g.: gtag('consent', 'default', { 'ad_storage': 'denied', 'ad_user_data': 'denied', 'ad_personalization': 'denied', 'analytics_storage': 'denied' }); if((typeof loggedIn != "undefined") && loggedIn){ window.dataLayer.push({'logged_in': 'true'}); } else { window.dataLayer.push({'logged_in': 'false'}); } window.dataLayer.push({'show_queryz': ''}); </script> <!-- Google Tag Manager --> <script> var gtmProfile="GTM-W9GJ5DL"; (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer', gtmProfile);</script> <!-- End Google Tag Manager --> <title> Interviews > Page #1 - InfoQ</title> <link rel="canonical" href="https://www.infoq.com/fr/interviews/"/> <link rel="alternate" href="https://www.infoq.com/fr/interviews/" hreflang="fr"/> <link rel="alternate" href="https://www.infoq.com/jp/interviews/" hreflang="ja" /> <link rel="alternate" href="https://www.infoq.com/br/interviews/" hreflang="pt" /> <link rel="alternate" href="https://www.infoq.com/interviews/" hreflang="en" /> <link rel="alternate" href="https://www.infoq.com/interviews/" hreflang="x-default" /> <meta http-equiv="pragma" content="no-cache" /> <meta http-equiv="cache-control" content="private,no-cache,no-store,must-revalidate" /> <meta http-equiv="expires" content="0" /> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <meta name="copyright" content="&copy; 2006 C4Media" /> <meta name="google-site-verification" content="0qInQx_1WYOeIIbxnh7DnXlw1XOxNgAYakO2k4GhNnY" /> <meta name="msapplication-TileColor" content="#ffffff"/> <meta name="msapplication-TileImage" content="/styles/static/images/logo/logo.jpg"/> <meta property="wb:webmaster" content="3eac1729a8bbe046" /> <meta content="width=device-width,initial-scale=1" name="viewport"> <meta http-equiv="X-UA-Compatible" content="IE=10, IE=edge"> <link rel="stylesheet" type="text/css" media="screen" href="https://cdn.infoq.com/statics_s2_20250228123450/styles/style.css"/> <link rel="stylesheet" type="text/css" media="print" href="https://cdn.infoq.com/statics_s2_20250228123450/styles/print.css"/> <link rel="preload" type="text/css" href="https://cdn.infoq.com/statics_s2_20250228123450/styles/style_fr.css" as="style" onload="this.onload=null;this.rel='stylesheet'"> <link rel="preload" href="https://cdn.infoq.com/statics_s2_20250228123450/styles/icons.css" as="style" onload="this.onload=null;this.rel='stylesheet'"> <link rel="preload" type="text/css" media="screen" href="https://cdn.infoq.com/statics_s2_20250228123450/styles/style_extra.css" as="style" onload="this.onload=null;this.rel='stylesheet'"> <noscript> <link rel="stylesheet" type="text/css" href="https://cdn.infoq.com/statics_s2_20250228123450/styles/style_fr.css"/> <link rel="stylesheet" href="https://cdn.infoq.com/statics_s2_20250228123450/styles/icons.css"> <link rel="stylesheet" type="text/css" media="screen" href="https://cdn.infoq.com/statics_s2_20250228123450/styles/style_extra.css"/> </noscript> <link rel="stylesheet" type="text/css" href="https://cdn.infoq.com/statics_s2_20250228123450/styles/fonts/font.css"/> <link rel="shortcut icon" href="https://cdn.infoq.com/statics_s2_20250228123450/favicon.ico" type="image/x-icon" /> <link rel="apple-touch-icon" href="https://cdn.infoq.com/statics_s2_20250228123450/apple-touch-icon.png"/> <script type="text/javascript"> var device='desktop'; var InfoQConstants = {}; InfoQConstants.language = 'fr'; InfoQConstants.countryCode = '/fr'; InfoQConstants.pageUrl = (typeof window.location != 'undefined' && window.location && typeof window.location.href != 'undefined' && window.location.href) ? window.location.href : "URL_UNAVAILABLE"; InfoQConstants.cet='FSaG9U8N44jlrMLm'; InfoQConstants.userDetectedCountryCode = 'SG'; InfoQConstants.bpadb = 'oCOjWmPC4BS3qhTDkqXP'; </script> <script type="text/javascript" src="https://cdn.infoq.com/statics_s2_20250228123450/scripts/combinedJs.min.js"></script> <script type="text/javascript"> var JSi18n = JSi18n || {}; // define only if not already defined JSi18n.error='Erreur'; JSi18n.login_unverifiedAccount='Compte non vérifié'; JSi18n.contentSummary_showPresentations_1=''; JSi18n.contentSummary_showPresentations_2=''; JSi18n.contentSummary_showPresentations_3=''; JSi18n.contentSummary_showInterviews_1=''; JSi18n.contentSummary_showInterviews_2=''; JSi18n.contentSummary_showInterviews_3=''; JSi18n.contentSummary_showMinibooks_1=''; JSi18n.contentSummary_showMinibooks_2=''; JSi18n.login_sendingRequest='Envoi de la requête ...'; JSi18n.bookmark_saved='<q>&nbsp;&nbsp;&nbsp;Enregistré&nbsp;&nbsp;&nbsp;&nbsp;</q>'; JSi18n.bookmark_error='<q style=color:black;>&nbsp;&nbsp;&nbsp;Erreur&nbsp;&nbsp;&nbsp;&nbsp;</q>'; JSi18n.categoryManagement_showpopup_viewAllLink_viewAllPrefix='Voir tout'; JSi18n.categoryManagement_showpopup_viewAllLink_viewAllSuffix=''; JSi18n.categoryManagement_showpopup_includeExcludeLink_Exclude='Exclure'; JSi18n.categoryManagement_showpopup_includeExcludeLink_Include='Inclure'; JSi18n.login_invalid_email='Veuillez indiquer une adresse email valide'; JSi18n.login_email_not_found = 'Aucun utilisateur trouvé pour cette adresse email'; JSi18n.content_datetime_format='dd MMM yyyy'; // used by frontend JSi18n.FE = { labels: { follow: "Suivre", followTopic: "SUIVRE LE SUJET", unfollow: "Se désabonner", unfollowTopic: "NE PLUS SUIVRE LE SUJET", following: "Abonnements", followers: "Abonnés", like: "J'aime", liked: "a aimé", authors: "Pairs", users : "Lecteurs", topics: "Sujets", hide: "Masquer l’élément", hidden: "%s était masqué sur votre profil.", undo: "Annuler", showLess: "Voir moins", showMore: "En savoir plus", moreAuthors: "Et %s de plus", bookmarked: "Content Bookmarked", unbookmarked: "Content Unbookmarked", characterLimit: "Caractère(s) restant(s)" } } var usersInPage = JSON.parse('[{\"id\":\"126414466\",\"ref\":\"author-Pascal-Grimaud\",\"url\":\"\/fr\/profile\/Pascal-Grimaud\",\"followedByCurrentUser\":false,\"minibio\":\"\",\"name\":\"Pascal Grimaud\",\"bio\":\"\",\"followers\":1,\"imgSrc\":\"\"},{\"id\":\"21186991\",\"ref\":\"author-Slim-Ouertani\",\"url\":\"\/fr\/profile\/Slim-Ouertani\",\"followedByCurrentUser\":false,\"minibio\":\"\",\"name\":\"Slim Ouertani\",\"bio\":\"\",\"followers\":19,\"imgSrc\":\"https:\/\/cdn.infoq.com\/statics_s2_20250228123450\/images\/profiles\/CyyeDmzyWtAxeZfcEFcSBmSxJ0MIouej.jpg\"},{\"id\":\"126419394\",\"ref\":\"author-Gautier-Lavigne\",\"url\":\"\/fr\/profile\/Gautier-Lavigne\",\"followedByCurrentUser\":false,\"minibio\":\"\",\"name\":\"Gautier Lavigne\",\"bio\":\"\",\"followers\":0,\"imgSrc\":\"\"},{\"id\":\"101757846\",\"ref\":\"author-Julien-Dubois\",\"url\":\"\/fr\/profile\/Julien-Dubois\",\"followedByCurrentUser\":false,\"minibio\":\"\",\"name\":\"Julien Dubois\",\"bio\":\"\",\"followers\":12,\"imgSrc\":\"\"},{\"id\":\"124799409\",\"ref\":\"author-Valentin-Deleplace\",\"url\":\"\/fr\/profile\/Valentin-Deleplace\",\"followedByCurrentUser\":false,\"minibio\":\"\",\"name\":\"Valentin Deleplace\",\"bio\":\"\",\"followers\":0,\"imgSrc\":\"\"},{\"id\":\"101760740\",\"ref\":\"author-Audrey-Neveu\",\"url\":\"\/fr\/profile\/Audrey-Neveu\",\"followedByCurrentUser\":false,\"minibio\":\"\",\"name\":\"Audrey Neveu\",\"bio\":\"\",\"followers\":4,\"imgSrc\":\"\"},{\"id\":\"50270429\",\"ref\":\"author-Nicolas-Frankel\",\"url\":\"\/fr\/profile\/Nicolas-Frankel\",\"followedByCurrentUser\":false,\"minibio\":\"\",\"name\":\"Nicolas Frankel\",\"bio\":\"\",\"followers\":20,\"imgSrc\":\"https:\/\/cdn.infoq.com\/statics_s2_20250228123450\/images\/profiles\/xUqi1zrkwIXYdzv6XvAiYGdM8BBYrKtu.jpg\"},{\"id\":\"110207\",\"ref\":\"author-Charles-Humble\",\"url\":\"\/fr\/profile\/Charles-Humble\",\"followedByCurrentUser\":false,\"minibio\":\"Techie, podcaster, editor, author and consultant\",\"name\":\"Charles Humble\",\"bio\":\"\",\"followers\":2014,\"imgSrc\":\"https:\/\/cdn.infoq.com\/statics_s2_20250228123450\/images\/profiles\/lCB_2ocIPJA40tWqjmkSLeVd5ZhJQlt_.jpg\"},{\"id\":\"66520046\",\"ref\":\"author-St\u00E9phane-Wojewoda\",\"url\":\"\/fr\/profile\/St\u00E9phane-Wojewoda\",\"followedByCurrentUser\":false,\"minibio\":\"\",\"name\":\"St\u00E9phane Wojewoda\",\"bio\":\"\",\"followers\":41,\"imgSrc\":\"https:\/\/cdn.infoq.com\/statics_s2_20250228123450\/images\/profiles\/TUUHjvThQOkY6KLs9avFZ2o8XvgB53Ab.png\"},{\"id\":\"101762690\",\"ref\":\"author-Guillaume-LaForge\",\"url\":\"\/fr\/profile\/Guillaume-LaForge\",\"followedByCurrentUser\":false,\"minibio\":\"\",\"name\":\"Guillaume LaForge\",\"bio\":\"\",\"followers\":5,\"imgSrc\":\"\"},{\"id\":\"126394921\",\"ref\":\"author-Alexandre-Roman\",\"url\":\"\/fr\/profile\/Alexandre-Roman\",\"followedByCurrentUser\":false,\"minibio\":\"\",\"name\":\"Alexandre Roman\",\"bio\":\"\",\"followers\":2,\"imgSrc\":\"\"},{\"id\":\"101756701\",\"ref\":\"author-Brice-Leporini\",\"url\":\"\/fr\/profile\/Brice-Leporini\",\"followedByCurrentUser\":false,\"minibio\":\"\",\"name\":\"Brice Leporini\",\"bio\":\"\",\"followers\":16,\"imgSrc\":\"\"},{\"id\":\"126418161\",\"ref\":\"author-Florent-Rami\u00E8re\",\"url\":\"\/fr\/profile\/Florent-Rami\u00E8re\",\"followedByCurrentUser\":false,\"minibio\":\"\",\"name\":\"Florent Rami\u00E8re\",\"bio\":\"\",\"followers\":1,\"imgSrc\":\"\"},{\"id\":\"101764123\",\"ref\":\"author-Houssam-Fakih\",\"url\":\"\/fr\/profile\/Houssam-Fakih\",\"followedByCurrentUser\":false,\"minibio\":\"\",\"name\":\"Houssam Fakih\",\"bio\":\"\",\"followers\":1,\"imgSrc\":\"\"},{\"id\":\"126394920\",\"ref\":\"author-Didier-Burkhalter\",\"url\":\"\/fr\/profile\/Didier-Burkhalter\",\"followedByCurrentUser\":false,\"minibio\":\"\",\"name\":\"Didier Burkhalter\",\"bio\":\"\",\"followers\":0,\"imgSrc\":\"\"},{\"id\":\"126433216\",\"ref\":\"author-Daniel-Petisme\",\"url\":\"\/fr\/profile\/Daniel-Petisme\",\"followedByCurrentUser\":false,\"minibio\":\"\",\"name\":\"Daniel Petisme\",\"bio\":\"\",\"followers\":1,\"imgSrc\":\"\"},{\"id\":\"101759714\",\"ref\":\"author-Emmanuel-Bernard\",\"url\":\"\/fr\/profile\/Emmanuel-Bernard\",\"followedByCurrentUser\":false,\"minibio\":\"\",\"name\":\"Emmanuel Bernard\",\"bio\":\"\",\"followers\":3,\"imgSrc\":\"\"},{\"id\":\"124756611\",\"ref\":\"author-Koffi-Alain-Sessi\",\"url\":\"\/fr\/profile\/Koffi-Alain-Sessi\",\"followedByCurrentUser\":false,\"minibio\":\"\",\"name\":\"Koffi Alain Sessi\",\"bio\":\"\",\"followers\":0,\"imgSrc\":\"\"},{\"id\":\"126419829\",\"ref\":\"author-Pierre-Besson\",\"url\":\"\/fr\/profile\/Pierre-Besson\",\"followedByCurrentUser\":false,\"minibio\":\"\",\"name\":\"Pierre Besson\",\"bio\":\"\",\"followers\":0,\"imgSrc\":\"\"},{\"id\":\"125382632\",\"ref\":\"author-William-Marques\",\"url\":\"\/fr\/profile\/William-Marques\",\"followedByCurrentUser\":false,\"minibio\":\"\",\"name\":\"William Marques\",\"bio\":\"\",\"followers\":0,\"imgSrc\":\"\"},{\"id\":\"124756610\",\"ref\":\"author-Yolande-Poirier\",\"url\":\"\/fr\/profile\/Yolande-Poirier\",\"followedByCurrentUser\":false,\"minibio\":\"\",\"name\":\"Yolande Poirier\",\"bio\":\"\",\"followers\":0,\"imgSrc\":\"\"}]'); var topicsInPage = JSON.parse('[{\"name\":\"Kanban\",\"id\":\"11712\",\"followers\":155,\"url\":\"\/fr\/Kanban\",\"followedByCurrentUser\":false},{\"name\":\"Lean\",\"id\":\"10563\",\"followers\":149,\"url\":\"\/fr\/lean\",\"followedByCurrentUser\":false},{\"name\":\"Domain Driven Design\",\"id\":\"11081\",\"followers\":176,\"url\":\"\/fr\/domain-driven-design\",\"followedByCurrentUser\":false},{\"name\":\"DevOps\",\"id\":\"12234\",\"followers\":48,\"url\":\"\/fr\/Devops\",\"followedByCurrentUser\":false},{\"name\":\"Microservices\",\"id\":\"15758\",\"followers\":200,\"url\":\"\/fr\/micro\",\"followedByCurrentUser\":false},{\"name\":\"Cloud\",\"id\":\"13007\",\"followers\":3,\"url\":\"\/fr\/Cloud\",\"followedByCurrentUser\":false},{\"name\":\"JavaScript\",\"id\":\"10738\",\"followers\":21,\"url\":\"\/fr\/javascript\",\"followedByCurrentUser\":false},{\"name\":\"D\u00E9veloppement\",\"id\":\"12691\",\"followers\":41,\"url\":\"\/fr\/development\",\"followedByCurrentUser\":false},{\"name\":\"Architecture & Design\",\"id\":\"12692\",\"followers\":66,\"url\":\"\/fr\/architecture-design\",\"followedByCurrentUser\":false},{\"name\":\"Culture & M\u00E9thodes\",\"id\":\"12693\",\"followers\":90,\"url\":\"\/fr\/culture-methods\",\"followedByCurrentUser\":false},{\"name\":\"LegacyClub\",\"id\":\"17429\",\"followers\":53,\"url\":\"\/fr\/lagacyclub\",\"followedByCurrentUser\":false},{\"name\":\"Java\",\"id\":\"10518\",\"followers\":98,\"url\":\"\/fr\/java\",\"followedByCurrentUser\":false},{\"name\":\"Agile\",\"id\":\"10520\",\"followers\":281,\"url\":\"\/fr\/agile\",\"followedByCurrentUser\":false},{\"name\":\"Data Science\",\"id\":\"15900\",\"followers\":28,\"url\":\"\/fr\/ai-ml-data-eng\",\"followedByCurrentUser\":false},{\"name\":\".NET\",\"id\":\"10521\",\"followers\":6,\"url\":\"\/fr\/dotnet\",\"followedByCurrentUser\":false}]'); var userContentLikesInPage = []; var userCommentsLikesInPage = []; var currentUserId = 2; </script> <meta name="ifq:pageType" content="INTERVIEW_PAGE"/> <script type="text/javascript"> InfoQConstants.pageType = 'INTERVIEW_PAGE'; window.isIndexPage = true; </script> <meta name="keywords" content=""/> <meta name="description" content="Interviews with software architects and technical team leaders"/> <link rel="alternate" type="application/rss+xml" title="RSS" href="https://feed.infoq.com/fr/interviews/"/> <link rel="next" href="/fr/interviews/12/"> <link rel="image_src" href="https://cdn.infoq.com/statics_s2_20250228123450/styles/static/images/logo/logo-big.jpg" /> <meta property="og:image" content="https://cdn.infoq.com/statics_s2_20250228123450/styles/static/images/logo/logo-big.jpg"/> <script type="text/javascript" src="https://cdn.infoq.com/statics_s2_20250228123450/scripts/infoq.js"></script> <script type="text/javascript"> document.addEventListener('DOMContentLoaded', function() { if (!window || !window.infoq) return infoq.init() }) </script> </head> <body > <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-W9GJ5DL" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <div class="intbt"> <a href="/int/bt/" title="bt">BT</a> </div> <script type="text/javascript"> var allCountries = [{"id":3,"name":"Afghanistan"},{"id":244,"name":"Åland"},{"id":6,"name":"Albania"},{"id":61,"name":"Algeria"},{"id":13,"name":"American Samoa"},{"id":1,"name":"Andorra"},{"id":9,"name":"Angola"},{"id":5,"name":"Anguilla"},{"id":11,"name":"Antarctica"},{"id":4,"name":"Antigua and Barbuda"},{"id":12,"name":"Argentina"},{"id":7,"name":"Armenia"},{"id":16,"name":"Aruba"},{"id":15,"name":"Australia"},{"id":14,"name":"Austria"},{"id":17,"name":"Azerbaijan"},{"id":31,"name":"Bahamas"},{"id":24,"name":"Bahrain"},{"id":20,"name":"Bangladesh"},{"id":19,"name":"Barbados"},{"id":35,"name":"Belarus"},{"id":21,"name":"Belgium"},{"id":36,"name":"Belize"},{"id":26,"name":"Benin"},{"id":27,"name":"Bermuda"},{"id":32,"name":"Bhutan"},{"id":29,"name":"Bolivia"},{"id":254,"name":"Bonaire, Sint Eustatius, and Saba"},{"id":18,"name":"Bosnia and Herzegovina"},{"id":34,"name":"Botswana"},{"id":33,"name":"Bouvet Island"},{"id":30,"name":"Brazil"},{"id":104,"name":"British Indian Ocean Territory"},{"id":28,"name":"Brunei Darussalam"},{"id":23,"name":"Bulgaria"},{"id":22,"name":"Burkina Faso"},{"id":25,"name":"Burundi"},{"id":114,"name":"Cambodia"},{"id":46,"name":"Cameroon"},{"id":37,"name":"Canada"},{"id":52,"name":"Cape Verde"},{"id":121,"name":"Cayman Islands"},{"id":40,"name":"Central African Republic"},{"id":207,"name":"Chad"},{"id":45,"name":"Chile"},{"id":47,"name":"China"},{"id":53,"name":"Christmas Island"},{"id":38,"name":"Cocos (Keeling) Islands"},{"id":48,"name":"Colombia"},{"id":116,"name":"Comoros"},{"id":39,"name":"Congo (Democratic Republic)"},{"id":41,"name":"Congo (People\u0027s Republic)"},{"id":44,"name":"Cook Islands"},{"id":49,"name":"Costa Rica"},{"id":43,"name":"Cote D\u0027Ivoire"},{"id":97,"name":"Croatia"},{"id":51,"name":"Cuba"},{"id":253,"name":"Curaçao"},{"id":54,"name":"Cyprus"},{"id":55,"name":"Czech Republic"},{"id":58,"name":"Denmark"},{"id":57,"name":"Djibouti"},{"id":59,"name":"Dominica"},{"id":60,"name":"Dominican Republic"},{"id":213,"name":"East Timor"},{"id":62,"name":"Ecuador"},{"id":64,"name":"Egypt"},{"id":203,"name":"El Salvador"},{"id":87,"name":"Equatorial Guinea"},{"id":66,"name":"Eritrea"},{"id":63,"name":"Estonia"},{"id":68,"name":"Ethiopia"},{"id":72,"name":"Falkland Islands (Malvinas)"},{"id":74,"name":"Faroe Islands"},{"id":71,"name":"Fiji"},{"id":70,"name":"Finland"},{"id":75,"name":"France"},{"id":80,"name":"French Guiana"},{"id":170,"name":"French Polynesia"},{"id":208,"name":"French Southern Territories"},{"id":76,"name":"Gabon"},{"id":84,"name":"Gambia"},{"id":79,"name":"Georgia"},{"id":56,"name":"Germany"},{"id":81,"name":"Ghana"},{"id":82,"name":"Gibraltar"},{"id":88,"name":"Greece"},{"id":83,"name":"Greenland"},{"id":78,"name":"Grenada"},{"id":86,"name":"Guadeloupe"},{"id":91,"name":"Guam"},{"id":90,"name":"Guatemala"},{"id":249,"name":"Guernsey"},{"id":85,"name":"Guinea"},{"id":92,"name":"Guinea-Bissau"},{"id":93,"name":"Guyana"},{"id":98,"name":"Haiti"},{"id":95,"name":"Heard Island and McDonald Islands"},{"id":96,"name":"Honduras"},{"id":94,"name":"Hong Kong"},{"id":99,"name":"Hungary"},{"id":107,"name":"Iceland"},{"id":103,"name":"India"},{"id":100,"name":"Indonesia"},{"id":106,"name":"Iran"},{"id":105,"name":"Iraq"},{"id":101,"name":"Ireland"},{"id":245,"name":"Isle of Man"},{"id":102,"name":"Israel"},{"id":108,"name":"Italy"},{"id":109,"name":"Jamaica"},{"id":111,"name":"Japan"},{"id":250,"name":"Jersey"},{"id":110,"name":"Jordan"},{"id":122,"name":"Kazakhstan"},{"id":112,"name":"Kenya"},{"id":115,"name":"Kiribati"},{"id":243,"name":"Kosovo"},{"id":120,"name":"Kuwait"},{"id":113,"name":"Kyrgyzstan"},{"id":123,"name":"Laos"},{"id":132,"name":"Latvia"},{"id":124,"name":"Lebanon"},{"id":129,"name":"Lesotho"},{"id":128,"name":"Liberia"},{"id":133,"name":"Libya"},{"id":126,"name":"Liechtenstein"},{"id":130,"name":"Lithuania"},{"id":131,"name":"Luxembourg"},{"id":143,"name":"Macau"},{"id":139,"name":"Macedonia"},{"id":137,"name":"Madagascar"},{"id":151,"name":"Malawi"},{"id":153,"name":"Malaysia"},{"id":150,"name":"Maldives"},{"id":140,"name":"Mali"},{"id":148,"name":"Malta"},{"id":138,"name":"Marshall Islands"},{"id":145,"name":"Martinique"},{"id":146,"name":"Mauritania"},{"id":149,"name":"Mauritius"},{"id":238,"name":"Mayotte"},{"id":152,"name":"Mexico"},{"id":73,"name":"Micronesia"},{"id":136,"name":"Moldova"},{"id":135,"name":"Monaco"},{"id":142,"name":"Mongolia"},{"id":246,"name":"Montenegro"},{"id":147,"name":"Montserrat"},{"id":134,"name":"Morocco"},{"id":154,"name":"Mozambique"},{"id":141,"name":"Myanmar"},{"id":155,"name":"Namibia"},{"id":164,"name":"Nauru"},{"id":163,"name":"Nepal"},{"id":161,"name":"Netherlands"},{"id":8,"name":"Netherlands Antilles"},{"id":156,"name":"New Caledonia"},{"id":166,"name":"New Zealand"},{"id":160,"name":"Nicaragua"},{"id":157,"name":"Niger"},{"id":159,"name":"Nigeria"},{"id":165,"name":"Niue"},{"id":158,"name":"Norfolk Island"},{"id":118,"name":"North Korea"},{"id":144,"name":"Northern Mariana Islands"},{"id":162,"name":"Norway"},{"id":167,"name":"Oman"},{"id":173,"name":"Pakistan"},{"id":180,"name":"Palau"},{"id":178,"name":"Palestinian Territory"},{"id":168,"name":"Panama"},{"id":171,"name":"Papua New Guinea"},{"id":181,"name":"Paraguay"},{"id":169,"name":"Peru"},{"id":172,"name":"Philippines"},{"id":176,"name":"Pitcairn"},{"id":174,"name":"Poland"},{"id":179,"name":"Portugal"},{"id":177,"name":"Puerto Rico"},{"id":182,"name":"Qatar"},{"id":183,"name":"Reunion"},{"id":184,"name":"Romania"},{"id":185,"name":"Russian Federation"},{"id":186,"name":"Rwanda"},{"id":193,"name":"Saint Helena"},{"id":117,"name":"Saint Kitts and Nevis"},{"id":125,"name":"Saint Lucia"},{"id":251,"name":"Saint Martin"},{"id":175,"name":"Saint Pierre and Miquelon"},{"id":229,"name":"Saint Vincent and the Grenadines"},{"id":247,"name":"Saint-Barthélemy"},{"id":236,"name":"Samoa"},{"id":198,"name":"San Marino"},{"id":202,"name":"Sao Tome and Principe"},{"id":187,"name":"Saudi Arabia"},{"id":199,"name":"Senegal"},{"id":248,"name":"Serbia"},{"id":189,"name":"Seychelles"},{"id":197,"name":"Sierra Leone"},{"id":192,"name":"Singapore"},{"id":252,"name":"Sint Maarten"},{"id":196,"name":"Slovakia"},{"id":194,"name":"Slovenia"},{"id":188,"name":"Solomon Islands"},{"id":200,"name":"Somalia"},{"id":239,"name":"South Africa"},{"id":89,"name":"South Georgia and the South Sandwich Islands"},{"id":119,"name":"South Korea"},{"id":255,"name":"South Sudan"},{"id":67,"name":"Spain"},{"id":127,"name":"Sri Lanka"},{"id":190,"name":"Sudan"},{"id":201,"name":"Suriname"},{"id":195,"name":"Svalbard and Jan Mayen"},{"id":205,"name":"Swaziland"},{"id":191,"name":"Sweden"},{"id":42,"name":"Switzerland"},{"id":204,"name":"Syria"},{"id":220,"name":"Taiwan"},{"id":211,"name":"Tajikistan"},{"id":221,"name":"Tanzania"},{"id":210,"name":"Thailand"},{"id":209,"name":"Togo"},{"id":212,"name":"Tokelau"},{"id":216,"name":"Tonga"},{"id":218,"name":"Trinidad and Tobago"},{"id":215,"name":"Tunisia"},{"id":217,"name":"Turkey"},{"id":214,"name":"Turkmenistan"},{"id":206,"name":"Turks and Caicos Islands"},{"id":219,"name":"Tuvalu"},{"id":223,"name":"Uganda"},{"id":222,"name":"Ukraine"},{"id":2,"name":"United Arab Emirates"},{"id":77,"name":"United Kingdom"},{"id":224,"name":"United States Minor Outlying Islands"},{"id":226,"name":"Uruguay"},{"id":225,"name":"USA"},{"id":227,"name":"Uzbekistan"},{"id":234,"name":"Vanuatu"},{"id":228,"name":"Vatican City (Holy See)"},{"id":230,"name":"Venezuela"},{"id":233,"name":"Vietnam"},{"id":231,"name":"Virgin Islands (British)"},{"id":232,"name":"Virgin Islands (U.S.)"},{"id":235,"name":"Wallis and Futuna"},{"id":65,"name":"Western Sahara"},{"id":237,"name":"Yemen"},{"id":241,"name":"Zaire"},{"id":240,"name":"Zambia"},{"id":242,"name":"Zimbabwe"}]; var gdprCountriesIds = [196,194,191,184,179,174,161,148,132,131,130,108,101,99,97,88,77,75,70,67,63,58,56,55,54,37,23,21,14]; </script> <div class="infoq" id="infoq"> <!-- ####### SITE START ######### --> <header class="header"> <button aria-label="Toggle Navigation" tabindex="0" class="burger header__toggle button">Toggle Navigation <span></span><span></span><span></span></button> <div class="header__container container"> <div class="container__inner"> <div data-nosnippet class="actions header__top"> <div class="actions__left"> <p class="header__desc my-0"> Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise </p> <div class="button__dropdown dropdown header__more my-0 dropdown__center"> <button aria-label="English edition" class="button button__unstyled button__small">French edition</button> <div class="dropdown__holder"> <!----> <div class="dropdown__content"> <ul class="no-style dropdown__nav languagesEdition"> <li><a href="/">English edition</a></li> <li><a href="https://www.infoq.cn">Chinese edition</a></li> <li><a href="/jp/">Japanese edition</a></li> <li class="active"><a href="#" onclick="return false;">French edition</a></li> </ul> </div> <!----> </div> </div> <a class="my-0 contribute-link" role="button" href="/fr/write-for-infoq/" title="Contribuez"> Contribuez </a> </div> <div class="actions__right"> <div> <form id="searchForm" name="search-form" action="/fr/search.action" enctype="multipart/form-data" class="search icon__search icon icon__green"> <div class="field search__bar input__text input__no-label input__small"> <label for="search" class="label field__label">Rechercher</label> <input name="queryString" type="text" id="search" value="" placeholder="Rechercher" class="input field__input"> <input type="hidden" name="page" value="1"/> <input type="hidden" size="15" name="searchOrder"> </div> <input value="Rechercher" type="submit" class="search__go"> </form> </div> <div class="button__dropdown dropdown user__login"> <button aria-label="INSCRIPTION / CONNEXION" class="button button__small button__green button__arrow arrow__true button__icon icon icon__user icon--only">INSCRIPTION / CONNEXION</button> <div class="dropdown__holder"> <div class="dropdown__content"> <div class="login__dropdown"> <div class="login__module"> <div class="login__username"> <form id="login-form" data-vv-scope="login" class="login__form form" action="/fr/login.action"> <input type="hidden" id="loginWidgetOrigin" name="loginWidgetOrigin" value="mainLogin"/> <input type="hidden" name="fromP13N" id="isP13n" value="false"/> <input type="hidden" name="fromP13NId" id="p13n-id" value=""/> <input type="hidden" name="fromP13NType" id="p13n-type" value=""/> <div class="field form__row input__text input__small" data-vv-as="Email" data-vv-scope="login"> <label for="email" class="label field__label">Email</label> <input type="text" id="email" placeholder="" class="input field__input" name="username"> </div> <div class="field form__row input__password input__small" data-vv-as="Mot de passe" data-vv-scope="login"> <label for="password" class="label field__label">Mot de passe</label> <input type="password" id="password" placeholder="" class="input field__input" name="password"> <p data-message="resultMessage"></p> </div> <input type="submit" value="Connexion" class="form__row button button__medium button__green"> <div class="login__actions"> <button aria-label="Mot de passe oublié ?" class="forgot button button__unstyled">Mot de passe oublié ?</button> </div> </form> <form id="forgot-password-form" data-vv-scope="forgot" class="forgot__form form" action="/fr/resetpasswordinit.action" onsubmit="UserActions_Login.showMessage($(this),JSi18n.login_sendingRequest);"> <div data-vv-as="Email" data-vv-scope="forgot" class="field form__row input__text input__small"> <label for="forgotten_email" class="label field__label">Email du compte InfoQ</label> <input id="forgotten_email" name="email" placeholder="" class="input field__input" type="text" onkeyup="UserActions_ResetPass.checkInputStatus('forgotten_email','forgotPassMessage',JSi18n.login_invalid_email,'submit_resetPass');"> <p id="forgotPassMessage" data-message="resultMessage"></p> </div> <input type="submit" id="submit_resetPass" value="Envoyer email de récupération" class="button button__medium button__green" onclick="return UserActions_ResetPass.checkInputStatus('forgotten_email','forgotPassMessage',JSi18n.login_invalid_email,'submit_resetPass');"> <p class="login__actions"> <button aria-label="Retour à la connexion" class="back-to-login button button__unstyled">Retour à la connexion</button> </p> </form> <form id="email-revalidation-form" data-vv-scope="revalidation" class="revalidation__form form" action="/fr/reactivate.action" onsubmit="UserActions_Login.showMessage($(this),JSi18n.login_sendingRequest);"> <div data-vv-as="Email" data-vv-scope="revalidation" class="field form__row input__text input__small"> <label for="revalidated_email" class="label field__label">Renvoyer l'Activation</label> <input id="revalidated_email" name="email" placeholder="" class="input field__input" type="text" onkeyup="UserActions_ResetPass.checkInputStatus('revalidated_email','emailRevalidMessage',JSi18n.login_invalid_email,'submit_resetPass');"> <p id="emailRevalidMessage" data-message="resultMessage"></p> </div> <input type="submit" value="Renvoyer" class="button button__medium button__green" onclick="return UserActions_ResetPass.checkInputStatus('revalidated_email','emailRevalidMessage',JSi18n.login_invalid_email,'submit_resetPass');"> <p class="login__actions"> <button id="show-login" aria-label="Retour à la connexion" class="back-to-login button button__unstyled">Retour à la connexion</button> </p> </form> </div> <div class="login__social"> <h4 class="heading">Connexion avec:</h4> <div class="social__connect form__row login__socials"> <a href="/fr/social/googleLogin.action?fl=login" onclick="return UserActions_Login.addLoginInfo(this);" class="button button__medium button__gray button__icon icon icon__google" title="Connexion avec Google">Google</a> <a href="/fr/social/liveLogin.action?fl=login" onclick="return UserActions_Login.addLoginInfo(this);" class="button button__medium button__icon icon icon__microsoft" title="Connexion avec Microsoft">Microsoft</a> <a href="/fr/twitter-info" class="button button__medium button__icon icon icon__twitter" title="Connexion avec Twitter">Twitter</a> <a href="/fr/social/facebookLogin.action?fl=login" onclick="return UserActions_Login.addLoginInfo(this);" class="button button__medium button__icon icon icon__fb" title="Connexion avec Facebook">Facebook</a> </div> </div> <div class="login__signup"> <h4 class="heading">Vous n'avez pas encore de compte InfoQ ?</h4> <a href="/fr/reginit.action?" onclick="return UserActions_Login.addLoginInfo(this);" class="button button__medium button__green">S'inscrire</a> </div> </div> </div> </div> </div> </div> </div> </div> <div class="header__middle"> <div class="logo header__logo"> <a href="/fr/" class="logo__symbol active"> Logo - Back to homepage </a> </div> <div class="content-items"> <a href="/fr/news/" class="icon icon__news">Actualités</a> <a href="/fr/articles/" class="icon icon__articles">Articles</a> <a href="/fr/presentations/" class="icon icon__presentations">Présentations</a> <a href="/fr/podcasts/" class="icon icon__podcasts">Podcasts</a> <a href="/fr/minibooks/" class="icon icon__guides">Livres</a> </div> <div class="header__items columns"> <div> <h3 class="widget__heading">Sujets</h3> <nav class="nav header__nav topics" data-trk-ref="header_personas"> <div class="has--subnav li-nav"> <a href="/fr/development/" title="Development" class="nav__category">Development</a> <div class="nav__subnav subnav"> <ul class="subnav__categories no-style"> <li><a href="/fr/java/" title="Java">Java</a></li> <li><a href="/fr/clojure/" title="Clojure">Clojure</a></li> <li><a href="/fr/scala/" title="Scala">Scala</a></li> <li><a href="/fr/dotnet/" title=".Net">.Net</a></li> <li><a href="/fr/mobile/" title="Mobile">Mobile</a></li> <li><a href="/fr/android/" title="Android">Android</a></li> <li><a href="/fr/ios/" title="iOS">iOS</a></li> <li><a href="/fr/HTML5Topic/" title="HTML5">HTML5</a></li> <li><a href="/fr/javascript/" title="JavaScript">JavaScript</a></li> <li><a href="/fr/fp/" title="Programmation Fonctionnelle">Programmation Fonctionnelle</a></li> <li><a href="/fr/webapi/" title="Web API">Web API</a></li> </ul> <div class="subnav__content" data-id="12691"> <div class="heading__container actions"> <div class="actions__left"> <h3 class="heading section__heading">A la une dans D&#xE9;veloppement</h3> </div> </div> <ul data-size="large" data-horizontal="true" data-tax="" taxonomy="articles" class="cards no-style"> <li> <div class="card__content"> <div class="card__data"> <h4 class="card__title"> <a href="/fr/articles/encryption-defense-native-browser-apps">Comment Utiliser Le Chiffrement Pour La D&eacute;fense En Profondeur Dans Les Apps Natives Et Navigateurs</a> </h4> <p class="card__excerpt">Isaac Potoczny-Jones discute des avantages et des inconv&#xE9;nients du chiffrement de la couche application. Il couvre la surface d'attaque du chiffrement dans la couche application d'un navigateur, comme...</p> <div class="card__footer"></div> </div> <a href="/fr/articles/encryption-defense-native-browser-apps" class="card__header"> <img loading="lazy" alt="Comment Utiliser Le Chiffrement Pour La D&eacute;fense En Profondeur Dans Les Apps Natives Et Navigateurs" src="https://imgopt.infoq.com/fit-in/100x100/filters:quality(80)/articles/encryption-defense-native-browser-apps/fr/smallimage/security-browser-1589240480229.jpg" class="card__image"/> </a> </div> </li> </ul> <a href="/fr/development/" class="button__more button button__large button__arrow arrow__right">Tout voir dans development</a> </div> </div> </div> <div class="has--subnav li-nav"> <a href="/fr/architecture-design/" title="Architecture &amp; Design" class="nav__category">Architecture &amp; Design</a> <div class="nav__subnav subnav"> <ul class="subnav__categories no-style"> <li><a href="/fr/architecture/" title="Architecture">Architecture</a></li> <li><a href="/fr/enterprise-architecture/" title="Architecture Entreprise">Architecture Entreprise</a></li> <li><a href="/fr/performance-scalability/" title="Scalabilité/Performance">Scalabilité/Performance</a></li> <li><a href="/fr/design/" title="Design">Design</a></li> <li><a href="/fr/Case_Study/" title="Case Studies">Case Studies</a></li> <li><a href="/fr/DesignPattern/" title="Patterns">Patterns</a></li> <li><a href="/fr/Security/" title="Sécurité">Sécurité</a></li> </ul> <div class="subnav__content" data-id="12692"> <div class="heading__container actions"> <div class="actions__left"> <h3 class="heading section__heading">A la une dans Architecture &amp; Design</h3> </div> </div> <ul data-size="large" data-horizontal="true" data-tax="" taxonomy="articles" class="cards no-style"> <li> <div class="card__content"> <div class="card__data"> <h4 class="card__title"> <a href="/fr/articles/ballerina-data-functional-programming">Manipulation De Donn&eacute;es Avec Programmation Fonctionnelle Et Requ&ecirc;tes Dans Ballerina</a> </h4> <p class="card__excerpt">Ballerina a &#xE9;t&#xE9; con&#xE7;u comme un langage de programmation orient&#xE9; donn&#xE9;es et prend en charge un style de codage de programmation fonctionnel. Le langage de requ&#xEA;te de Ballerina est similaire &#xE0; SQL dans ...</p> <div class="card__footer"></div> </div> <a href="/fr/articles/ballerina-data-functional-programming" class="card__header"> <img loading="lazy" alt="Manipulation De Donn&eacute;es Avec Programmation Fonctionnelle Et Requ&ecirc;tes Dans Ballerina" src="https://imgopt.infoq.com/fit-in/100x100/filters:quality(80)/articles/ballerina-data-functional-programming/fr/smallimage/logo-1660058595815.jpg" class="card__image"/> </a> </div> </li> </ul> <a href="/fr/architecture-design/" class="button__more button button__large button__arrow arrow__right">Tout voir dans architecture-design</a> </div> </div> </div> <div class="has--subnav li-nav"> <a href="/fr/ai-ml-data-eng/" title="Data Science" class="nav__category">Data Science</a> <div class="nav__subnav subnav"> <ul class="subnav__categories no-style"> <li><a href="/fr/bigdata/" title="Big Data">Big Data</a></li> <li><a href="/fr/machinelearning/" title="Machine Learning">Machine Learning</a></li> <li><a href="/fr/nosql/" title="NoSQL">NoSQL</a></li> <li><a href="/fr/database/" title="Base de données">Base de données</a></li> <li><a href="/fr/data-analytics/" title="Data Analytics">Data Analytics</a></li> </ul> <div class="subnav__content" data-id="15900"> <div class="heading__container actions"> <div class="actions__left"> <h3 class="heading section__heading">A la une dans Data Science</h3> </div> </div> <ul data-size="large" data-horizontal="true" data-tax="" taxonomy="articles" class="cards no-style"> <li> <div class="card__content"> <div class="card__data"> <h4 class="card__title"> <a href="/fr/articles/uber-eats-time-predictions">Les Pr&eacute;dictions De Temps Chez Uber Eats</a> </h4> <p class="card__excerpt">Les pr&#xE9;diction de temps sont essentielles pour les activit&#xE9;s d’Uber Eats, elles permettent une r&#xE9;partition optimale des livreurs et garantissent la satisfaction des clients. Nous verrons dans cet art...</p> <div class="card__footer"></div> </div> <a href="/fr/articles/uber-eats-time-predictions" class="card__header"> <img loading="lazy" alt="Les Pr&eacute;dictions De Temps Chez Uber Eats" src="https://imgopt.infoq.com/fit-in/100x100/filters:quality(80)/articles/uber-eats-time-predictions/fr/smallimage/predicting-time-to-cook-arrive-deliver-in-uber-eats-logo-small-1573830801103.jpg" class="card__image"/> </a> </div> </li> </ul> <a href="/fr/ai-ml-data-eng/" class="button__more button button__large button__arrow arrow__right">Tout voir dans ai-ml-data-eng</a> </div> </div> </div> <div class="has--subnav li-nav"> <a href="/fr/culture-methods/" title="Culture &amp; Methods" class="nav__category">Culture &amp; Méthodes</a> <div class="nav__subnav subnav"> <ul class="subnav__categories no-style"> <li><a href="/fr/agile/" title="Agile">Agile</a></li> <li><a href="/fr/Leadership/" title="Leadership">Leadership</a></li> <li><a href="/fr/team-collaboration/" title="Team Collaboration">Team Collaboration</a></li> <li><a href="/fr/testing/" title="Tests">Tests</a></li> <li><a href="/fr/pm/" title="Project Management">Project Management</a></li> <li><a href="/fr/ux/" title="UX">UX</a></li> <li><a href="/fr/scrum/" title="Scrum">Scrum</a></li> <li><a href="/fr/lean/" title="Lean/Kanban">Lean/Kanban</a></li> </ul> <div class="subnav__content" data-id="12693"> <div class="heading__container actions"> <div class="actions__left"> <h3 class="heading section__heading">A la une dans Culture &amp; M&#xE9;thodes</h3> </div> </div> <ul data-size="large" data-horizontal="true" data-tax="" taxonomy="articles" class="cards no-style"> <li> <div class="card__content"> <div class="card__data"> <h4 class="card__title"> <a href="/fr/articles/individual-team-processes">Les Processus De Tests Individuels Ne Peuvent Convenir A Tout Le Monde.</a> </h4> <p class="card__excerpt">De nombreuses entreprises de l'industrie du logiciel ont mis en place des proc&#xE9;dures qui sont utilis&#xE9;s par tout le monde dans l'entreprise. Chaque &#xE9;quipe est diff&#xE9;rente alors pourquoi les proc&#xE9;dures s...</p> <div class="card__footer"></div> </div> <a href="/fr/articles/individual-team-processes" class="card__header"> <img loading="lazy" alt="Les Processus De Tests Individuels Ne Peuvent Convenir A Tout Le Monde." src="https://imgopt.infoq.com/fit-in/100x100/filters:quality(80)/articles/individual-team-processes/fr/smallimage/logo-1667318501298.jpg" class="card__image"/> </a> </div> </li> </ul> <a href="/fr/culture-methods/" class="button__more button button__large button__arrow arrow__right">Tout voir dans culture-methods</a> </div> </div> </div> <div class="has--subnav li-nav"> <a href="/fr/devops/" title="DevOps" class="nav__category">DevOps</a> <div class="nav__subnav subnav"> <ul class="subnav__categories no-style"> <li><a href="/fr/infrastructure/" title="Infrastructure">Infrastructure</a></li> <li><a href="/fr/continuous_delivery/" title="Déploiement continu">Déploiement continu</a></li> <li><a href="/fr/automation/" title="Automation">Automation</a></li> <li><a href="/fr/cloud-computing/" title="Cloud">Cloud</a></li> </ul> <div class="subnav__content" data-id="12234"> <div class="heading__container actions"> <div class="actions__left"> <h3 class="heading section__heading">A la une dans DevOps</h3> </div> </div> <ul data-size="large" data-horizontal="true" data-tax="" taxonomy="articles" class="cards no-style"> <li> <div class="card__content"> <div class="card__data"> <h4 class="card__title"> <a href="/fr/articles/devops-governance-developer-velocity">Pourquoi La Gouvernance DevOps Est Cruciale Pour Permettre La V&eacute;locit&eacute; Des D&eacute;veloppeurs</a> </h4> <p class="card__excerpt">L'environnement d'application doit &#xEA;tre g&#xE9;r&#xE9; de mani&#xE8;re centralis&#xE9;e par l'&#xE9;quipe DevOps. Cela leur permet de mieux suivre les modifications et les changements qui seraient ensuite rapides et transpare...</p> <div class="card__footer"></div> </div> <a href="/fr/articles/devops-governance-developer-velocity" class="card__header"> <img loading="lazy" alt="Pourquoi La Gouvernance DevOps Est Cruciale Pour Permettre La V&eacute;locit&eacute; Des D&eacute;veloppeurs" src="https://imgopt.infoq.com/fit-in/100x100/filters:quality(80)/articles/devops-governance-developer-velocity/fr/smallimage/logo-1658737978607.jpg" class="card__image"/> </a> </div> </li> </ul> <a href="/fr/devops/" class="button__more button button__large button__arrow arrow__right">Tout voir dans devops</a> </div> </div> </div> </nav> </div> <div> <h3 class="widget__heading">Liens utiles</h3> <ul class="no-style header__nav"> <li> <a href="/fr/about-infoq" title="A propos d'InfoQ"> A propos d'InfoQ </a> </li> <li> <a href="/fr/infoq-editors" title="Editeurs InfoQ"> Editeurs InfoQ </a> </li> <li> <a href="/fr/write-for-infoq" title="Contribuez"> Contribuez </a> </li> <li> <a href="/fr/about-c4media" title="A propos de C4 Media"> A propos de C4 Media </a> </li> <li> <a rel="noreferrer noopener" href="https://c4media.com/diversity" title="Diversity" target="_blank">Diversity</a> </li> </ul> </div> <div> <h3 class="widget__heading">Sélectionner votre région</h3> <ul class="language__switcher no-style"> <li><a href="/" title="InfoQ English">En</a></li> <li><a href="https://www.infoq.cn">中文</a></li> <li><a href="/jp/">日本</a></li> <li class="active"><a href="#" onclick="return false;">Fr</a></li> </ul> </div> </div> </div> <div data-nosnippet class="actions header__bottom header__bottom__events"> <div class="actions__left"> <div class="header__events-all"> <a href="https://qconlondon.com/?utm_source=infoq&utm_medium=referral&utm_campaign=homepageheader_qlondon25" rel="nofollow" target="_blank" class="header__event-slot"> <picture><source srcset="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvaGVhZGVyL2NvbmZlcmVuY2VzLzIwMjUvbG9uZG9uLXRvcC11cGRhdGVkMi5qcGciLCJlZGl0cyI6IHsid2VicCI6IHsgInF1YWxpdHkiOjgwfX19" type="image/webp"><source srcset="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvaGVhZGVyL2NvbmZlcmVuY2VzLzIwMjUvbG9uZG9uLXRvcC11cGRhdGVkMi5qcGciLCJlZGl0cyI6IHsianBlZyI6IHsgInF1YWxpdHkiOjgwfX19" type="image/webp"><img src="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvaGVhZGVyL2NvbmZlcmVuY2VzLzIwMjUvbG9uZG9uLXRvcC11cGRhdGVkMi5qcGciLCJlZGl0cyI6IHsianBlZyI6IHsgInF1YWxpdHkiOjgwfX19" loading="lazy" width="40px" height="40px" alt="QCon London - image"></picture> <div> <span>QCon London</span> <p>Discover emerging trends, insights, and real-world best practices in software development &amp; tech leadership. Join now.</p> </div> </a> <a href="https://devsummit.infoq.com/conference/boston2025?utm_source=infoq&utm_medium=referral&utm_campaign=homepageheader_idsboston25" rel="nofollow" target="_blank" class="header__event-slot"> <picture><source srcset="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvaGVhZGVyL2NvbmZlcmVuY2VzLzIwMjUvSW5mb1FEZXZTdW1taXQtdG9wLmpwZyIsImVkaXRzIjogeyJ3ZWJwIjogeyAicXVhbGl0eSI6ODB9fX0=" type="image/webp"><source srcset="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvaGVhZGVyL2NvbmZlcmVuY2VzLzIwMjUvSW5mb1FEZXZTdW1taXQtdG9wLmpwZyIsImVkaXRzIjogeyJqcGVnIjogeyAicXVhbGl0eSI6ODB9fX0=" type="image/webp"><img src="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvaGVhZGVyL2NvbmZlcmVuY2VzLzIwMjUvSW5mb1FEZXZTdW1taXQtdG9wLmpwZyIsImVkaXRzIjogeyJqcGVnIjogeyAicXVhbGl0eSI6ODB9fX0=" loading="lazy" width="40px" height="40px" alt="InfoQ Dev Summit Boston - image"></picture> <div> <span>InfoQ Dev Summit Boston</span> <p>Learn how senior software developers are solving the challenges you face. Register now with early bird tickets.</p> </div> </a> <a href="https://devsummit.infoq.com/conference/munich2025?utm_source=infoq&utm_medium=referral&utm_campaign=homepageheader_idsmunich25" rel="nofollow" target="_blank" class="header__event-slot"> <picture><source srcset="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvaGVhZGVyL2NvbmZlcmVuY2VzLzIwMjUvSURTLU11bmljaC10b3AuanBnIiwiZWRpdHMiOiB7IndlYnAiOiB7ICJxdWFsaXR5Ijo4MH19fQ==" type="image/webp"><source srcset="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvaGVhZGVyL2NvbmZlcmVuY2VzLzIwMjUvSURTLU11bmljaC10b3AuanBnIiwiZWRpdHMiOiB7ImpwZWciOiB7ICJxdWFsaXR5Ijo4MH19fQ==" type="image/webp"><img src="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvaGVhZGVyL2NvbmZlcmVuY2VzLzIwMjUvSURTLU11bmljaC10b3AuanBnIiwiZWRpdHMiOiB7ImpwZWciOiB7ICJxdWFsaXR5Ijo4MH19fQ==" loading="lazy" width="40px" height="40px" alt="InfoQ Dev Summit Munich - image"></picture> <div> <span>InfoQ Dev Summit Munich</span> <p>Learn practical solutions to today's most pressing software challenges. Register now with early bird tickets.</p> </div> </a> <a href="https://qconsf.com/?utm_source=infoq&utm_medium=referral&utm_campaign=homepageheader_qsf25" rel="nofollow" target="_blank" class="header__event-slot"> <picture><source srcset="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvaGVhZGVyL2NvbmZlcmVuY2VzLzIwMjUvU0YtdG9wLmpwZyIsImVkaXRzIjogeyJ3ZWJwIjogeyAicXVhbGl0eSI6ODB9fX0=" type="image/webp"><source srcset="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvaGVhZGVyL2NvbmZlcmVuY2VzLzIwMjUvU0YtdG9wLmpwZyIsImVkaXRzIjogeyJqcGVnIjogeyAicXVhbGl0eSI6ODB9fX0=" type="image/webp"><img src="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvaGVhZGVyL2NvbmZlcmVuY2VzLzIwMjUvU0YtdG9wLmpwZyIsImVkaXRzIjogeyJqcGVnIjogeyAicXVhbGl0eSI6ODB9fX0=" loading="lazy" width="40px" height="40px" alt="QCon San Francisco - image"></picture> <div> <span>QCon San Francisco</span> <p>Explore insights, real-world best practices and solutions in software development & leadership. Register now.</p> </div> </a> </div> </div> <!----> </div> </div> </div> </header> <!-- ####### CONTENT START ######### --> <main> <section class="container section"> <div class="container__inner"> <p class="crumbs"> <span data-nosnippet><a href="/fr" title="Accueil InfoQ">Accueil InfoQ</a></span> <span data-nosnippet class="active">Interviews</span> </p> <div class="items"> <div class="heading__container actions"> <div class="actions__left"> <h1 class="heading heading__rss">Interviews</h1> <span class="rss icon icon__rss-feed"> <a href="https://feed.infoq.com/fr/interviews/" target="_blank">Flux RSS</a> </span> </div> <div class="actions__right"> <a href="#" class="button button__small button__arrow arrow__left button__disabled" title="Précédent" onclick="return false;"> Précédent </a> <a href="/fr/interviews/12/" class="button button__small button__arrow arrow__right" title="Suivant"> Suivant </a> </div> </div> <div class="items__content"> <div class="items__content"> <div> <ul class="no-style cards boxes" data-cols="4" data-size="large" data-tax="interviews" data-trk-ref="hover_index"> <li data-id="10996e22-ef75-447f-b7a0-9e447190b0f5" data-path="/interviews/socrates-france-2019"> <div class="card__content"> <div class="card__data"> <div class="card__topics topics"> <span> <a href="/fr/culture-methods/" data-id="12693">Culture &amp; M&#xE9;thodes</a> </span> </div> <h3 class="card__title"> <a href="/fr/interviews/socrates-france-2019/" title="SoCraTes France 2019, rencontre avec Houssame Fakih"> SoCraTes France 2019, rencontre avec Houssame Fakih </a> </h3> <p class="card__excerpt"> SoCraTes France est la déclinaison française des conférences européennes SoCraTes, sur je sujet de la qualité logicielle, de l'agilité et du software craftsmanship. L'événement se déroule en automne en général en Provence et réuni une cinquantaine de personnes, passionnées de développement, d'eXtrem Programming et de Clean Code. </p> <div class="card__footer"> <div class="card__details"> <div class="card__authors authors"> <span> <a href="/fr/profile/Houssam-Fakih/" data-id="author-Houssam-Fakih">Houssam Fakih</a> </span> </div> <span class="card__date date">le<span>&nbsp;24 févr. 2020</span></span> </div> <button aria-label="J'aime" size="small" class="like button button__unstyled icon__gray button__icon icon icon__like">J'aime</button> </div> </div> <a href="/fr/interviews/socrates-france-2019/" class="card__header" title="SoCraTes France 2019, rencontre avec Houssame Fakih"> <img loading="lazy" alt="SoCraTes France 2019, rencontre avec Houssame Fakih" src=" https://res.infoq.com/interviews/socrates-france-2019/fr/mediumimage/infoq-jose_270x200-1582564408887.jpg " class="card__image"> <div class="card__meta"> <div class="card__icon">Icon</div> <div class="card__length">22:01</div> </div> </a> </div> </li> <li data-id="9e5f5dc8-0d13-4faa-8e21-19fd959ec1ba" data-path="/interviews/jhipsterconf-2019-daniel-petisme"> <div class="card__content"> <div class="card__data"> <div class="card__topics topics"> <span> <a href="/fr/dotnet/" data-id="10521">.NET</a> </span> </div> <h3 class="card__title"> <a href="/fr/interviews/jhipsterconf-2019-daniel-petisme/" title="JHipster Conf, rencontre avec Daniel Petisme"> JHipster Conf, rencontre avec Daniel Petisme </a> </h3> <p class="card__excerpt"> Daniel Petisme vient nous présenter le sujet de son talk à la conférence JHipster : l'extension de l'outil pour générer une application dans un environnement .NET ! </p> <div class="card__footer"> <div class="card__details"> <div class="card__authors authors"> <span> <a href="/fr/profile/Daniel-Petisme/" data-id="author-Daniel-Petisme">Daniel Petisme</a> </span> </div> <span class="card__date date">le<span>&nbsp;08 janv. 2020</span></span> </div> <button aria-label="J'aime" size="small" class="like button button__unstyled icon__gray button__icon icon icon__like">J'aime</button> </div> </div> <a href="/fr/interviews/jhipsterconf-2019-daniel-petisme/" class="card__header" title="JHipster Conf, rencontre avec Daniel Petisme"> <img loading="lazy" alt="JHipster Conf, rencontre avec Daniel Petisme" src=" https://res.infoq.com/interviews/jhipsterconf-2019-daniel-petisme/fr/mediumimage/jHipsterConf-2019-daniel_petisme_270x200-1578413763577.jpg " class="card__image"> <div class="card__meta"> <div class="card__icon">Icon</div> <div class="card__length">13:19</div> </div> </a> </div> </li> <li data-id="24f4af08-ca5e-4da8-a73b-0742b142a75b" data-path="/interviews/jhipsterConf-2019-pierre-besson-william-marques"> <div class="card__content"> <div class="card__data"> <div class="card__topics topics"> <span> <a href="/fr/javascript/" data-id="10738">JavaScript</a> </span> </div> <h3 class="card__title"> <a href="/fr/interviews/jhipsterConf-2019-pierre-besson-william-marques/" title="JHipster Conf, rencontre avec Pierre Besson et William Marques"> JHipster Conf, rencontre avec Pierre Besson et William Marques </a> </h3> <p class="card__excerpt"> Pierre Besson et William Marques viennent nous présenter le sujet de leur talk à la conférence JHipster : le choix d'un framework javascript pour la partie front parmi les trois principaux prétendants (Angular, React et Vue) et le support associé de JHipster. </p> <div class="card__footer"> <div class="card__details"> <div class="card__authors authors"> <span> <a href="/fr/profile/Pierre-Besson/" data-id="author-Pierre-Besson">Pierre Besson</a> </span> <span> <a href="/fr/profile/William-Marques/" data-id="author-William-Marques">William Marques</a> </span> </div> <span class="card__date date">le<span>&nbsp;28 oct. 2019</span></span> </div> <button aria-label="J'aime" size="small" class="like button button__unstyled icon__gray button__icon icon icon__like">J'aime</button> </div> </div> <a href="/fr/interviews/jhipsterConf-2019-pierre-besson-william-marques/" class="card__header" title="JHipster Conf, rencontre avec Pierre Besson et William Marques"> <img loading="lazy" alt="JHipster Conf, rencontre avec Pierre Besson et William Marques" src=" https://res.infoq.com/interviews/jhipsterConf-2019-pierre-besson-william-marques/fr/mediumimage/jhipsterConf-2019-pierre-besson-william-marques_270x200-1572269150930.jpg " class="card__image"> <div class="card__meta"> <div class="card__icon">Icon</div> <div class="card__length">15:07</div> </div> </a> </div> </li> <li data-id="b57e2f94-d424-4780-a37f-82debb5dea81" data-path="/interviews/jhipsterconf-2019-gautier-lavigne"> <div class="card__content"> <div class="card__data"> <div class="card__topics topics"> <span> <a href="/fr/java/" data-id="10518">Java</a> </span> </div> <h3 class="card__title"> <a href="/fr/interviews/jhipsterconf-2019-gautier-lavigne/" title="JHipster Conf, rencontre avec Gautier Lavigne"> JHipster Conf, rencontre avec Gautier Lavigne </a> </h3> <p class="card__excerpt"> Gautier Lavigne est responsable marketing chez Ippon Technologies. Il vient nous parler de la seconde édition de la conférence JHipster à Paris qu'Ippon organisait cette année. </p> <div class="card__footer"> <div class="card__details"> <div class="card__authors authors"> <span> <a href="/fr/profile/Gautier-Lavigne/" data-id="author-Gautier-Lavigne">Gautier Lavigne</a> </span> </div> <span class="card__date date">le<span>&nbsp;24 oct. 2019</span></span> </div> <button aria-label="J'aime" size="small" class="like button button__unstyled icon__gray button__icon icon icon__like">J'aime</button> </div> </div> <a href="/fr/interviews/jhipsterconf-2019-gautier-lavigne/" class="card__header" title="JHipster Conf, rencontre avec Gautier Lavigne"> <img loading="lazy" alt="JHipster Conf, rencontre avec Gautier Lavigne" src=" https://res.infoq.com/interviews/jhipsterconf-2019-gautier-lavigne/fr/mediumimage/jhipsterconf-2019-gautier-lavigne_270x200-1571924863403.jpg " class="card__image"> <div class="card__meta"> <div class="card__icon">Icon</div> <div class="card__length">07:23</div> </div> </a> </div> </li> <li data-id="b18c1727-11a7-4224-9e6f-ba3fd9539082" data-path="/interviews/jhipsterconf-2019-florent-ramiere"> <div class="card__content"> <div class="card__data"> <div class="card__topics topics"> <span> <a href="/fr/java/" data-id="10518">Java</a> </span> </div> <h3 class="card__title"> <a href="/fr/interviews/jhipsterconf-2019-florent-ramiere/" title="JHipster Conf, rencontre avec Florent Ramière"> JHipster Conf, rencontre avec Florent Rami&#xE8;re </a> </h3> <p class="card__excerpt"> Florent Ramière vient nous parler de l’intégration dans jHipster du broker de message Apache Kafka et de son écosystème. </p> <div class="card__footer"> <div class="card__details"> <div class="card__authors authors"> <span> <a href="/fr/profile/Florent-Rami%C3%A8re/" data-id="author-Florent-Rami&#xE8;re">Florent Rami&#xE8;re</a> </span> </div> <span class="card__date date">le<span>&nbsp;16 oct. 2019</span></span> </div> <button aria-label="J'aime" size="small" class="like button button__unstyled icon__gray button__icon icon icon__like">J'aime</button> </div> </div> <a href="/fr/interviews/jhipsterconf-2019-florent-ramiere/" class="card__header" title="JHipster Conf, rencontre avec Florent Ramière"> <img loading="lazy" alt="JHipster Conf, rencontre avec Florent Rami&#xE8;re" src=" https://res.infoq.com/interviews/jhipsterconf-2019-florent-ramiere/fr/mediumimage/jHipsterConf-2019-florent_ramiere_270x200-1571222193584.jpg " class="card__image"> <div class="card__meta"> <div class="card__icon">Icon</div> <div class="card__length">18:52</div> </div> </a> </div> </li> <li data-id="41e696f7-c1ed-4087-b9c9-4c17373f31b1" data-path="/interviews/jhipsterconf-2019-pascal-grimaud"> <div class="card__content"> <div class="card__data"> <div class="card__topics topics"> <span> <a href="/fr/java/" data-id="10518">Java</a> </span> </div> <h3 class="card__title"> <a href="/fr/interviews/jhipsterconf-2019-pascal-grimaud/" title="JHipster Conf, rencontre avec Pascal Grimaud"> JHipster Conf, rencontre avec Pascal Grimaud </a> </h3> <p class="card__excerpt"> Pascal Grimaud nous parle de la plateforme JHipster à l'occasion de la deuxième édition de la conférence éponyme à Paris. </p> <div class="card__footer"> <div class="card__details"> <div class="card__authors authors"> <span> <a href="/fr/profile/Pascal-Grimaud/" data-id="author-Pascal-Grimaud">Pascal Grimaud</a> </span> </div> <span class="card__date date">le<span>&nbsp;19 sept. 2019</span></span> </div> <button aria-label="J'aime" size="small" class="like button button__unstyled icon__gray button__icon icon icon__like">J'aime</button> </div> </div> <a href="/fr/interviews/jhipsterconf-2019-pascal-grimaud/" class="card__header" title="JHipster Conf, rencontre avec Pascal Grimaud"> <img loading="lazy" alt="JHipster Conf, rencontre avec Pascal Grimaud" src=" https://res.infoq.com/interviews/jhipsterconf-2019-pascal-grimaud/fr/mediumimage/jHipsterConf-2019-pascal_grimaud_270x200-1568906807897.jpg " class="card__image"> <div class="card__meta"> <div class="card__icon">Icon</div> <div class="card__length">06:58</div> </div> </a> </div> </li> <li data-id="a5f76169-cbb2-47cd-b46a-4c1d2f3d8f15" data-path="/interviews/jhipsterconf-2019-julien-dubois"> <div class="card__content"> <div class="card__data"> <div class="card__topics topics"> <span> <a href="/fr/development/" data-id="12691">D&#xE9;veloppement</a> </span> </div> <h3 class="card__title"> <a href="/fr/interviews/jhipsterconf-2019-julien-dubois/" title="JHipster Conf, rencontre avec Julien Dubois"> JHipster Conf, rencontre avec Julien Dubois </a> </h3> <p class="card__excerpt"> Julien Dubois nous parle de la plateforme JHipster à l'occasion de la deuxième édition de la conférence éponyme à Paris. </p> <div class="card__footer"> <div class="card__details"> <div class="card__authors authors"> <span> <a href="/fr/profile/Julien-Dubois/" data-id="author-Julien-Dubois">Julien Dubois</a> </span> </div> <span class="card__date date">le<span>&nbsp;31 août 2019</span></span> </div> <button aria-label="J'aime" size="small" class="like button button__unstyled icon__gray button__icon icon icon__like">J'aime</button> </div> </div> <a href="/fr/interviews/jhipsterconf-2019-julien-dubois/" class="card__header" title="JHipster Conf, rencontre avec Julien Dubois"> <img loading="lazy" alt="JHipster Conf, rencontre avec Julien Dubois" src=" https://res.infoq.com/interviews/jhipsterconf-2019-julien-dubois/fr/mediumimage/jHipsterConf-2019-julien_dubois_270x200-1567172740932.jpg " class="card__image"> <div class="card__meta"> <div class="card__icon">Icon</div> <div class="card__length">25:30</div> </div> </a> </div> </li> <li data-id="650466ca-370d-4367-8a30-4345974403d6" data-path="/interviews/devoxx-2019_pivotal-didier-alexandre"> <div class="card__content"> <div class="card__data"> <div class="card__topics topics"> <span> <a href="/fr/Cloud/" data-id="13007">Cloud</a> </span> </div> <h3 class="card__title"> <a href="/fr/interviews/devoxx-2019_pivotal-didier-alexandre/" title="La vision du cloud et du développement par Pivotal"> La vision du cloud et du d&#xE9;veloppement par Pivotal </a> </h3> <p class="card__excerpt"> Didier Burkhalter et Alexandre Roman nous donnent leur vision du cloud, de l'évolution du développement et des solutions proposées par Pivotal. Ils nous parlent en particulier de notion de multi-cloud, de cloud hybride et nous expliquent leurs convictions. </p> <div class="card__footer"> <div class="card__details"> <div class="card__authors authors"> <span> <a href="/fr/profile/Didier-Burkhalter/" data-id="author-Didier-Burkhalter">Didier Burkhalter</a> </span> <span> <a href="/fr/profile/Alexandre-Roman/" data-id="author-Alexandre-Roman">Alexandre Roman</a> </span> </div> <span class="card__date date">le<span>&nbsp;28 mai 2019</span></span> </div> <button aria-label="J'aime" size="small" class="like button button__unstyled icon__gray button__icon icon icon__like">J'aime</button> </div> </div> <a href="/fr/interviews/devoxx-2019_pivotal-didier-alexandre/" class="card__header" title="La vision du cloud et du développement par Pivotal"> <img loading="lazy" alt="La vision du cloud et du d&#xE9;veloppement par Pivotal" src=" https://res.infoq.com/interviews/devoxx-2019_pivotal-didier-alexandre/fr/mediumimage/devoxx-2019_pivotal-didier-alexandre_270x200-1558622891937.jpg " class="card__image"> <div class="card__meta"> <div class="card__icon">Icon</div> <div class="card__length">38:06</div> </div> </a> </div> </li> <li data-id="f3edcdb7-b75e-4769-a6b9-0ff1a7e121da" data-path="/interviews/voxxeddays-microservices-2018-julien-dubois"> <div class="card__content"> <div class="card__data"> <div class="card__topics topics"> <span> <a href="/fr/java/" data-id="10518">Java</a> </span> </div> <h3 class="card__title"> <a href="/fr/interviews/voxxeddays-microservices-2018-julien-dubois/" title="Des Microservices Avec JHipster"> Des Microservices Avec JHipster </a> </h3> <p class="card__excerpt"> Julien Dubois nous parle de son parcours, de son travail, de la plateforme JHipster et de son évolution naturelle vers les microservices. </p> <div class="card__footer"> <div class="card__details"> <div class="card__authors authors"> <span> <a href="/fr/profile/Julien-Dubois/" data-id="author-Julien-Dubois">Julien Dubois</a> </span> </div> <span class="card__date date">le<span>&nbsp;07 févr. 2019</span></span> </div> <button aria-label="J'aime" size="small" class="like button button__unstyled icon__gray button__icon icon icon__like">J'aime</button> </div> </div> <a href="/fr/interviews/voxxeddays-microservices-2018-julien-dubois/" class="card__header" title="Des Microservices Avec JHipster"> <img loading="lazy" alt="Des Microservices Avec JHipster" src=" https://res.infoq.com/interviews/voxxeddays-microservices-2018-julien-dubois/fr/mediumimage/voxxeddays-microservices-2018-julien-dubois_270x200-1549555664264.jpg " class="card__image"> <div class="card__meta"> <div class="card__icon">Icon</div> <div class="card__length">13:29</div> </div> </a> </div> </li> <li data-id="9e24f3e4-844e-4455-aa03-8e7cc6cca9ea" data-path="/interviews/devoxx-belgique-2018-cast-codeurs"> <div class="card__content"> <div class="card__data"> <div class="card__topics topics"> <span> <a href="/fr/java/" data-id="10518">Java</a> </span> </div> <h3 class="card__title"> <a href="/fr/interviews/devoxx-belgique-2018-cast-codeurs/" title="Devenir un Développeur Reconnu, l'Expérience des Cast Codeurs"> Devenir un D&#xE9;veloppeur Reconnu, l'Exp&#xE9;rience des Cast Codeurs </a> </h3> <p class="card__excerpt"> A l'occasion de la conférence Devoxx qui se tenait à Anvers du 12 au 16 novembre 2018, InfoQFR a rencontré 3 des cast codeurs, Audrey, Guillaume et Emmanuel. Nous leur avons demandé de partager leur expérience et leurs conseils à destination des jeunes développeurs qui souhaitent percer au travers de l'open source et gagner en notoriété dans les communautés Java. </p> <div class="card__footer"> <div class="card__details"> <div class="card__authors authors"> <span> <a href="/fr/profile/Audrey-Neveu/" data-id="author-Audrey-Neveu">Audrey Neveu</a> </span> <span> <a href="/fr/profile/Guillaume-LaForge/" data-id="author-Guillaume-LaForge">Guillaume LaForge</a> </span> <span> <a href="/fr/profile/Emmanuel-Bernard/" data-id="author-Emmanuel-Bernard">Emmanuel Bernard</a> </span> </div> <span class="card__date date">le<span>&nbsp;02 janv. 2019</span></span> </div> <button aria-label="J'aime" size="small" class="like button button__unstyled icon__gray button__icon icon icon__like">J'aime</button> </div> </div> <a href="/fr/interviews/devoxx-belgique-2018-cast-codeurs/" class="card__header" title="Devenir un Développeur Reconnu, l'Expérience des Cast Codeurs"> <img loading="lazy" alt="Devenir un D&#xE9;veloppeur Reconnu, l'Exp&#xE9;rience des Cast Codeurs" src=" https://res.infoq.com/interviews/devoxx-belgique-2018-cast-codeurs/fr/mediumimage/InfoQFR_baniere_270x200-1545847359439.jpg " class="card__image"> <div class="card__meta"> <div class="card__icon">Icon</div> <div class="card__length">11:09</div> </div> </a> </div> </li> <li data-id="5a94f537-e936-491a-a047-428dad2a4831" data-path="/interviews/voxxeddays-microservices-2018-valentin-delaplace"> <div class="card__content"> <div class="card__data"> <div class="card__topics topics"> <span> <a href="/fr/architecture-design/" data-id="12692">Architecture &amp; Design</a> </span> </div> <h3 class="card__title"> <a href="/fr/interviews/voxxeddays-microservices-2018-valentin-delaplace/" title="Microservices en Go dans le Cloud Google"> Microservices en Go dans le Cloud Google </a> </h3> <p class="card__excerpt"> A l'occasion de la conférence voxxed days microservices qui se tenait à Paris les 29 et 30 octobre 2018, InfoQ FR a rencontré Valentin Deleplace, developper advocate chez Google. Valentin nous a expliqué les différences d'usages entre Google Cloud Function et Google AppEngine et nous a également fait part de l'intérêt d'utiliser le langage Go pour réaliser des microservices. </p> <div class="card__footer"> <div class="card__details"> <div class="card__authors authors"> <span> <a href="/fr/profile/Valentin-Deleplace/" data-id="author-Valentin-Deleplace">Valentin Deleplace</a> </span> </div> <span class="card__date date">le<span>&nbsp;27 déc. 2018</span></span> </div> <button aria-label="J'aime" size="small" class="like button button__unstyled icon__gray button__icon icon icon__like">J'aime</button> </div> </div> <a href="/fr/interviews/voxxeddays-microservices-2018-valentin-delaplace/" class="card__header" title="Microservices en Go dans le Cloud Google"> <img loading="lazy" alt="Microservices en Go dans le Cloud Google" src=" https://res.infoq.com/interviews/voxxeddays-microservices-2018-valentin-delaplace/fr/mediumimage/voxxeddays-microservices-2018-valentin-delaplace_270x200-1545929842210.jpg " class="card__image"> <div class="card__meta"> <div class="card__icon">Icon</div> <div class="card__length">10:12</div> </div> </a> </div> </li> <li data-id="1f4f2436-54f2-47c9-bb29-1842688eda7a" data-path="/interviews/devoxx-belgique-2018-yolande-koffi"> <div class="card__content"> <div class="card__data"> <div class="card__topics topics"> <span> <a href="/fr/java/" data-id="10518">Java</a> </span> </div> <h3 class="card__title"> <a href="/fr/interviews/devoxx-belgique-2018-yolande-koffi/" title="Conseils pour Participer Efficacement à la Communauté Java"> Conseils pour Participer Efficacement &#xE0; la Communaut&#xE9; Java </a> </h3> <p class="card__excerpt"> A l'occasion de la conférence Devoxx qui se tenait à Anvers du 12 au 16 novembre 2018, InfoQFR a rencontré Yolande Poirier, community manager java chez Oracle et Koffi Alain Sessi, en charge des cours java pour Pluralsight. Yolande et Koffi donnent de précieux conseils aux développeurs qui souhaitent participer à la communauté Java et s'y rendre un peu plus visible. </p> <div class="card__footer"> <div class="card__details"> <div class="card__authors authors"> <span> <a href="/fr/profile/Koffi-Alain-Sessi/" data-id="author-Koffi-Alain-Sessi">Koffi Alain Sessi</a> </span> <span> <a href="/fr/profile/Yolande-Poirier/" data-id="author-Yolande-Poirier">Yolande Poirier</a> </span> </div> <span class="card__date date">le<span>&nbsp;24 déc. 2018</span></span> </div> <button aria-label="J'aime" size="small" class="like button button__unstyled icon__gray button__icon icon icon__like">J'aime</button> </div> </div> <a href="/fr/interviews/devoxx-belgique-2018-yolande-koffi/" class="card__header" title="Conseils pour Participer Efficacement à la Communauté Java"> <img loading="lazy" alt="Conseils pour Participer Efficacement &#xE0; la Communaut&#xE9; Java" src=" https://res.infoq.com/interviews/devoxx-belgique-2018-yolande-koffi/fr/mediumimage/InfoQFR_baniere_270x200-1545652991288.jpg " class="card__image"> <div class="card__meta"> <div class="card__icon">Icon</div> <div class="card__length">22:38</div> </div> </a> </div> </li> </ul> <div class="actions items__navigator"> <div class="actions__left"> <a href="#" class="items__newer button button__arrow arrow__left button__disabled" onclick="return false;">Interviews récents</a> </div> <div class="actions__right"> <a href="/fr/interviews/12/" class="items__older button button__arrow arrow__right"> Interviews plus anciens </a> </div> </div> </div> </div> </div> </div> </div> </section> </main> <footer class="footer "> <section data-nosnippet class="section container prsps__section white center"> <div class="container__inner"> <p>Rien ne serait possible sans le soutien et la confiance de nos Sponsors:</p> <div class="prsps__list"> <a href="https://www.oxiane.com/" target="_blank"> <img loading="lazy" src="/styles/static/images/oxiane_logo_bleu_150x40.png" alt="Jenji"/> </a> </div> </div> </section> <section data-nosnippet class="section container"> <div class="container__inner"> <ul data-cols="5" class="no-style columns boxes topic__boxes"> <li class="development"> <div class="box__header"> <a class="t_all_footer_more-boxes-header" href="/fr/development/">D&#xE9;veloppement</a> </div> <div class="box__content"> <ul class="no-style box__list small"> <li> <h5><a class="t_all_footer_more-boxes-item" href="/fr/news/2022/07/Asahi-linux-m2-support/" title="La Nouvelle Version D&#039;Asahi Linux Prend En Charge Les Processeurs Apple M1 Ultra Et M2">La Nouvelle Version D'Asahi Linux Prend En Charge Les Processeurs Apple M1 Ultra Et M2</a></h5> </li> <li> <h5><a class="t_all_footer_more-boxes-item" href="/fr/news/2022/06/PostgreSQL-14-Breaking-Change/" title="PostgreSQL 14 Casse Les Pilotes .NET Et Java Pour PostgreSQL">PostgreSQL 14 Casse Les Pilotes .NET Et Java Pour PostgreSQL</a></h5> </li> <li> <h5><a class="t_all_footer_more-boxes-item" href="/fr/news/2022/03/docker-desktop-macos-virtiofs/" title="Docker Desktop 4.6 Pour Mac Am&amp;eacute;liore Les Performances De Partage">Docker Desktop 4.6 Pour Mac Am&eacute;liore Les Performances De Partage</a></h5> </li> </ul> </div> </li> <li class="architecture-design"> <div class="box__header"> <a class="t_all_footer_more-boxes-header" href="/fr/architecture-design/">Architecture &amp; Design</a> </div> <div class="box__content"> <ul class="no-style box__list small"> <li> <h5><a class="t_all_footer_more-boxes-item" href="/fr/news/2022/10/design-patterns-serverless/" title="Comment Eviter Le Verrouillage Des Fournisseurs Sans Serveurs Avec Design Patterns ?">Comment Eviter Le Verrouillage Des Fournisseurs Sans Serveurs Avec Design Patterns ?</a></h5> </li> <li> <h5><a class="t_all_footer_more-boxes-item" href="/fr/articles/ballerina-data-functional-programming/" title="Manipulation De Donn&amp;eacute;es Avec Programmation Fonctionnelle Et Requ&amp;ecirc;tes Dans Ballerina">Manipulation De Donn&eacute;es Avec Programmation Fonctionnelle Et Requ&ecirc;tes Dans Ballerina</a></h5> </li> <li> <h5><a class="t_all_footer_more-boxes-item" href="/fr/articles/ballerina-data-oriented-language/" title="Ballerina : Un Langage De Programmation Orient&amp;eacute; Donn&amp;eacute;es">Ballerina : Un Langage De Programmation Orient&eacute; Donn&eacute;es</a></h5> </li> </ul> </div> </li> <li class="culture-methods"> <div class="box__header"> <a class="t_all_footer_more-boxes-header" href="/fr/culture-methods/">Culture &amp; M&#xE9;thodes</a> </div> <div class="box__content"> <ul class="no-style box__list small"> <li> <h5><a class="t_all_footer_more-boxes-item" href="/fr/news/2022/12/financial-debt-impossible/" title="La Dette Technique Est Quantifiable En Tant Que Dette Financi&amp;egrave;re : Impossible Pour Les D&amp;eacute;veloppeurs">La Dette Technique Est Quantifiable En Tant Que Dette Financi&egrave;re : Impossible Pour Les D&eacute;veloppeurs</a></h5> </li> <li> <h5><a class="t_all_footer_more-boxes-item" href="/fr/news/2022/11/performance-testing-trends/" title="Les Tests De Performance Doivent S&#039;Appuyer Sur Les Tendances">Les Tests De Performance Doivent S'Appuyer Sur Les Tendances</a></h5> </li> <li> <h5><a class="t_all_footer_more-boxes-item" href="/fr/articles/individual-team-processes/" title="Les Processus De Tests Individuels Ne Peuvent Convenir A Tout Le Monde.">Les Processus De Tests Individuels Ne Peuvent Convenir A Tout Le Monde.</a></h5> </li> </ul> </div> </li> <li class="ai-ml-data-eng"> <div class="box__header"> <a class="t_all_footer_more-boxes-header" href="/fr/ai-ml-data-eng/">Data Science</a> </div> <div class="box__content"> <ul class="no-style box__list small"> <li> <h5><a class="t_all_footer_more-boxes-item" href="/fr/news/2022/10/grab-data-platform/" title="Grab A Partag&amp;eacute; Son Experience Sur La Conception De Plate-formes De Donn&amp;eacute;es Distribu&amp;eacute;es">Grab A Partag&eacute; Son Experience Sur La Conception De Plate-formes De Donn&eacute;es Distribu&eacute;es</a></h5> </li> <li> <h5><a class="t_all_footer_more-boxes-item" href="/fr/news/2021/01/microsoft-vision-language-vinvl/" title="Microsoft Research D&amp;eacute;veloppe un Nouveau Syst&amp;egrave;me de Language-Vision : VinVL">Microsoft Research D&eacute;veloppe un Nouveau Syst&egrave;me de Language-Vision : VinVL</a></h5> </li> <li> <h5><a class="t_all_footer_more-boxes-item" href="/fr/articles/uber-eats-time-predictions/" title="Les Pr&amp;eacute;dictions De Temps Chez Uber Eats">Les Pr&eacute;dictions De Temps Chez Uber Eats</a></h5> </li> </ul> </div> </li> <li class="devops"> <div class="box__header"> <a class="t_all_footer_more-boxes-header" href="/fr/devops/">DevOps</a> </div> <div class="box__content"> <ul class="no-style box__list small"> <li> <h5><a class="t_all_footer_more-boxes-item" href="/fr/news/2022/10/Uber-breach-mfa-fatigue/" title="Les Facteurs Cl&amp;eacute;s De La &amp;quot;MFA Fatigue&amp;quot; Dont A Ete Victime Uber">Les Facteurs Cl&eacute;s De La &quot;MFA Fatigue&quot; Dont A Ete Victime Uber</a></h5> </li> <li> <h5><a class="t_all_footer_more-boxes-item" href="/fr/news/2022/09/slack-remote-development-env/" title="Adoption D&#039;Environnements De D&amp;eacute;veloppement &amp;Agrave; Distance Chez Slack">Adoption D'Environnements De D&eacute;veloppement &Agrave; Distance Chez Slack</a></h5> </li> <li> <h5><a class="t_all_footer_more-boxes-item" href="/fr/articles/devops-governance-developer-velocity/" title="Pourquoi La Gouvernance DevOps Est Cruciale Pour Permettre La V&amp;eacute;locit&amp;eacute; Des D&amp;eacute;veloppeurs">Pourquoi La Gouvernance DevOps Est Cruciale Pour Permettre La V&eacute;locit&eacute; Des D&eacute;veloppeurs</a></h5> </li> </ul> </div> </li> </ul> </div> </section> <section data-nosnippet class="container section section__newsletter"> <div class="columns container__inner"> <div class="newsletter" data-col="1/2" > <h2 class="heading"> <strong>InfoQ</strong> Newsletter hebdomadaire </h2> <p class="intro">Un résumé du contenu de la semaine dernière sur InfoQ envoyé tous les jeudis. Rejoignez une communauté de plus de 250 000 développeurs seniors. <a target="_blank" href="https://assets.infoq.com/newsletter/regular/fr/newsletter_sample/newsletter_sample.html">Voir un exemple</a> </p> <ul class="newsletter__features"> <li>Obtenez un aperçu rapide du contenu publié sur une variété de technologies innovantes et précoces</li> <li>Apprenez ce que vous ne savez pas et que vous devriez connaître</li> <li>Restez à jour avec les dernières informations sur les sujets qui vous intéressent</li> </ul> <div class="newsletter__subscribe"> <form class="form gdpr" name="footerNewsletterForm" id="footerNewsletterForm" action="#" onsubmit="footerNewsletter.saveSubscription(); return false;"> <div class="field newsletter__mail input__text input__no-label input__medium email"> <label for="email-newsletter-infoq" class="label field__label">Votre adresse email ici</label> <input id="email-newsletter-infoq" name="footerNewsletterEmail" placeholder="Votre adresse email ici" class="input field__input" type="email"/> <input type="text" name="emailH" id="input_email_h" aria-required="false" style="display:none !important" tabindex="-1" autocomplete="off"/> <input type="hidden" id="fnt" name="fnt" value="FSaG9U8N44jlrMLm"/> <input type="hidden" id="footerNewsletterType" name="footerNewsletterType" value="regular"/> <input type="hidden" id="cmpi" name="cmpi" value="2"/> </div> <div class="hidden"> <span class="input__select field country"> <label for="input-simple-newsletter-country" class="label field__label">Sélectionnez votre pays</label> <select id="input-simple-newsletter-country" class="select field__input"> <option value="" class="select__option">Sélectionner</option> </select> <p class="input__message field__desc"></p> </span> <span class="input__checkbox field hidden"> <input type="checkbox" id="gdpr-consent-simple-nl"> <label for="gdpr-consent-simple-nl" class="label"><span>Je consens à ce que InfoQ.com traite mes données comme expliqué dans ces <a href="https://www.infoq.com/fr/privacy-notice" target=“_blank”>conditions de confidentialité</a>.</span></label> </span> </div> <input type="submit" role="button" value="S'inscrire" class="button button__medium button__red" onclick="return footerNewsletter.validateEmail('Adresse email invalide');"/> </form> <p class="meta"> <a href="/fr/privacy-notice/" target="_blank">Nous protégeons votre vie privée.</a> </p> <span class="success" style="display:none;" id="footerNewsletterMessage"></span> </div> <script type="text/javascript"> var footerNewsletter = new Newsletter('Votre adresse email ici', 'email-newsletter-infoq', 'footerNewsletterType','footerNewsletterMessage', 'fnt', 'input_email_h', 'input-simple-newsletter-country', 'cmpi','footer_except_homepage'); </script> </div> <div data-col="1/2" data-bg="qconLondon" class="event__container"> <a href="https://qconlondon.com/?utm_source=infoq&utm_medium=referral&utm_campaign=largefooterad_qlondon25" target="_blank" class="qconplus__events-slider"> <div> <div class="logo-london"></div> <br> </div> <p class="intro"><ul><li><strong>Conference: April 7-9, 2025</strong></li><li><strong>Certification workshop: April 10, 2025</strong></li></ul> QCon London International Software Development Conference returns on April 7-10, 2025. Level-up on 15 major software and leadership topics including; The Tech of FinTech, AI & ML in Software Engineering, Modern Data Architectures, Engineering Productivity, The Path to Senior Engineering Leadership, Supply Chain Security, and more.</p> <p class="intro">Learn the emerging trends. Explore the use cases. Implement the best practices.<br><strong class="button button__green cta__button">Register Now</strong></p> </a> </div> </div> </section> <section data-nosnippet class="section container footer__subfooter align__left"> <div class="container__inner columns"> <div data-col="1/4" class="columns footer__links-wrap"> <div class="footer__links"> <a href="/fr/" class="nuxt-link-exact-active active" title="Accueil">Accueil</a> <a href="/fr/reginit.action" class="emphasis" title="S'inscrire">S'inscrire</a> <button aria-label="Connexion" class="login" data-ref="mainLogin">Connexion</button> <a rel="noreferrer noopener" href="http://qconferences.com/" target="_blank" title="Conférences QCon">Conférences QCon</a> <a rel="noreferrer noopener" href="https://events.infoq.com/" target="_blank">Events</a> <a href="/fr/write-for-infoq/" title="Contribuez">Contribuez</a> <a href="/fr/infoq-editors/" title="Editeurs InfoQ">Editeurs InfoQ</a> <a href="/fr/about-infoq/" title="A propos d'InfoQ">A propos d'InfoQ</a> <a href="/fr/about-c4media/" title="A propos de C4 Media">A propos de C4 Media</a> <a rel="noreferrer noopener" href="https://c4media.com/diversity" title="Diversity" target="_blank">Diversity</a> </div> </div> <div data-col="1/4" class="events__list"> <h4 class="heading footer__heading">Events</h4> <ul class="qcons__list no-style"> <li><span class="icon event__type conference"></span> <div class="qcon__detail"> <h5 class="heading"> <a rel="noreferrer noopener" href="https://qconlondon.com/?utm_source=infoq&utm_medium=referral&utm_campaign=footer_qlondon25" target="_blank">QCon London</a> </h5> <span class="meta date">APRIL 7-10, 2025</span> </div> </li> <li><span class="icon event__type conference"></span> <div class="qcon__detail"> <h5 class="heading"> <a rel="noreferrer noopener" href="https://devsummit.infoq.com/conference/boston2025?utm_source=infoq&utm_medium=referral&utm_campaign=footer_idsboston25" target="_blank">InfoQ Dev Summit Boston</a> </h5> <span class="meta date">June 9-10, 2025</span> </div> </li> <li><span class="icon event__type conference"></span> <div class="qcon__detail"> <h5 class="heading"> <a rel="noreferrer noopener" href="https://devsummit.infoq.com/conference/munich2025?utm_source=infoq&utm_medium=referral&utm_campaign=footer_idsmunich25" target="_blank">InfoQ Dev Summit Munich</a> </h5> <span class="meta date">October 15-16, 2025</span> </div> </li> <li><span class="icon event__type conference"></span> <div class="qcon__detail"> <h5 class="heading"> <a rel="noreferrer noopener" href="https://qconsf.com/?utm_source=infoq&utm_medium=referral&utm_campaign=footer_qsf25" target="_blank">QCon San Francisco</a> </h5> <span class="meta date">November 17-21, 2025 / In-person</span> </div> </li> <li><span class="icon event__type conference"></span> <div class="qcon__detail"> <h5 class="heading"> <a rel="noreferrer noopener" href="#" target="_self" onclick="return false;">InfoQ Dev Summit New York</a> </h5> <span class="meta date">December, 2025 / In-person</span> </div> </li> </ul> </div> <div data-col="1/4" class="footer__social-wrap"> <h4 class="heading text-left footer__heading">Retrouvez-nous sur les réseaux sociaux </h4> <div class="social__links columns social__links__row"> <a href="http://www.linkedin.com/company/infoq"><span class="icon icon__large icon__social icon__linkedin"></span></a> <a href="#" id="footerNewsletterRssLink"><span class="icon icon__large icon__social icon__rss"></span></a> <a href="http://twitter.com/infoqfr" target="_blank"><span class="icon icon__large icon__social icon__twitter"></span></a> <a href="https://www.facebook.com/InfoQ-75911537320" target="_blank"><span class="icon icon__large icon__social icon__fb"></span></a> </div> </div> <div data-col="1/4" class="footer__stayin-wrap"> <h4 class="heading text-left footer__heading">Stay in the know</h4> <div class="stayIn_panel_container"> <a href="/podcasts/" class="stayIn_panel" target="_blank" rel="noreferrer noopener"><span>The InfoQ Podcast</span><picture><source srcset="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvZm9vdGVyL2luZm9xLXBvZGNhc3QuanBnIiwiZWRpdHMiOiB7IndlYnAiOiB7ICJxdWFsaXR5Ijo4MH19fQ==" type="image/webp"><source srcset="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvZm9vdGVyL2luZm9xLXBvZGNhc3QuanBnIiwiZWRpdHMiOiB7ImpwZWciOiB7ICJxdWFsaXR5Ijo4MH19fQ==" type="image/webp"><img src="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvZm9vdGVyL2luZm9xLXBvZGNhc3QuanBnIiwiZWRpdHMiOiB7ImpwZWciOiB7ICJxdWFsaXR5Ijo4MH19fQ==" loading="lazy" width="65px" height="64px" alt="The InfoQ Podcast Logo - Stay in the know"></picture></a> <a href="/podcasts/#engineering_culture" class="stayIn_panel" target="_blank" rel="noreferrer noopener"><span>Engineering Culture Podcast</span><picture><source srcset="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvZm9vdGVyL2luZm9xLXBvZGNhc3QtZW5naW5lZXJpbmctY3VsdHVyZS5qcGciLCJlZGl0cyI6IHsid2VicCI6IHsgInF1YWxpdHkiOjgwfX19" type="image/webp"><source srcset="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvZm9vdGVyL2luZm9xLXBvZGNhc3QtZW5naW5lZXJpbmctY3VsdHVyZS5qcGciLCJlZGl0cyI6IHsianBlZyI6IHsgInF1YWxpdHkiOjgwfX19" type="image/webp"><img src="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvZm9vdGVyL2luZm9xLXBvZGNhc3QtZW5naW5lZXJpbmctY3VsdHVyZS5qcGciLCJlZGl0cyI6IHsianBlZyI6IHsgInF1YWxpdHkiOjgwfX19" loading="lazy" width="65px" height="64px" alt="Engineering Culture Podcast Logo - Stay in the knoww"></picture></a> <a href="/software-architects-newsletter/" class="stayIn_panel" target="_blank" rel="noreferrer noopener"><span>The Software Architects' Newsletter</span><picture><source srcset="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvZm9vdGVyL2luZm9xLWFyY2hpdGVjdC1uZXdzbGV0dGVyLmpwZyIsImVkaXRzIjogeyJ3ZWJwIjogeyAicXVhbGl0eSI6ODB9fX0=" type="image/webp"><source srcset="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvZm9vdGVyL2luZm9xLWFyY2hpdGVjdC1uZXdzbGV0dGVyLmpwZyIsImVkaXRzIjogeyJqcGVnIjogeyAicXVhbGl0eSI6ODB9fX0=" type="image/webp"><img src="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvZm9vdGVyL2luZm9xLWFyY2hpdGVjdC1uZXdzbGV0dGVyLmpwZyIsImVkaXRzIjogeyJqcGVnIjogeyAicXVhbGl0eSI6ODB9fX0=" loading="lazy" width="65px" height="64px" alt="The Software Architects' Newsletter Logo - Stay in the know"></picture></a> </div> </div> </div> </section> <section data-nosnippet class="container footer__bottom section white align__left"> <div class="container__inner columns"> <div data-col="2/3" class="column"> <div class="footer__contact contact columns"> <span data-col="1/6"> Feedback Général <a href="mailto:feedback-fr@infoq.com">feedback-fr@infoq.com</a> </span> <span data-col="1/6"> Publicité <a href="mailto:sales-fr@infoq.com">sales-fr@infoq.com</a> </span> <span data-col="1/6"> Éditorial <a href="mailto:editors-fr@infoq.com">editors-fr@infoq.com</a> </span> <span data-col="1/6"> Marketing <a href="mailto:marketing@infoq.com">marketing@infoq.com</a> </span> </div> </div> <div class="column" data-col="1/3"> <p class="footer__more"> InfoQ.com et tous les contenus sont copyright &#169; 2006-2025 C4Media Inc.<br/> <a href="/fr/privacy-notice/" target="_blank">Politique de confidentialité</a></span> </p> </div> </div> </section> </footer> <!-- ####### SITE END ######### --> </div> <div class="intbt"> <a href="/int/bt/" title="bt">BT</a> </div> <script type="text/javascript"> $.when(humanDetectionAsync()).then( function(status) { $.getScript("/scripts/__hd.ifq?hdt=FSaG9U8N44jlrMLm&ha=" + status); } ); </script> <script type="text/javascript"> var pageFullyLoaded = false; // this event is fired by frontend once all the necessary things have been done(mobile display, moving vcr boxes around when needed...) infoq.event.on('loaded', function(e) { pageFullyLoaded = true; }); infoq.event.on('pageWidthChanged', function(e) { // re-execute tracking vcr impressions when this event happens (it only happens when elements are added/removed from page) // doTrackVcrImpressions takes into account the data-trk-impr="true" if =false the element was already tracked. // this is needed when switching from mobile to desktop or when layout on mobile changes and desktop version is displayed. New elements become visible. Tracker.safeExec(Tracker.doTrackVcrImpressions); // these 2 need to be called also because we might be on a content page. In case we are not nothing happens VCR.doTrackingCustomRightbar(); VCR.doTrackingCustomRightbarForPresentations() }); //check to see if error page if(window.device !== undefined) { var intervalImpressions = setInterval(function() { var shouldTrack = false; // no vcr widgets on index pages if(window.isIndexPage) { if(window.sponsoredPodcastDone === undefined || window.sponsoredPodcastDone) { shouldTrack = true; } } else //on homepage, bottom widget + 2 native widgets if(InfoQConstants.pageType == "HOMEPAGE" && window.finishedVcrOptional1 && window.finishedRelatedVcr && (window.finishedVcrOptional2 === undefined || window.finishedVcrOptional2)) { shouldTrack = true; } else // rightbar widgets + native widgets + content vcr widgets if((InfoQConstants.pageType == "NEWS_PAGE" || InfoQConstants.pageType == "ARTICLE_PAGE") && ((window.finishedRightbarVcr || window.finishedRightbarVcr === undefined) && window.contentVcrFinished)) { shouldTrack = true; } else if ((InfoQConstants.pageType == "PRESENTATION_PAGE") && (window.contentVcrFinished || window.contentVcrFinished === undefined) && (window.finishedRightbarVcr || window.finishedRightbarVcr === undefined) ) { shouldTrack = true; } else // native widgets + content widgets if(window.contentVcrFinished && (window.finishedVcrOptional1 || window.finishedVcrOptional1 === undefined) && (window.finishedVcrOptional2 || window.finishedVcrOptional2 === undefined)) { shouldTrack = true; } // we start tracking only after the page is fully loaded, frontend signals that they finished everything related to page display. if(shouldTrack && pageFullyLoaded) { clearInterval(intervalImpressions); Tracker.safeExec(Tracker.doTrackVcrImpressions); // start tracking viewable impressions also only after everything is ready function callbackRouter(entries, observer) { var targets = new Array(); entries.forEach(function (entry) { var target = entry.target; if (target.dataset.trkView === 'false') return; if (entry.intersectionRatio > 0) { target.dataset.trkView = false; targets.push(target); } }); Tracker.doTrackViewableImpressions(targets); } var elementsForTrackingViewableImpressions = document.querySelectorAll('[data-trk-view="true"]') var observer = new IntersectionObserver(callbackRouter, { threshold: 0.3 }); elementsForTrackingViewableImpressions.forEach(observer.observe.bind(observer)); } }, 500); } $(document).ready(function () { // desktop notifications widget Tracker.encodeNotificationLinks($(".f_notificationWidget")); // mobile notifications widget Tracker.encodeNotificationLinks($(".h_notifications")); // desktop notifications page Tracker.encodeNotificationLinks($(".notification-page")); // mobile notifications page Tracker.encodeNotificationLinks($(".notifications_page")); }); </script> <script type="text/javascript"> if(window.location.hash){ var hash = window.location.hash.substring(1); if(hash == 'subscribe'){ $('html,body').animate({scrollTop: $('.ftxt3 > .newsletter').offset().top}, 'slow'); } } </script> <script type="text/javascript"> var newsletterSubscriptionURL ='/fr/newsletter/subscribe.action'; DynamicLinks.updateRssLinks('XnLuCjIf6z9BHCGZ6Nd4R76O32258ENr'); ContentSummary.setSelectedTab('fr'); //when user enters the main content area show default topics in the topics bar $("#content-wrapper").mouseenter(function() { showDefaultTopics(); }); Bookmarks.contentTitle = ""; Bookmarks.apiUrl = '/widgets/bookmark.action'; Bookmarks.isContentBookmarked = ""; </script> <script type="text/javascript"> var $buoop = {vs:{i:6,f:1,o:10.1,s:1}} $buoop.ol = window.onload; $(document).ready(function() { try {if ($buoop.ol) $buoop.ol();}catch (e) {} var e = document.createElement("script"); e.setAttribute("type", "text/javascript"); e.setAttribute("src", "https://cdn.infoq.com/statics_s2_20250228123450/scripts/lib/browser-update-org/update.js"); document.body.appendChild(e); }); </script> <script type='text/javascript'> try { mixpanel.track('page viewed', { 'page name' : document.title, 'url' : window.location.pathname }); } catch(err) { } </script> <!-- Latest Version --> <script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"></script> <script> const config = { apiKey: '8910ea974a96ffb6f927952b4ae9b9b0cc3e5973', product: 'PRO_MULTISITE', // general settings consentCookieExpiry: 90, encodeCookie: true, sameSiteCookie: true, // if false, cookie set as SameSite=None;secure; sameSiteValue: ';secure', // either 'Strict', 'Lax', or 'None' subDomains: true, initialState: 'notify', // 'notify','top','box' require pro licence notifyOnce: false, setInnerHTML: true, //layout settings layout: 'slideout', position: 'left', theme: 'light', acceptButton: true, rejectButton: true, closeOnGlobalChange: true, closeStyle: 'icon', toggleType: 'slider', notifyDismissButton: true, settingsStyle: 'link', excludedCountries: ['US'], /*accessibility: { disableSiteScrolling: true, },*/ statement: { description: 'For more detailed information about the cookies we use, see our', name: 'Cookie Policy', url: 'https://www.infoq.com/cookie-policy', updated: '01/01/2024', }, // cookies starting from 'cookie_expire' are from live.infoq.com but since we use the same tool on the same domain we need to specify those too so // that infoq.com cookieControl does not delete live.infoq.com cookies(also infoq.com cookies have been specified in live.infoq.com cookieControl configs) necessaryCookies: ['RegUserCookie', 'UserCookie', 'IdpCookie', 'ConversionTrackingV2_','PSAdialog','*P13NWN*','topbarSurvey','__bkm','JSESSIONID','mp_','_mixpanel','CloudFront-Key-Pair-Id','CloudFront-Policy','CloudFront-Signature','cookie_expire','discount_promo_closed','discount_promo_code','discount_promo_submitted','exit_survey_popup','referrer_popup','voting_popup_*','AWSALB','AWSALBCORS','aws-waf-token'], optionalCookies: [ { name: 'analytics', label: 'Analytics', description: 'Analytical cookies help us to improve our website by collecting and reporting information on its usage.', cookies: ['_ga', '_ga*', '_gid', '_gat', '__utma', '__utmt', '__utmb', '__utmc', '__utmz', '__utmv'], onAccept: function(){ gtag('consent', 'update', {'analytics_storage': 'granted'}); }, onRevoke: function(){ gtag('consent', 'update', {'analytics_storage': 'denied'}); } }, { name: 'marketing', label: 'Advertising', description: 'We use advertising cookies to display advertisements to you for our products.', onAccept: function(){ gtag('consent', 'update', {'ad_storage': 'granted', 'ad_personalization': 'granted', 'ad_user_data': 'granted'}); }, onRevoke: function(){ gtag('consent', 'update', {'ad_storage': 'denied', 'ad_personalization': 'denied', 'ad_user_data': 'denied'}); } } ], text : { // main preference panels title: '<h3>Our use of cookies</h3>', intro: 'We use necessary cookies to make our site work. Functional cookies help enhance the performance and functionality of the site. '+ 'We\'d also like to set analytics cookies to help us improve your experience by measuring how you use the site. '+ 'These will be set only if you accept. ', acceptSettings: 'I Accept', rejectSettings: 'I Do Not Accept', necessaryTitle : '<h3>Necessary Cookies</h3>', necessaryDescription : 'Necessary cookies enable core functionality ' + 'such as page navigation and access to secure areas. '+ 'The website cannot function properly without '+ 'these cookies, and can only be disabled by changing '+ 'your browser preferences.', closeLabel: 'Close Cookie Control', cornerButton: 'Set cookie preferences', // main preference panel controls on: 'On', off : 'Off', thirdPartyTitle : 'Some cookies require your attention', thirdPartyDescription : 'Consent for the following cookies could not be '+ 'automatically revoked. Please follow the link(s) '+ 'below to opt out manually.', // notification panels (only accessible for pro licences) notifyTitle : 'Your choice regarding cookies on this site', notifyDescription : 'We use cookies to optimise site functionality and '+ 'give you the best possible experience.', accept : 'I Accept', reject: 'I Do Not Accept', settings : 'Settings', }, branding : { removeAbout: true, }, }; // do not load this for local envs only. for testing on local envs remove/modify this condition if(InfoQConstants.pageUrl.indexOf('local')===-1){ CookieControl.load( config ); } </script> </body> </html> <!-- s2 -->

Pages: 1 2 3 4 5 6 7 8 9 10