
le code source de SpirHAL est disponible ici.
Plan de la documentation :
Installation sur une page¶
Pré-requis¶
Pour installer l’affiche des notices de HAL pour un membre il est nécessaire d’avoir un site hébergé. Ce module vient s’intégrer dans la page pour afficher les notices d’un membre donné. Aucune autre pré requis n’est nécessaire.
Installation¶
Récupération du script¶
Pour récupérer SpirHAL vous avez trois possibilités :
CDN¶
La première possibilité est d’utiliser directement la dernière version de SpirHAL sur un serveur qui l’héberge :
https://spirhal.murloc.fr/Spirhal-latest.js
Téléchargement¶
Une autre possibilité est de récupérer une version déjà compilée de SpirHAL sur ce lien.
Compilation¶
La dernière possibilité est de compiler vous même SpirHAL. Pour compiler vous même le script il est nécessaire d’avoir installé Node.JS et Angular-CLI. Il est aussi nécessaire d’avoir GIT d’installé sur votre machine.
Tout d’abord il vous faut cloner le git du projet SpirHAL :
git clone git@framagit.org:Murloc6/Spirhal.git
Une fois le contenu du projet récupérer, il faut se rendre dans le dossier et lancer la commande de compilation :
cd Spirhal
npm install
ng build
Lorsque le processus est terminé, les fichiers compilés de SpirHAL sont disponibles dans le dossier dist.
Importer les fichiers sur votre page web¶
Maintenant que vous avez les fichiers compilés de SpirHAL (soit par CDN, soit en les
téléchargant soit en les compilant vous même) il vous faut les importer
dans le code de votre page web. Pour cela il faut rajouter les balises
d’import dans le head
de votre page web. Par exemple si nous avons
utilisé la version hébergée sur le serveur CDN,
le script à importer sont :
<script src="https://spirhal.murloc.fr/Spirhal-latest.js"></script>
Ce scripts importé contien toutes les dépendances nécessaires à SpirHAL pour fonctionner.
Initialisation de SpirHAL¶
Une fois le fichier importé il faut maitnenant initialiser SpirHAL. Pour cela, SpirHAL utilise le principe de “Component” d’Angular (plus d’informations ici). Ce qui signifie que l’on utilise une balise spéficique pour SpirHAL avec les paramètres correspondants. Ici la balise s’appelle “spirhal”. Nous pouvons alors insérer dans notre page cette balise et la paramétrer pour qu’elle affiche les notices de la personne concernée. Par exemple si nous souhaitons afficher les notices de “Hélène Débax” du laboratoire Framespa (structID HAL 620) avec la norme “EHESS” alors nous pouvons insérer la balise suivante :
<spirhal researcherName="Hélène Débax" norm="EHESS" structId="620"></spirhal>
On peut remarquer le nom de la balise est bien “spirhal” et ensuite les paramètres sont des attributs de la balise :
- “researcherName” est la personne dont on souhaite afficher les notices venant de HAL (attention de bien réspecter “Prénom Nom” dans cet ordre avec ces majuscules pour que la requête sur HAL fonctionne correctement)
- “norm” est le nom de la norme bibliographique à utiliser (seul les normes implémentées peuvent être utilisées). S’il n’y a pas de norme spécifiée alors SpirHAL utilisera la représentation utilisée sur HAL
- “structId” est le structId sur HAL du laboratoire auquel appartient
la personne (ce paramètre est optionnel)
- il est possible de connaitre le structId d’un laboratoire sur AuréHAL
Une fois cette balise ajoutée, les notices provenant de la personne spécifiée dans “researcherName” seront affichées à l’endroit où est la balise.
Page complète¶
Un exemple de page complète pour “Hélène Débax” et ne contenant que la liste des notices est la suivante :
<html>
<head>
<script src="https://spirhal.murloc.fr/Spirhal-latest.js"></script>
</head>
<body>
<spirhal researcherName="Hélène Débax" norm="EHESS" structId="620"></spirhal>
</body>
</html>
Style CSS¶
La balise « <spirhal> » va générer du contenu HTML qu’il est possible de stylisé avec du CSS comme tout élément d’une page HTML.
Voici un exemple du HTML généré pour une notice ayant le texte intégral disponible :
<spirhal researcherName="Hélène Débax" norm="EHESS" structId="620">
<div class="publiList">
<div class="groupCitation">
<div>
<h3>
Article(s)
</h3>
</div>
<div class="card-body list-group">
<div class="row-citation specificResearcher">
<div class="citation row">
<ehess class="col-md-10">
<div class="citation EHESS">
<a href="https://halshs.archives-ouvertes.fr/halshs-00498858">
<span class="author">Hélène Débax,</span>
<span class="title">«Le serrement des mains. Éléments pour une analyse du rituel des serments féodaux en Languedoc et en Provence (XIe-XIIe siècles)»,</span>
<span class="journalTitle"><i>Le Moyen Age. Revue d'histoire et de philologie</i>,</span>
<span class="volume">tome CXIII,</span>
<span class="issue">n°1,</span>
<span class="year">2007,</span>
<span class="pages">p. 9-23</span>
</a>
</div>
</ehess>
<a class="picto-fulltext col-md-2" target="__blank" href="https://halshs.archives-ouvertes.fr/halshs-00498858/file/Debax_serrement.pdf">
<img _ngcontent-c1="" src="assets/picto-article.png" width="30">
</a>
</div>
</div>
</div>
</div>
</div>
</spirhal>
On peut remarquer ici les classes utilisées pour encapsuler chaque éléments de la notice. Bootstrap est utilisé pour aligner les éléments sur la page.
Installation du site admin¶
Pré-requis¶
Le seul pré-requis nécessaire à l’installation du site admin est d’avoir à disposition un hébergement web traditionnel.
Installation¶
En utilisant le CDN¶
Si vous souhaitez utiliser SpirHAL en utilisant la version hebergé sur le serveur (CDN) alors il est uniquement d’héberger un fichier « index.html » contenant :
<html>
<head>
<script src="https://spirhal.murloc.fr/Spirhal-latest.js"></script>
</head>
<body>
<spirhal></spirhal>
</body>
</html>
De plus il faut configurer le fichier « assets/labos.json » (l’emplacement du fichier est indispensable) comme défini dans la section « Configuration » plus bas dans cette page.
En hébergant SpirHAL¶
La récupération des fichiers nécessaires à l’installation du site admin est exactement la même que pour l’utilisation de SpirHAL pour une personne spécifique (explications disponibles ici).
Une fois que vous avez les fichiers disponibles il suffit de les copier directement sur votre hébergeur dans un dossier spécifique. Par exemple si mon hébergement est associé au nom de domaine “https://www.mondomaine.fr” et que je copie le contenu de SpirHAL dans le dossier “spirhal” alors je peux accéder au site administrateur directement à l’adresse : “https://www.mondomaine.fr/spirhal/”. Effectivement dans les fichiers de SpirHAL est présent un fichier “index.html” qui contient l’initialisation du site administrateur de SpirHAL.
Configuration¶
Ce site administrateur contient un fichier “labos.json” dans le dossier “/assets/labos.json”. Ce fichier contient la configuration des laboratoires qui seront disponibles sur le site admin. Il est possible de modifier ces paramètres ou d’ajouter de nouveau laboratoire grâce à ce fichier de configuration.
Par exemple le contenu de ce fichier peut être :
[
{
"name" : "Framespa",
"logo" : "http://framespa.univ-tlse2.fr/images/framespa/logo.jpg",
"url" : "http://framespa.univ-tlse2.fr/actualites/pratique/annuaire/",
"querySelector" : ".ligne.premiere_ligne li a[href^='http://framespa.univ-tlse2.fr']",
"struct_id": 620,
"norm": "EHESS"
},
{
"name": "CLLE",
"logo" : "http://clle.univ-tlse2.fr/images/clle2/logo.jpg",
"url" : "http://clle.univ-tlse2.fr/accueil/actualites/annuaire/",
"querySelector" : ".ligne.premiere_ligne a[href^='http://clle.univ-tlse2.fr']",
"struct_id": [
489956,
161396,
24497
],
"norm": "APA"
}
]
Le contenu de ce fichier est donc un tableau au format JSON. Chaque élément de ce tableau est un objet contant les attributs suivants : + “name” : le nom du laboratoire + “logo” : l’URL du logo du labotaoire + “url” : l’URL de la liste des membres du laboratoire + “querySelector” : le selecteur utilisé pour trouver tous les membres (utilisation de document.querySelector) + “struct_id” : le StructID du laboratoire dans HAL (Vous pouvez chercher votre structID ici) + “norm” : la norme à utiliser par défaut
Utilisation du site administrateur¶
Le site administrateur permet un affichage plus détaillé des notices de publications. Voici les possibilités offertes par ce mode d’affichage :
- Affichage d’un ou plusieurs membres (uniquement le détail si plusieurs membres sont sélectionnés)
- Possibilité de modifier la norme bibliographique utilisé pour l’affichage (n’influe pas sur l’autre mode d’affichage)
- Une seule installation pour plusieurs laboratoires
- Calcul du détail (manquants et doublons)
- Envoie d’un email récapitulatif du détail
Selection du laboratoire¶
La page d’accueil du site administrateur de SpirHAL permet un affichage
d’une liste de labatoire à selectionner :
Dans cet exemple on peut observer deux laboratoires disponibles (Framespa et CLLE). Les deux boutons au centre sont cliquables pour selectionner un des labatoires. Un fichier de configuration est présent dans l’application (/assets/labos.json).
Une fois un laboratoire selectionné, la liste des laboratoires disponibles disparait et il devient possible de selectionner le membre du laboratoire. Le lien URL de l’application SpirHAL est changé pour rajouter le paramètre du laboratoire. Par exemple si votre application SpirHAL est hebergée sur “https://www.mondomaine.fr/SpirHAL/” et que vous selectionnez le laboratoire “Framespa” alors le lien deviendra “https://mondomaine.fr/SpirHAL/admin/Framespa”. De cette manière il est possible d’avoir un lien direct vers un laboratoire donné.
Selection d’un member du laboratoire¶
Une fois le laboratoire selectionné vous pouvez selectionner un membre
d’après l’interface suivante : On peut observer sur
cette capture d’écran que le laboratoire Framespa est selectionné et
qu’il est possible de changer de laboratoire en cliquant sur le bouton
“Choisir un autre laboratoire”. Un champ texte est disponible pour
selectionner un membre du laboratoire selectionné. Ce champ est aussi
une liste déroulante et permet l’auto-complétion. De cette manière il
est plus aisé de retrouver un membre (en commencant à taper le début de
son nom). Par exemple dans l’exemple suivant l’utilisateur a tapé “déba”
dans le champ texte de recherche et il est automatiquement proposé
“Débax Hélène” à selectionner :
On peut observer deux
boutons présents à cotés de ce champ texte. Le premier est une croix qui
permet de vider la selection. Le deuxième permet de selectionner tous
les membres du laboratoire (attention cela peut être long!).
Une fois un utilisateur selectionné on peut observer la liste de ses
publications et le détail de l’analyse de SpirHAL : Dans
ce détail plusieurs informations sont données : + en bleu la liste de
tous les documents, dont le nombre de notices (sans texte intégrale) et
le nombre de textes intégraux + en vert le nombre de documents conforme
à la norme selectionné (sans doublon ni manquants) + en orange le nombre
de champs manquants - un champ manquant est un champ nécessaire à
l’affichage complet de la norme bibliographique selectionnée mais non
rempli pour ce document + en rouge le nombre de doublon - un doublon est
un document présent dans HAL pour ce membre mais aussi présent sur sa
fiche annuaire - pour déterminer si un document est un doublon SpirHAL
cherche si le titre du document provenant de HAL est présent dans le
texte de la page de la fiche annuaire
Il est possible de changer la norme bibliographique utilisée, ce qui aura pour effet de regénérer la liste des publications en utilisant la nouvelle norme et de recalculer les manquants.
Si plusieurs membres sont selectionnés alors uniquement le détail est
présenté : On peut observer que dans le champ texte de
selection de l’utilisateur plusieurs noms sont présents et chacun
comporte une petite croix à cotés. Cette croix permet de déselectionner
le membre en question. De plus, un bouton est présent sous chaque détail
permetant l’envoie d’un email à cet utilisateur contenant le
récapitulatif du détail de SpirHAL. Si plusieurs membres sont
sélectionnés alors un bouton apparait permettant l’envoie à tous les
membres sélectionnés.
Modifier SpirHAL¶
Le projet SpirHAL étant du logiciel libre il est tout à fait possible de modifier tous les éléments de ce projet. Nous allons ici présenter comment modifier ou ajoute une nouvelle norme dans SpirHAL.
Le code source de SpirHAL est développé en utilisant la technologie Angular il est donc fortement recommandé de maitriser cette technologie avant d’essayer de modifier SpirHAL.
Le projet SpirHAL contenant une page administrateur avec d’autres fonctionnalités, est divisé en deux modules Angular distinct : “spirhal” et “admin”. Nous n’allons ici aborder que des détails conernant le module “spirhal” qui concerne l’affichage des notices sur une page web. Ce module est dans le dossier “/src/spirhal/”.
Modifier une norme bibliographique¶
Chaque norme bibliographique est disponible comme un “Component” Angular. Toutes les normes sont présentes dans le dossier “/src/spirhal/components/norms”. Vous pouvez dores et déjà observer au moins la norme “default” qui correpond au rendu proposé par HAL. Dans notre exemple nous allons étudier comment modifier la norme “EHESS”.
Cette norme est présente dans le dossier “/src/spirhal/components/norms/EHESS”. Ce dossier contient trois fichiers : + “ehess.norms.component.ts” contenant les paramètres du composant + “ehess.norms.component.html” contenant le rendu HTML du composant + “ehess.norms.component.css” contenant le CSS de mise en forme du componsant
Le fichier “ehess.component.ts” est le fichier permettant la déclaration du composant. Ce fichier est le suivant :
import { Component, Input, Output, EventEmitter, AfterViewInit } from '@angular/core';
@Component({
selector: 'ehess',
templateUrl: './ehess.norms.component.html',
styleUrls: ['./ehess.norms.component.css'],
providers: []
})
export class EHESSComponent {
@Input() publi: any;
@Input() type: string;
tempType: string;
@Output() computeDetails = new EventEmitter();
constructor() {}
checkValue(key, text, avoidTag = false){
if(!this.publi[key]){
if(!avoidTag)
this.publi.tags.push(text);
}
else{
if(this.publi[key] instanceof Array){
this.publi[key] = this.publi[key][0];
}
}
}
ngAfterViewInit(){
setTimeout(() => {
let types = ["OUV", "COUV", "ART", "COMM"];
this.tempType = this.type;
if(types.indexOf(this.type) == -1){
this.type = "DEFAULT";
}
if(!this.publi.tags){
this.publi.tags = [];
}
if(this.type == 'OUV'){
this.checkValue("title_s", "Titre");
this.checkValue("producedDateY_i", "Date");
this.checkValue("publicationLocation_s", "Lieu de publication");
this.checkValue("publisher_s", "Editeur");
}
if(this.type == "DEFAULT"){
this.checkValue("title_s", "Titre", true);
this.checkValue("producedDateY_i", "Date", true);
this.checkValue("publicationLocation_s", "Lieu de publication", true);
this.checkValue("publisher_s", "Editeur", true);
}
else if(this.type=="COUV"){
this.checkValue("title_s", "Titre");
this.checkValue("producedDateY_i", "Date");
this.checkValue("scientificEditor_s", "Editeur scientifique");
this.checkValue("bookTitle_s", "Titre de l'ouvrage");
this.checkValue("publisher_s", "Editeur commercial");
this.checkValue("page_s", "Pages");
this.checkValue("publicationLocation_s", "Lieu de publication");
}
else if(this.type=="ART"){
this.checkValue("title_s", "Titre");
this.checkValue("producedDateY_i", "Date");
this.checkValue("journalTitle_s", "Titre du journal");
this.checkValue("volume_s", "Volume");
this.checkValue("issue_s", "Numéro");
this.checkValue("page_s", "Pages");
}
else if(this.type=="COMM"){
this.checkValue("title_s", "Titre");
this.checkValue("producedDateY_i", "Date");
this.checkValue("conferenceTitle_s", "Nom de la conférence");
this.checkValue("city_s", "Ville");
this.checkValue("publisher_s", "Editeur");
this.checkValue("page_s", "Pages");
}
this.computeDetails.emit();
});
}
}
Ce fichier contient plusieurs sections. Tout d’abord la déclaration du composant “@Component(…)” qui permet de définir le nom du composant et les fichiers associés (notamment le fichier de template qui est le rendu HTML du composant).
Le contenu de la fonction “ngAfterViewInit()” permet l’analyse des manquants pour cette norme en fonction du type de document (la fonction “checkValue” est utilisée pour tester si le paramètre existe sinon il est ajouté à la listes des “tags”).
Le contenu du fichier “ehess.norms.component.html” (le template HTML du componsant) est le suivant :
<div class="citation EHESS">
<a href="{{publi.uri_s}}">
<span class="author" *ngIf="publi.authFullName_s">{{publi.authFullName_s[0]}}<span *ngIf="publi.authFullName_s.length > 1"> et al.</span>,</span>
<span class="title" *ngIf="publi.title_s && type != 'OUV'">«{{publi.title_s}}»,</span>
<span class="title" *ngIf=" publi.title_s && type == 'OUV'"><i>{{publi.title_s}}</i>,</span>
<span *ngIf="type=='COUV'">
<span class="editor" *ngIf="publi.scientificEditor_s"><i>in</i> {{publi.scientificEditor_s}} (dir.),</span>
<span class="book" *ngIf="publi.bookTitle_s"><i>{{publi.bookTitle_s}}</i>,</span>
</span>
<span *ngIf="type=='ART'">
<span class="journalTitle" *ngIf="publi.journalTitle_s"><i>{{publi.journalTitle_s}}</i>,</span>
<span class="volume" *ngIf="publi.volume_s">{{publi.volume_s}},</span>
<span class="issue" *ngIf="publi.issue_s">{{publi.issue_s}},</span>
</span>
<span *ngIf="type=='COMM'">
<span class="conference" *ngIf="publi.conferenceTitle_s"><i>in {{publi.conferenceTitle_s}}</i>,</span>
<span class="city" *ngIf="publi.city_s">{{publi.city_s}},</span>
</span>
<span *ngIf="type!='ART' && type != 'COMM'">
<span class="location" *ngIf="publi.publicationLocation_s">{{publi.publicationLocation_s}},</span>
</span>
<span class="publisher" *ngIf="publi.publisher_s">{{publi.publisher_s}},</span>
<span class="year" *ngIf="publi.producedDateY_i">{{publi.producedDateY_i}}<span *ngIf="publi.page_s && type != 'OUV' && type != 'DEFAULT'">,</span></span>
<span *ngIf="type != 'OUV' && type != 'DEFAULT'">
<span class="pages" *ngIf="publi.page_s">{{publi.page_s}}</span>
</span>
</a>
</div>
C’est dans ce fichier que les détails des éléments à afficher et surtout du rendu de chaque élément est spécifié. Par exemple on peut observer que pour une notice de type “COUV” (Chapitre d’ouvrage) le titrel de l’ouvrage (“bookTitle_s”) est en italique (puisque la balise “” est utilisée).
Il est donc possible ici de modifier le rendu de la norme en modifiant ce fichier template. Si certains rendus nécessitent une personnalisation plus approfondie alors il est possible d’utiliser le fichier “ehess.component.css” qui permet de styliser la norm.
Ajouter une norme bibliographique¶
Si vous souhaitez ajouter une nouvelle norme bibliographique dans SpirHAL il est nécessaire de créer un nouveau composant dans le dossier “/src/spirhal/components/norms” en suivant le modèle des autres normes déjà présentes. Par exemple si nous souhaitons ajouter une nouvelle norme qui s’appelle “maNorme” alors nous créons le dossier “/src/spirhal/components/norms/maNorme/” dans lequel nous créons les trois fichiers : + maNorme.norms.component.ts + maNorme.norms.component.html + maNorme.norms.component.css
Le contenu du fichier maNorme.norms.component.ts peut être :
import { Component, Input, Output, EventEmitter, AfterViewInit } from '@angular/core';
@Component({
selector: 'maNorme',
templateUrl: './maNorme.norms.component.html',
styleUrls: ['./maNorme.norms.component.css'],
providers: []
})
export class MaNormeComponent {
@Input() publi: any;
@Input() type: string;
tempType: string;
@Output() computeDetails = new EventEmitter();
constructor() {}
checkValue(key, text, avoidTag = false){
if(!this.publi[key]){
if(!avoidTag)
this.publi.tags.push(text);
}
else{
if(this.publi[key] instanceof Array){
this.publi[key] = this.publi[key][0];
}
}
}
ngAfterViewInit(){
setTimeout(() => {
let types = ["OUV", "COUV", "ART", "COMM"];
this.tempType = this.type;
if(types.indexOf(this.type) == -1){
this.type = "DEFAULT";
}
if(!this.publi.tags){
this.publi.tags = [];
}
[...]
this.computeDetails.emit();
});
}
}
L’analyse des manquants a été masqué ici. Remarquez le nom du componsant
export class MaNormeComponent
. Ensuite nous pouvons éditer le
fichier “maNorme.norm.component.html” afin de spéficier le rendu de ma
nouvelle norme.
l faut ensuite déclarer cette nouvelle norme dans le module “spirhal”. Pour cela il faut éditer le fichier “/src/spirhal/spirhal.module.ts”. Le contenu du fichier modifié est le suivant :
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import {NgbModule} from '@ng-bootstrap/ng-bootstrap';
import {HttpClientModule} from '@angular/common/http';
import {PubliListCmp } from './components/PubliList/PubliList.component';
import { EHESSComponent } from './components/norms/ehess/ehess.norms.component';
import { APAComponent } from './components/norms/apa/apa.norms.component';
import { DefaultNormComponent } from './components/norms/default/default.norms.component';
import { MaNormeComponent } from './components/norms/maNorme/maNorme.norms.component';
import {NgbdModalContent} from './components/customModal.component';
@NgModule({
declarations: [
PubliListCmp,
EHESSComponent,
APAComponent,
DefaultNormComponent,
MaNormeComponent,
NgbdModalContent
],
imports: [
BrowserModule,
HttpClientModule,
NgbModule.forRoot()
],
providers: [],
bootstrap: [PubliListCmp],
entryComponents: [NgbdModalContent],
exports: [PubliListCmp]
})
export class SpirHALModule { }
Remarquez l’ajoute de l’import du composant et ensuite l’ajout de la déclaration du composant dans “declarations” de “@NgModule”.
Il faut enfin modifier le fichier “/src/spirhal/components/PubliList/PubliList.component.html” afin d’en ajouter l’utilisation de la nouvelle norme lorsque le paramètre est spécifié. Pour cela il vous faut chercher les lignes :
<default *ngIf="norm == 'default'" [publi]="publi" [type]="groupPubli.groupValue" (computeDetails)="computeDetails($event)" [ngClass]="{'col-md-8': adminDisplay, 'col-md-10': !adminDisplay}"></default>
<ehess *ngIf="this.norm == 'EHESS'" [publi]="publi" [type]="groupPubli.groupValue" (computeDetails)="computeDetails($event)" [ngClass]="{'col-md-8': adminDisplay, 'col-md-10': !adminDisplay}"></ehess>
<apa *ngIf="this.norm == 'APA'" [publi]="publi" [type]="groupPubli.groupValue" (computeDetails)="computeDetails($event)" [ngClass]="{'col-md-8': adminDisplay, 'col-md-10': !adminDisplay}"></apa>
Et ajouter de suite après la ligne :
<manorme *ngIf="this.norm == 'maNorme'" [publi]="publi" [type]="groupPubli.groupValue" (computeDetails)="computeDetails($event)" [ngClass]="{'col-md-8': adminDisplay, 'col-md-10': !adminDisplay}"></manorme>
Il faudra enfin modifier l’utilisation de SpirHAL pour utiliser cette nouvelle norme dans votre page de votre site web avec :
<spirhal researcherName="Hélène Débax" norm="maNorme" structId="620"></spirhal>
Le projet SpirHAL est l’initiative du groupe de travail Open Access de l’université Toulouse Jean Jaurès. L’objectif de ce projet a été de développer un outil facile d’utilisation et d’installation pour permettre l’affichage du contenu de HAL sur la page annuaire de chaque chercheur. De cette manière la bibliographie des membres de laboratoire est plus simple à maintenir et l’affichage est homogène sur toutes les pages annuaires d’un même laboratoire.
Ce projet a ensuite évolué pour permettre la détection de champs manquants (champs nécessaire à l’affichage de la citation en suivant la norme déterminée par le laboratoire) et des doublons (entre une citation présente dans HAL et sur la fiche annuaire).
l’entreprise Murloc WebDev (Fabien Amarger) a développé ce projet en collaboration avec le groupe de travail Open Access.
Présentation du projet¶
SpirHAL est une projet open-source permettant le déploiement d’un module d’affichage sur un site web des notices de publications d’articles scientifiques figurant sur la plateforme HAL. Deux mode de présentations sont disponibles.
Affichage pour une personne¶
Ce mode permet l’affichage des notices de publications pour une personne en respectant une norme bibliographique donnée. Il peut être utilisé pour un affichage sur une fiche annuaire des membres d’un laboratoire.
Le premier laboratoire a avoir utilisé le module SpirHAL est Framespa. Il est possible d’observer un exemple avec la fiche annuaire correspondant à Hélène Débax (membre du laboratoire Framespa) en suivant ce lien.
Affichage en mode administrateur¶
Ce mode d’affichage permet une visualisation plus globale. Tous les membres d’un même laboratoire sont répertoriés et il est possible d’observer non seulement la liste des notices de publications d’un des membres mais aussi le détail d’une analyse. Cette analyse observe s’il y a des champs manquants (champs nécessaires à l’affichage de cette notice suivant une norme bibliographique donnée) et/ou des doublons (notices de publication déjà présente sur la fiche annuaire du membre). Les doublons sont détectés si le titre de la notice est présent (en entier) dans le texte de la fiche annuaire. Cette page administrateur permet d’observer les notices en changant la norme bibliographique. De plus il est aussi possible d’observer les résultats d’analyse de plusieurs (voir de tous) membres du laboratoire. Cette option permet d’avoir une vision d’ensemble de l’utilisation de HAL au sein du laboratoire. Il est aussi possible d’envoyer un mail à tous les membres sélectionnés pour leur transmettre le résultat de l’analyse de SpirHAL sur leur utilisation de HAL.
A propos¶
le code source de SpirHAL est disponible ici.
Ce projet est développé avec la technologie Angular, ce qui permet un déploiement facile et rapide sur tout site web. L’utilisation de cette technologie permet aussi la compatibilité avec la plupart des navigateurs.
Liscence Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License