CINXE.COM
David Cornu | Postdoctoral researcher, Astrophysics PhD
<!DOCTYPE html> <!--[if IE 6]> <html id="ie6" lang="fr-FR"> <![endif]--> <!--[if IE 7]> <html id="ie7" lang="fr-FR"> <![endif]--> <!--[if IE 8]> <html id="ie8" lang="fr-FR"> <![endif]--> <!--[if !(IE 6) & !(IE 7) & !(IE 8)]><!--> <html lang="fr-FR"> <!--<![endif]--> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width" /> <title> David Cornu | Postdoctoral researcher, Astrophysics PhD </title> <link rel="profile" href="https://gmpg.org/xfn/11" /> <link rel="stylesheet" type="text/css" media="all" href="https://vm-weblerma.obspm.fr/dcornu/wp-content/themes/twentyeleven/style.css?ver=20190507" /> <link rel="pingback" href="https://vm-weblerma.obspm.fr/dcornu/xmlrpc.php"> <!--[if lt IE 9]> <script src="https://vm-weblerma.obspm.fr/dcornu/wp-content/themes/twentyeleven/js/html5.js?ver=3.7.0" type="text/javascript"></script> <![endif]--> <meta name='robots' content='max-image-preview:large' /> <link rel="alternate" type="application/rss+xml" title="David Cornu » Flux" href="https://vm-weblerma.obspm.fr/dcornu/feed/" /> <link rel="alternate" type="application/rss+xml" title="David Cornu » Flux des commentaires" href="https://vm-weblerma.obspm.fr/dcornu/comments/feed/" /> <link rel="alternate" type="application/rss+xml" title="David Cornu » About me Flux des commentaires" href="https://vm-weblerma.obspm.fr/dcornu/page-d-exemple/feed/" /> <script type="text/javascript"> /* <![CDATA[ */ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"wpemoji":"https:\/\/vm-weblerma.obspm.fr\/dcornu\/wp-includes\/js\/wp-emoji.js?ver=6.6.2","twemoji":"https:\/\/vm-weblerma.obspm.fr\/dcornu\/wp-includes\/js\/twemoji.js?ver=6.6.2"}}; /** * @output wp-includes/js/wp-emoji-loader.js */ /** * Emoji Settings as exported in PHP via _print_emoji_detection_script(). * @typedef WPEmojiSettings * @type {object} * @property {?object} source * @property {?string} source.concatemoji * @property {?string} source.twemoji * @property {?string} source.wpemoji * @property {?boolean} DOMReady * @property {?Function} readyCallback */ /** * Support tests. * @typedef SupportTests * @type {object} * @property {?boolean} flag * @property {?boolean} emoji */ /** * IIFE to detect emoji support and load Twemoji if needed. * * @param {Window} window * @param {Document} document * @param {WPEmojiSettings} settings */ ( function wpEmojiLoader( window, document, settings ) { if ( typeof Promise === 'undefined' ) { return; } var sessionStorageKey = 'wpEmojiSettingsSupports'; var tests = [ 'flag', 'emoji' ]; /** * Checks whether the browser supports offloading to a Worker. * * @since 6.3.0 * * @private * * @returns {boolean} */ function supportsWorkerOffloading() { return ( typeof Worker !== 'undefined' && typeof OffscreenCanvas !== 'undefined' && typeof URL !== 'undefined' && URL.createObjectURL && typeof Blob !== 'undefined' ); } /** * @typedef SessionSupportTests * @type {object} * @property {number} timestamp * @property {SupportTests} supportTests */ /** * Get support tests from session. * * @since 6.3.0 * * @private * * @returns {?SupportTests} Support tests, or null if not set or older than 1 week. */ function getSessionSupportTests() { try { /** @type {SessionSupportTests} */ var item = JSON.parse( sessionStorage.getItem( sessionStorageKey ) ); if ( typeof item === 'object' && typeof item.timestamp === 'number' && new Date().valueOf() < item.timestamp + 604800 && // Note: Number is a week in seconds. typeof item.supportTests === 'object' ) { return item.supportTests; } } catch ( e ) {} return null; } /** * Persist the supports in session storage. * * @since 6.3.0 * * @private * * @param {SupportTests} supportTests Support tests. */ function setSessionSupportTests( supportTests ) { try { /** @type {SessionSupportTests} */ var item = { supportTests: supportTests, timestamp: new Date().valueOf() }; sessionStorage.setItem( sessionStorageKey, JSON.stringify( item ) ); } catch ( e ) {} } /** * Checks if two sets of Emoji characters render the same visually. * * This function may be serialized to run in a Worker. Therefore, it cannot refer to variables from the containing * scope. Everything must be passed by parameters. * * @since 4.9.0 * * @private * * @param {CanvasRenderingContext2D} context 2D Context. * @param {string} set1 Set of Emoji to test. * @param {string} set2 Set of Emoji to test. * * @return {boolean} True if the two sets render the same. */ function emojiSetsRenderIdentically( context, set1, set2 ) { // Cleanup from previous test. context.clearRect( 0, 0, context.canvas.width, context.canvas.height ); context.fillText( set1, 0, 0 ); var rendered1 = new Uint32Array( context.getImageData( 0, 0, context.canvas.width, context.canvas.height ).data ); // Cleanup from previous test. context.clearRect( 0, 0, context.canvas.width, context.canvas.height ); context.fillText( set2, 0, 0 ); var rendered2 = new Uint32Array( context.getImageData( 0, 0, context.canvas.width, context.canvas.height ).data ); return rendered1.every( function ( rendered2Data, index ) { return rendered2Data === rendered2[ index ]; } ); } /** * Determines if the browser properly renders Emoji that Twemoji can supplement. * * This function may be serialized to run in a Worker. Therefore, it cannot refer to variables from the containing * scope. Everything must be passed by parameters. * * @since 4.2.0 * * @private * * @param {CanvasRenderingContext2D} context 2D Context. * @param {string} type Whether to test for support of "flag" or "emoji". * @param {Function} emojiSetsRenderIdentically Reference to emojiSetsRenderIdentically function, needed due to minification. * * @return {boolean} True if the browser can render emoji, false if it cannot. */ function browserSupportsEmoji( context, type, emojiSetsRenderIdentically ) { var isIdentical; switch ( type ) { case 'flag': /* * Test for Transgender flag compatibility. Added in Unicode 13. * * To test for support, we try to render it, and compare the rendering to how it would look if * the browser doesn't render it correctly (white flag emoji + transgender symbol). */ isIdentical = emojiSetsRenderIdentically( context, '\uD83C\uDFF3\uFE0F\u200D\u26A7\uFE0F', // as a zero-width joiner sequence '\uD83C\uDFF3\uFE0F\u200B\u26A7\uFE0F' // separated by a zero-width space ); if ( isIdentical ) { return false; } /* * Test for UN flag compatibility. This is the least supported of the letter locale flags, * so gives us an easy test for full support. * * To test for support, we try to render it, and compare the rendering to how it would look if * the browser doesn't render it correctly ([U] + [N]). */ isIdentical = emojiSetsRenderIdentically( context, '\uD83C\uDDFA\uD83C\uDDF3', // as the sequence of two code points '\uD83C\uDDFA\u200B\uD83C\uDDF3' // as the two code points separated by a zero-width space ); if ( isIdentical ) { return false; } /* * Test for English flag compatibility. England is a country in the United Kingdom, it * does not have a two letter locale code but rather a five letter sub-division code. * * To test for support, we try to render it, and compare the rendering to how it would look if * the browser doesn't render it correctly (black flag emoji + [G] + [B] + [E] + [N] + [G]). */ isIdentical = emojiSetsRenderIdentically( context, // as the flag sequence '\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67\uDB40\uDC7F', // with each code point separated by a zero-width space '\uD83C\uDFF4\u200B\uDB40\uDC67\u200B\uDB40\uDC62\u200B\uDB40\uDC65\u200B\uDB40\uDC6E\u200B\uDB40\uDC67\u200B\uDB40\uDC7F' ); return ! isIdentical; case 'emoji': /* * Four and twenty blackbirds baked in a pie. * * To test for Emoji 15.0 support, try to render a new emoji: Blackbird. * * The Blackbird is a ZWJ sequence combining 🐦 Bird and ⬛ large black square., * * 0x1F426 (\uD83D\uDC26) == Bird * 0x200D == Zero-Width Joiner (ZWJ) that links the code points for the new emoji or * 0x200B == Zero-Width Space (ZWS) that is rendered for clients not supporting the new emoji. * 0x2B1B == Large Black Square * * When updating this test for future Emoji releases, ensure that individual emoji that make up the * sequence come from older emoji standards. */ isIdentical = emojiSetsRenderIdentically( context, '\uD83D\uDC26\u200D\u2B1B', // as the zero-width joiner sequence '\uD83D\uDC26\u200B\u2B1B' // separated by a zero-width space ); return ! isIdentical; } return false; } /** * Checks emoji support tests. * * This function may be serialized to run in a Worker. Therefore, it cannot refer to variables from the containing * scope. Everything must be passed by parameters. * * @since 6.3.0 * * @private * * @param {string[]} tests Tests. * @param {Function} browserSupportsEmoji Reference to browserSupportsEmoji function, needed due to minification. * @param {Function} emojiSetsRenderIdentically Reference to emojiSetsRenderIdentically function, needed due to minification. * * @return {SupportTests} Support tests. */ function testEmojiSupports( tests, browserSupportsEmoji, emojiSetsRenderIdentically ) { var canvas; if ( typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope ) { canvas = new OffscreenCanvas( 300, 150 ); // Dimensions are default for HTMLCanvasElement. } else { canvas = document.createElement( 'canvas' ); } var context = canvas.getContext( '2d', { willReadFrequently: true } ); /* * Chrome on OS X added native emoji rendering in M41. Unfortunately, * it doesn't work when the font is bolder than 500 weight. So, we * check for bold rendering support to avoid invisible emoji in Chrome. */ context.textBaseline = 'top'; context.font = '600 32px Arial'; var supports = {}; tests.forEach( function ( test ) { supports[ test ] = browserSupportsEmoji( context, test, emojiSetsRenderIdentically ); } ); return supports; } /** * Adds a script to the head of the document. * * @ignore * * @since 4.2.0 * * @param {string} src The url where the script is located. * * @return {void} */ function addScript( src ) { var script = document.createElement( 'script' ); script.src = src; script.defer = true; document.head.appendChild( script ); } settings.supports = { everything: true, everythingExceptFlag: true }; // Create a promise for DOMContentLoaded since the worker logic may finish after the event has fired. var domReadyPromise = new Promise( function ( resolve ) { document.addEventListener( 'DOMContentLoaded', resolve, { once: true } ); } ); // Obtain the emoji support from the browser, asynchronously when possible. new Promise( function ( resolve ) { var supportTests = getSessionSupportTests(); if ( supportTests ) { resolve( supportTests ); return; } if ( supportsWorkerOffloading() ) { try { // Note that the functions are being passed as arguments due to minification. var workerScript = 'postMessage(' + testEmojiSupports.toString() + '(' + [ JSON.stringify( tests ), browserSupportsEmoji.toString(), emojiSetsRenderIdentically.toString() ].join( ',' ) + '));'; var blob = new Blob( [ workerScript ], { type: 'text/javascript' } ); var worker = new Worker( URL.createObjectURL( blob ), { name: 'wpTestEmojiSupports' } ); worker.onmessage = function ( event ) { supportTests = event.data; setSessionSupportTests( supportTests ); worker.terminate(); resolve( supportTests ); }; return; } catch ( e ) {} } supportTests = testEmojiSupports( tests, browserSupportsEmoji, emojiSetsRenderIdentically ); setSessionSupportTests( supportTests ); resolve( supportTests ); } ) // Once the browser emoji support has been obtained from the session, finalize the settings. .then( function ( supportTests ) { /* * Tests the browser support for flag emojis and other emojis, and adjusts the * support settings accordingly. */ for ( var test in supportTests ) { settings.supports[ test ] = supportTests[ test ]; settings.supports.everything = settings.supports.everything && settings.supports[ test ]; if ( 'flag' !== test ) { settings.supports.everythingExceptFlag = settings.supports.everythingExceptFlag && settings.supports[ test ]; } } settings.supports.everythingExceptFlag = settings.supports.everythingExceptFlag && ! settings.supports.flag; // Sets DOMReady to false and assigns a ready function to settings. settings.DOMReady = false; settings.readyCallback = function () { settings.DOMReady = true; }; } ) .then( function () { return domReadyPromise; } ) .then( function () { // When the browser can not render everything we need to load a polyfill. if ( ! settings.supports.everything ) { settings.readyCallback(); var src = settings.source || {}; if ( src.concatemoji ) { addScript( src.concatemoji ); } else if ( src.wpemoji && src.twemoji ) { addScript( src.twemoji ); addScript( src.wpemoji ); } } } ); } )( window, document, window._wpemojiSettings ); /* ]]> */ </script> <link rel='stylesheet' id='validate-engine-css-css' href='https://vm-weblerma.obspm.fr/dcornu/wp-content/plugins/wysija-newsletters/css/validationEngine.jquery.css?ver=2.13' type='text/css' media='all' /> <style id='wp-emoji-styles-inline-css' type='text/css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wp-block-library-css' href='https://vm-weblerma.obspm.fr/dcornu/wp-includes/css/dist/block-library/style.css?ver=6.6.2' type='text/css' media='all' /> <style id='wp-block-library-theme-inline-css' type='text/css'> .wp-block-audio :where(figcaption){ color:#555; font-size:13px; text-align:center; } .is-dark-theme .wp-block-audio :where(figcaption){ color:#ffffffa6; } .wp-block-audio{ margin:0 0 1em; } .wp-block-code{ border:1px solid #ccc; border-radius:4px; font-family:Menlo,Consolas,monaco,monospace; padding:.8em 1em; } .wp-block-embed :where(figcaption){ color:#555; font-size:13px; text-align:center; } .is-dark-theme .wp-block-embed :where(figcaption){ color:#ffffffa6; } .wp-block-embed{ margin:0 0 1em; } .blocks-gallery-caption{ color:#555; font-size:13px; text-align:center; } .is-dark-theme .blocks-gallery-caption{ color:#ffffffa6; } :root :where(.wp-block-image figcaption){ color:#555; font-size:13px; text-align:center; } .is-dark-theme :root :where(.wp-block-image figcaption){ color:#ffffffa6; } .wp-block-image{ margin:0 0 1em; } .wp-block-pullquote{ border-bottom:4px solid; border-top:4px solid; color:currentColor; margin-bottom:1.75em; } .wp-block-pullquote cite,.wp-block-pullquote footer,.wp-block-pullquote__citation{ color:currentColor; font-size:.8125em; font-style:normal; text-transform:uppercase; } .wp-block-quote{ border-left:.25em solid; margin:0 0 1.75em; padding-left:1em; } .wp-block-quote cite,.wp-block-quote footer{ color:currentColor; font-size:.8125em; font-style:normal; position:relative; } .wp-block-quote.has-text-align-right{ border-left:none; border-right:.25em solid; padding-left:0; padding-right:1em; } .wp-block-quote.has-text-align-center{ border:none; padding-left:0; } .wp-block-quote.is-large,.wp-block-quote.is-style-large,.wp-block-quote.is-style-plain{ border:none; } .wp-block-search .wp-block-search__label{ font-weight:700; } .wp-block-search__button{ border:1px solid #ccc; padding:.375em .625em; } :where(.wp-block-group.has-background){ padding:1.25em 2.375em; } .wp-block-separator.has-css-opacity{ opacity:.4; } .wp-block-separator{ border:none; border-bottom:2px solid; margin-left:auto; margin-right:auto; } .wp-block-separator.has-alpha-channel-opacity{ opacity:1; } .wp-block-separator:not(.is-style-wide):not(.is-style-dots){ width:100px; } .wp-block-separator.has-background:not(.is-style-dots){ border-bottom:none; height:1px; } .wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots){ height:2px; } .wp-block-table{ margin:0 0 1em; } .wp-block-table td,.wp-block-table th{ word-break:normal; } .wp-block-table :where(figcaption){ color:#555; font-size:13px; text-align:center; } .is-dark-theme .wp-block-table :where(figcaption){ color:#ffffffa6; } .wp-block-video :where(figcaption){ color:#555; font-size:13px; text-align:center; } .is-dark-theme .wp-block-video :where(figcaption){ color:#ffffffa6; } .wp-block-video{ margin:0 0 1em; } :root :where(.wp-block-template-part.has-background){ margin-bottom:0; margin-top:0; padding:1.25em 2.375em; } </style> <style id='classic-theme-styles-inline-css' type='text/css'> /** * These rules are needed for backwards compatibility. * They should match the button element rules in the base theme.json file. */ .wp-block-button__link { color: #ffffff; background-color: #32373c; border-radius: 9999px; /* 100% causes an oval, but any explicit but really high value retains the pill shape. */ /* This needs a low specificity so it won't override the rules from the button element if defined in theme.json. */ box-shadow: none; text-decoration: none; /* The extra 2px are added to size solids the same as the outline versions.*/ padding: calc(0.667em + 2px) calc(1.333em + 2px); font-size: 1.125em; } .wp-block-file__button { background: #32373c; color: #ffffff; text-decoration: none; } </style> <style id='global-styles-inline-css' type='text/css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #fff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--blue: #1982d1;--wp--preset--color--dark-gray: #373737;--wp--preset--color--medium-gray: #666;--wp--preset--color--light-gray: #e2e2e2;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} </style> <link rel='stylesheet' id='contact-form-7-css' href='https://vm-weblerma.obspm.fr/dcornu/wp-content/plugins/contact-form-7/includes/css/styles.css?ver=5.8' type='text/css' media='all' /> <link rel='stylesheet' id='twentyeleven-block-style-css' href='https://vm-weblerma.obspm.fr/dcornu/wp-content/themes/twentyeleven/blocks.css?ver=20190102' type='text/css' media='all' /> <link rel='stylesheet' id='dark-css' href='https://vm-weblerma.obspm.fr/dcornu/wp-content/themes/twentyeleven/colors/dark.css?ver=20190404' type='text/css' media='all' /> <link rel='stylesheet' id='tablepress-default-css' href='https://vm-weblerma.obspm.fr/dcornu/wp-content/plugins/tablepress/css/build/default.css?ver=2.1.7' type='text/css' media='all' /> <link rel="https://api.w.org/" href="https://vm-weblerma.obspm.fr/dcornu/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://vm-weblerma.obspm.fr/dcornu/wp-json/wp/v2/pages/2" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://vm-weblerma.obspm.fr/dcornu/xmlrpc.php?rsd" /> <meta name="generator" content="WordPress 6.6.2" /> <link rel="canonical" href="https://vm-weblerma.obspm.fr/dcornu/" /> <link rel='shortlink' href='https://vm-weblerma.obspm.fr/dcornu/' /> <link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://vm-weblerma.obspm.fr/dcornu/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fvm-weblerma.obspm.fr%2Fdcornu%2F" /> <link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://vm-weblerma.obspm.fr/dcornu/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fvm-weblerma.obspm.fr%2Fdcornu%2F&format=xml" /> <!-- GA Google Analytics @ https://m0n.co/ga --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-TZ2R1BMT3R"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-TZ2R1BMT3R'); </script> <style> /* Link color */ a, #site-title a:focus, #site-title a:hover, #site-title a:active, .entry-title a:hover, .entry-title a:focus, .entry-title a:active, .widget_twentyeleven_ephemera .comments-link a:hover, section.recent-posts .other-recent-posts a[rel="bookmark"]:hover, section.recent-posts .other-recent-posts .comments-link a:hover, .format-image footer.entry-meta a:hover, #site-generator a:hover { color: #00dae5; } section.recent-posts .other-recent-posts .comments-link a:hover { border-color: #00dae5; } article.feature-image.small .entry-summary p a:hover, .entry-header .comments-link a:hover, .entry-header .comments-link a:focus, .entry-header .comments-link a:active, .feature-slider a.active { background-color: #00dae5; } </style> <style type="text/css" id="custom-background-css"> body.custom-background { background-color: #00071e; background-image: url("https://vm-weblerma.obspm.fr/dcornu/files/2021/01/technology_uhd_x2_ai_up_high.jpg"); background-position: left top; background-size: cover; background-repeat: no-repeat; background-attachment: fixed; } </style> </head> <body class="home page-template-default page page-id-2 custom-background wp-embed-responsive single-author singular one-column content"> <div class="skip-link"><a class="assistive-text" href="#content">Aller au contenu principal</a></div><div id="page" class="hfeed"> <header id="branding"> <hgroup> <h1 id="site-title"><span><a href="https://vm-weblerma.obspm.fr/dcornu/" rel="home">David Cornu</a></span></h1> <h2 id="site-description">Postdoctoral researcher, Astrophysics PhD </h2> </hgroup> <a href="https://vm-weblerma.obspm.fr/dcornu/"> <img src="https://vm-weblerma.obspm.fr/dcornu/files/2023/10/cropped-det_clip_true_SDC1.png" width="1000" height="287" alt="David Cornu" /> </a> <form method="get" id="searchform" action="https://vm-weblerma.obspm.fr/dcornu/"> <label for="s" class="assistive-text">Recherche</label> <input type="text" class="field" name="s" id="s" placeholder="Recherche" /> <input type="submit" class="submit" name="submit" id="searchsubmit" value="Recherche" /> </form> <nav id="access"> <h3 class="assistive-text">Menu principal</h3> <div class="menu-home-container"><ul id="menu-home" class="menu"><li id="menu-item-30" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home current-menu-item page_item page-item-2 current_page_item menu-item-30"><a href="https://vm-weblerma.obspm.fr/dcornu/" aria-current="page">About me</a></li> <li id="menu-item-31" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-31"><a href="https://vm-weblerma.obspm.fr/dcornu/publications/">Publications</a></li> <li id="menu-item-38" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-38"><a href="https://vm-weblerma.obspm.fr/dcornu/conferences-workshops/">Conferences</a></li> <li id="menu-item-36" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-36"><a href="https://vm-weblerma.obspm.fr/dcornu/teaching/">Teaching</a></li> <li id="menu-item-41" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-41"><a href="https://vm-weblerma.obspm.fr/dcornu/tools-and-codes/">Tools and codes</a></li> </ul></div> </nav><!-- #access --> </header><!-- #branding --> <div id="main"> <div id="primary"> <div id="content" role="main"> <article id="post-2" class="post-2 page type-page status-publish hentry"> <header class="entry-header"> <h1 class="entry-title">About me</h1> </header><!-- .entry-header --> <div class="entry-content"> <div class="wp-block-image"> <figure class="alignright is-resized"><img decoding="async" src="https://vm-weblerma.obspm.fr/dcornu/files/2023/01/david_photo_det.png" alt="EWASS 2020, AI in astrophysics session" class="wp-image-49" style="width:139px;height:187px" /></figure></div> <p><strong>Contact: </strong>david.cornu@observatoiredeparis.psl.eu<br>My <a rel="noreferrer noopener" aria-label=" (s’ouvre dans un nouvel onglet)" href="http://www.linkedin.com/in/david-cornu" target="_blank">LinkedIn profile</a> (with education and experience details)<br><br>I am a French numerical astrophysicist, presently employed as an AI Fellow at PSL University (Paris Sciences & Lettres) in the context of <a rel="noreferrer noopener" href="https://prairie-institute.fr/efelia-prairie/" target="_blank">the EFELIA program</a> (driven by PSL’s <a rel="noreferrer noopener" href="https://psl.eu/en/programmes-gradues/programme-data" target="_blank">Data Science program</a>). I am also a fellow of the Paris School of AI (PSL program under the Cluster-AI funding). <br>I work at the <a rel="noreferrer noopener" href="https://www.observatoiredeparis.psl.eu/" target="_blank">Paris Observatory</a> as a member of the <a rel="noreferrer noopener" aria-label="LERMA (s’ouvre dans un nouvel onglet)" href="https://lerma.obspm.fr/spip.php?article92" target="_blank">LERMA</a> (Laboratoire d’Etudes du Rayonnement et de la Matière en Astrophysique et Atmosphères).<br></p> <p>My main research project revolves around exploring state-of-the-art Machine Learning (ML) approaches and tools for analyzing massive datasets from modern giant interferometers (<a aria-label="LOFAR (s’ouvre dans un nouvel onglet)" href="https://www.obs-nancay.fr/lofar/" target="_blank" rel="noreferrer noopener">LOFAR</a>, <a aria-label="ALMA (s’ouvre dans un nouvel onglet)" href="https://www.almaobservatory.org/en/about-alma-at-first-glance/" target="_blank" rel="noreferrer noopener">ALMA</a>, <a aria-label="NenuFAR (s’ouvre dans un nouvel onglet)" href="https://nenufar.obs-nancay.fr/" target="_blank" rel="noreferrer noopener">NenuFAR</a>, <a href="https://www.sarao.ac.za/gallery/meerkat/" target="_blank" rel="noreferrer noopener">MeerKAT</a>, <a href="https://www.skatelescope.org/">SKA</a>, …) in the context of the <a aria-label=" (s’ouvre dans un nouvel onglet)" href="https://vm-weblerma.obspm.fr/minerva/" target="_blank" rel="noreferrer noopener">MINERVA</a> project.<br>I was noticeably the PI of the MINERVA team competing in the SKA Science Data Challenge 2, for which I developed a highly customized 3D-YOLO network. <strong>The MINERVA team <a href="https://sdc2.skao.int/sdc2-challenge/leaderboard" data-type="link" data-id="https://sdc2.skao.int/sdc2-challenge/leaderboard" target="_blank" rel="noreferrer noopener">won first place </a>in the challenge</strong>, <a href="https://ui.adsabs.harvard.edu/abs/2023arXiv230307943H/abstract"><strong>SDC2 summary paper</strong></a>.<br><strong>Press releases and articles about the victory: </strong><a href="https://www.skao.int/en/news/172/second-skao-science-data-challenge-concludes-strong-collaboration-and-innovation" target="_blank" rel="noreferrer noopener">SKAO</a> (&<a href="https://issuu.com/ska_telescope/docs/contact_-_issue_09" target="_blank" rel="noreferrer noopener"> Contact 9</a> pp16-17), <a href="https://www.cnrs.fr/fr/une-equipe-francaise-remporte-la-deuxieme-edition-du-skao-data-challenge" target="_blank" rel="noreferrer noopener">CNRS</a>, <a href="https://www.observatoiredeparis.psl.eu/une-equipe-francaise-remporte.html?lang=en" target="_blank" rel="noreferrer noopener">OBSPM</a>,<a href="https://www.oca.eu/fr/recherche/actualites-scientifiques/toutes-les-actualites/3270-une-equipe-francaise-remporte-la-deuxieme-edition-du-skao-data-challenge" data-type="URL" data-id="https://www.oca.eu/fr/recherche/actualites-scientifiques/toutes-les-actualites/3270-une-equipe-francaise-remporte-la-deuxieme-edition-du-skao-data-challenge" target="_blank" rel="noreferrer noopener"> OCA</a>, <a href="https://www.actuia.com/actualite/une-equipe-francaise-du-projet-minerva-remporte-le-skao-data-challenge-2021-en-utilisant-le-supercalculateur-jean-zay/" target="_blank" rel="noreferrer noopener">ActuIA</a>, and others …</p> <p>Overall, I am interested in the ML method’s capabilities to solve existing and upcoming astrophysical problems and how the specific properties of astronomical datasets challenge usual ML approaches.<br><br><strong>Latest highlight(s):</strong><br>– My <a href="https://ui.adsabs.harvard.edu/abs/2024A%26A...690A.211C/abstract" target="_blank" rel="noreferrer noopener">latest paper</a> describing our YOLO-CIANNA source detection methods on continuum radio data and applied to the SKAO SDC1 is out!<br>– The first official <a href="https://github.com/Deyht/CIANNA/releases/tag/V-1.0.0.0" target="_blank" rel="noreferrer noopener">V-1.0 release</a> of CIANNA is out!<br>– The DOTSS-21 (led by Florent Mertens), with 10 out of 24 members from the French community, including several former members of the MINERVA team, recently obtained first place in the SKA SDC3a summary paper to come.</p> <p><strong>Previous and present topics:</strong><br>– Object detection, classification, and parameter extraction in radio-astronomical<br>datasets using modern CNN architectures<br>– Model inversion of numerical simulations of the Epoch of Reionization<br>– Visualization tools for astronomical data<strong><br></strong>– Neural accelerators for simulation acceleration or surrogate models<br>– Extinction mapping of the Milky Way using CNNs<br>– Young Stellar Objects (YSOs) classification from Infrared surveys, mainly using ANNs<br>– Various investments in creating/modifying ML tools for astronomical data/problems<br><br><br><em>See my <a rel="noreferrer noopener" aria-label=" (s’ouvre dans un nouvel onglet)" href="https://vm-weblerma.obspm.fr/dcornu/publications/" target="_blank">publications</a> page</em>.</p> <p>For my studies, I developed a state-of-the-art Deep Learning framework called <a rel="noreferrer noopener" aria-label="CIANNA (s’ouvre dans un nouvel onglet)" href="https://github.com/Deyht/CIANNA" target="_blank">CIANNA</a> (Convolutional Interactive Artificial Neural Networks by/for Astrophysicists), which is already competitive with widely adopted DL libraries (<a href="https://vm-weblerma.obspm.fr/dcornu/tools-and-codes/">see Tools and Codes</a>). CIANNA was my primary tool for working on the SKA SDC2.<br></p> <p></p> </div><!-- .entry-content --> <footer class="entry-meta"> </footer><!-- .entry-meta --> </article><!-- #post-2 --> <div id="comments"> </div><!-- #comments --> </div><!-- #content --> </div><!-- #primary --> </div><!-- #main --> <footer id="colophon"> <div id="site-generator"> <a href="https://wordpress.org/" class="imprint" title="Plate-forme de publication personnelle à la pointe de la sémantique"> Fièrement propulsé par WordPress </a> </div> </footer><!-- #colophon --> </div><!-- #page --> <style id='core-block-supports-inline-css' type='text/css'> /** * Core styles: block-supports */ </style> <script type="text/javascript" src="https://vm-weblerma.obspm.fr/dcornu/wp-includes/js/comment-reply.js?ver=6.6.2" id="comment-reply-js" async="async" data-wp-strategy="async"></script> <script type="text/javascript" src="https://vm-weblerma.obspm.fr/dcornu/wp-content/plugins/contact-form-7/includes/swv/js/index.js?ver=5.8" id="swv-js"></script> <script type="text/javascript" id="contact-form-7-js-extra"> /* <![CDATA[ */ var wpcf7 = {"api":{"root":"https:\/\/vm-weblerma.obspm.fr\/dcornu\/wp-json\/","namespace":"contact-form-7\/v1"}}; /* ]]> */ </script> <script type="text/javascript" src="https://vm-weblerma.obspm.fr/dcornu/wp-content/plugins/contact-form-7/includes/js/index.js?ver=5.8" id="contact-form-7-js"></script> </body> </html>