De retour d’un séjour postodoctoral à l’Université de Cambridge, Vaios Koutroulis sera en fonction en tant que professeur assistant au sein du Centre de droit international dès l’année académique prochaine. Il dispensera des cours, mènera des recherches et encadrera des travaux dans le domaine du droit international humanitaire, ainsi que dans celui du droit international général. Le Centre se félicite de pouvoir compter dans ses rangs un professeur supplémentaire, ce qui lui permettra de consolider et de renforcer ses activités.
Vaios Koutroulis nommé Professeur assistant au Centre de droit international
Publié le 2 juillet 2013
Navigation
Présentation
Réalisations
Services
Publications
Ressources documentaires
L.L.M – Master
« Culture-pop »
- Du droit international au cinéma
- En musique : comme un air de droit international
- Le droit international (n’) est-il (que) littérature ?
- Du droit international par la bande (dessinée)
- Le droit international, en jeu (vidéo)
- Le droit international : bon pour le musée ?
- Le droit international sur les planches!
(function () {
function normalize(input) {
try {
const u = (input instanceof URL) ? input : new URL(input, window.location.href);
let p = u.pathname.toLowerCase().replace(/\/+$/, '');
return p === '' ? '/' : p;
} catch { return ''; }
}
function matches(linkPath, currentPath) {
if (!linkPath || linkPath === '/') return currentPath === '/';
if (currentPath === linkPath) return true;
const lp = linkPath.endsWith('/') ? linkPath.slice(0, -1) : linkPath;
return currentPath.startsWith(lp + '/');
}
function resetToggle(t) {
t.classList.remove('et_pb_toggle_open');
t.classList.add('et_pb_toggle_close');
const c = t.querySelector('.et_pb_toggle_content');
if (c) c.style.display = 'none';
const title = t.querySelector('.et_pb_toggle_title');
if (title) title.setAttribute('aria-expanded', 'false');
}
function openToggle(t) {
t.classList.remove('et_pb_toggle_close');
t.classList.add('et_pb_toggle_open');
const c = t.querySelector('.et_pb_toggle_content');
if (c) c.style.display = 'block';
const title = t.querySelector('.et_pb_toggle_title');
if (title) title.setAttribute('aria-expanded', 'true');
}
function highlightCurrent(resetAll = false) {
const container = document.querySelector('.sb-toggles');
if (!container) return;
const currentPath = normalize(window.location.href);
const toggles = Array.from(container.querySelectorAll('.et_pb_toggle'));
if (resetAll) {
container.querySelectorAll('a.current-link').forEach(a => a.classList.remove('current-link'));
toggles.forEach(resetToggle);
}
let best = { toggle: null, link: null, len: -1 };
for (const t of toggles) {
for (const a of t.querySelectorAll('a[href]')) {
const href = a.getAttribute('href');
if (!href || href.startsWith('#') || href.startsWith('mailto:') || href.startsWith('tel:')) continue;
const lp = normalize(href);
if (matches(lp, currentPath) && lp.length > best.len) {
best = { toggle: t, link: a, len: lp.length };
}
}
}
if (best.toggle && best.link) {
best.link.classList.add('current-link');
openToggle(best.toggle);
}
}
function ready() {
highlightCurrent(true); // reset complet une seule fois au départ
setTimeout(() => highlightCurrent(false), 300); // après init Divi
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', ready);
} else {
ready();
}
window.addEventListener('load', () => highlightCurrent(false));
// MutationObserver : ne fait plus de reset, juste la logique du "meilleur match"
const mo = new MutationObserver(() => highlightCurrent(false));
mo.observe(document.body, { childList: true, subtree: true });
})();
















