{"id":239,"date":"2024-10-15T10:31:51","date_gmt":"2024-10-15T08:31:51","guid":{"rendered":"https:\/\/www.cepam.cnrs.fr\/sites\/gdrsilex\/?page_id=239"},"modified":"2024-10-15T10:31:52","modified_gmt":"2024-10-15T08:31:52","slug":"open-data-from-nakala-repository","status":"publish","type":"page","link":"https:\/\/www.cepam.cnrs.fr\/sites\/gdrsilex\/open-data-from-nakala-repository\/","title":{"rendered":"Open Data (from Nakala repository)"},"content":{"rendered":"<script   src=\"https:\/\/code.jquery.com\/jquery-3.7.1.js\"   integrity=\"sha256-eKhayi8LEQwp4NKxN+CfCh+3qOVUtJn3QNZ0TciWLP4=\"   crossorigin=\"anonymous\"><\/script>\r\n<script   src=\"https:\/\/code.jquery.com\/ui\/1.14.0\/jquery-ui.js\"   integrity=\"sha256-u0L8aA6Ev3bY2HI4y0CAyr9H8FRWgX4hZ9+K7C2nzdc=\"   crossorigin=\"anonymous\"><\/script>\r\n\r\n\r\n<!-- HTML -->\r\n\r\n\t<div class=\"w-100 form-outline\">\r\n\t\t<input class=\"form-control\" type=\"text\" id=\"Search\" onkeyup=\"myFunction()\" placeholder=\"recherche\" title=\"Type in a name\">\r\n\t<\/div>\r\n\r\n<div id=\"DisplayData\">\r\n<\/div>\r\n\r\n<!-- Data transfert-->\r\n<script>\r\n\t\r\nfunction myFunction() {\r\n  var input = document.getElementById(\"Search\");\r\n  var filter = input.value.toLowerCase();\r\n  var nodes = document.getElementsByClassName('target');\r\n\r\n  for (let i = 0; i < nodes.length; i++) {\r\n    if (nodes[i].innerText.toLowerCase().includes(filter)) {\r\n      nodes[i].style.display = \"block\";\r\n    } else {\r\n      nodes[i].style.display = \"none\";\r\n    }\r\n  }\r\n}\r\n\t\r\n\r\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/DATA DISPLAYED\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\r\nlet resultJS = [];\r\nvar result=[];\r\nfor(let i = 0; i < resultJS.length; i++) {\r\n\tfor(let j = 0; j < resultJS[i].data.length; j++) {\r\n\t\tresult.push(resultJS[i].data[j]);\r\n\t}\r\n}\r\n\t\r\n\t\r\nvar data = [];\r\nvar citation = [];\r\nlet output = '';\r\n\r\n$(document).ready(async function() {\r\n\r\n    \/\/ Fonction datas retourne une promesse\r\n    async function datas() {\r\n        let promises = []; \/\/ Array pour stocker toutes les promesses des requ\u00eates AJAX\r\n        \r\n        for (let i = 0; i < result.length; i++) {\r\n            if (result[i].status === \"published\") {\r\n                let id = result[i].identifier;\r\n                var settings = {\r\n                    \"url\": \"https:\/\/api.nakala.fr\/datas\/\" + id,\r\n                    \"method\": \"GET\",\r\n                    \"timeout\": 0,\r\n                };\r\n\r\n                \/\/ Pousser chaque requ\u00eate dans le tableau de promesses\r\n                promises.push(\r\n                    $.ajax(settings).done(function(response) {\r\n                        data.push(response);\r\n                    })\r\n                );\r\n            }\r\n        }\r\n\r\n        \/\/ Attendre que toutes les requ\u00eates soient termin\u00e9es\r\n        return Promise.all(promises);\r\n    }\r\n\r\n    \/\/ Fonction citations retourne une promesse\r\n    async function citations() {\r\n        let promises = []; \/\/ Array pour stocker toutes les promesses des requ\u00eates AJAX\r\n        \r\n        for (let i = 0; i < result.length; i++) {\r\n            if (result[i].status === \"published\") {\r\n                let id = result[i].identifier;\r\n                var settings = {\r\n                    \"url\": \"https:\/\/api.nakala.fr\/datas\/\" + id + \"\/citation\",\r\n                    \"method\": \"GET\",\r\n                    \"timeout\": 0,\r\n                };\r\n\r\n                \/\/ Pousser chaque requ\u00eate dans le tableau de promesses\r\n                promises.push(\r\n                    $.ajax(settings).done(function(response) {\r\n                        if (response.code !== 404) {\r\n                            citation.push(response);\r\n                        } else {\r\n                            citation.push(\"aucune citation\");\r\n                        }\r\n                    })\r\n                );\r\n            }\r\n        }\r\n\r\n        \/\/ Attendre que toutes les requ\u00eates soient termin\u00e9es\r\n        return Promise.all(promises);\r\n    }\r\n\r\n    \/\/ Fonction pour g\u00e9n\u00e9rer l'affichage des r\u00e9sultats\r\n    function text() {\r\n        for (var i = 0; i < data.length; i++) {\r\n            output += '<div class=\"result target\">'\r\n                + '<div class=\"d-flex flex-row card mt-1 mb-1 shadow-1 justify-content-between\"><div><h5 class=\"ml-4 mt-4\">'\r\n\t\t\t\t+ data[i].metas[0].value\r\n\t\t\t\t+ '<\/H5><p class=\"ps-3 pe-3 pt-1 pb-1 ml-4 mr-4\">'\r\n                + citation[i]\r\n\t\t\t    + '<\/p><p class=\"fs-6 ml-4 mb-4\">'\r\n\t\t\t    + 'Licence : ' + data[i].metas[2].value + ' | D\u00e9p\u00f4t cr\u00e9\u00e9 le : ' + data[i].metas[1].value\r\n\t            + '<\/p><\/div><div><form method=\"POST\" action=\"' + data[i].uri + '\" class=\"h-100\"><button style=\"background-color: #c61118;\" class=\"btn text-white h-100 shadow-0 rounded-0 rounded-end\" type=\"submit\" name=\"Ok\"><i class=\"fa-solid fa-link\"><\/i><\/button><\/form><\/div><\/div>'\r\n                + '<\/div><\/div>';\r\n        }\r\n\r\n        \/\/ Afficher le contenu dans le div DisplayData\r\n        document.getElementById('DisplayData').innerHTML = output;\r\n    }\r\n\r\n    \/\/ Ex\u00e9cution des fonctions dans l'ordre\r\n    await datas(); \/\/ Attendre la fin de datas()\r\n    await citations(); \/\/ Attendre la fin de citations()\r\n    text(); \/\/ Appeler text() une fois que tout est termin\u00e9\r\n    \r\n    console.log(data);\r\n    console.log(citation);\r\n});\r\n\r\n<\/script>\r\n\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_themeisle_gutenberg_block_has_review":false,"footnotes":""},"categories":[],"tags":[],"_links":{"self":[{"href":"https:\/\/www.cepam.cnrs.fr\/sites\/gdrsilex\/wp-json\/wp\/v2\/pages\/239"}],"collection":[{"href":"https:\/\/www.cepam.cnrs.fr\/sites\/gdrsilex\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.cepam.cnrs.fr\/sites\/gdrsilex\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.cepam.cnrs.fr\/sites\/gdrsilex\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cepam.cnrs.fr\/sites\/gdrsilex\/wp-json\/wp\/v2\/comments?post=239"}],"version-history":[{"count":1,"href":"https:\/\/www.cepam.cnrs.fr\/sites\/gdrsilex\/wp-json\/wp\/v2\/pages\/239\/revisions"}],"predecessor-version":[{"id":240,"href":"https:\/\/www.cepam.cnrs.fr\/sites\/gdrsilex\/wp-json\/wp\/v2\/pages\/239\/revisions\/240"}],"wp:attachment":[{"href":"https:\/\/www.cepam.cnrs.fr\/sites\/gdrsilex\/wp-json\/wp\/v2\/media?parent=239"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cepam.cnrs.fr\/sites\/gdrsilex\/wp-json\/wp\/v2\/categories?post=239"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cepam.cnrs.fr\/sites\/gdrsilex\/wp-json\/wp\/v2\/tags?post=239"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}