From bd6050f6a1273a388af29db3f22478148d3cfb3e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Anne=20L=27H=C3=B4te?=
Date: Wed, 8 Jan 2025 11:55:43 +0100
Subject: [PATCH 1/5] feat(methodology): Add new paper about how to build OS
monitor
---
src/pages/About/Citation/index.js | 20 ++++++++++++++++++++
src/pages/About/Methodology/index.js | 20 ++++++++++++++++++++
src/translations/en.json | 1 +
src/translations/fr.json | 3 ++-
4 files changed, 43 insertions(+), 1 deletion(-)
diff --git a/src/pages/About/Citation/index.js b/src/pages/About/Citation/index.js
index 54d2f592..26506135 100644
--- a/src/pages/About/Citation/index.js
+++ b/src/pages/About/Citation/index.js
@@ -127,6 +127,26 @@ function Citation() {
+
+
+
+
+
+
+ Laetitia Bracco, Eric Jeangirard, Anne L'Hôte, Laurent Romary.
+ How to build an Open Science Monitor based on publications? A
+ French perspective ? 2024. hal:
+ {' '}
+
+ hal-04854788
+
+
+
+
diff --git a/src/pages/About/Methodology/index.js b/src/pages/About/Methodology/index.js
index 5647a6fe..f703e9f6 100644
--- a/src/pages/About/Methodology/index.js
+++ b/src/pages/About/Methodology/index.js
@@ -699,6 +699,26 @@ function Methodology() {
+
+
+
+
+
+
+ Laetitia Bracco, Eric Jeangirard, Anne L'Hôte, Laurent Romary.
+ How to build an Open Science Monitor based on publications? A
+ French perspective ? 2024. hal:
+ {' '}
+
+ hal-04854788
+
+
+
+
diff --git a/src/translations/en.json b/src/translations/en.json
index a273d4a2..5b45a3cc 100644
--- a/src/translations/en.json
+++ b/src/translations/en.json
@@ -346,6 +346,7 @@
"app.citation2": "About the automatic detection of affiliations:",
"app.citation3": "About the extension of open access indicators and monitoring of clinical trials:",
"app.citation4": "About the extension to research data, codes and software using text mining techniques:",
+ "app.citation5": "About the building of an open science monitor based on publications:",
"app.health-home.numbers": "Key figures of open science in health research",
"app.health-interventional.caracteristiques": "Characteristics",
"app.health-interventional.caracteristiques.combien.title": "How many patients are involved in registered clinical trials?",
diff --git a/src/translations/fr.json b/src/translations/fr.json
index a1dc10cb..de12ef4a 100644
--- a/src/translations/fr.json
+++ b/src/translations/fr.json
@@ -566,7 +566,8 @@
"app.citation1": "Sur la mise en place du Baromètre sur l'accès ouvert aux publications :",
"app.citation2": "Sur la détection automatique des affiliations :",
"app.citation3": "Sur l'extension des indicateurs sur l'accès ouvert et suivi des essais cliniques :",
- "app.citation4": "Sur l'extension aux données de la recherche, codes et logiciels grâce à des techniques de fouille de texte ",
+ "app.citation4": "Sur l'extension aux données de la recherche, codes et logiciels grâce à des techniques de fouille de texte:",
+ "app.citation5": "Sur la construction d'un baromètre de la science ouverte basé sur les publications:",
"app.health-home.numbers": "Les chiffres-clés de la science ouverte dans les recherches en santé",
"app.health-interventional.caracteristiques": "Caractéristiques",
"app.health-interventional.caracteristiques.combien.title": "Combien de patients sont impliqués dans les essais cliniques enregistrés ?",
From afe5b89db37845d0403f029cc1acab7766557538 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Anne=20L=27H=C3=B4te?=
Date: Wed, 8 Jan 2025 12:01:03 +0100
Subject: [PATCH 2/5] 1.13.4
---
package-lock.json | 4 ++--
package.json | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 2e9cc85d..b7c4eaa8 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "bso-ui",
- "version": "1.13.3",
+ "version": "1.13.4",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "bso-ui",
- "version": "1.13.3",
+ "version": "1.13.4",
"dependencies": {
"@dataesr/react-dsfr": "^3.9.1",
"@datapunt/matomo-tracker-react": "^0.5.1",
diff --git a/package.json b/package.json
index d5ae795a..460f4b67 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "bso-ui",
- "version": "1.13.3",
+ "version": "1.13.4",
"private": true,
"dependencies": {
"@dataesr/react-dsfr": "^3.9.1",
From 2c251256cb13961371aa009da9d30425d8d9021a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Anne=20L=27H=C3=B4te?=
Date: Thu, 9 Jan 2025 10:19:44 +0100
Subject: [PATCH 3/5] feat(open-science-policy): Update texts and graphs
---
src/pages/Declinaisons/Policy/index.js | 154 +++++++++++++++++++++----
src/translations/en.json | 5 +-
src/translations/fr.json | 5 +-
3 files changed, 135 insertions(+), 29 deletions(-)
diff --git a/src/pages/Declinaisons/Policy/index.js b/src/pages/Declinaisons/Policy/index.js
index 2ab185bd..3687e005 100644
--- a/src/pages/Declinaisons/Policy/index.js
+++ b/src/pages/Declinaisons/Policy/index.js
@@ -12,6 +12,7 @@ import { getGraphOptions } from '../../../utils/chartOptions';
import { getCSSValue, getPercentageYAxis } from '../../../utils/helpers';
const { REACT_APP_OPENDATASOFT_API_KEY } = process.env;
+const END_YEAR = 2024;
const OPENDATASOFT_LIMIT = 100;
const START_YEAR = 2016;
@@ -35,7 +36,7 @@ const Policy = () => {
offset = 0,
} = {}) => {
let url = 'https://data.enseignementsup-recherche.gouv.fr/api/explore/v2.1/catalog/datasets';
- url += `/fr-esr-resultats-de-l-enquete-sur-la-mise-en-oeuvre-des-politiques-de-science-ou/records?limit=${limit}&offset=${offset}`;
+ url += `/fr-esr-enquete-etablissements-pnso2/records?limit=${limit}&offset=${offset}&order_by=uo_lib`;
url += `&apikey=${REACT_APP_OPENDATASOFT_API_KEY}`;
const response = await axios.get(url, {
headers: { accept: 'application/json; charset=utf-8' },
@@ -59,15 +60,15 @@ const Policy = () => {
}, []);
useEffect(() => {
- const years = [
- ...Array(new Date().getFullYear() - START_YEAR + 1).keys(),
- ].map((year) => year + START_YEAR);
+ const years = [...Array(END_YEAR - START_YEAR + 1).keys()].map(
+ (year) => year + START_YEAR,
+ );
const tmp = {};
// eslint-disable-next-line no-return-assign
years.forEach((year) => (tmp[year] = { y: 0, y_percent: 0 }));
data.forEach((item) => {
- if (item?.first_year_of_publication) {
- tmp[item.first_year_of_publication].y += 1;
+ if (item?.['1_annee_publi_doc_cadre']) {
+ tmp[item['1_annee_publi_doc_cadre']].y += 1;
}
});
const series1 = {};
@@ -115,30 +116,31 @@ const Policy = () => {
),
};
+ const orderFromPolicyExists = {
+ Oui: 3,
+ Non: 2,
+ 'Pas encore, mais nous y travaillons': 1,
+ };
+
let series2 = [];
data.forEach((item) => {
- if (
- !series2.find(
- (serie) => serie.name === item.charter_policy_open_science_exists,
- )
- ) {
+ if (!series2.find((serie) => serie.name === item['1_doc_cadre'])) {
series2.push({
- color:
- colorFromPolicyExists?.[item.charter_policy_open_science_exists]
- ?? getCSSValue('--g-500'),
- name: item?.charter_policy_open_science_exists,
+ name: item['1_doc_cadre'],
y: 0,
});
}
- series2.find(
- (serie) => serie.name === item.charter_policy_open_science_exists,
- ).y += 1;
+ series2.find((serie) => serie.name === item['1_doc_cadre']).y += 1;
});
- series2 = series2.map((item) => ({
- ...item,
- name: item?.name ?? 'Pas de réponse',
- y_percent: (item.y / data.length) * 100,
- }));
+ series2 = series2
+ .map((item) => ({
+ ...item,
+ color: colorFromPolicyExists[item?.name] ?? getCSSValue('--g-500'),
+ name: item?.name ?? 'Pas de réponse',
+ order: orderFromPolicyExists[item?.name] ?? 0,
+ y_percent: (item.y / data.length) * 100,
+ }))
+ .sort((a, b) => b.order - a.order);
const options2Tmp = getGraphOptions({ id: id2, intl });
options2Tmp.chart.type = 'pie';
options2Tmp.series = [
@@ -160,8 +162,26 @@ const Policy = () => {
}, [data, intl]);
useEffect(() => {
- setChartComments1(customComments({ comments: {} }, id1, intl));
- setChartComments2(customComments({ comments: {} }, id2, intl));
+ setChartComments1(
+ customComments(
+ {
+ comments: {},
+ ctas: ['https://hal-lara.archives-ouvertes.fr/hal-04842977'],
+ },
+ id1,
+ intl,
+ ),
+ );
+ setChartComments2(
+ customComments(
+ {
+ comments: {},
+ ctas: ['https://hal-lara.archives-ouvertes.fr/hal-04842977'],
+ },
+ id2,
+ intl,
+ ),
+ );
}, [id2, intl]);
return (
@@ -177,6 +197,31 @@ const Policy = () => {
+ (
+
+ {chunks}
+
+ ),
+ linebreak: (chunks) => (
+ <>
+ {chunks}
+
+ >
+ ),
+ }}
+ />
+
+
+
+
{
+
+
+
+
+
+ Établissement |
+ Année de publication du document-cadre |
+
+ Lien vers le document-cadre le plus récent
+ |
+
+
+
+ {data
+ .filter((item) => item?.['1_url_doc_cadre'])
+ .map((item) => (
+
+ {item.uo_lib} |
+ {item['1_annee_publi_doc_cadre']} |
+
+
+ lien
+
+ |
+
+ ))}
+
+
+
+
+
+
+ (
+
+ {chunks}
+
+ ),
+ linebreak: (chunks) => (
+ <>
+ {chunks}
+
+ >
+ ),
+ }}
+ />
+
+
diff --git a/src/translations/en.json b/src/translations/en.json
index 5b45a3cc..6a1c14ca 100644
--- a/src/translations/en.json
+++ b/src/translations/en.json
@@ -931,11 +931,12 @@
"app.national-publi.others.retractions.chart-by-reason.title": "Reason of retraction for French publications",
"app.national-publi.others.retractions.chart-by-reason.tooltip": "{point.y} retracted publications for reason {point.reason}",
"app.national-other.policy.open-science-policy.title": "Number of institutions with an open science policy",
+ "other.policy.open-science-policy-contact": "TO_BE_TRANSLATED",
"other.policy.open-science-policy.tooltip": "In {point.x}, {point.y} institution(s) had an open science policy,
ie. {point.y_percent:.2f}% des respondents.",
- "other.policy.open-science-policy.comments": "This gaph shows the evolution of the number of institutions declaring having an open science policy. In green is the PNSO1 (National Plan for Open Science) period between 2018 and 2021, and in yellow is the PNSO2 period between 2021 and 2024. These data come from a survey carried out in early 2024.",
+ "other.policy.open-science-policy.comments": "TO_BE_TRANSLATED",
"app.national-other.policy.open-science-document.title": "Existence of an open science policy document",
"other.policy.open-science-document.tooltip": "{point.y_percent:.2f}% of respondents answered {point.name} to the question
of the existence of a document specifying the open science policy either {point.y} institution(s)",
- "other.policy.open-science-document.comments": "This graph represents the proportion of institutions declaring the existence of a document specifying the open science policy, among respondents. These data come from a survey carried out in early 2024.",
+ "other.policy.open-science-document.comments": "TO_BE_TRANSLATED",
"other.policy.open-science-document.label.not_yet": "Not yet,
but we are working on it",
"app.navigation.objet-recherche": "Research object navigation",
"app.methodologie.publication": "Methodology for monitoring open access to publications",
diff --git a/src/translations/fr.json b/src/translations/fr.json
index de12ef4a..01ab9f11 100644
--- a/src/translations/fr.json
+++ b/src/translations/fr.json
@@ -1166,11 +1166,12 @@
"app.national-publi.others.retractions.chart-by-reason.title": "Raison du retrait des publications françaises",
"app.national-publi.others.retractions.chart-by-reason.tooltip": "{point.y} publications retirées pour raison {point.reason}",
"app.national-other.policy.open-science-policy.title": "Evolution du nombre d'établissements qui se sont dotés d'une politique de science ouverte",
+ "other.policy.open-science-policy-contact": "Pour nous signaler l’adoption d’un document par votre établissement, la mise à jour d’une politique existante, ou un lien cassé, n’hésitez pas à nous écrire à l’adresse coso@recherche.gouv.fr.",
"other.policy.open-science-policy.tooltip": "En {point.x}, {point.y} établissement(s) avai(en)t une politique de science ouverte,
soit {point.y_percent:.2f} % des répondants.",
- "other.policy.open-science-policy.comments": "Ce graphique présente l'évolution du nombre d'établissements déclarant avoir une politique de science ouverte. On retrouve en vert la période du PNSO1 (Plan National pour la Science Ouverte) entre 2018 et 2021 et en jaune le PNSO2 entre 2021 et 2024. Ces données sont issues d'une enquête réalisée début 2024.",
+ "other.policy.open-science-policy.comments": "Ce graphique présente l'évolution du nombre d'établissements déclarant avoir une politique de science ouverte. L'année de référence est l'année d'adoption d'une première politique de science ouverte. On retrouve en vert la période du premier Plan National pour la Science Ouverte, entre 2018 et 2021, et en jaune, la période du deuxième Plan national, depuis 2021. Ces données sont issues d'une enquête réalisée début 2024 par le MESR, dont les résultats ont été publiés dans un rapport (DOI: 10.52949/80). A partir de 2025, les données sont collectées par signalement effectué par les établissements et par une veille systématique du ministère.",
"app.national-other.policy.open-science-document.title": "Existence d'un document précisant la politique de science ouverte",
"other.policy.open-science-document.tooltip": "{point.y_percent:.2f} % des répondants ont répondu {point.name} à la question
de l'existence d'un document précisant la politique de science ouverte
soit {point.y} établissement(s)",
- "other.policy.open-science-document.comments": "Ce graphique représente la proportion d'établissements déclarant l'existence d'un document précisant la politique de science ouverte, parmi les répondants. Ces données sont issues d'une enquête réalisées début 2024.",
+ "other.policy.open-science-document.comments": "Ce graphique représente la proportion d'établissements qui ont déclaré l'existence d'un document précisant la politique de science ouverte. Ces données sont issues d'une enquête réalisées début 2024 par le MESR et dont les résultats ont été publiés dans un rapport (DOI : 10.52949/80). A partir de 2025, les données sont collectées par signalement effectué par les établissements et par une veille systématique du ministère.",
"other.policy.open-science-document.label.not_yet": "Pas encore,
mais nous y travaillons",
"app.navigation.objet-recherche": "Navigation par objet de recherche",
"app.navigation.methodologies": "Navigation dans les méthodologies",
From 0c7d50221cc4b294a815901c8aec1138fd3febc5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Anne=20L=27H=C3=B4te?=
Date: Thu, 9 Jan 2025 17:49:02 +0100
Subject: [PATCH 4/5] fix(graph): CT last 10 years should not include year_min
---
src/utils/chartFetchOptions.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/utils/chartFetchOptions.js b/src/utils/chartFetchOptions.js
index ac7f5960..444a1537 100644
--- a/src/utils/chartFetchOptions.js
+++ b/src/utils/chartFetchOptions.js
@@ -915,7 +915,7 @@ export default function getFetchOptions({
{
range: {
study_completion_year: {
- gte: yearMin,
+ gt: yearMin,
lte: yearMax,
},
},
From a969f340f32fd2971f53aca925bb3006dd239dac Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Anne=20L=27H=C3=B4te?=
Date: Thu, 9 Jan 2025 17:53:13 +0100
Subject: [PATCH 5/5] 1.13.5
---
package-lock.json | 4 ++--
package.json | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index b7c4eaa8..2e485f50 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "bso-ui",
- "version": "1.13.4",
+ "version": "1.13.5",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "bso-ui",
- "version": "1.13.4",
+ "version": "1.13.5",
"dependencies": {
"@dataesr/react-dsfr": "^3.9.1",
"@datapunt/matomo-tracker-react": "^0.5.1",
diff --git a/package.json b/package.json
index 460f4b67..93d19c67 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "bso-ui",
- "version": "1.13.4",
+ "version": "1.13.5",
"private": true,
"dependencies": {
"@dataesr/react-dsfr": "^3.9.1",