{"id":226,"date":"2019-04-10T08:07:58","date_gmt":"2019-04-10T06:07:58","guid":{"rendered":"http:\/\/perso.ens-lyon.fr\/carine.michel\/?page_id=226"},"modified":"2019-04-13T18:33:12","modified_gmt":"2019-04-13T16:33:12","slug":"tp-l3-seance-2","status":"publish","type":"page","link":"https:\/\/perso.ens-lyon.fr\/carine.michel\/enseignements\/tp-l3-seance-2\/","title":{"rendered":"TP L3 &#8211; S\u00e9ance 2"},"content":{"rendered":"<p><span style=\"color: #ff6600;\"><strong>Isom\u00e8res et conform\u00e8res<\/strong><\/span><\/p>\n<p>Date: Avril 2019<\/p>\n<p>C. Michel, E. Dumont, P. Clabaut<\/p>\n<p><em> Les comp\u00e9tences \u00e0 acqu\u00e9rir : <\/em><\/p>\n<ul>\n<li>D\u00e9terminer quelle est la meilleure m\u00e9thode pour des donn\u00e9es thermodynamiques;<\/li>\n<li>Recherche conformationnelle simple<\/li>\n<li>Optimisation de g\u00e9om\u00e9trie contrainte<\/li>\n<li>Notion de mod\u00e8les<\/li>\n<li>Travailler \u00e0 plusieurs<\/li>\n<\/ul>\n<p>La session se divise en 2 parties<\/p>\n<ul>\n<li><a href=\"#cyclobutane\">1. Cyclobutane(90 min)<\/a><\/li>\n<li><a href=\"#binaphtol\">2. Binaphtol (150min)<\/a><\/li>\n<\/ul>\n<p><a name=\"cyclobutane\"><\/a><br \/>\n<span style=\"color: #008000;\"><strong><span class=\"subcategory\"> 1. Le cyclobutane<\/span><\/strong><\/span><\/p>\n<p><strong>1.1\u00a0 Grandeurs thermodynamiques<\/strong><\/p>\n<ul>\n<li>Lister les isom\u00e8res de constitution du cyclobutane.<\/li>\n<li>Optimiser le cyclobutane au niveau AM1 et d\u00e9terminer son enthalpie libre, entropie et enthalpie libre (cf. TP pr\u00e9c\u00e9dent). Quelles sont les approximations faites pour \u00e9valuer ces grandeurs?<\/li>\n<li>Faites de m\u00eame avec les isom\u00e8res choisis au m\u00eame niveau de calcul. (<a href=\"https:\/\/accueil.framacalc.org\/fr\/\"> Pensez \u00e0 vous partager le travail ! <\/a>) .<\/li>\n<li>Calculer l&rsquo;enthalpie, d&rsquo;isom\u00e9risation duc cyclobutane vers chacun des isom\u00e8res choisis. Comparer avec les donn\u00e9es disponibles dans les bases de donn\u00e9es en ligne. Les r\u00e9sultats vous paraissent-ils coh\u00e9rents ?<\/li>\n<li>Utilisez maintenant la m\u00e9thode RHF pour \u00e9valuer ces diff\u00e9rences d&rsquo;enthalpie. Pr\u00eatez attention \u00e0 la dur\u00e9e du calcul. Conclure quand \u00e0 la meilleure m\u00e9thode pour \u00e9valuer cette isom\u00e9risation et \u00e0 ses limites.<\/li>\n<li>\u00a0Nous allons maintenant chercher \u00e0 d\u00e9terminer l&rsquo;\u00e9nergie de tension de cycle du cylobutane. Pour cela, il faut d\u00e9terminer l&rsquo;\u00e9nergie de r\u00e9action de formation du cycle en gardant toute chose \u00e9gale par ailleurs (hybridation des carbones, nombre exacte de liaisons de chaque type,&#8230; ). Ce genre de r\u00e9action est dite \u00ab\u00a0homodesmique\u00a0\u00bb. Dans le cas du cyclobutane, cela correspond \u00e0 la r\u00e9action suivante:<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-235 aligncenter\" src=\"http:\/\/perso.ens-lyon.fr\/carine.michel\/wp-content\/uploads\/2019\/04\/bilan-300x36.png\" alt=\"\" width=\"300\" height=\"36\" srcset=\"https:\/\/perso.ens-lyon.fr\/carine.michel\/wp-content\/uploads\/2019\/04\/bilan-300x36.png 300w, https:\/\/perso.ens-lyon.fr\/carine.michel\/wp-content\/uploads\/2019\/04\/bilan.png 768w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<ul>\n<li>D\u00e9terminer la tension de cycle pour le cyclobutane (m\u00e9thode de calcul au choix).<\/li>\n<li>D\u00e9terminer la tension de cycle pour le cyclopropane, le cyclopentane et le cyclohexane.<\/li>\n<li>Commenter les r\u00e9sultats.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><strong> 1.2 Structure \u00e9lectronique et \u00e9nergie d&rsquo;ionisation<\/strong><\/p>\n<ul>\n<li>Visualiser les orbitales mol\u00e9culaires du cyclobutane avec Avogadro (voir s\u00e9ance 1 ou manuel). Identifier-les.<\/li>\n<li>Rappeler le th\u00e9or\u00e8me de Koopman.<\/li>\n<li>D\u00e9terminer l&rsquo;\u00e9nergie du cation C<sub>4<\/sub>H<sub>8<\/sub><sup>+<\/sup> correspondants en gardant bien la g\u00e9om\u00e9trie fix\u00e9e (simple point) en prenant garde \u00e0 la charge et \u00e0 la multiplicit\u00e9 de spin. R\u00e9fl\u00e9chissez \u00e0 la signification de l&rsquo;ionisation \u00ab\u00a0verticale\u00a0\u00bb. Attention ! Comme il s&rsquo;agit ici d&rsquo;une mol\u00e9cule ayant un spin diff\u00e9rent de 1, la m\u00e9thode RHF doit \u00eatre substitu\u00e9 par la m\u00e9thode UHF (Unrestricted). Si vous optez pour cette m\u00e9thode, pensez \u00e0 v\u00e9rifier que les deux (UHF et RHF) vous donnent la m\u00eame \u00e9nergie pour la g\u00e9om\u00e9trie optimis\u00e9e du cyclobutane.<\/li>\n<li>D\u00e9terminer la g\u00e9om\u00e9trie optimale de ces cations. Comment la g\u00e9om\u00e9trie \u00e9volue? Comment le potentiel de ionisation \u00e9volue-t-il si la ionisation n&rsquo;est pas verticale? Comment la structure \u00e9lectronique \u00e9volue-t-elle? Comparer vos r\u00e9sultats aux r\u00e9sultats exp\u00e9rimentaux que vous trouverez dans <a href=\"https:\/\/webbook.nist.gov\/chemistry\/\">Chemistry Webbook<\/a><\/li>\n<\/ul>\n<p><a name=\"binaphtol\"><\/a><br \/>\n<span style=\"color: #008000;\"><strong><span class=\"subcategory\"> 2. Binaphtol (150 min)<\/span><\/strong><\/span><\/p>\n<p>Cette partie cherche \u00e0 comprendre l&rsquo;origine de la chiralit\u00e9 du binaphtol puis analyser les interactions permettant son d\u00e9doublement en utilisant le chlorure de N-benzylcinchonidinium.<\/p>\n<p>Le binaphtol \u00e9tant une &lsquo;grosse&rsquo; mol\u00e9cule, nous l&rsquo;aborderons par \u00e9tapes. Nous commen\u00e7ons par \u00e9tudier la formation de liaisons hydrog\u00e8ne dans des diols terminaux.<\/p>\n<ul>\n<li>Optimiser le 1,2-ethanediol, le 1,3-propanediol et le 1,4-butanediol avec et sans liaison hydrog\u00e8ne en choisissant votre niveau de calcul. Quelle est la stabilit\u00e9 fournie par la liaison hydrog\u00e8ne?<\/li>\n<li>Pour obtenir l&rsquo;\u00e9nergie en fonction de l&rsquo;angle di\u00e8dre de rotation, nous allons r\u00e9aliser une s\u00e9rie d&rsquo;optimisation contraintes en utilisant le mot-cl\u00e9 <tt>moderedundant<\/tt> en option du mot-cl\u00e9 <tt>opt<\/tt>.<br \/>\nPlus d&rsquo;information <a href=\"http:\/\/gaussian.com\/opt\/\"> ici <\/a> ou dans le manuel. Un exemple suit pour un \u00e9chantillonnage de 36 points espac\u00e9s d&rsquo;un angle di\u00e8dre de 10\u00b0 pour le 1,2-ethanediol.<\/p>\n<pre>#n PM3 Opt=modredundant\r\n\r\nScan \r\n\r\n0 1\r\nC         -1.05977        0.44370       -0.51666\r\nC          0.46533        0.40419       -0.42841\r\nH         -1.50404        0.72782        0.46481\r\nH         -1.43768       -0.57106       -0.76256\r\nO         -1.47403        1.32722       -1.52351\r\nH          0.78967       -0.34237        0.33164\r\nO          0.97864        1.67041       -0.11480\r\nH          0.88509        0.08160       -1.40478\r\nH         -1.46854        2.23712       -1.12648\r\nH          0.82582        1.80626        0.85677\r\n\r\n5 1 2 7 S 36 10.0\r\n<\/pre>\n<\/li>\n<li> Quel diol choisissez-vous comme mod\u00e8le simple du binaphtol (sans cycle aromatique)? D\u00e9terminer l&rsquo;\u00e9nergie en fonction d&rsquo;un angle di\u00e8dre bien choisi. Pour cela, utilisez le script python fourni en fin de TP afin de lire le fichier <tt>.log<\/tt> et extraire les g\u00e9om\u00e9tries des points optimis\u00e9s  ainsi que les \u00e9nergies correspondantes. Vous pouvez \u00e9galement construire un film avec ces points en utilisant\n<pre>cat *step* > movie.xyz<\/pre>\n<p>. Il sera visualisable avec Avogadro. Comparer avec les diols vus pr\u00e9c\u00e9demment.\n<\/ul>\n<p>\nMaintenant, nous allons \u00e9tudier le r\u00f4le de la partie aromatique du binaphtol.<\/p>\n<ul>\n<li> Construire le bi-ph\u00e9nyl en utilisant des fragments et optimiser-le. Est-il plan? Pourquoi? D\u00e9terminer l&rsquo;angle di\u00e8dre autour de la liaison simple.  D\u00e9terminer le profil d&rsquo;\u00e9nergie en fonction autour de cet angle. Comparer avec des donn\u00e9es de la litt\u00e9rature.<\/li>\n<li> Construire la configuration R du binaphtol en utilisant son num\u00e9ro CAS et avec la fonction <tt>import\/Fetch by chemical name<\/tt> sur Avogadro. Optimiser la structure. D\u00e9terminer l&rsquo;angle di\u00e8dre autour de la liaison simple. D\u00e9terminer le profil d&rsquo;\u00e9nergie en fonction de cet angle jusqu&rsquo;\u00e0 la configuration S. Conclure quand \u00e0 l&rsquo;origine de la chiralit\u00e9 en comparant l&rsquo;ensemble des r\u00e9sultats obtenus.<\/li>\n<\/ul>\n<p>\nUne fois le profil \u00e9nerg\u00e9tique du binapthol seul obtenu, on va s&rsquo;int\u00e9resser \u00e0 l&rsquo;effet du chlorure de N-benzylcinchonidinium sur ce profil, afin d&rsquo;expliquer son r\u00f4le d&rsquo;agent de d\u00e9doublement (<a href=https:\/\/www.ccdc.cam.ac.uk\/structures\/search?id=doi:10.5517\/cc4n3hc&#038;sid=DataCite>structure de l&rsquo;agent de d\u00e9doublement avec la configuration R du binapthol<\/a>).<\/p>\n<ul>\n<li> Optimiser la g\u00e9om\u00e9trie de l&rsquo;agent de d\u00e9doublement seul.<\/li>\n<li> Construire puis optimiser plusieurs g\u00e9om\u00e9tries de complexes d&rsquo;interaction au niveau MM entre l&rsquo;agent et le binapthol en conformation R ou S. Quelle est l&rsquo;enthalpie libre de complexation pour le R et pour le S au niveau MM choisi? au niveau AM1? Est-ce concluant? <\/li>\n<li> Si ce n&rsquo;est pas concluant, cela signifie que (i) la recherche conformationnelle n&rsquo;a pas permis de trouver le minimum global (ii) le niveau de calcul ne permet pas de d\u00e9crire toutes les interactions. En particulier, AM1 ne capture peut \u00eatre pas correctement les inteactions faibles. Comment v\u00e9rifier? Quelle alternative?.\n <\/ul>\n<\/ul>\n<hr \/>\n<p>Script:<\/p>\n<pre>#!\/usr\/bin\/python\r\n\r\nfrom sys import argv\r\nimport numpy as np\r\nimport matplotlib.pyplot as plt\r\n\r\nperiodic_table = {1:'H', 2:'He', \r\n                  3:'Li', 4:'Be', 5:'B', 6:'C', 7:'N', 8:'O', 9:'F', 10:'Ne',\r\n                  11:'Na', 12:'Mg', 13:'Al', 14:'Si', 15:'P', 16:'S', 17:'Cl', 18:'Ar',\r\n                  19:'K', 20:'Ca', 21:'Sc', 22:'Ti', 23:'V', 24:'Cr', 25:'Mn', 26:'Fe', 27:'Co', 28:'Ni', 29:'Cu', 30:'Zn', 31:'Ga', 32:'Ge', 33:'As', 34:'Se', 35:'Br', 36:'Kr',\r\n                  37:'Rb', 38:'Sr', 39:'Y', 40:'Zr', 41:'Nb', 42:'Mo', 43:'Tc', 44:'Ru', 45:'Rh', 46:'Pd', 47:'Ag', 48:'Cd', 49:'In', 50:'Sn', 51:'Sb', 52:'Te', 53:'I', 54:'Xe',\r\n                  55:'Cs', 56:'Ba', 57:'La', \r\n                  58:'Ce', 59:'Pr', 60:'Nd', 61:'Pm', 62:'Sm', 63:'Eu', 64:'Gd', 65:'Tb', 66:'Dy', 67:'Ho', 68:'Er', 69:'Tm', 70:'Yb', 71:'Lu',\r\n                  72:'Hf', 73:'Ta', 74:'W', 75:'Re', 76:'Os', 77:'Ir', 78:'Pt', 79:'Au', 80:'Hg', 81:'Tl', 82:'Pb', 83:'Bi', 84:'Po', 85:'At', 86:'Rn',\r\n                  87:'Fr', 88:'Ra', 89:'Ac',\r\n                  90:'Th', 91:'Pa', 92:'U', 93:'Np', 94:'Pu', 95:'Am', 96:'Cm', 97:'Bk', 98:'Cf', 99:'Es', 100:'Fm', 101:'Md', 102:'No', 103:'Lr',\r\n                  104:'Rf', 105:'Db', 106:'Sg', 107:'Bh', 108:'Hs', 109:'Mt', 110:'Ds', 111:'Rg', 112:'Cn', 113:'Nh', 114:'Fl', 115:'Mc', 116:'Lv', 117:'Ts', 118:'Og'}\r\n\r\ninput_file = argv[1]\r\n\r\nif input_file.endswith(\".log\"):\r\n    input_log = open(input_file, 'r')\r\n    basename = input_file.split('.')[0]\r\n    log_lines = input_log.readlines()\r\n    input_log.close()\r\n    \r\n    # Starting atom variables empty to avoid 'NameError'\r\n    scan_param = '0.0'\r\n    mod_atom_sym1 = '0.0'\r\n    mod_atom_sym2 = '0.0'\r\n    mod_atom_sym3 = '0.0'\r\n    mod_atom_sym4 = '0.0'\r\n    atom1 = '0.0'\r\n    atom2 = '0.0'\r\n    atom3 = '0.0'\r\n    atom4 = '0.0'\r\n\r\n    coord_data = [ ]\r\n    coord_data_LoL = [ ]\r\n    scf_data = [ ]\r\n    \r\n    # Flags start 'off'.\r\n    mod_flag = 0\r\n    xyz_flag = 0\r\n    dash_flag = 0\r\n\r\n    for line in log_lines:\r\n        if 'ModRedundant' in line:\r\n            mod_flag = 1\r\n        if mod_flag == 1 and 'ModRedundant' not in line:\r\n            mod_info = line.split()\r\n            mod_flag = 0\r\n            if len(mod_info) == 6:\r\n                scan_param = 'distance'\r\n                atom1 = int(mod_info[1])\r\n                atom2 = int(mod_info[2])\r\n            elif len(mod_info) == 7:\r\n                scan_param = 'angle'\r\n                atom1 = int(mod_info[1])\r\n                atom2 = int(mod_info[2])\r\n                atom3 = int(mod_info[3])\r\n            elif len(mod_info) == 8:\r\n                scan_param = 'dihedral'\r\n                atom1 = int(mod_info[1])\r\n                atom2 = int(mod_info[2])\r\n                atom3 = int(mod_info[3])\r\n                atom4 = int(mod_info[4])\r\n        if 'Coordinates (Angstroms)' in line:\r\n        # Anchor point in log file.\r\n            xyz_flag = 1\r\n            coord_data = [ ]\r\n        if xyz_flag == 1 and '---' in line:\r\n            if dash_flag == 0:\r\n            # First dashed line after anchor and before coordinates.\r\n                dash_flag = 1\r\n            elif dash_flag == 1:\r\n            # Second dashed line after anchor and coords, turn flags off.\r\n                xyz_flag = 0\r\n                dash_flag = 0\r\n        if xyz_flag == 1 and dash_flag == 1 and '---' not in line:\r\n            coord_data = coord_data + [line]\r\n\r\n        if 'SCF Done' in line:\r\n            energy = float(line.split()[4])\r\n\r\n        if 'Optimization completed' in line:\r\n        # Only grab SCF energy for optimized structure.\r\n            scf_data = scf_data + [energy]\r\n            coord_data_LoL = coord_data_LoL + [coord_data]\r\n            # Reset geometry list.\r\n            coord_data = [ ]\r\n    \r\n    counter = 1\r\n    for geom in coord_data_LoL:\r\n        if counter &lt; 10: counter = '0' + str(counter) output_name = basename + '_step-' + str(counter) + '.xyz' # Will overwrite xyz files with this exact name. output_xyz = open(output_name,'w') output_xyz.write(str(len(geom)) + '\\n') output_xyz.write(basename + '_step-' + str(counter) + '.xyz' + ' SCF Energy = ' + str(scf_data[int(counter) - 1]) + '\\n') for atom in geom: atom_num = atom.split()[0] if scan_param == 'distance': if atom_num == str(atom1): mod_atom_sym1 = periodic_table[int(atom.split()[1])] if atom_num == str(atom2): mod_atom_sym2 = periodic_table[int(atom.split()[1])] elif scan_param == 'angle': if atom_num == str(atom1): mod_atom_sym1 = periodic_table[int(atom.split()[1])] if atom_num == str(atom2): mod_atom_sym2 = periodic_table[int(atom.split()[1])] if atom_num == str(atom3): mod_atom_sym3 = periodic_table[int(atom.split()[1])] elif scan_param == 'dihedral': if atom_num == str(atom1): mod_atom_sym1 = periodic_table[int(atom.split()[1])] if atom_num == str(atom2): mod_atom_sym2 = periodic_table[int(atom.split()[1])] if atom_num == str(atom3): mod_atom_sym3 = periodic_table[int(atom.split()[1])] if atom_num == str(atom4): mod_atom_sym4 = periodic_table[int(atom.split()[1])] atom_sym = periodic_table[int(atom.split()[1])] X_coord = '%10.5f' % float(atom.split()[3]) Y_coord = '%10.5f' % float(atom.split()[4]) Z_coord = '%10.5f' % float(atom.split()[5]) # Padding the xyz lines to match Gaussian input format. XYZ_string = '%-3s' '%16s' '%16s' '%16s' % (atom_sym, X_coord, Y_coord, Z_coord) # Writing optimized .xyz files. output_xyz.write(XYZ_string + '\\n') counter = int(counter) + 1 # Writing output .csv file if steps have been taken. if len(scf_data) &gt; 0:\r\n        output_csv = open(basename + '.csv','w')\r\n        output_csv.write('Scan step' + ',' + 'SCF Energy' + '\\n')\r\n        for i in range(len(scf_data)):\r\n            output_csv.write(str(i + 1) + ',' + str(scf_data[i]) + '\\n')\r\n   \t\r\n\t# Creating matplotlib data.\r\n\tsteps = range(0, len(scf_data))\r\n\tplt.plot(steps, scf_data,'ro')\r\n\tplt.axis([0, len(scf_data) + 1, 1.00001 * min(scf_data), 0.99999 * max(scf_data)])\r\n\t# Turn offset 'off' since y axis is large numbers not changing much.\r\n\t# This is needed to show y axis tick marks correctly.\r\n\tplt.ticklabel_format(useOffset = False)\r\n\tplt.grid(True)\r\n\tplt.xlabel('Step number')\r\n\tplt.ylabel('SCF energy (hartrees)')\r\n\t# Sets the plot perfectly in the view window.\r\n\tplt.tight_layout()\r\n\tplt.show()\r\n    \r\n\t# Printing information to screen.\r\n    print ''\r\n    print 'Parsing through input log file: ' + input_file\r\n    if len(scf_data) == 0:\r\n        print 'No optimization steps found'\r\n    else:\r\n        print str(len(scf_data)) + ' optimizations completed.'\r\n    if scan_param == 'distance':\r\n        print 'Extracting all optimized geometries and SCF energies for the distance scan between ' + mod_atom_sym1 + str(atom1) + ' - ' + mod_atom_sym2 + str(atom2)\r\n    elif scan_param == 'angle':\r\n        print 'Extracting all optimized geometries and SCF energies for the angle scan between ' + mod_atom_sym1 + str(atom1) + ' - ' + mod_atom_sym2 + str(atom2) + ' - ' + mod_atom_sym3 + str(atom3)\r\n    elif scan_param == 'dihedral':\r\n        print 'Extracting all optimized geometries and SCF energies for the dihedral scan between ' + mod_atom_sym1 + str(atom1) + ' - ' + mod_atom_sym2 + str(atom2) + ' - ' + mod_atom_sym3 + str(atom3) + ' - ' + mod_atom_sym4 + str(atom4)\r\n    print ''\r\n\r\nelse:\r\n    print ''\r\n    print 'Please provide a Gaussian .log file from a modredundant scan as input.'\r\n    print ''\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Isom\u00e8res et conform\u00e8res Date: Avril 2019 C. Michel, E. Dumont, P. Clabaut Les comp\u00e9tences \u00e0 acqu\u00e9rir : D\u00e9terminer quelle est la meilleure m\u00e9thode pour des donn\u00e9es thermodynamiques; Recherche conformationnelle simple Optimisation de g\u00e9om\u00e9trie contrainte Notion de mod\u00e8les Travailler \u00e0 plusieurs La session se divise en 2 parties 1. Cyclobutane(90 min) 2. Binaphtol (150min) 1. Le [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":2,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-226","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/perso.ens-lyon.fr\/carine.michel\/wp-json\/wp\/v2\/pages\/226","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/perso.ens-lyon.fr\/carine.michel\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/perso.ens-lyon.fr\/carine.michel\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/perso.ens-lyon.fr\/carine.michel\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/perso.ens-lyon.fr\/carine.michel\/wp-json\/wp\/v2\/comments?post=226"}],"version-history":[{"count":13,"href":"https:\/\/perso.ens-lyon.fr\/carine.michel\/wp-json\/wp\/v2\/pages\/226\/revisions"}],"predecessor-version":[{"id":257,"href":"https:\/\/perso.ens-lyon.fr\/carine.michel\/wp-json\/wp\/v2\/pages\/226\/revisions\/257"}],"up":[{"embeddable":true,"href":"https:\/\/perso.ens-lyon.fr\/carine.michel\/wp-json\/wp\/v2\/pages\/2"}],"wp:attachment":[{"href":"https:\/\/perso.ens-lyon.fr\/carine.michel\/wp-json\/wp\/v2\/media?parent=226"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}