{
/*
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": "Directrice",
"nom": "Katell Guizien",
"fonction": "DR, CNRS",
"link" : "personnel/liste-du-personnel/chercheurs/guizien-katell",
},
{
"statut": "Directeur Adjoint",
"nom": "Stéphane Hourdez",
"fonction": "CR, CNRS",
"link" : "personnel/liste-du-personnel/chercheurs/hourdez-stephane",
},
"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": "Gestion administrative et financière",
"nom": "Nathalie Guillory",
"fonction": "AI, CNRS",
"link":"personnel/liste-du-personnel/ingenieurs-et-techniciens/guillory-nathalie",
},
},
"": {
/* 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": "Formation permanente",
"nom": "Béatrice Rivière",
"fonction": "AI, CNRS",
"link":"personnel/liste-du-personnel/ingenieurs-et-techniciens/riviere-beatrice"
},
},
"": {
/* 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": "Assistante de prévention",
"nom": "Lyvia Lescure",
"fonction": "TCN, SU",
"link":"personnel/liste-du-personnel/ingenieurs-et-techniciens/lescure-lyvia"
},
},
"":{
"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": "Chercheurs CNRS",
"noms": ["Lorenzo Bramanti", "François Charles", "Pierre Galand","Katell Guizien", "Stéphane Hourdez"],
"fonctions": ["CR", "CR, HDR", "DR, HDR", "DR, HDR", "CR, HDR"],
"links":["personnel/liste-du-personnel/chercheurs/bramanti-lorenzo",
"personnel/liste-du-personnel/chercheurs/charles-francois",
"personnel/liste-du-personnel/chercheurs/galand-pierre",
"personnel/liste-du-personnel/chercheurs/guizien-katell",
"personnel/liste-du-personnel/chercheurs/hourdez-stephane"],
},
{
"statut": "Enseignants-chercheurs Sorbonne Université",
"noms": ["Julia Baudart-Lenfant", "François Lantoine", "Franck Lartaud", "Laurence Méjanelle", "Audrey Pruski", "Jadwiga Rzeznik-Orignac"],
"fonctions": ["MC" , "MC", "MC, HDR", "MC", "MC", "MC","MC"],
"links":["personnel/liste-du-personnel/enseignants-chercheurs/baudart-lenfant-julia",
"personnel/liste-du-personnel/enseignants-chercheurs/lantoine-francois",
"personnel/liste-du-personnel/enseignants-chercheurs/lartaud-franck",
"personnel/liste-du-personnel/enseignants-chercheurs/mejanelle-laurence",
"personnel/liste-du-personnel/enseignants-chercheurs/pruski-audrey",
"personnel/liste-du-personnel/enseignants-chercheurs/rzeznik-orignac-jadwiga"]
},
{
"statut": "Post-Doctorants",
"noms": ["Titus Immanuel","Axelle Fleury","Elisabetta Manea","Pierre Ramond","Carlotta Ruiz-Gazulla"],
"links": ["personnel/liste-du-personnel/doctorants/titus-immanuel",
"personnel/liste-du-personnel/doctorants/axelle-fleury",
"personnel/liste-du-personnel/doctorants/elisabetta-manea",
"personnel/liste-du-personnel/doctorants/pierre-ramond",
"personnel/liste-du-personnel/doctorants/carlotta-ruiz-gazulla"]
},
{
"statut": "Chercheur bénévole de Sorbonne Université",
"noms": ["Jean-Michel Amouroux"],
"links": ["personnel/liste-du-personnel/chercheurs/amouroux-jean-michel"]
},
{
"statut": "Doctorants (*co-direction)",
"noms": ["Eva Agranier*","Nathan Nault*","Lauryn Olla","Nolwenn Pagès","Joëlle Robbe*","Linta Vonta","Adèle Wolinski*"],
"links": ["personnel/liste-du-personnel/doctorants/agranier-eva",
"personnel/liste-du-personnel/doctorants/nault-nathan",
"personnel/liste-du-personnel/doctorants/olla-lauryn",
"personnel/liste-du-personnel/doctorants/pages-nolwenn",
"personnel/liste-du-personnel/doctorants/robbe-joelle",
"personnel/liste-du-personnel/doctorants/vonta-linta",
"personnel/liste-du-personnel/doctorants/wolinski-adele"],
},
},
"": {
/* 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": "Ingénieurs et techniciens permanents et contractuels",
"noms": ["Nathalie Guillory","Céline Labrune","Lyvia Lescure","Erwan Péru","Béatrice Rivière","Gilles Vétion","Thomas Boyer","Camille Calmels"],
"fonctions": ["AI, CNRS","IR, CNRS","TCN, SU","IE, CNRS","AI CNRS","IE, CNRS","IE, CNRS, CDD", "CDD, SU"],
"links": ["personnel/liste-du-personnel/ingenieurs-et-techniciens/guillory-nathalie",
"personnel/liste-du-personnel/ingenieurs-et-techniciens/labrune-celine",
"personnel/liste-du-personnel/ingenieurs-et-techniciens/lescure-lyvia",
"personnel/liste-du-personnel/ingenieurs-et-techniciens/peru-erwan",
"personnel/liste-du-personnel/ingenieurs-et-techniciens/riviere-beatrice",
"personnel/liste-du-personnel/ingenieurs-et-techniciens/vetion-gilles",
"personnel/liste-du-personnel/ingenieurs-et-techniciens/boyer-thomas",
"personnel/liste-du-personnel/ingenieurs-et-techniciens/calmels-camille"]


},
}
}
}
}
}
/*
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}
}
}
*/

}