2022-11-18 09:25:13 +01:00
|
|
|
|
---
|
|
|
|
|
title: README du projet portail
|
|
|
|
|
date: 2022-11-18T09-20-23+01:00
|
|
|
|
|
id: 20221118T092037
|
|
|
|
|
tags: [cmu, portail web, documentation]
|
|
|
|
|
---
|
|
|
|
|
|
2023-01-18 15:47:56 +01:00
|
|
|
|
## Table des matières
|
|
|
|
|
|
|
|
|
|
* [Description](#description)
|
|
|
|
|
* [Liste des fichiers](#liste-des-fichiers)
|
|
|
|
|
* [Les blocs HTML](#les-blocs-html)
|
|
|
|
|
* [Titres](#titres)
|
|
|
|
|
* [Références bibliographiques](#références-bibliographiques)
|
|
|
|
|
* [Liste à puce sans puce](#liste-à-puce-sans-puce)
|
|
|
|
|
* [Exposer les données bibliographiques pour Zotero](#exposer-les-données-bibliographiques-pour-zotero)
|
|
|
|
|
* [Ancres dans les `expand/collapse`](#ancres-dans-les-expandcollapse)
|
|
|
|
|
|
2022-11-18 09:25:13 +01:00
|
|
|
|
## Description
|
|
|
|
|
|
|
|
|
|
Ce projet a pour objectif de documenter mes méthodes d'édition du portail de
|
|
|
|
|
médecine clinique du site de la bibliothèque de l'UNIGE. Il contient également
|
|
|
|
|
des fichiers HTML lorsque je crée un bloc HTML dans concrete5 plutôt qu'un bloc
|
|
|
|
|
de type contenu.
|
2022-11-24 10:07:07 +01:00
|
|
|
|
|
2023-01-18 15:47:56 +01:00
|
|
|
|
## Liste des fichiers
|
|
|
|
|
|
|
|
|
|
````bash
|
|
|
|
|
.
|
|
|
|
|
├── README.md
|
|
|
|
|
├── acces-ressources-externes.html
|
|
|
|
|
├── cmu-commande-article.html
|
|
|
|
|
├── infos-hug
|
|
|
|
|
│ ├── acces-distance-expanded.html
|
|
|
|
|
│ ├── acces-distance.html
|
|
|
|
|
│ ├── appartenance.html
|
|
|
|
|
│ ├── commande-article.html
|
|
|
|
|
│ └── html-vanilla.html
|
|
|
|
|
├── procedure-dynamed.html
|
|
|
|
|
├── proposition-achat.html
|
|
|
|
|
├── ressources-transversales-bd.html
|
|
|
|
|
└── ressources-transversales-dic.html
|
|
|
|
|
````
|
|
|
|
|
|
2022-11-25 15:28:25 +01:00
|
|
|
|
## Les blocs HTML
|
|
|
|
|
|
|
|
|
|
Les blocs contenus, s'ils facilitent la vie avec leur éditeur WYSIWYG, sont
|
|
|
|
|
toutefois limités pour réaliser des structures HTML de meilleure qualité et
|
|
|
|
|
surtout permettent moins d'améliorer le rendu, puisqu'il faut utiliser les
|
|
|
|
|
classes disponibles.
|
|
|
|
|
|
|
|
|
|
Le bloc HTML oblige d'écrire soi-même le HTML, mais à l'inverse, il permet
|
|
|
|
|
d'écrire soi-même le HTML, et ainsi d'avoir plus de liberté, que ce soit pour
|
|
|
|
|
maîtriser les balises utilisée et améliorer ainsi la sémantique, ou pour
|
|
|
|
|
affiner la mise en forme grâce à l'inclusion de règles CSS dans la balise
|
|
|
|
|
`<style>`.
|
|
|
|
|
|
|
|
|
|
Pour ma part, je procède ainsi :
|
|
|
|
|
|
|
|
|
|
1. Je rédige le HTML que je désire dans un éditeur de texte, si possible qui
|
|
|
|
|
soit en mesure d'identifier les erreurs de syntaxe.
|
|
|
|
|
1. J'utilise une balise `<article>` qui contient l'ensemble du code nécessaire,
|
|
|
|
|
auquel j'ajoute une classe du genre `mc-transversales-bd`, à savoir les
|
|
|
|
|
initiales de la discipline, le nom de la page, le nom de la section (du
|
|
|
|
|
bloc). C'est aussi dans cette balise que je place la balise `<style>`
|
|
|
|
|
contenant les règles CSS, du moins si c'est nécessaire.
|
|
|
|
|
1. J'ajoute un nouveau bloc, un bloc HTML.
|
|
|
|
|
1. Je copie-colle mon code HTML et j'enregistre.
|
|
|
|
|
|
|
|
|
|
```html
|
|
|
|
|
<article class="mc-transversales-bd">
|
|
|
|
|
<!-- Le code HTML viendra ici -->
|
|
|
|
|
<style>
|
|
|
|
|
// Les règles CSS viennent ici
|
|
|
|
|
.mc-transversales-bd {
|
|
|
|
|
fonte-size: large;
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|
</article>
|
|
|
|
|
```
|
|
|
|
|
|
2022-11-24 10:07:07 +01:00
|
|
|
|
## Titres
|
|
|
|
|
|
|
|
|
|
Les titres doivent contenir les classes `o-title--hx` où x correspond au niveau
|
|
|
|
|
de titre.
|
|
|
|
|
|
|
|
|
|
```html
|
2022-11-25 15:28:25 +01:00
|
|
|
|
<h2 class="o-title--h2">Titre</h2>
|
2022-11-24 10:07:07 +01:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
S'il s'agit d'un titre dans un bloc de propriété *Box - Titre - 2017*, alors il
|
|
|
|
|
doit également contenir la classe `c-NewsWall-itemTitle`.
|
|
|
|
|
|
|
|
|
|
```html
|
2022-11-25 15:28:25 +01:00
|
|
|
|
<h2 class="o-title--h2 c-NewsWall-itemTitle">Titre</h2>
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Références bibliographiques
|
|
|
|
|
|
|
|
|
|
### Liste à puce sans puce
|
|
|
|
|
|
|
|
|
|
Pour afficher une référence bibliographique sur plusieurs lignes, on peut
|
|
|
|
|
utiliser la liste non ordonnée. Par contre, il faut annuler la règle de style
|
|
|
|
|
qui affiche des puces d'une manière un peu étonnante.
|
|
|
|
|
|
|
|
|
|
```html
|
|
|
|
|
<article class="mc-dic-item">
|
|
|
|
|
<ul>
|
|
|
|
|
<li>Marroun I. <em>Le nouveau dictionnaire médical</em>. 7<sup>e</sup> éd.</li>
|
|
|
|
|
<li>Issy-les-Moulineaux : Elsevier Masson, 2018.</li>
|
|
|
|
|
<li>Cote : REF 1 W 13 14 ed 7</li>
|
|
|
|
|
<li>
|
|
|
|
|
<a href="https://www.elsevierelibrary.fr/articledfreader/nouveau-dictionnaire-mdical"
|
|
|
|
|
lang="en"
|
|
|
|
|
hreflang="English"
|
|
|
|
|
ref="nofollow"
|
|
|
|
|
target="_blank">
|
|
|
|
|
Livre électronique en ligne
|
|
|
|
|
</a>.
|
|
|
|
|
</li>
|
|
|
|
|
<li>
|
|
|
|
|
<a lang="fr"
|
|
|
|
|
dir="ltr"
|
|
|
|
|
type="html/text"
|
|
|
|
|
href="https://slsp-unige.primo.exlibrisgroup.com/articleermalink/41SLSP_UGE/l0hvjc/alma991008098789705502"
|
|
|
|
|
hreflang="français"
|
|
|
|
|
rel="nofollow"
|
|
|
|
|
target="_blank">
|
|
|
|
|
Le document dans le catalogue Swisscovery
|
|
|
|
|
</a>.
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
<span class='Z3988' title='url_ver=Z39.88-2004&ctx_ver=Z39.88-2004&rfr_id=info%3Asid%2Fzotero.org%3A2&rft_id=urn%3Aisbn%3A978-2-294-74357-3&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Le%20nouveau%20dictionnaire%20m%C3%A9dical&rft.place=Issy-les-Moulineaux&rft.publisher=Elsevier%20Masson&rft.edition=7e&rft.aufirst=Ibrahim&rft.aulast=Marroun&rft.au=Ibrahim%20Marroun&rft.au=Thomas%20Sen%C3%A9&rft.au=Jacques%20Quevauvilliers&rft.au=Abe%20Fingerhut&rft.date=2018&rft.isbn=978-2-294-74357-3&rft.language=fre%3Beng'></span>
|
|
|
|
|
</article>
|
|
|
|
|
<style>
|
|
|
|
|
.mc-dic-item > ul > li {
|
|
|
|
|
padding: 0 !important;
|
|
|
|
|
}
|
|
|
|
|
.mc-dic-item li:not([class])::before,
|
|
|
|
|
.mc-dic-item li::before {
|
|
|
|
|
content: none;
|
|
|
|
|
}
|
|
|
|
|
</style>
|
2022-11-24 10:07:07 +01:00
|
|
|
|
```
|
2022-11-25 15:28:25 +01:00
|
|
|
|
|
|
|
|
|
La première règle permet de supprimer le *padding*, alors que la deuxième
|
|
|
|
|
« vide » le contenu du `::before` contenant la puce sous forme de police
|
|
|
|
|
d'écriture (fontawesome).
|
|
|
|
|
|
|
|
|
|
### Exposer les données bibliographiques pour Zotero
|
|
|
|
|
|
|
|
|
|
Une solution simple est l'ajout de *microdata* directement dans le HTML grâce
|
|
|
|
|
aux [*COinS*][coins]. Et pour se faciliter la vie, il faut utiliser Zotero pour
|
|
|
|
|
générer les données.
|
|
|
|
|
|
|
|
|
|
**Ne fonctionne qu'au sein d'un bloc HTML, sinon concrete5 va effacer le
|
|
|
|
|
`<span>`, car il est vide**, puisque tout est dans la partie attribut de la
|
|
|
|
|
balise.
|
|
|
|
|
|
|
|
|
|
1. Ajouter les références nécessaires dans son Zotero.
|
|
|
|
|
1. Clic-droit sur la ou les références et « Exporter le document… ».
|
|
|
|
|
1. Choisir le format « COinS ».
|
|
|
|
|
1. Enregistrer le fichier sur son disque dur, l'extension de fichier `.html`
|
|
|
|
|
facilite un peu les choses.
|
|
|
|
|
1. Copier le code obtenu (`<span class…></span>`) dans le contenu HTML du bloc.
|
|
|
|
|
|
|
|
|
|
[L'exemple ci-dessus][liste] montre justement un exemple de référence
|
|
|
|
|
bibliographique content les métadonnées `COinS` reconnues par Zotero.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[coins]: https://www.zotero.org/support/dev/exposing_metadata/coins
|
|
|
|
|
[liste]: #liste-à-puce-sans-puce
|
2022-12-09 13:50:17 +01:00
|
|
|
|
|
|
|
|
|
## Ancres dans les `expand/collapse`
|
|
|
|
|
|
|
|
|
|
Afin de pouvoir utiliser un ancre qui puisse ouvrir un composant qui s'ouvre ou
|
|
|
|
|
se ferme (bloc `expand/collapse`), il faut :
|
|
|
|
|
|
|
|
|
|
1. Insérer l'ancre au sein du contenu du bloc.
|
|
|
|
|
1. Modifier les propriétés de la page :
|
|
|
|
|
1. Menu *Éditer/Édition*, puis *propriétés*.
|
|
|
|
|
1. Onglet *Attributs personnalisés*.
|
|
|
|
|
1. *Contenu d'entête supplémentaire*.
|
|
|
|
|
1. Coller le contenu suivant :
|
|
|
|
|
|
|
|
|
|
```html
|
|
|
|
|
<script type="text/javascript">
|
|
|
|
|
function getAnchor() {
|
|
|
|
|
return (document.URL.split('#').length > 1) ? document.URL.split('#')[1] : null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function getOffsetTop(elem){
|
|
|
|
|
var offsetTop = 0;
|
|
|
|
|
do {
|
|
|
|
|
if(!isNaN(elem.offsetTop)){
|
|
|
|
|
offsetTop += elem.offsetTop;
|
|
|
|
|
}
|
|
|
|
|
} while( elem = elem.offsetParent );
|
|
|
|
|
return offsetTop;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function getOffsetLeft(elem){
|
|
|
|
|
var offsetLeft = 0;
|
|
|
|
|
do {
|
|
|
|
|
if(!isNaN(elem.offsetLeft)){
|
|
|
|
|
offsetLeft += elem.offsetLeft;
|
|
|
|
|
}
|
|
|
|
|
} while( elem = elem.offsetParent );
|
|
|
|
|
return offsetLeft;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
window.addEventListener("load",function(){
|
|
|
|
|
var monanchor = getAnchor();
|
|
|
|
|
if (typeof monanchor !== 'undefined' && monanchor !== null) {
|
|
|
|
|
substring = "-title-";
|
|
|
|
|
if (monanchor.indexOf(substring) !== -1) {
|
|
|
|
|
monanchor = monanchor.replace("-title-","-content-");
|
|
|
|
|
var parentDiv = document.getElementById(monanchor);
|
|
|
|
|
} else {
|
|
|
|
|
var pDoc = document.getElementsByName(monanchor)[0];
|
|
|
|
|
var parentDiv = pDoc.parentNode.parentNode;
|
|
|
|
|
}
|
|
|
|
|
parentDiv.style.display = "block";
|
|
|
|
|
var offsetTop = getOffsetTop(parentDiv);
|
|
|
|
|
var offsetLeft = getOffsetLeft(parentDiv);
|
|
|
|
|
window.scrollTo(offsetLeft, offsetTop - 200);
|
|
|
|
|
}
|
|
|
|
|
},false);
|
|
|
|
|
</script>
|
|
|
|
|
```
|