projet: améliore la structure et le contenu

- Structure le projet de manière plus claire.
- Mets à jour le modèle, notamment le Makefile.
- Améliore la documentation.
- Mets à jour le document et le complète.

Co-Authored-by: iGor milhit <igor@milhit.ch>
printemps-2026 v0.1.0
iGor milhit 2026-01-27 12:18:03 +01:00
parent d10741460a
commit 19e5c12691
Signed by: igor
GPG Key ID: 692D97C3D0228A99
16 changed files with 241 additions and 52 deletions

1
.gitignore vendored
View File

@ -1,2 +1,3 @@
smpr-1er-partie.html
*.pdf
document.html

57
Makefile 100644
View File

@ -0,0 +1,57 @@
SOURCE_FOLDER := sources
OUTPUT_FILENAME := document
TEMPLATE_REPOSITORY := https://git.milhit.ch/igor/bunige-pagedjs-template/releases/download
# Liste les fichiers sources.
MD_UNSORTED := $(wildcard $(SOURCE_FOLDER)/*.md)
# Ordonne les fichiers sources sur la base du début numérique du nom des
# fichiers.
MD_SORTED := $(shell printf '%s\n' $(MD_UNSORTED) | sort -t- -k1,1n)
.PHONY: all
all: pdf
# Construit le fichier HTML.
.PHONY: html
html: $(MD_SORTED)
pandoc \
--to=html --standalone \
--template=static/template.html --css=static/style.css \
-V static='./static' \
--toc --toc-depth=2 \
--out=$(OUTPUT_FILENAME).html $(MD_SORTED)
# Construit le fichier PDF.
.PHONY: pdf
pdf: $(MD_SORTED)
pandoc \
--to=pdf --pdf-engine=pagedjs-cli --embed-resources=true \
--template=static/template.html --css=static/style.css \
-V noscript=true -V static='./static' \
--toc --toc-depth=2 \
--out=$(OUTPUT_FILENAME).pdf $(MD_SORTED)
# Reconstruit le fichier HTML à la modification des autres fichiers.
.PHONY: watch
watch:
watchexec -r -w . -i document.html \
-- make html
# Supprime les fichiers construits lorsqu'ils ne sont plus nécessaire.
.PHONY: clean
clean:
rm -f *.html *.pdf
# Lance un serveur web pour servir le HTML.
.PHONY: serve
serve:
watchexec -r -w . "python -m http.server"
# Mets à jour le modèle de document
# Usage: make update VERSION=v1.0.0
.PHONY: update
update:
curl -o modèle.zip $(TEMPLATE_REPOSITORY)/$(VERSION)/$(VERSION).zip
unzip -f -o modèle.zip
rm modèle.zip

View File

@ -1,5 +1,46 @@
# strats-smpr
# [strats-smpr][1]
Support pour un cours donné aux internes du SMPR, en vue de la mise à jour de stratégies et d'articles scientifiques, sur la méthodologie de la recherche de littérature et l'utilisation de Zotero.
Il s'agit ici d'une introduction rapide.
Support pour un cours donné aux internes du SMPR, en vue de la mise à jour de
stratégies et d'articles scientifiques, sur la méthodologie de la recherche de
littérature et l'utilisation de Zotero.
Il s'agit ici d'une introduction rapide.
## Édition
Pour éditer le document, il faut modifier le fichier [smpr-1re-partie.md][2].
Il est au format Markdown et utilise les possibilités de pandoc-markdown, comme
expliqué dans la documentation du modèle.
## Génération du PDF
### Requis
- `pandoc` ([installation][3]).
- `pagedjs-cli` ([installation][4]).
- GNU make.
### Commande
```
make pdf
```
## Développement
Une fois les requis de la génération de PDF installés, les commandes suivantes
facilitent le développement:
- `make html` génère un fichier HTML. Une fois servi par un serveur web, il
permet de se rendre compte du résultat final et d'adapter les règles de
style.
- `make serve` lance un serveur à l'aide de python (qui doit être disponible).
- `make watch <filename>` génère la version HTML du fichier, et relance la
génération à chaque changement des fichiers utiles.
<!-- références -->
[1]: /
[2]: ./sources/smpr-1re-partie.md
[3]: https://pandoc.org/installing.html
[4]: https://gitlab.coko.foundation/pagedjs/pagedjs-cli#installation

BIN
modèle.zip 100644

Binary file not shown.

View File

@ -3,7 +3,7 @@ title: Revue de littérature et référencement
subtitle: Démarrage rapide
creation_date: 2025-01-16T10:03:12+0100
id: 20250116100312
date: printemps 2025
date: Printemps 2026
author:
- Igor Milhit
lang: fr
@ -11,7 +11,24 @@ toc-title: Table des matières
tags: [tags]
---
&nbsp;
## Objectifs du document
Ce document a pour objectif de **préparer la session prochaine**, en:
- Rappelant les bases de:
- La revue de littérature.
- La citation et de la bibliographie.
- Listant les recommandations de la *Revue médicale suisse* pour les auteurs et
autrices.
- Expliquant l'intérêt de Zotero.
- Rappelant les principales bases de données pour la recherche de littérature.
- Listant les liens utiles.
- Indiquant comment accéder aux services de la bibliothèque.
Il n'est pas long à parcourir et sert de référence.
Le cours en présentiel portera sur la méthodologie de recherche, avec une démo
Pubmed et une brève démo de Zotero.
:::{#licence}
![Logo de la licence CC BY-SA 4.0][1] \
@ -20,8 +37,8 @@ tags: [tags]
## Liens utiles {#first-section}
- PubMed avec le *resolver* de l'UNIGE: [unige.ch/biblio/pubmed][5].
- Explication d'**OpenAthens** pour accéder aux articles depuis les HUG ou
- **PubMed** avec le *resolver* de l'UNIGE: [unige.ch/biblio/pubmed][5].
- **OpenAthens** pour accéder aux articles depuis les HUG ou
depuis chez vous: \
<https://www.unige.ch/biblio/fr/infos/sites/cmu/information-membres-hug/acces>.
- **Commande d'article** qui ne font pas partie de nos collections (gratuit):
@ -35,6 +52,10 @@ tags: [tags]
d'article: <https://registration.slsp.ch/?iz=unige>.
- **Création du compte Switch edu-ID**. Gratuit et nécessaire pour
l'inscription à la bibliothèque: <https://eduid.ch/web/registration/1/>.
- **Guide Vancouver** de la bibliothèque:
<https://www.unige.ch/biblio/index.php/download_file/22303/>.
- **Guide pour référencer l'usage «d'IA»**:
<https://unige.ch/-/biblio/referencer-iag>.
## Services de la bibliothèque
@ -50,19 +71,19 @@ Pour y accéder, le chemin depuis la page d'accueil de l'UNIGE est :
unige.ch / services / bibliothèque / site UNI CMU
```
Puis, scroller jusqu'à trouver les deux blocs de la capture ci-dessous.
Puis, *scroller* jusqu'à trouver les deux blocs de la capture ci-dessous.
L'autre solution est de chercher sur un moteur de recherche
`unige bibliothèque cmu`.
L'autre solution est de chercher *via* un moteur de recherche `unige
bibliothèque cmu`.
![Ressources et services de la bibliothèque][4]
1. Lien vers PubMed, mais qui offre sur la page des articles un bouton qui
1. Lien vers PubMed un bouton qui
permet de rebondir sur le catalogue de la bibliothèque lorsque l'accès au
*full text* n'est pas possible. (Voir la section [PubMed][12]) \
Le lien suivant fonctionne aussi : [unige.ch/biblio/pubmed][5].
1. Lien vers Embase. Sur abonnement, nécessite soit Open Athens, soit d'être
sur le réseau de l'UNIGE.
1. Lien vers Embase. Sur abonnement, nécessite soit OpenAthens, soit d'être
sur le réseau de l'UNIGE (ou encore d'utiliser un compte Elsevier).
1. Informations utiles pour accéder aux ressources de la bibliothèque depuis
les HUG.
1. Service d'aide à la recherche. Page proposant beaucoup de documentation,
@ -80,6 +101,9 @@ précédentes. Enfin, dans votre contexte, elle constitue le matériel pour la
mise à jour d'une stratégie, et pour la rédaction de l'article qui
l'accompagne.
Dans le contexte des *stratégies de médecine de premier recours*, la revue de
littérature est la base sur laquelle s'appuient leurs mises à jour.
## Citation et bibliographie
La bibliographie de vos publications indique à la fois *l'étendue de vos
@ -96,11 +120,12 @@ La façon dont vous insérez des citations, avec leur «appel à citation
dont vous rédigez les références dans la bibliographie, dépend du *style de
citation*. Il est en général imposé par les éditeurs.
### Recommandations de la Rev Med Suisse
## Recommandations de la Rev Med Suisse
La *Revue médicale suisse* regroupe des recommandations aux auteurs et autrices
sur la page [«Publier dans la revue»][6]. Les points 17 et 18 concernent les
citations et la bibliographie:
sur la page [«Publier dans la revue»][6] (dans l'entrée de menu «Revue
médicale suisse»). Les points 17 et 18 concernent les citations et la
bibliographie:
- Les appels à citation se font selon un style *numérique*, à l'aide d'un
chiffre arabe en exposant, par ordre d'apparition.
@ -113,12 +138,22 @@ citations et la bibliographie:
Pour le style Vancouver, vous pouvez consulter:
- La [norme complète][7] en anglais, sur le site de la NLM.
- Le [guide de la bibliothèque][8], en français, au format PDF.
- La [norme complète][7] en anglais, sur le site de la NLM (si vous êtes
curieux/se).
Mais le mieux est d'utiliser le gestionnaire de références bibliographiques
Zotero.
::: {.warning}
La *Revue médicale suisse* a une [charte][15] concernant «l'IA» qui précise
les usages admis. La transparence quant à l'utilisation de ces outils est
exigée. \
La bibliothèque de l'UNIGE met à disposition un [guide][16] pour vous aider.
:::
## Gestionnaires de références bibliographiques
Un *gestionnaire de références bibliographiques* est un logiciel qui facilite
@ -148,20 +183,24 @@ Le principe est le suivant:
Sur le court terme, Zotero facilite la rédaction d'un travail. Sur le long
terme, il peut devenir une partie de votre mémoire documentaire.
::: {.warning}
Zotero apporte des gains de temps substantiels, **à la condition** de le prendre
en main **dès maintenant**. Des formations sont proposées par la
bibliothèque: \
<https://www.unige.ch/biblio/fr/formation/rendez-vous-info-scientifique/zotero>.
:::
Pour démarrer, vous avez besoin:
1. D'installer, depuis la page [zotero.org/download][9]:
1. Le logiciel Zotero.
1. Un connecteur pour votre navigateur web (Firefox, Safari, etc.).
1. Le logiciel Zotero.
1. Un connecteur pour votre navigateur web (Firefox, Safari, etc.).
1. De vous créer un compte sur [zotero.org][10], pour:
1. Synchroniser votre bibliothèque de références avec le serveur de Zotero et
vos autres appareils.
1. Travailler à plusieurs sur une bibliothèque de groupe.
1. Synchroniser votre bibliothèque de références avec le serveur de Zotero
et vos autres appareils.
1. Travailler à plusieurs sur une bibliothèque de groupe.
Un [guide rapide][11] existe sur le site de la documentation en français du
logiciel.
@ -172,23 +211,23 @@ logiciel.
PubMed est une base de données, accessible librement, de littérature
biomédicale publiée dans des revues avec relecture par les pairs
(*peer-review*). Elle contient, en janvier 2025, plus de 37 millions d'entrée,
chaque entrée était une référence ainsi que l'*abstract* lorsqu'il existe.
(*peer-review*). Elle contient, en janvier 2026, plus de 39 millions d'entrées.
Chaque entrée est une référence ainsi que l'*abstract* lorsqu'il existe.
*Medline* est la plus grande partie de PubMed et est constituée d'articles
*indexés* à l'aide «de mots clés», les termes MeSH. Ce qui a pour conséquence
que les articles qui ne sont pas indexés ne peuvent pas être trouvés seulement
en utilisant les termes MeSH (dont l'usage est expliqué lors de la démo de
PubMed). \
*indexés* à l'aide «de mots clés», les termes MeSH. Les articles qui ne sont
pas (encore) indexés ne peuvent pas être trouvés seulement en utilisant les
termes MeSH (dont l'usage est expliqué lors de la démo de PubMed), mais impose
l'ajout de termes de recherche en langage naturel. \
*PubMed Central* (PMC) est la partie de PubMed dont les *full texts* des
articles sont librement accessibles.
Il existe une URL pour utiliser une version de PubMed enrichie d'un bouton de
l'UNIGE (un *resolver*), qui permet de cherche une référence dans le catalogue
Il existe une URL pour une version de PubMed avec un bouton de
l'UNIGE (un *resolver*), qui permet de chercher une référence dans le catalogue
de la bibliothèque. C'est utile lorsque vous ne parvenez pas à obtenir le *full
text* de la référence. Le catalogue vous indique où vous pouvez l'obtenir si
vous y avez droit, ou de le demander à la bibliothèque s'il ne fait pas partie
de nos collection (Voir la [commande d'article][13], service gratuit).
de nos collections (Voir la [commande d'article][13], service gratuit).
L'URL à utiliser est:
@ -209,9 +248,9 @@ Des formations sont données par la bibliothèque sur PubMed : \
### Embase
Embase est en partie équivalente à PubMed, mais est proposée par Elsevier sous
licence. Vous y accéder soit en étant dans le réseau de l'UNIGE, soit au moyen
d'OpenAthens.
Embase (<https://embase.com>) est en partie équivalente à PubMed, mais est
proposée par Elsevier sous licence. Vous y accédez soit en étant dans le réseau
de l'UNIGE, soit au moyen d'OpenAthens.
Elle contient Medline, ainsi que plus de 3300 revues scientifiques
exclusivement couvertes par Embase. Parmi celles-ci se trouve bon nombre des
@ -226,6 +265,45 @@ configurer des alertes.
Des formations sont données par la bibliothèque sur Embase: \
<https://www.unige.ch/biblio/index.php?cID=1572>.
### Google Scholar
Google Scholar (<https://scholar.google.com>) est un moteur de recherche utile
pour trouver de la littérature scientifique. Il n'offre pas les mêmes
fonctionnalités de recherche avancée que Pubmed ou Embase, mais il permet
de trouver de la *littérature grise*, à savoir des rapports ou des bonnes
pratiques publiées par des hôpitaux ou des organisations internationales.
C'est un outil multidisciplinaire, aussi il peut être nécessaire de préciser
avec un concept supplémentaire que votre recherche concerne le domaine de la
santé.
Google Scholar offre depuis 2025 une interface permettant l'interrogation en
langage naturel: <https://scholar.google.com/scholar_labs/>. Il nécessite un
compte Google.
### Consensus
Consensus (<https://consensus.app>) est un outil de recherche basé sur
«l'intelligence artificielle», ou plus précisément sur des *modèles de
langage*. Comme le Google Scholar Labs, il permet des requêtes en langage
naturel. Ses recherches se font sur un corpus de publications scientifiques
(Semantic Scholar et des accords avec certains éditeurs).
En 2026, la Bibliothèque de l'UNIGE propose en test un accès à la version
«pro» de Consensus. Pour cela, il suffit de s'identifier avec une adresse
e-mail de l'UNIGE ou des HUG.
Ce genre d'outil est plus adapté à l'exploration d'un sujet qui n'est pas
encore maîtrisé et ne remplace pas une méthode rigoureuse de recherche dans
Pubmed, essentiellement pour deux raisons:
1. Le processus de sélection n'est ni transparent, ni reproductible.
1. La nature probabiliste du fonctionnement des modèles de langage ne permet
pas d'exclure la génération de texte erroné.
Ces critiques sont valables, à des degrés divers, pour tous les outils
utilisant des modèles de langage, y compris Google Scholar Labs.
<!-- références -->
[^1]: La version gratuite du compte Zotero met à disposition 300 Mo d'espace
@ -234,10 +312,10 @@ les *full texts* en PDF. De plus, pour augmenter l'espace disque à 2 Go (ce qui
est très confortable), le coût annuel n'est que de 20 USD. L'organisme qui
développe Zotero est à but non-lucratif.
[1]: ./static/by-sa.svg
[1]: ./static/images/by-sa.svg
[2]: https://creativecommons.org/licenses/by-sa/4.0/deed.fr "Texte de la licence en français"
[3]: https://git.milhit.ch/igor/strats-smpr
[4]: ./static/services-en-1-clic.png
[4]: ./static/images/services-en-1-clic.png
[5]: https://unige.ch/biblio/pubmed
[6]: https://www.revmed.ch/publier-dans-la-revue
[7]: https://www.ncbi.nlm.nih.gov/books/NBK7256/
@ -247,4 +325,6 @@ développe Zotero est à but non-lucratif.
[11]: https://docs.zotero-fr.org/quick_start_guide/
[12]: #pubmed
[13]: https://www.unige.ch/biblio/fr/infos/sites/cmu/information-membres-hug/commande-article
[14]: ./static/resolver.png
[14]: ./static/images/resolver-context.png
[15]: https://www.unige.ch/biblio/index.php/download_file/22303/
[16]: https://unige.ch/-/biblio/referencer-iag

View File

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

View File

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

Before

Width:  |  Height:  |  Size: 161 KiB

After

Width:  |  Height:  |  Size: 161 KiB

View File

@ -28,7 +28,7 @@
* bibliothèque de l'UNIGE. */
@top-right {
content: "";
background-image: url("static/bibliotheque-logo.svg");
background-image: url("images/bibliotheque-logo.svg");
background-position: right;
background-repeat: no-repeat;
background-size: 25%;
@ -85,7 +85,7 @@
margin: 2em auto 1em auto;
}
.logo img {
max-width: 50%;
max-width: 25%;
padding: .5em;
}
@ -95,12 +95,6 @@
margin: 4em 0;
}
.subtitle {
/* Remove H2 rules */
color: unset;
text-decoration: none;
}
.authors {
display: flex;
justify-content: center;
@ -202,6 +196,7 @@
figure img {
max-width: 85%;
margin: 0 auto;
max-height: 35vh;
}
figcaption {
text-align: center;
@ -213,13 +208,28 @@
content: "Figure " counter(figureNumber) ": ";
}
.exercise {
.exercise,
.warning {
background-color: #f2f1f1;
width: 90%;
margin: 0 auto;
border: 2px solid #d80669;
border-radius: .5em;
padding: 0 .5em;
padding: .5em;
display: flex;
align-items: center;
}
.exercice > p,
.warning > p {
margin: 0;
padding-left: .5em;
}
.exercice::before,
.warning::before {
content: "⚠️";
font-size: larger;
}
blockquote {

View File

@ -31,9 +31,9 @@ $endfor$
when they are unnecessary. -->
$if(noscript)$
$else$
<link href="/interface.css" rel="stylesheet" type="text/css" />
<script src="/paged.polyfill.js"></script>
<script src="/reload-in-place.js"></script>
<link href="$static$/interface.css" rel="stylesheet" type="text/css" />
<script src="$static$/paged.polyfill.js"></script>
<script src="$static$/reload-in-place.js"></script>
$endif$
$for(header-includes)$
$header-includes$
@ -50,7 +50,7 @@ $if(title)$
<header id="title-block-header">
<h1 class="title">$title$</h1>
$if(subtitle)$
<h2 class="subtitle">$subtitle$</h2>
<p class="subtitle">$subtitle$</p>
$endif$
$if(author)$
<div class="authors">