{
/*
Dans ce bloc // veut dire commentaire sinon il faut utiliser / * et * / (sans espace) pour faire des commentaires
Le format de la structure est le suivant:
"Nom de la categorie":{
"parametre":"valeur", // permet de donner des indications pour l'affichage, principalement la couleur et l'orientation
{ // declare un enfant de la categorie, il sera dans la bulle de cette categorie
"type1":"valeur1", // ici on declare un doublet (type,valeur) cela n'affichera que la valeur1 suivant le formattage de type1
"type2":["valeur2","valeur3"], // on peut associer aussi une liste de valeurs cela permet de faire une enumeration
},
{ // declare un autre enfant de la categorie, il sera mis a cote du precedent (suivant l'orientation)
"type1":"valeur1",
},
"children":{ //declare des liens qui vont servir a faire les connections entre les categories, le formatage doit donc etre le meme
"":{ // ici la categorie n'a pas de nom et contient un seul element
{
"type3":"valeur1"
}
}
}
}
*/
"Direction": {
/* Direction */
"color": "yellow",
"style": "background-color: #FBAB7E;background-image: linear-gradient(16deg, #FBAB7E 0%, #F7CE68 100%);font-weight:400;",
"childrenBorder":"false",
{
"statut": "Director",
"nom": "Katell Guizien",
"fonction": "DR, CNRS",
"link" : "people/personnel-list/researchers/katell-guizien",
},
{
"statut": "Deputy Director",
"nom": "Stéphane Hourdez",
"fonction": "CR, CNRS",
"link" : "people/personnel-list/researchers/stephane-hourdez",
},
"children": {
"": {
/* Catégorie spéciale */
"color": "red",
"style": "background-image: radial-gradient( circle farthest-corner at 10% 20%, rgba(253,101,133,1) 0%, rgba(255,211,165,1) 90% );font-weight: 400;",
"floating": "left",
{
"statut": "Administrative and financial management",
"nom": "Nathalie Guillory",
"fonction": "TCE, CNRS",
"link":"people/personnel-list/technical-research-support-personnel/nathalie-guillory",
},
},
"": {
/* Catégorie spéciale */
"color": "red",
"style": "background-image: radial-gradient( circle farthest-corner at 10% 20%, rgba(253,101,133,1) 0%, rgba(255,211,165,1) 90% );font-weight: 400;",
"floating": "right",
{
"statut": "Permanent formation",
"nom": "Béatrice Rivière",
"fonction": "AI, CNRS",
"link":"people/personnel-list/technical-research-support-personnel/beatrice-riviere"
},
},
"": {
/* Catégorie spéciale */
"color": "red",
"style": "background-image: radial-gradient( circle farthest-corner at 10% 20%, rgba(253,101,133,1) 0%, rgba(255,211,165,1) 90% );font-weight:400;",
"floating": "right",
{
"statut": "Prevention assistant",
"nom": "Erwan Péru",
"fonction": "IE, CNRS",
"link":"people/personnel-list/technical-research-support-personnel/erwan-peru"
},
},
"":{
"children": {
"": {
/* Tous les chercheurs */
"color": "blue",
"orientation": "grid",
"style":"height:500px;background: rgb(83,206,241); background: -moz-radial-gradient(circle, rgba(83,206,241,1) 0%, rgba(148,187,233,1) 100%); background: -webkit-radial-gradient(circle, rgba(83,206,241,1) 0%, rgba(148,187,233,1) 100%); background: radial-gradient(circle, rgba(83,206,241,1) 0%, rgba(148,187,233,1) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#53cef1',endColorstr='#94bbe9',GradientType=1);",
{
"statut": "CNRS researchers",
"noms": ["Lorenzo Bramanti", "François Charles", "Pierre Galand","Katell Guizien", "Stéphane Hourdez"],
"fonctions": ["CR", "CR, HDR", "DR, HDR", "DR, HDR", "CR, HDR"],
"links":["people/personnel-list/researchers/lorenzo-bramanti",
"people/personnel-list/researchers/francois-charles",
"people/personnel-list/researchers/pierre-galand",
"people/personnel-list/researchers/katell-guizien",
"people/personnel-list/researchers/stephane-hourdez"],
},
{
"statut": "Teacher-researchers Sorbonne University",
"noms": ["François Lantoine", "Franck Lartaud", "Nadine Le Bris", "Laurence Méjanelle","Audrey Pruski","Jadwiga Rzeznik-Orignac"],
"fonctions": ["MC", "MC, HDR", "PU, HDR", "MC", "MC","MC"],
"links":["people/personnel-list/teacher-researchers/francois-lantoine",
"people/personnel-list/teacher-researchers/franck-lartaud",
"people/personnel-list/teacher-researchers/nadine-le-bris",
"people/personnel-list/teacher-researchers/laurence-mejanelle",
"people/personnel-list/teacher-researchers/audrey-m-pruski",
"people/personnel-list/teacher-researchers/jadwiga-rzenik-orignac"]
},
{
"statut": "Post-doctoral researchers",
"noms": ["Mariana Padrón"],
"links": ["people/personnel-list/doctoral-students/mariana-padron"]
},
{
"statut": "Volunteer researchers from Sorbonne University",
"noms": ["Jean-Michel Amouroux"],
"links": ["people/personnel-list/researchers/jean-michel-amouroux"]
},
{
"statut": "PhD students (* co-direction)",
"noms": ["Maxime Beauvais*","Sylvain Blouet*","Corentin Hochart","Bibiana Jara Vergara*","Victor Le Layec","Victoria Louis*","Claudia Maturana","Adrien Tran Lu Y*","Elise Vissenaekens"],
"links": ["people/personnel-list/doctoral-students/maxime-beauvais",
"people/personnel-list/doctoral-students/sylvain-blouet",
"people/personnel-list/doctoral-students/corentin-hochart",
"people/personnel-list/doctoral-students/bibiana-jara-vergara",
"people/personnel-list/doctoral-students/victor-le-layec",
"people/personnel-list/doctoral-students/victoria-louis",
"people/personnel-list/doctoral-students/claudia-maturana",
"people/personnel-list/doctoral-students/adrien-tran-lu-y",
"people/personnel-list/doctoral-students/elise-vissenaekens"]
},
},
"": {
/* Tous les personnels de soutien */
"color": "green",
"style":"height:500px;background: rgb(34,193,195); background: -moz-linear-gradient(0deg, rgba(34,193,195,1) 0%, rgba(130,190,129,1) 69%, rgba(253,187,45,1) 100%); background: -webkit-linear-gradient(0deg, rgba(34,193,195,1) 0%, rgba(130,190,129,1) 69%, rgba(253,187,45,1) 100%); background: linear-gradient(0deg, rgba(34,193,195,1) 0%, rgba(130,190,129,1) 69%, rgba(253,187,45,1) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#22c1c3',endColorstr='#fdbb2d',GradientType=1);",
"orientation": "column",
{
"statut": "Permanent research support staff",
"noms": ["Nathalie Guillory","Céline Labrune","Lyvia Lescure","Erwan Péru","Béatrice Rivière","Gilles Vétion"],
"fonctions": ["TCE, CNRS","IR, CNRS","T, SU","IE, CNRS","AI CNRS","IE, CNRS"],
"links": ["people/personnel-list/technical-research-support-personnel/nathalie-guillory",
"people/personnel-list/teacher-researchers/celine-labrune",
"people/personnel-list/technical-research-support-personnel/lyvia-lescure",
"people/personnel-list/technical-research-support-personnel/erwan-peru",
"people/personnel-list/technical-research-support-personnel/beatrice-riviere",
"people/personnel-list/technical-research-support-personnel/gilles-vetion"]
},
}
}
}
}
}
/*
Grammaire du pseudo language un point . signifie n'importe quel caractere, une etoile * signifier zero ou plus, d'ou .* signifier zero ou plus caractere. Plus + signifier 1 au moins donc .+ represente un caractere ou plus. Les espaces n'ont pas de signification en dehors de guillement "". Les parentheses signifie un groupe donc ("a")+ est au minimum "a" mais peut etre "a""a" ou encore "a""a""a""a""a", | signifie ou ainsi (a|b) est soit a soit b, et donc (a|b)* est ababbbbaaaa par exemple. (){0,1} signifie le groupe aucune ou une fois.

La grammaire est donc la suivante, on remarque qu'il ne peut y avoir que un seul element racine, tout le reste peut-etre demultiplier,
ici en tant que parmetres seul color et orientation sont reconnus, de meme en tant que type seul statut, nom, noms, fonction et fonctions le sont.

{
".*":{
(".*":".*",)*
(
{
(".*":(".*"|[".*"(,".*")*]),)*
},
)*
("children":{
(".*":{
(".*":".*",)*
(
{
(".*":(".*"|[".*"(,".*")*]),)*
},
)*
("children":{
....

}){0,1}
},)+

}){0,1}
}
}
*/

}