{ "cells": [ { "cell_type": "markdown", "metadata": { "editable": true, "slideshow": { "slide_type": "slide" }, "tags": [] }, "source": [ "[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/git/https%3A%2F%2Fgitlab.dsi.universite-paris-saclay.fr%2Fbruno.denis%2Fintro_jupyter/HEAD?labpath=notebooks%2Farchive_hal.ipynb)\n", "[![NbViewer](https://badgen.net/static/render/NbViewer/orange)](https://nbviewer.org/urls/gitlab.dsi.universite-paris-saclay.fr/bruno.denis/intro_jupyter/-/raw/main/notebooks/archive_hal.ipynb) \n", "\n", "\n", "# Archive ouverte HAL\n", "\n", "L'objectif de ce carnet Jupyter est l'analyse des documents archivés du [LURPA](https://lurpa.ens-paris-saclay.fr) sur le plateforme [HAL](https://archives-ouvertes.fr/).\n", "\n", "Les fonctionnalités majeures de ce carnet sont :\n", "- **Reproductivité** par utilisation de données disponible par une API http en ligne (mise en oeuvre avec le module `requests`)\n", "- **Interactivité** par utilisation du module `ipywidgets`\n", "\n", "Ses autres fonctionnalités\n", "- **Affichage tabulaire** par utilisation du module `pandas`\n", "- **Affichage de courbe** par utilisation du module `Matplotlib`." ] }, { "cell_type": "markdown", "metadata": { "editable": true, "slideshow": { "slide_type": "slide" }, "tags": [] }, "source": [ "## L'API de HAL\n", "\n", "L'API est disponible à l'url https://api.archives-ouvertes.fr/search/\n", "\n", "Le tableau ci-dessous présente des exemples de champs disponibles avec l'API\n", "\n", "| Nom | Type | Description |\n", "|-------------------------|------|-------------|\n", "| docid | str | identifiant unique du document, exemple : \"00123456\" |\n", "| halId_s | str | identifiant HAL du document, exemple : \"hal-00123456\" |\n", "| uri_s | str | URI du document, exemple : \"https://hal.archives-ouvertes.fr/hal-00123456\" |\n", "| docType_s | str | type du document, exemple \"ART\", \"COMM\", \"COUV\", \"DOUV\", \"POSTER\", \"OTHER\", \"REPORT\", \"THESE\", \"HDR\", \"LECTURE\", \"MEM\", \"OUV\", \"PATENT\", \"THESEHDR\", \"UNDEFINED\" |\n", "| producedDateY_i | int | année de production du document, exemple : 2023 |\n", "| label_s | str | Texte avec les auteur, le titre et l'année de production du document, ememple : \"Merle Guillaume, Roussel Jean-Marc, Lesage Jean-Jacques. A new method for the analysis of the dynamic behavior of a structure with uncertain parameters. 2023.\" |\n", "| title_s | str | titre du document, exemple : \"A new method for the analysis of the dynamic\" |\n", "| authLastNameFirstName_s | list | liste de noms d'auteurs, exemple : ['Merle Guillaume', 'Roussel Jean-Marc', 'Lesage Jean-Jacques'] |\n", "| fileAnnexes_s | list | liste de fichiers annexes, exemple : ['https://hal.archives-ouvertes.fr/hal-00123456/file/00123456.pdf'] |\n", "| keyword_s | list | liste de mots clés, exemple : ['keyword1', 'keyword2', 'keyword3'] |\n" ] }, { "cell_type": "markdown", "metadata": { "editable": true, "slideshow": { "slide_type": "slide" }, "tags": [] }, "source": [ "## Codage\n", "\n", "### importation des modules nécessaires" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "editable": true, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [], "source": [ "import requests\n", "import pandas as pd\n", "import ipywidgets as widgets\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "metadata": { "editable": true, "slideshow": { "slide_type": "subslide" }, "tags": [] }, "source": [ "### Collecte et structuration des données d'une requête\n", "\n", "| Fonction | Desctiption |\n", "|----------|-------------|\n", "| `get_docs_from_hal()` | Interroge l'API. Par défaut les références de `1000` documents du `lurpa` sont renvoyées, contenant les champs `docid`, `docType_s`, `producedDateY_i`, `title_s`, `authLastNameFirstName_s` et `fileAnnexes_s` |\n", "| `build_tables()` | Structure les données en créant 4 tables à partir du retour d'un retour de l'API : les documents (`pandas.DataFrame`), les auteurs (`list`), l'association auteur-document (`pandas.DataFrame`) et les type de document (`list`) |\n", "| `display_doc_fields()` | Affiche pour la mise au point chaque item (clé, type de la valeur, valeur) d'un document renvoyé par l'API |" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "editable": true, "slideshow": { "slide_type": "skip" }, "tags": [] }, "outputs": [], "source": [ "def get_docs_from_hal(\n", " api_url=\"https://api.archives-ouvertes.fr/search/\", \n", " identifiers_id=\"lurpa\",\n", " number_of_docs=1000,\n", " field_list=[\n", " \"docid\",\n", " \"docType_s\",\n", " \"producedDateY_i\",\n", " \"title_s\",\n", " \"authLastNameFirstName_s\",\n", " \"fileAnnexes_s\",\n", " ]\n", " ):\n", " \"\"\"Get documents from HAL api for identifiers_id.\n", " \n", " Parameters\n", " ----------\n", " api_url : str\n", " URL of the HAL api.\n", " identifiers_id : str\n", " Exemple \"lurpa\" to get docs of LURPA laboratory..\n", " number_of_docs : int\n", " Number of documents to retrieve.\n", " field_list : list of str\n", " List of fields to retrieve.\n", " \n", " Returns\n", " -------\n", " list of dict\n", " List of dictionaries where keys are document fields.\n", " \"\"\"\n", " params = {\n", " \"q\": f\"identifiers_id:{identifiers_id}\",\n", " \"rows\": number_of_docs,\n", " \"sort\" : \"producedDateY_i asc\",\n", " \"wt\": \"json\", \n", " \"fl\": \",\".join(field_list),\n", " }\n", " data = requests.get(api_url, params=params).json()\n", " return data[\"response\"][\"docs\"]" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "editable": true, "slideshow": { "slide_type": "skip" }, "tags": [] }, "outputs": [], "source": [ "def build_tables(doc_list):\n", " \"\"\"Build a tables from list of documents.\n", " \n", " Parameters\n", " ----------\n", " doc_list : list of dict\n", " List of documents.\n", " \n", " Returns\n", " -------\n", " df_doc : pandas.DataFrame\n", " List of documents with folowing fields :\n", " doc_id, année, type, auteurs, title_s.\n", " df_author_doc : pandas.DataFrame\n", " List of couple (author name, docid).\n", " author_list : list of str\n", " List of authors.\n", " doc_type_list : list of str\n", " List of document types.\n", " \"\"\"\n", " doc_table = list() \n", " author_doc_table = list()\n", " \n", " for record in get_docs_from_hal(identifiers_id=\"lurpa\"):\n", " doc_table.append(\n", " [record[\"docid\"],\n", " record[\"producedDateY_i\"],\n", " record[\"docType_s\"],\n", " record[\"authLastNameFirstName_s\"],\n", " record[\"title_s\"]]\n", " )\n", " # update author list\n", " for a_name in record[\"authLastNameFirstName_s\"]:\n", " author_doc_table.append([a_name, int(record[\"docid\"])])\n", " \n", " df_doc = pd.DataFrame(\n", " doc_table, \n", " columns=[\"doc_id\", \"année\", \"type\", \"auteurs\", \"titre\"],\n", " )\n", "\n", " df_author_doc = pd.DataFrame(\n", " author_doc_table,\n", " columns=[\"auteur\", \"doc_id\"],\n", " )\n", "\n", " author_list = list(\n", " df_author_doc.sort_values(by=\"auteur\")[\"auteur\"].unique()\n", " )\n", " doc_type_list = list(df_doc.sort_values(by=\"type\")[\"type\"].unique())\n", " \n", " return df_doc, df_author_doc, author_list, doc_type_list" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "editable": true, "slideshow": { "slide_type": "skip" }, "tags": [] }, "outputs": [], "source": [ "def display_doc_fields(doc: dict):\n", " \"\"\"Display for debug each item (key, value type, value) from doc.\"\"\"\n", " for k in doc.keys():\n", " print(\"{} ({}):\\n{}\\n-----\".format(k, type(doc[k]), doc[k]))" ] }, { "cell_type": "markdown", "metadata": { "editable": true, "slideshow": { "slide_type": "subslide" }, "tags": [] }, "source": [ "#### Exemple d'utilisation #1\n", "\n", "Envoi d'une requête pour obtenir 10 documents de l'`ENS-PARIS-SACLAY` avec tous leurs champs associés. Affichage de tous les champs collectés pour le document recupéré d'indice 5." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "editable": true, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [], "source": [ "doc_list = get_docs_from_hal(\n", " number_of_docs=10,\n", " identifiers_id=\"ENS-PARIS-SACLAY\",\n", " field_list=[\"*\"]\n", ")" ] }, { "cell_type": "markdown", "metadata": { "editable": true, "slideshow": { "slide_type": "subslide" }, "tags": [] }, "source": [ "Affichage de tous les champs collectés pour le document recupéré d'indice 5." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "editable": true, "scrolled": true, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "docid ():\n", "4400983\n", "-----\n", "label_s ():\n", "Marc Rabaud, Y. Couder, N. Gerard. Dynamics and stability of anomalous Saffman-Taylor fingers. Physical Review A, 1988, 37 (3), pp.935-947. ⟨10.1103/PhysRevA.37.935⟩. ⟨hal-04400983⟩\n", "-----\n", "citationRef_s ():\n", "Physical Review A, 1988, 37 (3), pp.935-947. ⟨10.1103/PhysRevA.37.935⟩\n", "-----\n", "citationFull_s ():\n", "Marc Rabaud, Y. Couder, N. Gerard. Dynamics and stability of anomalous Saffman-Taylor fingers. Physical Review A, 1988, 37 (3), pp.935-947. ⟨10.1103/PhysRevA.37.935⟩. ⟨hal-04400983⟩\n", "-----\n", "label_bibtex ():\n", "@article{rabaud:hal-04400983,\n", " TITLE = {{Dynamics and stability of anomalous Saffman-Taylor fingers}},\n", " AUTHOR = {Rabaud, Marc and Couder, Y. and Gerard, N.},\n", " URL = {https://hal.science/hal-04400983},\n", " JOURNAL = {{Physical Review A}},\n", " PUBLISHER = {{American Physical Society }},\n", " VOLUME = {37},\n", " NUMBER = {3},\n", " PAGES = {935-947},\n", " YEAR = {1988},\n", " MONTH = Feb,\n", " DOI = {10.1103/PhysRevA.37.935},\n", " HAL_ID = {hal-04400983},\n", " HAL_VERSION = {v1},\n", "}\n", "\n", "-----\n", "label_endnote ():\n", "%0 Journal Article\n", "%T Dynamics and stability of anomalous Saffman-Taylor fingers\n", "%+ Groupe de Physique des Solides (GPS)\n", "%A Rabaud, Marc\n", "%A Couder, Y.\n", "%A Gerard, N.\n", "%< avec comité de lecture\n", "%@ 2469-9926\n", "%J Physical Review A\n", "%I American Physical Society\n", "%V 37\n", "%N 3\n", "%P 935-947\n", "%8 1988-02-01\n", "%D 1988\n", "%R 10.1103/PhysRevA.37.935\n", "%Z Physics [physics]Journal articles\n", "%X The existence of anomalous Saffman-Taylor fingers when a localized disturbance is applied at their tip has been demonstrated by several recent experiments. We show that they form a well-defined family with strong similarities with crystalline dendrites. They are narrower and more stable than normal fingers, their tip is parabolic, and its radius of curvature ρ is proportional to the capillary length I_0. For very large velocities, saturation occurs when ρ becomes of the order of the plate spacing. Using localized disturbance and periodic forcing we characterize the amplification of waves on their lateral fronts and we then discuss some implications for dendritic crystalline growth.\n", "%G English\n", "%L hal-04400983\n", "%U https://hal.science/hal-04400983\n", "%~ UNIV-PARIS7\n", "%~ UPMC\n", "%~ CNRS\n", "%~ SORBONNE-UNIVERSITE\n", "%~ UNIV-PARIS\n", "%~ ALLIANCE-SU\n", "\n", "-----\n", "label_coins ():\n", "\n", "-----\n", "openAccess_bool ():\n", "False\n", "-----\n", "popularLevel_s ():\n", "0\n", "-----\n", "peerReviewing_s ():\n", "1\n", "-----\n", "audience_s ():\n", "2\n", "-----\n", "domainAllCode_s ():\n", "['phys']\n", "-----\n", "level0_domain_s ():\n", "['phys']\n", "-----\n", "domain_s ():\n", "['0.phys']\n", "-----\n", "fr_domainAllCodeLabel_fs ():\n", "['phys_FacetSep_Physique [physics]']\n", "-----\n", "en_domainAllCodeLabel_fs ():\n", "['phys_FacetSep_Physics [physics]']\n", "-----\n", "es_domainAllCodeLabel_fs ():\n", "['phys_FacetSep_Physics [physics]']\n", "-----\n", "eu_domainAllCodeLabel_fs ():\n", "['phys_FacetSep_domain_phys']\n", "-----\n", "primaryDomain_s ():\n", "phys\n", "-----\n", "en_title_s ():\n", "['Dynamics and stability of anomalous Saffman-Taylor fingers']\n", "-----\n", "title_s ():\n", "['Dynamics and stability of anomalous Saffman-Taylor fingers']\n", "-----\n", "abstract_s ():\n", "['The existence of anomalous Saffman-Taylor fingers when a localized disturbance is applied at their tip has been demonstrated by several recent experiments. We show that they form a well-defined family with strong similarities with crystalline dendrites. They are narrower and more stable than normal fingers, their tip is parabolic, and its radius of curvature ρ is proportional to the capillary length I_0. For very large velocities, saturation occurs when ρ becomes of the order of the plate spacing. Using localized disturbance and periodic forcing we characterize the amplification of waves on their lateral fronts and we then discuss some implications for dendritic crystalline growth.']\n", "-----\n", "en_abstract_s ():\n", "['The existence of anomalous Saffman-Taylor fingers when a localized disturbance is applied at their tip has been demonstrated by several recent experiments. We show that they form a well-defined family with strong similarities with crystalline dendrites. They are narrower and more stable than normal fingers, their tip is parabolic, and its radius of curvature ρ is proportional to the capillary length I_0. For very large velocities, saturation occurs when ρ becomes of the order of the plate spacing. Using localized disturbance and periodic forcing we characterize the amplification of waves on their lateral fronts and we then discuss some implications for dendritic crystalline growth.']\n", "-----\n", "journalId_i ():\n", "111492\n", "-----\n", "journalTitle_s ():\n", "Physical Review A\n", "-----\n", "journalIdTitle_fs ():\n", "111492_FacetSep_Physical Review A\n", "-----\n", "journalTitleId_fs ():\n", "Physical Review A_FacetSep_111492\n", "-----\n", "journalPublisher_s ():\n", "American Physical Society\n", "-----\n", "journalIssn_s ():\n", "2469-9926\n", "-----\n", "journalEissn_s ():\n", "2469-9934\n", "-----\n", "journalDoiRoot_s ():\n", "10.1103/PhysRevA\n", "-----\n", "journalUrl_s ():\n", "https://journals.aps.org/pra/\n", "-----\n", "journalDate_s ():\n", "2020-10-29 18:31:31\n", "-----\n", "journalValid_s ():\n", "VALID\n", "-----\n", "journalSherpaColor_s ():\n", "green\n", "-----\n", "journalSherpaPrePrint_s ():\n", "can\n", "-----\n", "journalSherpaPostPrint_s ():\n", "can\n", "-----\n", "journalSherpaCondition_s ():\n", "On author's personal website, employer's website or institutional repository][Institutional repository must not be shared with other institutions][Publisher's version/PDF may be used][Link to publisher version required][Publisher copyright and source must be acknowledged with citation\n", "-----\n", "journalSherpaDate_s ():\n", "2020-10-29\n", "-----\n", "authIdFormPerson_s ():\n", "['339360-747378', '259595-0', '298606-0']\n", "-----\n", "authIdForm_i ():\n", "[339360, 259595, 298606]\n", "-----\n", "authIdPerson_i ():\n", "[747378]\n", "-----\n", "authLastName_s ():\n", "['Rabaud', 'Couder', 'Gerard']\n", "-----\n", "authFirstName_s ():\n", "['Marc', 'Y.', 'N.']\n", "-----\n", "authFullName_s ():\n", "['Marc Rabaud', 'Y. Couder', 'N. Gerard']\n", "-----\n", "authLastNameFirstName_s ():\n", "['Rabaud Marc', 'Couder Y.', 'Gerard N.']\n", "-----\n", "authIdLastNameFirstName_fs ():\n", "['747378_FacetSep_Rabaud Marc', '0_FacetSep_Couder Y.', '0_FacetSep_Gerard N.']\n", "-----\n", "authFullNameIdFormPerson_fs ():\n", "['Marc Rabaud_FacetSep_339360-747378', 'Y. Couder_FacetSep_259595-0', 'N. Gerard_FacetSep_298606-0']\n", "-----\n", "authAlphaLastNameFirstNameId_fs ():\n", "['R_AlphaSep_Rabaud Marc_FacetSep_747378', 'C_AlphaSep_Couder Y._FacetSep_0', 'G_AlphaSep_Gerard N._FacetSep_0']\n", "-----\n", "authIdFullName_fs ():\n", "['747378_FacetSep_Marc Rabaud', '0_FacetSep_Y. Couder', '0_FacetSep_N. Gerard']\n", "-----\n", "authFullNameId_fs ():\n", "['Marc Rabaud_FacetSep_747378', 'Y. Couder_FacetSep_0', 'N. Gerard_FacetSep_0']\n", "-----\n", "authQuality_s ():\n", "['aut', 'aut', 'aut']\n", "-----\n", "authEmailDomain_s ():\n", "['universite-paris-saclay.fr']\n", "-----\n", "authIdHal_i ():\n", "[747378]\n", "-----\n", "authIdHal_s ():\n", "['marc-rabaud']\n", "-----\n", "authIDHALIdExt_s ():\n", "['marc-rabaud']\n", "-----\n", "authORCIDIdExt_s ():\n", "['0000-0003-1527-4744']\n", "-----\n", "authFullNameFormIDPersonIDIDHal_fs ():\n", "['Marc Rabaud_FacetSep_339360-747378_FacetSep_marc-rabaud', 'Y. Couder_FacetSep_259595-0_FacetSep_', 'N. Gerard_FacetSep_298606-0_FacetSep_']\n", "-----\n", "authFullNamePersonIDIDHal_fs ():\n", "['Marc Rabaud_FacetSep_747378_FacetSep_marc-rabaud', 'Y. Couder_FacetSep_0_FacetSep_', 'N. Gerard_FacetSep_0_FacetSep_']\n", "-----\n", "authIdHalFullName_fs ():\n", "['marc-rabaud_FacetSep_Marc Rabaud', '_FacetSep_Y. Couder', '_FacetSep_N. Gerard']\n", "-----\n", "authFullNameIdHal_fs ():\n", "['Marc Rabaud_FacetSep_marc-rabaud', 'Y. Couder_FacetSep_', 'N. Gerard_FacetSep_']\n", "-----\n", "authAlphaLastNameFirstNameIdHal_fs ():\n", "['R_AlphaSep_Rabaud Marc_FacetSep_marc-rabaud', 'C_AlphaSep_Couder Y._FacetSep_', 'G_AlphaSep_Gerard N._FacetSep_']\n", "-----\n", "authLastNameFirstNameIdHalPersonid_fs ():\n", "['Rabaud Marc_FacetSep_marc-rabaud_FacetSep_747378', 'Couder Y._FacetSep__FacetSep_0', 'Gerard N._FacetSep__FacetSep_0']\n", "-----\n", "authIdHasPrimaryStructure_fs ():\n", "['339360-747378_FacetSep_Marc Rabaud_JoinSep_54793_FacetSep_Groupe de Physique des Solides', '259595-0_FacetSep_Y. Couder_JoinSep_54793_FacetSep_Groupe de Physique des Solides', '298606-0_FacetSep_N. Gerard_JoinSep_54793_FacetSep_Groupe de Physique des Solides']\n", "-----\n", "structPrimaryHasAuthId_fs ():\n", "['54793_FacetSep_Groupe de Physique des Solides_JoinSep_339360-747378_FacetSep_Marc Rabaud', '54793_FacetSep_Groupe de Physique des Solides_JoinSep_259595-0_FacetSep_Y. Couder', '54793_FacetSep_Groupe de Physique des Solides_JoinSep_298606-0_FacetSep_N. Gerard']\n", "-----\n", "structPrimaryHasAuthIdHal_fs ():\n", "['54793_FacetSep_Groupe de Physique des Solides_JoinSep_marc-rabaud_FacetSep_Rabaud Marc', '54793_FacetSep_Groupe de Physique des Solides_JoinSep__FacetSep_Couder Y.', '54793_FacetSep_Groupe de Physique des Solides_JoinSep__FacetSep_Gerard N.']\n", "-----\n", "structPrimaryHasAlphaAuthId_fs ():\n", "['R_AlphaSep_54793_FacetSep_Groupe de Physique des Solides_JoinSep_339360-747378_FacetSep_Rabaud Marc', 'C_AlphaSep_54793_FacetSep_Groupe de Physique des Solides_JoinSep_259595-0_FacetSep_Couder Y.', 'G_AlphaSep_54793_FacetSep_Groupe de Physique des Solides_JoinSep_298606-0_FacetSep_Gerard N.']\n", "-----\n", "structPrimaryHasAlphaAuthIdHal_fs ():\n", "['R_AlphaSep_54793_FacetSep_Groupe de Physique des Solides_JoinSep_marc-rabaud_FacetSep_Rabaud Marc', 'C_AlphaSep_54793_FacetSep_Groupe de Physique des Solides_JoinSep__FacetSep_Couder Y.', 'G_AlphaSep_54793_FacetSep_Groupe de Physique des Solides_JoinSep__FacetSep_Gerard N.']\n", "-----\n", "structPrimaryHasAlphaAuthIdHalPersonid_fs ():\n", "['R_AlphaSep_54793_FacetSep_Groupe de Physique des Solides_JoinSep_marc-rabaud_FacetSep_747378_FacetSep_Rabaud Marc', 'C_AlphaSep_54793_FacetSep_Groupe de Physique des Solides_JoinSep__FacetSep_0_FacetSep_Couder Y.', 'G_AlphaSep_54793_FacetSep_Groupe de Physique des Solides_JoinSep__FacetSep_0_FacetSep_Gerard N.']\n", "-----\n", "authIdHasStructure_fs ():\n", "['339360-747378_FacetSep_Marc Rabaud_JoinSep_54793_FacetSep_Groupe de Physique des Solides', '339360-747378_FacetSep_Marc Rabaud_JoinSep_93591_FacetSep_Université Pierre et Marie Curie - Paris 6', '339360-747378_FacetSep_Marc Rabaud_JoinSep_300301_FacetSep_Université Paris Diderot - Paris 7', '339360-747378_FacetSep_Marc Rabaud_JoinSep_441569_FacetSep_Centre National de la Recherche Scientifique', '259595-0_FacetSep_Y. Couder_JoinSep_54793_FacetSep_Groupe de Physique des Solides', '259595-0_FacetSep_Y. Couder_JoinSep_93591_FacetSep_Université Pierre et Marie Curie - Paris 6', '259595-0_FacetSep_Y. Couder_JoinSep_300301_FacetSep_Université Paris Diderot - Paris 7', '259595-0_FacetSep_Y. Couder_JoinSep_441569_FacetSep_Centre National de la Recherche Scientifique', '298606-0_FacetSep_N. Gerard_JoinSep_54793_FacetSep_Groupe de Physique des Solides', '298606-0_FacetSep_N. Gerard_JoinSep_93591_FacetSep_Université Pierre et Marie Curie - Paris 6', '298606-0_FacetSep_N. Gerard_JoinSep_300301_FacetSep_Université Paris Diderot - Paris 7', '298606-0_FacetSep_N. Gerard_JoinSep_441569_FacetSep_Centre National de la Recherche Scientifique']\n", "-----\n", "structHasAuthId_fs ():\n", "['54793_FacetSep_Groupe de Physique des Solides_JoinSep_339360-747378_FacetSep_Marc Rabaud', '93591_FacetSep_Université Pierre et Marie Curie - Paris 6_JoinSep_339360-747378_FacetSep_Marc Rabaud', '300301_FacetSep_Université Paris Diderot - Paris 7_JoinSep_339360-747378_FacetSep_Marc Rabaud', '441569_FacetSep_Centre National de la Recherche Scientifique_JoinSep_339360-747378_FacetSep_Marc Rabaud', '54793_FacetSep_Groupe de Physique des Solides_JoinSep_259595-0_FacetSep_Y. Couder', '93591_FacetSep_Université Pierre et Marie Curie - Paris 6_JoinSep_259595-0_FacetSep_Y. Couder', '300301_FacetSep_Université Paris Diderot - Paris 7_JoinSep_259595-0_FacetSep_Y. Couder', '441569_FacetSep_Centre National de la Recherche Scientifique_JoinSep_259595-0_FacetSep_Y. Couder', '54793_FacetSep_Groupe de Physique des Solides_JoinSep_298606-0_FacetSep_N. Gerard', '93591_FacetSep_Université Pierre et Marie Curie - Paris 6_JoinSep_298606-0_FacetSep_N. Gerard', '300301_FacetSep_Université Paris Diderot - Paris 7_JoinSep_298606-0_FacetSep_N. Gerard', '441569_FacetSep_Centre National de la Recherche Scientifique_JoinSep_298606-0_FacetSep_N. Gerard']\n", "-----\n", "structHasAuthIdHal_fs ():\n", "['54793_FacetSep_Groupe de Physique des Solides_JoinSep_marc-rabaud_FacetSep_Rabaud Marc', '93591_FacetSep_Université Pierre et Marie Curie - Paris 6_JoinSep_marc-rabaud_FacetSep_Rabaud Marc', '300301_FacetSep_Université Paris Diderot - Paris 7_JoinSep_marc-rabaud_FacetSep_Rabaud Marc', '441569_FacetSep_Centre National de la Recherche Scientifique_JoinSep_marc-rabaud_FacetSep_Rabaud Marc', '54793_FacetSep_Groupe de Physique des Solides_JoinSep__FacetSep_Couder Y.', '93591_FacetSep_Université Pierre et Marie Curie - Paris 6_JoinSep__FacetSep_Couder Y.', '300301_FacetSep_Université Paris Diderot - Paris 7_JoinSep__FacetSep_Couder Y.', '441569_FacetSep_Centre National de la Recherche Scientifique_JoinSep__FacetSep_Couder Y.', '54793_FacetSep_Groupe de Physique des Solides_JoinSep__FacetSep_Gerard N.', '93591_FacetSep_Université Pierre et Marie Curie - Paris 6_JoinSep__FacetSep_Gerard N.', '300301_FacetSep_Université Paris Diderot - Paris 7_JoinSep__FacetSep_Gerard N.', '441569_FacetSep_Centre National de la Recherche Scientifique_JoinSep__FacetSep_Gerard N.']\n", "-----\n", "structHasAuthIdHalPersonid_s ():\n", "['54793_FacetSep_Groupe de Physique des Solides_JoinSep_marc-rabaud_FacetSep_747378_FacetSep_Rabaud Marc', '93591_FacetSep_Université Pierre et Marie Curie - Paris 6_JoinSep_marc-rabaud_FacetSep_747378_FacetSep_Rabaud Marc', '300301_FacetSep_Université Paris Diderot - Paris 7_JoinSep_marc-rabaud_FacetSep_747378_FacetSep_Rabaud Marc', '441569_FacetSep_Centre National de la Recherche Scientifique_JoinSep_marc-rabaud_FacetSep_747378_FacetSep_Rabaud Marc', '54793_FacetSep_Groupe de Physique des Solides_JoinSep__FacetSep_0_FacetSep_Couder Y.', '93591_FacetSep_Université Pierre et Marie Curie - Paris 6_JoinSep__FacetSep_0_FacetSep_Couder Y.', '300301_FacetSep_Université Paris Diderot - Paris 7_JoinSep__FacetSep_0_FacetSep_Couder Y.', '441569_FacetSep_Centre National de la Recherche Scientifique_JoinSep__FacetSep_0_FacetSep_Couder Y.', '54793_FacetSep_Groupe de Physique des Solides_JoinSep__FacetSep_0_FacetSep_Gerard N.', '93591_FacetSep_Université Pierre et Marie Curie - Paris 6_JoinSep__FacetSep_0_FacetSep_Gerard N.', '300301_FacetSep_Université Paris Diderot - Paris 7_JoinSep__FacetSep_0_FacetSep_Gerard N.', '441569_FacetSep_Centre National de la Recherche Scientifique_JoinSep__FacetSep_0_FacetSep_Gerard N.']\n", "-----\n", "structHasAlphaAuthId_fs ():\n", "['R_AlphaSep_54793_FacetSep_Groupe de Physique des Solides_JoinSep_339360-747378_FacetSep_Rabaud Marc', 'R_AlphaSep_93591_FacetSep_Université Pierre et Marie Curie - Paris 6_JoinSep_339360-747378_FacetSep_Rabaud Marc', 'R_AlphaSep_300301_FacetSep_Université Paris Diderot - Paris 7_JoinSep_339360-747378_FacetSep_Rabaud Marc', 'R_AlphaSep_441569_FacetSep_Centre National de la Recherche Scientifique_JoinSep_339360-747378_FacetSep_Rabaud Marc', 'C_AlphaSep_54793_FacetSep_Groupe de Physique des Solides_JoinSep_259595-0_FacetSep_Couder Y.', 'C_AlphaSep_93591_FacetSep_Université Pierre et Marie Curie - Paris 6_JoinSep_259595-0_FacetSep_Couder Y.', 'C_AlphaSep_300301_FacetSep_Université Paris Diderot - Paris 7_JoinSep_259595-0_FacetSep_Couder Y.', 'C_AlphaSep_441569_FacetSep_Centre National de la Recherche Scientifique_JoinSep_259595-0_FacetSep_Couder Y.', 'G_AlphaSep_54793_FacetSep_Groupe de Physique des Solides_JoinSep_298606-0_FacetSep_Gerard N.', 'G_AlphaSep_93591_FacetSep_Université Pierre et Marie Curie - Paris 6_JoinSep_298606-0_FacetSep_Gerard N.', 'G_AlphaSep_300301_FacetSep_Université Paris Diderot - Paris 7_JoinSep_298606-0_FacetSep_Gerard N.', 'G_AlphaSep_441569_FacetSep_Centre National de la Recherche Scientifique_JoinSep_298606-0_FacetSep_Gerard N.']\n", "-----\n", "structHasAlphaAuthIdHal_fs ():\n", "['R_AlphaSep_54793_FacetSep_Groupe de Physique des Solides_JoinSep_marc-rabaud_FacetSep_Rabaud Marc', 'R_AlphaSep_93591_FacetSep_Université Pierre et Marie Curie - Paris 6_JoinSep_marc-rabaud_FacetSep_Rabaud Marc', 'R_AlphaSep_300301_FacetSep_Université Paris Diderot - Paris 7_JoinSep_marc-rabaud_FacetSep_Rabaud Marc', 'R_AlphaSep_441569_FacetSep_Centre National de la Recherche Scientifique_JoinSep_marc-rabaud_FacetSep_Rabaud Marc', 'C_AlphaSep_54793_FacetSep_Groupe de Physique des Solides_JoinSep__FacetSep_Couder Y.', 'C_AlphaSep_93591_FacetSep_Université Pierre et Marie Curie - Paris 6_JoinSep__FacetSep_Couder Y.', 'C_AlphaSep_300301_FacetSep_Université Paris Diderot - Paris 7_JoinSep__FacetSep_Couder Y.', 'C_AlphaSep_441569_FacetSep_Centre National de la Recherche Scientifique_JoinSep__FacetSep_Couder Y.', 'G_AlphaSep_54793_FacetSep_Groupe de Physique des Solides_JoinSep__FacetSep_Gerard N.', 'G_AlphaSep_93591_FacetSep_Université Pierre et Marie Curie - Paris 6_JoinSep__FacetSep_Gerard N.', 'G_AlphaSep_300301_FacetSep_Université Paris Diderot - Paris 7_JoinSep__FacetSep_Gerard N.', 'G_AlphaSep_441569_FacetSep_Centre National de la Recherche Scientifique_JoinSep__FacetSep_Gerard N.']\n", "-----\n", "structHasAlphaAuthIdHalPersonid_fs ():\n", "['R_AlphaSep_54793_FacetSep_Groupe de Physique des Solides_JoinSep_marc-rabaud_FacetSep_747378_FacetSep_Rabaud Marc', 'R_AlphaSep_93591_FacetSep_Université Pierre et Marie Curie - Paris 6_JoinSep_marc-rabaud_FacetSep_747378_FacetSep_Rabaud Marc', 'R_AlphaSep_300301_FacetSep_Université Paris Diderot - Paris 7_JoinSep_marc-rabaud_FacetSep_747378_FacetSep_Rabaud Marc', 'R_AlphaSep_441569_FacetSep_Centre National de la Recherche Scientifique_JoinSep_marc-rabaud_FacetSep_747378_FacetSep_Rabaud Marc', 'C_AlphaSep_54793_FacetSep_Groupe de Physique des Solides_JoinSep__FacetSep_0_FacetSep_Couder Y.', 'C_AlphaSep_93591_FacetSep_Université Pierre et Marie Curie - Paris 6_JoinSep__FacetSep_0_FacetSep_Couder Y.', 'C_AlphaSep_300301_FacetSep_Université Paris Diderot - Paris 7_JoinSep__FacetSep_0_FacetSep_Couder Y.', 'C_AlphaSep_441569_FacetSep_Centre National de la Recherche Scientifique_JoinSep__FacetSep_0_FacetSep_Couder Y.', 'G_AlphaSep_54793_FacetSep_Groupe de Physique des Solides_JoinSep__FacetSep_0_FacetSep_Gerard N.', 'G_AlphaSep_93591_FacetSep_Université Pierre et Marie Curie - Paris 6_JoinSep__FacetSep_0_FacetSep_Gerard N.', 'G_AlphaSep_300301_FacetSep_Université Paris Diderot - Paris 7_JoinSep__FacetSep_0_FacetSep_Gerard N.', 'G_AlphaSep_441569_FacetSep_Centre National de la Recherche Scientifique_JoinSep__FacetSep_0_FacetSep_Gerard N.']\n", "-----\n", "labStructId_i ():\n", "[54793]\n", "-----\n", "labStructIdName_fs ():\n", "['54793_FacetSep_Groupe de Physique des Solides']\n", "-----\n", "labStructNameId_fs ():\n", "['G_AlphaSep_Groupe de Physique des Solides_FacetSep_54793']\n", "-----\n", "labStructName_fs ():\n", "['G_AlphaSep_Groupe de Physique des Solides']\n", "-----\n", "labStructAcronym_s ():\n", "['GPS']\n", "-----\n", "labStructName_s ():\n", "['Groupe de Physique des Solides']\n", "-----\n", "labStructAddress_s ():\n", "['4 Place Jussieu, 75005 Paris']\n", "-----\n", "labStructCountry_s ():\n", "['fr']\n", "-----\n", "labStructType_s ():\n", "['laboratory']\n", "-----\n", "labStructValid_s ():\n", "['OLD']\n", "-----\n", "structId_i ():\n", "[54793, 93591, 300301, 441569]\n", "-----\n", "structIdName_fs ():\n", "['54793_FacetSep_Groupe de Physique des Solides', '93591_FacetSep_Université Pierre et Marie Curie - Paris 6', '300301_FacetSep_Université Paris Diderot - Paris 7', '441569_FacetSep_Centre National de la Recherche Scientifique']\n", "-----\n", "structNameId_fs ():\n", "['G_AlphaSep_Groupe de Physique des Solides_FacetSep_54793', 'U_AlphaSep_Université Pierre et Marie Curie - Paris 6_FacetSep_93591', 'U_AlphaSep_Université Paris Diderot - Paris 7_FacetSep_300301', 'C_AlphaSep_Centre National de la Recherche Scientifique_FacetSep_441569']\n", "-----\n", "structName_fs ():\n", "['G_AlphaSep_Groupe de Physique des Solides', 'U_AlphaSep_Université Pierre et Marie Curie - Paris 6', 'U_AlphaSep_Université Paris Diderot - Paris 7', 'C_AlphaSep_Centre National de la Recherche Scientifique']\n", "-----\n", "structAcronym_s ():\n", "['GPS', 'UPMC', 'UPD7', 'CNRS']\n", "-----\n", "structName_s ():\n", "['Groupe de Physique des Solides', 'Université Pierre et Marie Curie - Paris 6', 'Université Paris Diderot - Paris 7', 'Centre National de la Recherche Scientifique']\n", "-----\n", "structAddress_s ():\n", "['4 Place Jussieu, 75005 Paris', '4 place Jussieu - 75005 Paris', '5 rue Thomas-Mann - 75205 Paris cedex 13']\n", "-----\n", "structCountry_s ():\n", "['fr', 'fr', 'fr', 'fr']\n", "-----\n", "structType_s ():\n", "['laboratory', 'institution', 'institution', 'regroupinstitution']\n", "-----\n", "structValid_s ():\n", "['OLD', 'OLD', 'OLD', 'VALID']\n", "-----\n", "instStructId_i ():\n", "[93591, 300301]\n", "-----\n", "instStructIdName_fs ():\n", "['93591_FacetSep_Université Pierre et Marie Curie - Paris 6', '300301_FacetSep_Université Paris Diderot - Paris 7']\n", "-----\n", "instStructNameId_fs ():\n", "['U_AlphaSep_Université Pierre et Marie Curie - Paris 6_FacetSep_93591', 'U_AlphaSep_Université Paris Diderot - Paris 7_FacetSep_300301']\n", "-----\n", "instStructName_fs ():\n", "['U_AlphaSep_Université Pierre et Marie Curie - Paris 6', 'U_AlphaSep_Université Paris Diderot - Paris 7']\n", "-----\n", "instStructAcronym_s ():\n", "['UPMC', 'UPD7']\n", "-----\n", "instStructName_s ():\n", "['Université Pierre et Marie Curie - Paris 6', 'Université Paris Diderot - Paris 7']\n", "-----\n", "instStructAddress_s ():\n", "['4 place Jussieu - 75005 Paris', '5 rue Thomas-Mann - 75205 Paris cedex 13']\n", "-----\n", "instStructCountry_s ():\n", "['fr', 'fr']\n", "-----\n", "instStructType_s ():\n", "['institution', 'institution']\n", "-----\n", "instStructValid_s ():\n", "['OLD', 'OLD']\n", "-----\n", "instStructRorIdExt_s ():\n", "['https://ror.org/02en5vm52', 'https://ror.org/02n7qrg46']\n", "-----\n", "instStructRorIdExtUrl_s ():\n", "['https://ror.org/https://ror.org/02en5vm52', 'https://ror.org/https://ror.org/02n7qrg46']\n", "-----\n", "structRorIdExt_s ():\n", "['https://ror.org/02en5vm52', 'https://ror.org/02n7qrg46', 'https://ror.org/02feahw73']\n", "-----\n", "structRorIdExtUrl_s ():\n", "['https://ror.org/https://ror.org/02en5vm52', 'https://ror.org/https://ror.org/02n7qrg46', 'https://ror.org/https://ror.org/02feahw73']\n", "-----\n", "structIsChildOf_fs ():\n", "['54793_laboratory_JoinSep_93591_FacetSep_Université Pierre et Marie Curie - Paris 6', '54793_Groupe de Physique des Solides_JoinSep_93591_FacetSep_Université Pierre et Marie Curie - Paris 6', '54793_laboratory_JoinSep_300301_FacetSep_Université Paris Diderot - Paris 7', '54793_Groupe de Physique des Solides_JoinSep_300301_FacetSep_Université Paris Diderot - Paris 7', '54793_laboratory_JoinSep_441569_FacetSep_Centre National de la Recherche Scientifique', '54793_Groupe de Physique des Solides_JoinSep_441569_FacetSep_Centre National de la Recherche Scientifique']\n", "-----\n", "structIsParentOf_fs ():\n", "['93591_JoinSep_G_AlphaSep_54793_FacetSep_Groupe de Physique des Solides', '300301_JoinSep_G_AlphaSep_54793_FacetSep_Groupe de Physique des Solides', '441569_JoinSep_G_AlphaSep_54793_FacetSep_Groupe de Physique des Solides']\n", "-----\n", "structIsParentOfType_fs ():\n", "['93591_JoinSep_laboratory_G_AlphaSep_54793_FacetSep_Groupe de Physique des Solides', '300301_JoinSep_laboratory_G_AlphaSep_54793_FacetSep_Groupe de Physique des Solides', '441569_JoinSep_laboratory_G_AlphaSep_54793_FacetSep_Groupe de Physique des Solides']\n", "-----\n", "labStructIsChildOf_fs ():\n", "['54793_Groupe de Physique des Solides_JoinSep_93591_FacetSep_Université Pierre et Marie Curie - Paris 6', '54793_Groupe de Physique des Solides_JoinSep_300301_FacetSep_Université Paris Diderot - Paris 7', '54793_Groupe de Physique des Solides_JoinSep_441569_FacetSep_Centre National de la Recherche Scientifique']\n", "-----\n", "instStructIsParentOf_fs ():\n", "['93591_JoinSep_G_AlphaSep_54793_FacetSep_Groupe de Physique des Solides', '300301_JoinSep_G_AlphaSep_54793_FacetSep_Groupe de Physique des Solides']\n", "-----\n", "instStructIdrefIdExt_s ():\n", "['027542084']\n", "-----\n", "instStructIdrefIdExtUrl_s ():\n", "['https://www.idref.fr/027542084']\n", "-----\n", "instStructIsniIdExt_s ():\n", "['0000000121514068']\n", "-----\n", "instStructIsniIdExtUrl_s ():\n", "['http://isni.org/isni/0000000121514068']\n", "-----\n", "structIdrefIdExt_s ():\n", "['027542084', '02636817X']\n", "-----\n", "structIdrefIdExtUrl_s ():\n", "['https://www.idref.fr/027542084', 'https://www.idref.fr/02636817X']\n", "-----\n", "structIsniIdExt_s ():\n", "['0000000121514068', '0000000122597504']\n", "-----\n", "structIsniIdExtUrl_s ():\n", "['http://isni.org/isni/0000000121514068', 'http://isni.org/isni/0000000122597504']\n", "-----\n", "structCode_s ():\n", "['UMR7588 / URA17', 'UMR7588 / URA17']\n", "-----\n", "rgrpInstStructId_i ():\n", "[441569]\n", "-----\n", "rgrpInstStructIdName_fs ():\n", "['441569_FacetSep_Centre National de la Recherche Scientifique']\n", "-----\n", "rgrpInstStructNameId_fs ():\n", "['C_AlphaSep_Centre National de la Recherche Scientifique_FacetSep_441569']\n", "-----\n", "rgrpInstStructName_fs ():\n", "['C_AlphaSep_Centre National de la Recherche Scientifique']\n", "-----\n", "rgrpInstStructAcronym_s ():\n", "['CNRS']\n", "-----\n", "rgrpInstStructName_s ():\n", "['Centre National de la Recherche Scientifique']\n", "-----\n", "rgrpInstStructCountry_s ():\n", "['fr']\n", "-----\n", "rgrpInstStructType_s ():\n", "['regroupinstitution']\n", "-----\n", "rgrpInstStructValid_s ():\n", "['VALID']\n", "-----\n", "rgrpInstStructIdrefIdExt_s ():\n", "['02636817X']\n", "-----\n", "rgrpInstStructIdrefIdExtUrl_s ():\n", "['https://www.idref.fr/02636817X']\n", "-----\n", "rgrpInstStructIsniIdExt_s ():\n", "['0000000122597504']\n", "-----\n", "rgrpInstStructIsniIdExtUrl_s ():\n", "['http://isni.org/isni/0000000122597504']\n", "-----\n", "rgrpInstStructRorIdExt_s ():\n", "['https://ror.org/02feahw73']\n", "-----\n", "rgrpInstStructRorIdExtUrl_s ():\n", "['https://ror.org/https://ror.org/02feahw73']\n", "-----\n", "rgrpInstStructIsParentOf_fs ():\n", "['441569_JoinSep_G_AlphaSep_54793_FacetSep_Groupe de Physique des Solides']\n", "-----\n", "contributorId_i ():\n", "98781\n", "-----\n", "contributorFullName_s ():\n", "Marc Rabaud\n", "-----\n", "contributorIdFullName_fs ():\n", "98781_FacetSep_Marc Rabaud\n", "-----\n", "contributorFullNameId_fs ():\n", "Marc Rabaud_FacetSep_98781\n", "-----\n", "language_s ():\n", "['en']\n", "-----\n", "halId_s ():\n", "hal-04400983\n", "-----\n", "uri_s ():\n", "https://hal.science/hal-04400983\n", "-----\n", "version_i ():\n", "1\n", "-----\n", "status_i ():\n", "11\n", "-----\n", "instance_s ():\n", "hal\n", "-----\n", "sid_i ():\n", "1\n", "-----\n", "submitType_s ():\n", "notice\n", "-----\n", "docType_s ():\n", "ART\n", "-----\n", "oldDocType_s ():\n", "ART\n", "-----\n", "selfArchiving_bool ():\n", "True\n", "-----\n", "issue_s ():\n", "['3']\n", "-----\n", "page_s ():\n", "935-947\n", "-----\n", "volume_s ():\n", "37\n", "-----\n", "inPress_bool ():\n", "False\n", "-----\n", "doiId_s ():\n", "10.1103/PhysRevA.37.935\n", "-----\n", "modifiedDate_tdate ():\n", "2024-03-28T09:34:16Z\n", "-----\n", "modifiedDate_s ():\n", "2024-03-28 09:34:16\n", "-----\n", "modifiedDateY_i ():\n", "2024\n", "-----\n", "modifiedDateM_i ():\n", "3\n", "-----\n", "modifiedDateD_i ():\n", "28\n", "-----\n", "submittedDate_tdate ():\n", "2024-01-17T16:18:48Z\n", "-----\n", "submittedDate_s ():\n", "2024-01-17 16:18:48\n", "-----\n", "submittedDateY_i ():\n", "2024\n", "-----\n", "submittedDateM_i ():\n", "1\n", "-----\n", "submittedDateD_i ():\n", "17\n", "-----\n", "releasedDate_tdate ():\n", "2024-01-17T16:18:48Z\n", "-----\n", "releasedDate_s ():\n", "2024-01-17 16:18:48\n", "-----\n", "releasedDateY_i ():\n", "2024\n", "-----\n", "releasedDateM_i ():\n", "1\n", "-----\n", "releasedDateD_i ():\n", "17\n", "-----\n", "producedDate_tdate ():\n", "1988-02-01T00:00:00Z\n", "-----\n", "producedDate_s ():\n", "1988-02-01\n", "-----\n", "producedDateY_i ():\n", "1988\n", "-----\n", "producedDateM_i ():\n", "2\n", "-----\n", "producedDateD_i ():\n", "1\n", "-----\n", "publicationDate_tdate ():\n", "1988-02-01T00:00:00Z\n", "-----\n", "publicationDate_s ():\n", "1988-02-01\n", "-----\n", "publicationDateY_i ():\n", "1988\n", "-----\n", "publicationDateM_i ():\n", "2\n", "-----\n", "publicationDateD_i ():\n", "1\n", "-----\n", "owners_i ():\n", "[1051293, 98781]\n", "-----\n", "collId_i ():\n", "[140, 163, 264, 6891, 7915, 9356]\n", "-----\n", "collName_s ():\n", "['Université Denis Diderot - Paris VII', 'Université Pierre et Marie Curie', 'CNRS - Centre national de la recherche scientifique', 'Sorbonne Université', 'Université Paris Cité', ' Alliance Sorbonne Université']\n", "-----\n", "collCode_s ():\n", "['UNIV-PARIS7', 'UPMC', 'CNRS', 'SORBONNE-UNIVERSITE', 'UNIV-PARIS', 'ALLIANCE-SU']\n", "-----\n", "collCategory_s ():\n", "['UNIV', 'UNIV', 'INSTITUTION', 'INSTITUTION', 'INSTITUTION', 'AUTRE']\n", "-----\n", "collIdName_fs ():\n", "['140_FacetSep_Université Denis Diderot - Paris VII', '163_FacetSep_Université Pierre et Marie Curie', '264_FacetSep_CNRS - Centre national de la recherche scientifique', '6891_FacetSep_Sorbonne Université', '7915_FacetSep_Université Paris Cité', '9356_FacetSep_ Alliance Sorbonne Université']\n", "-----\n", "collNameId_fs ():\n", "['Université Denis Diderot - Paris VII_FacetSep_140', 'Université Pierre et Marie Curie_FacetSep_163', 'CNRS - Centre national de la recherche scientifique_FacetSep_264', 'Sorbonne Université_FacetSep_6891', 'Université Paris Cité_FacetSep_7915', ' Alliance Sorbonne Université_FacetSep_9356']\n", "-----\n", "collCodeName_fs ():\n", "['UNIV-PARIS7_FacetSep_Université Denis Diderot - Paris VII', 'UPMC_FacetSep_Université Pierre et Marie Curie', 'CNRS_FacetSep_CNRS - Centre national de la recherche scientifique', 'SORBONNE-UNIVERSITE_FacetSep_Sorbonne Université', 'UNIV-PARIS_FacetSep_Université Paris Cité', 'ALLIANCE-SU_FacetSep_ Alliance Sorbonne Université']\n", "-----\n", "collCategoryCodeName_fs ():\n", "['UNIV_JoinSep_UNIV-PARIS7_FacetSep_Université Denis Diderot - Paris VII', 'UNIV_JoinSep_UPMC_FacetSep_Université Pierre et Marie Curie', 'INSTITUTION_JoinSep_CNRS_FacetSep_CNRS - Centre national de la recherche scientifique', 'INSTITUTION_JoinSep_SORBONNE-UNIVERSITE_FacetSep_Sorbonne Université', 'INSTITUTION_JoinSep_UNIV-PARIS_FacetSep_Université Paris Cité', 'AUTRE_JoinSep_ALLIANCE-SU_FacetSep_ Alliance Sorbonne Université']\n", "-----\n", "collNameCode_fs ():\n", "['Université Denis Diderot - Paris VII_FacetSep_UNIV-PARIS7', 'Université Pierre et Marie Curie_FacetSep_UPMC', 'CNRS - Centre national de la recherche scientifique_FacetSep_CNRS', 'Sorbonne Université_FacetSep_SORBONNE-UNIVERSITE', 'Université Paris Cité_FacetSep_UNIV-PARIS', ' Alliance Sorbonne Université_FacetSep_ALLIANCE-SU']\n", "-----\n", "collIsParentOfColl_fs ():\n", "['UNIV-PARIS_FacetSep_Université Paris Cité_JoinSep_UNIV-PARIS7_FacetSep_Université Denis Diderot - Paris VII', 'SORBONNE-UNIVERSITE_FacetSep_Sorbonne Université_JoinSep_UPMC_FacetSep_Université Pierre et Marie Curie']\n", "-----\n", "collIsParentOfCategoryColl_fs ():\n", "['UNIV-PARIS_FacetSep_INSTITUTION_JoinSep_UNIV-PARIS7_FacetSep_Université Denis Diderot - Paris VII', 'SORBONNE-UNIVERSITE_FacetSep_INSTITUTION_JoinSep_UPMC_FacetSep_Université Pierre et Marie Curie']\n", "-----\n", "collIsChildOfColl_fs ():\n", "['UNIV-PARIS7_FacetSep_Université Denis Diderot - Paris VII_JoinSep_UNIV-PARIS7_FacetSep_Université Paris Cité', 'UPMC_FacetSep_Université Pierre et Marie Curie_JoinSep_UPMC_FacetSep_Sorbonne Université']\n", "-----\n", "_version_ ():\n", "1794758382603730944\n", "-----\n", "dateLastIndexed_tdate ():\n", "2024-03-28T08:36:13.642Z\n", "-----\n", "label_xml ():\n", " HAL TEI export of hal-04400983 CCSD Distributed under a Creative Commons Attribution 4.0 International License

HAL API platform

Dynamics and stability of anomalous Saffman-Taylor fingers Marc Rabaud ce5a78dbc01327241b92f698904d8660 universite-paris-saclay.fr marc-rabaud 747378 339360-747378 https://orcid.org/0000-0003-1527-4744 Y. Couder 259595-0 N. Gerard 298606-0 Marc Rabaud ce5a78dbc01327241b92f698904d8660 universite-paris-saclay.fr 2024-01-17 16:18:48 2024-03-28 09:34:16 2024-01-17 16:18:48 1988-02-01 contributor Marc Rabaud ce5a78dbc01327241b92f698904d8660 universite-paris-saclay.fr CCSD hal-04400983 https://hal.science/hal-04400983 rabaud:hal-04400983 <i>Physical Review A</i>, 1988, 37 (3), pp.935-947. <a target=\"_blank\" href=\"https://dx.doi.org/10.1103/PhysRevA.37.935\">&#x27E8;10.1103/PhysRevA.37.935&#x27E9;</a> Physical Review A, 1988, 37 (3), pp.935-947. &#x27E8;10.1103/PhysRevA.37.935&#x27E9; Université Denis Diderot - Paris VII Université Pierre et Marie Curie CNRS - Centre national de la recherche scientifique Sorbonne Université Université Paris Cité Alliance Sorbonne Université International No Yes Dynamics and stability of anomalous Saffman-Taylor fingers Marc Rabaud ce5a78dbc01327241b92f698904d8660 universite-paris-saclay.fr marc-rabaud 747378 339360-747378 https://orcid.org/0000-0003-1527-4744 Y. Couder 259595-0 N. Gerard 298606-0 111492 2469-9926 2469-9934 Physical Review A American Physical Society 37 3 935-947 1988-02-01 10.1103/PhysRevA.37.935 English Physics [physics] Journal articles Journal articles Journal articles

The existence of anomalous Saffman-Taylor fingers when a localized disturbance is applied at their tip has been demonstrated by several recent experiments. We show that they form a well-defined family with strong similarities with crystalline dendrites. They are narrower and more stable than normal fingers, their tip is parabolic, and its radius of curvature ρ is proportional to the capillary length I_0. For very large velocities, saturation occurs when ρ becomes of the order of the plate spacing. Using localized disturbance and periodic forcing we characterize the amplification of waves on their lateral fronts and we then discuss some implications for dendritic crystalline growth.

Groupe de Physique des Solides GPS 1966-01-01 1996-12-31
4 Place Jussieu, 75005 Paris
https://ror.org/02en5vm52 Université Pierre et Marie Curie - Paris 6 UPMC 2017-12-31
4 place Jussieu - 75005 Paris
http://www.upmc.fr/
027542084 0000000121514068 https://ror.org/02n7qrg46 Université Paris Diderot - Paris 7 UPD7 2019-12-31
5 rue Thomas-Mann - 75205 Paris cedex 13
http://www.univ-paris-diderot.fr
02636817X 0000000122597504 https://ror.org/02feahw73 Centre National de la Recherche Scientifique CNRS 1939-10-19
https://www.cnrs.fr/
\n", "-----\n" ] } ], "source": [ "display_doc_fields(doc_list[5])" ] }, { "cell_type": "markdown", "metadata": { "editable": true, "slideshow": { "slide_type": "subslide" }, "tags": [] }, "source": [ "#### Exemple d'utilisation #2\n", "\n", "Envoi de la requête par defaut pour obtenir jusqu'à 1000 documents du `lurpa`, puis affichage de quelques statistiques." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "editable": true, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "497 documents collectés sur la période 1993-2024\n", "413 auteurs\n", "9 type de documents : ['ART', 'COMM', 'COUV', 'HDR', 'OUV', 'PATENT', 'POSTER', 'THESE', 'UNDEFINED']\n" ] } ], "source": [ "df_doc, df_author_doc, author_list, doc_type_list = build_tables(\n", " get_docs_from_hal()\n", ")\n", "print(f\"{len(df_doc)} documents collectés \", end=\"\")\n", "print(f\"sur la période {df_doc['année'].min()}-{df_doc['année'].max()}\")\n", "print(f\"{len(author_list)} auteurs\")\n", "print(f\"{len(doc_type_list)} type de documents :\", doc_type_list)" ] }, { "cell_type": "markdown", "metadata": { "editable": true, "slideshow": { "slide_type": "subslide" }, "tags": [] }, "source": [ "### Traitement, mise en forme et affichage des résultats d'une requête à l'API\n", "\n", "| Fonction | Desctiption |\n", "|----------|-------------|\n", "| `year_limits()` | Renvoie l'année de début et de fin d'un intervale d'année formé par un couple d'année. |\n", "| `display_dataframe_for_date_range()` | Affiche un tableau des documents compris entre deux années. |\n", "| `display_doc_fields()_for_date_range` | Affiche un graphique avec l'histogramme du nombre de document et la camenbert de leur répartition en type pour une période donnée. |\n" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "editable": true, "slideshow": { "slide_type": "skip" }, "tags": [] }, "outputs": [], "source": [ "def year_limits(year_range: list):\n", " \"\"\"Returns a valid year limits from input range.\n", " \n", " Parameters\n", " ----------\n", " year_range: list of two integers\n", " [begin_year, end_year] where begin_year is the begin of range,\n", " while end_year is the end of range.\n", " \n", " Returns\n", " -------\n", " begin_year : int\n", " first year of range.\n", " end_year : int\n", " last year of range.\n", " \"\"\"\n", " begin_year, end_year = year_range\n", " if begin_year >= end_year:\n", " end_year = begin_year + 1\n", " return begin_year, end_year" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "editable": true, "slideshow": { "slide_type": "skip" }, "tags": [] }, "outputs": [], "source": [ "def display_dataframe_for_year_range(df_doc, year_range=[2018, 2024]):\n", " \"\"\"Displays a dataframe in selected period.\"\"\"\n", " #\n", " begin_year, end_year = year_limits(year_range)\n", " display(\n", " df_doc.query(f\"{begin_year} <= année <= {end_year}\")\n", " )" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "editable": true, "slideshow": { "slide_type": "skip" }, "tags": [] }, "outputs": [], "source": [ "def analysis_and_display_for_year_range(df_doc, year_range=[2018, 2024]):\n", " \"\"\"Draws charts about document read from hal open archive.\"\"\"\n", " #\n", " begin_year, end_year = year_limits(year_range)\n", " \n", " # Analysis of documents in the selected period\n", " # ---------------------------------------------\n", " #\n", " filter_str = f\"{begin_year} <= année <= {end_year}\"\n", " df_doc_in_selected_period = df_doc.query(filter_str)\n", " # total number of documents in the selected period \n", " doc_num = df_doc_in_selected_period[\"type\"].count()\n", " # serie of number of documents per type in the selected period \n", " s_doc_num_per_type = df_doc_in_selected_period[\"type\"].value_counts()\n", " # regroups under \"Autre\", all \n", " # Collect the number of thesis and HDR, and items types with less than \n", " # 5% of the documents with the aim of grouping them in type \"Autre\"\n", " doc_num_min = 0.05 * doc_num\n", " label_to_group, doc_num_to_group = [], 0\n", " these_num, hdr_num = 0, 0\n", " for index, value in s_doc_num_per_type.items(): \n", " if value <= doc_num_min:\n", " label_to_group.append(index)\n", " doc_num_to_group += value\n", " if index == \"THESE\":\n", " these_num = value\n", " if index == \"HDR\":\n", " hdr_num = value\n", " # remove types with less than 5% of the documents from serie\n", " s_doc_num_per_type = s_doc_num_per_type.drop(labels=label_to_group)\n", " # add a new type \"Autre\" with the number of grouped documents\n", " s_doc_num_per_type[\"Autre\"] = doc_num_to_group\n", "\n", " # Display the analysis\n", " print(f\"{doc_num} documents sur la périodes, \", end=\"\")\n", " print(f\"dont {these_num} thèses et {hdr_num} HDR.\")\n", "\n", " # rename types for better readability\n", " doc_type_name = {\n", " \"ART\": \"Article\", \n", " \"COMM\": \"Conf.\", \n", " \"COUV\": \"Chapitre\", \n", " \"DOUV\": \"Document\",\n", " \"HDR\": \"HDR\",\n", " \"OUV\": \"Ouvrage\",\n", " \"PATENT\": \"Brevet\",\n", " \"POSTER\": \"Poster\",\n", " \"PROCEEDINGS\": \"Proceedings\",\n", " \"THESE\": \"Thèse\",\n", " \"UNDEFINED\": \"Non défini\",\n", " }\n", " s_doc_num_per_type = s_doc_num_per_type.rename(\n", " lambda x: doc_type_name[x] if x in doc_type_name else x\n", " )\n", "\n", " # Prepare matplotlib layout\n", " fig, axs = plt.subplots(nrows=1, ncols=2, figsize=(5, 2))\n", " \n", " \n", " # Draw histogram of documents per year\n", " # ------------------------------------\n", " \n", " df_doc[\"année\"].plot.hist(\n", " ax=axs[0],\n", " bins=range(begin_year, end_year+1), \n", " rwidth=0.8, \n", " #color='#607c8e',\n", " color='#c2c2f0',\n", " )\n", " \n", " axs[0].set_ylabel(\"Nombre de documents\")\n", " axs[0].set_title(\"Distribution par année\")\n", " for item in [\n", " axs[0].xaxis.label, \n", " axs[0].yaxis.label,\n", " axs[0].title,\n", " *axs[0].get_xticklabels(),\n", " *axs[0].get_yticklabels(),\n", " ]:\n", " item.set_fontsize(9)\n", "\n", " \n", " # Draw pie chart of documents per type\n", " # ------------------------------------\n", " s_doc_num_per_type.plot.pie(\n", " ax=axs[1], \n", " autopct='%.0f%%', \n", " startangle=20,\n", " pctdistance=0.75,\n", " wedgeprops=dict(width=0.5),\n", " colors=['#ff9999','#66b3ff','#99ff99','#ffcc99','#c2c2f0','#ffb3e6'],\n", " textprops={'fontsize':9},\n", " )\n", " axs[1].set_title(\"Répartition par type\")\n", " axs[1].set_ylabel(\"\")\n", " axs[1].title.set_fontsize(9)" ] }, { "cell_type": "markdown", "metadata": { "editable": true, "slideshow": { "slide_type": "subslide" }, "tags": [] }, "source": [ "#### Exemple d'utilisation\n", "\n", "Affichage du tableau des documents obtenus par la réquête à l'API." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "editable": true, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
doc_idannéetypeauteurstitre
35818221592018ART[Al-Meslemi Yahya, Anwer Nabil, Mathieu Luc][Environmental Performance and Key Characteris...
35918222432018COMM[Marxer Michael, Rocha Luis, Anwer Nabil, Savi...[New development and distribution concepts for...
36017052502018ART[Viprey F, Nouira Hichem, Lavernhe Sylvain, To...[Exploitation of a novel thermo-invariant Mult...
36121613412018COMM[Xiao Jinhua, Durupt Alexandre, Anwer Nabil, L...[Process information model based on STEP for p...
36220685082018ART[Aucejo Mathieu, de Smet Olivier][On a full Bayesian inference for force recons...
..................
49243979192023COMM[Tournier Christophe, Ettaieb Kamel, Godineau ...[Stratégies de pilotage à grande vitesse en fu...
49344328132023COMM[Wang Xingzhi, Liu Ang, Anwer Nabil, Dai Yun][ChatGPT for design, manufacturing, and educat...
49445765002024ART[Hachem Khalil, Quinsat Yann, Tournier Christo...[Modal approach based on global stereocorrelat...
49545429062024ART[Hustiu Sofia, Mahulea Cristian, Kloetzer Mari...[On Multi-Robot Path Planning based on Petri N...
49645872832024ART[Muller Nicolas, Quinsat Yann, Tournier Christ...[L-PBF AM process failures causal chain: an FM...
\n", "

139 rows × 5 columns

\n", "
" ], "text/plain": [ " doc_id année type auteurs \\\n", "358 1822159 2018 ART [Al-Meslemi Yahya, Anwer Nabil, Mathieu Luc] \n", "359 1822243 2018 COMM [Marxer Michael, Rocha Luis, Anwer Nabil, Savi... \n", "360 1705250 2018 ART [Viprey F, Nouira Hichem, Lavernhe Sylvain, To... \n", "361 2161341 2018 COMM [Xiao Jinhua, Durupt Alexandre, Anwer Nabil, L... \n", "362 2068508 2018 ART [Aucejo Mathieu, de Smet Olivier] \n", ".. ... ... ... ... \n", "492 4397919 2023 COMM [Tournier Christophe, Ettaieb Kamel, Godineau ... \n", "493 4432813 2023 COMM [Wang Xingzhi, Liu Ang, Anwer Nabil, Dai Yun] \n", "494 4576500 2024 ART [Hachem Khalil, Quinsat Yann, Tournier Christo... \n", "495 4542906 2024 ART [Hustiu Sofia, Mahulea Cristian, Kloetzer Mari... \n", "496 4587283 2024 ART [Muller Nicolas, Quinsat Yann, Tournier Christ... \n", "\n", " titre \n", "358 [Environmental Performance and Key Characteris... \n", "359 [New development and distribution concepts for... \n", "360 [Exploitation of a novel thermo-invariant Mult... \n", "361 [Process information model based on STEP for p... \n", "362 [On a full Bayesian inference for force recons... \n", ".. ... \n", "492 [Stratégies de pilotage à grande vitesse en fu... \n", "493 [ChatGPT for design, manufacturing, and educat... \n", "494 [Modal approach based on global stereocorrelat... \n", "495 [On Multi-Robot Path Planning based on Petri N... \n", "496 [L-PBF AM process failures causal chain: an FM... \n", "\n", "[139 rows x 5 columns]" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df_doc, df_author_doc, author_list, doc_type_list = build_tables(\n", " get_docs_from_hal()\n", ")\n", "display_dataframe_for_year_range(df_doc, year_range=[2018, 2024])" ] }, { "cell_type": "markdown", "metadata": { "editable": true, "slideshow": { "slide_type": "subslide" }, "tags": [] }, "source": [ "Affichage graphique de l'analyse des documents obtenus par la réquête à l'API." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "editable": true, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "139 documents sur la périodes, dont 0 thèses et 0 HDR.\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAc8AAADXCAYAAAB8itppAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAABGYElEQVR4nO3dd3hUVfrA8e+EFNILhPRC1VBDtYAkFkR6+7GIuNItoSyWlaWDYhDXtQcriAICugqWFUQUlCCIgEEISE9IJSGkDQlpc35/DIyEJDCTTDKT5P08z31Ibn3PMJN3zr2naJRSCiGEEEIYzcbSAQghhBD1jSRPIYQQwkSSPIUQQggTSfIUQgghTCTJUwghhDCRJE8hhBDCRJI8hRBCCBNJ8hRCCCFMJMlTCCGEMJEkTzPZtWsXgYGBtXa+yMhIXnvtNbOd/9y5c7i4uJCbm2u2czZUM2fOJCoqChmMy7p8/vnn3HHHHXX+Hjbms96hQwe++eabOopIWIIkTyNERkbi4OCAq6sr7u7udOzYkaeffprMzEzDPnfddRfJyck3PdfOnTvx8PC46X7Gns9YGo2GuLg4w+/BwcFotVrc3d3Ndo2GaMWKFZSUlBATE4NGo7F0OA3e1c+ai4sLXl5eREREsH///gr77d+/n7feeoutW7fW6ns4ISEBjUZDTk6OYd31n83KvtjGx8czePDgWourNlVWZlGRJE8jLV++nPz8fHJycvj0009JSUmhe/funD9/3uzXKi0tNfs56zNLvh5RUVG8/fbbkjjr0PLly9FqtaSnp3PbbbcxcuTICvv06NGDHTt21GribAyfw8ZQxtoiydNEGo2G9u3bs3btWtzd3XnllVeAijXKdevW0bZtW1xdXQkICOD5558nKyuLAQMGkJubi4uLCy4uLuzatYvVq1cTHh7OokWL8PX1ZcyYMZXWUFNSUoiMjMTV1ZU77riDY8eOlYvr2prla6+9RmRkJAC9evUC4M4778TFxYXo6OgK3y5LSkqYM2cOwcHBeHt7M2bMmHI1a41GwzvvvEPHjh1xc3Nj6NChVd4uu3ru999/n9DQUJo1a0ZUVBTFxcUAaLVahg0bRosWLXB3d6dv374cOnTIcPzixYsZPHgwTzzxBF5eXsyePbvCNc6dO0e/fv3w9vbG09OTQYMGkZCQYNg+YcIEpk6dyoMPPoirqyu33HILO3fuNGyPjIxkzpw59O/fHxcXF7p168bhw4cN27VaLdOnTyc4OJgWLVrwyCOPlCvv6dOnGTJkCN7e3oSEhLB06VJ0Ol2lr4eoHnt7e8aPH09SUpLhvaiU4o033uDWW2/Fw8ODyMjIcp+D0NBQXnjhBbp164abmxv9+/cnNTXVsP3ZZ58lJCQEV1dX2rdvz2effWbYdvUz9/bbbxMcHMwdd9xh+OwEBgbi4uLCunXryn02n376aXbt2sXs2bNxcXFhwIABhjg2b95sOPfatWsJCwvDw8ODPn368Pvvvxu23ey9eD1zl/F6lZW5a9eufPTRR+X269+/Py+99JJRMWVkZDBu3Dj8/f3x9/dn1qxZFBUVVVnGekGJm4qIiFCvvvpqhfXz5s1TvXr1UkoptWPHDuXu7q6UUkqr1SpbW1v1008/KaWUys7OVvv27auw31UffvihatKkiXruuedUUVGRunTpUoX9IiIilKenp/rll19UUVGRmjt3rmrbtq0qKSlRSikFqN9//92w/6uvvqoiIiIMv1+//ezZswpQ2dnZSimllixZojp27KgSExNVfn6+GjNmjOrXr1+54yMjI1V6errKzs5WXbt2VYsWLar09bp67gEDBqjs7GyVkpKiunTpohYvXqyUUio3N1dt2LBBabVaVVhYqGbOnKnatWundDqdUkqpRYsWqSZNmqgPP/xQlZSUqEuXLlV6jW+//VYVFhaq3Nxc9X//93/qvvvuM2wfP368cnFxUT/88IMqLS1Vzz//vAoJCSn3evr7+6uDBw+qkpISNXXq1HKv1+jRo9XYsWNVdna20mq16sEHH1QPP/ywUkqpgoICFRISol555RVVVFSkEhMTVYcOHdQHH3xQ6eshjHftZ62goEA9+eSTqnnz5ob3eUxMjOrcubM6ceKEKikpUa+//rpq3bq1KioqUkopFRISokJDQ9WxY8fUpUuX1COPPKIiIyMN51+7dq06f/68Ki0tVevXr1cODg7qzJkzSin9Z9PGxkY99thj6tKlS+rSpUsVPidX97v+s3n934eQkBC1adMmpZRSP//8s3JxcVE//fSTKi4uVq+++qry9vZWOTk5huNv9F68nrnLeL3Kyvzmm2+Wiyk5OVnZ29ur1NTUm8ak0+nUbbfdpp566il16dIldeHCBRUZGanmz59fZRnrA0meRqgqea5Y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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "analysis_and_display_for_year_range(df_doc)" ] }, { "cell_type": "markdown", "metadata": { "editable": true, "slideshow": { "slide_type": "subslide" }, "tags": [] }, "source": [ "### Création de widgets\n", "\n", "La création de la widget `year_range_widget` de type `widgets.IntRangeSlider` pour saisir l'entendue des années pour lesquelles l'analyse statistique des documents doit se faire." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "editable": true, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [], "source": [ "year_range_widget = widgets.IntRangeSlider(\n", " value=[2008, 2024],\n", " min=1980,\n", " max=2030,\n", " step=1,\n", " description=\"Période d'analyse :\",\n", " disabled=False,\n", " continuous_update=False,\n", " orientation=\"horizontal\",\n", " readout=True,\n", " readout_format=\"d\",\n", " style={\"description_width\": \"initial\"},\n", ")" ] }, { "cell_type": "markdown", "metadata": { "editable": true, "slideshow": { "slide_type": "subslide" }, "tags": [] }, "source": [ "Configuration des widgets d'interractions entre la widget `year_range_widget` et les fonctions préalablement définies `analysis_and_display_for_year_range()` et `display_dataframe_for_year_range()`." ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "editable": true, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [], "source": [ "w1 = widgets.interactive(\n", " analysis_and_display_for_year_range, \n", " year_range=year_range_widget,\n", " df_doc=widgets.fixed(df_doc),\n", ")\n", "\n", "w2 = widgets.interactive(\n", " display_dataframe_for_year_range,\n", " year_range=year_range_widget,\n", " df_doc=widgets.fixed(df_doc),\n", ")" ] }, { "cell_type": "markdown", "metadata": { "editable": true, "slideshow": { "slide_type": "subslide" }, "tags": [] }, "source": [ "Activation des widgets d'interractions" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "editable": true, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "6328b586a03a41fbb05f92204c01188b", "version_major": 2, "version_minor": 0 }, "text/plain": [ "interactive(children=(IntRangeSlider(value=(2008, 2024), continuous_update=False, description=\"Période d'analy…" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "ad87a2cc8e674814aec4db50ab9bfc12", "version_major": 2, "version_minor": 0 }, "text/plain": [ "interactive(children=(IntRangeSlider(value=(2008, 2024), continuous_update=False, description=\"Période d'analy…" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "display(w1, w2)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.9" } }, "nbformat": 4, "nbformat_minor": 4 }