Skip to content

Commit 460a95e

Browse files
committed
update dev_nouvel_ig
1 parent 8749153 commit 460a95e

File tree

2 files changed

+23
-59
lines changed

2 files changed

+23
-59
lines changed

input/pagecontent/dev_nouvel_ig.md

Lines changed: 23 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,8 @@
1-
### Mise en place du repo GitHub
1+
### Création d'un nouveau projet
22

3-
Prérequis : suivre la [documentation](https://ansforge.github.io/Documentation) pour créer un compte GitHub et l'associer à l'organisation ANS.
3+
Dans le cas de la création d'un nouveau projet , il faut créer un répertoire GitHub ([cf documentation](./github.html)) en utilisant le template ansforge/IG-modele et paramétrer l'IG.
44

5-
Ce nouveau projet doit utiliser le GitHub template ansforge/IG-modele et doit respecter la convention de nommage indiquée dans la [documentation de création des
6-
répetoires GitHub](https://ansforge.github.io/Documentation/pages/docs/creationprojet.html) tout en étant préfixé par "IG-..." (Exemple : IG-fhir-partage-de-documents-de-sante).
7-
En cas de doute, l'équipe interopérabilité de l'ANS se tient disponible pour avis.
8-
9-
Une fois l'IG créé, il est nécessaire de le personnaliser pour le projet dédié.
10-
11-
### Paramétrage de l'IG
5+
#### Paramétrage de l'IG
126

137
Lors de la création d'un IG, il y a une première phase de paramétrage à effectuer. Il faut remplir:
148

@@ -23,14 +17,14 @@ Lors de la création d'un IG, il y a une première phase de paramétrage à effe
2317

2418
Il faudra également mettre à jour le fichier readme.md à la racine du repository.
2519

26-
### Paramétrage du menu de navigation de l'IG
20+
##### Paramétrage du menu de navigation de l'IG
2721

2822
Une des plus importantes parties de l'IG est la documentation narrative, celle-ci est écrite en [kramdown](https://kramdown.gettalong.org/).
2923
Ces pages sont à ajouter dans input/pagecontent avec l'extension .md. A noter que ces pages doivent être directement contenues dans le dossier pagecontent et ne peuvent pas avoir d'arborescence de dossiers.
3024

3125
Une fois une page créée et rédigée, pour l'ajouter au menu, il faut éditer le fichier sushi-config.yaml. Celui-ci contient deux parties : la partie pages et la partie menu
3226

33-
#### La partie pages
27+
###### La partie pages
3428

3529
La partie pages est optionnelle, mais elle permet de donner un titre aux pages (par défaut, c'est le nom du fichier qui est utilisé). A noter, il faut utiliser l'extension .md ici.
3630

@@ -46,7 +40,7 @@ pages:
4640
title: Ajout d'un lot de documents
4741
```
4842
49-
#### La partie menu
43+
###### La partie menu
5044
5145
La partie menu permet de définir le menu de navigation dans le header. A noter, il faut utiliser l'extension .html.
5246
@@ -62,23 +56,23 @@ menu:
6256
Spécifications fonctionnelles:
6357
```
6458
65-
### Développement de l'IG
66-
67-
Le développement de l'IG se fait essentiellement dans le dossier [input](https://build.fhir.org/ig/FHIR/ig-guidance/using-templates.html#igroot-input).
68-
6959
Lien vers quelques exemples :
7060
[https://github.com/HL7/US-Core/blob/master/sushi-config.yaml]
7161
[https://github.com/ansforge/FIG_ans-ig-PDSm/blob/main/sushi-config.yaml]
7262
63+
### Développement de l'IG
64+
65+
Le développement de l'IG se fait essentiellement dans le dossier [input](https://build.fhir.org/ig/FHIR/ig-guidance/using-templates.html#igroot-input). Celui-ci contient les pages kramdown ainsi que les artéfacts FHIR (profils, exemples, terminologies, ...)
66+
7367
### Installer les dépendances
7468
75-
### Windows
69+
#### Windows
7670
7771
Prérequis :
7872
7973
* Avoir les droits administrateur
8074
81-
#### Etape 1. Installer VS CODE et les plugins
75+
##### Etape 1. Installer VS CODE et les plugins
8276
8377
https://code.visualstudio.com/
8478
@@ -91,24 +85,24 @@ https://code.visualstudio.com/
9185
1. Lancer VS Code
9286
2. Aller dans le menu extension (les 4 carrés dont un qui se décolle à gauche), chercher et installer "FHIR Shorthand"
9387
94-
#### Etape 2. Installer NodeJS
88+
##### Etape 2. Installer NodeJS
9589
9690
[https://nodejs.org/en/]
9791
9892
La case "Automatically install the necessary tools" peut être cochée.
9993
100-
#### Etape 3. Installer SUSHI
94+
##### Etape 3. Installer SUSHI
10195
10296
1. Lancer l'invite de commande (windows > "invite de commande")
10397
2. Ecrire et lancer la commande `npm install -g fsh-sushi`
10498

105-
#### Etape 4. Installer les dépendances de l'IG Publisher
99+
##### Etape 4. Installer les dépendances de l'IG Publisher
106100

107101
* JAVA JDK: https://www.oracle.com/fr/java/technologies/downloads/#jdk19-windows (installer, au format .exe)
108102
* Ruby: https://rubyinstaller.org/downloads (with devkit). Installer le "MSYS2 base installation".
109103
* Jekyll et bundler: lancer l'invite de commande en mode administrateur et lancer la commande `gem install jekyll bundler`
110104

111-
#### Etape 5. Lancer l'IG Publisher
105+
##### Etape 5. Lancer l'IG Publisher
112106

113107
Télécharger le repository [ansforge/FIG_ans-ig-sample](https://github.com/ansforge/FIG_ans-ig-sample) : code > download zip.
114108
Décompresser le dossier, et le mettre dans un chemin où il n'y a pas d'espace (exemple : C:\Users\nriss\Documents).
@@ -125,11 +119,11 @@ Vous pouvez maintenant commencer à développer votre implementation guide ! :)
125119
* Documentation vers FSH : https://build.fhir.org/ig/HL7/fhir-shorthand/reference.html
126120
* Documentation sur l'IG Publisher : https://confluence.hl7.org/pages/viewpage.action?pageId=35718627#IGPublisherDocumentation-QuickStart
127121

128-
### MAC / Linux
122+
#### MAC / Linux
129123

130-
#### Prérequis : NodeJS, Java, Ruby et Jekyll
124+
##### Prérequis : NodeJS, Java, Ruby et Jekyll
131125

132-
##### NodeJS
126+
###### NodeJS
133127

134128
Pour installer [NodeJS](https://nodejs.org/), vous pouvez suivre la documentation d'installation officielle.
135129

@@ -141,7 +135,7 @@ sudo apt install nodejs
141135

142136
Il est aussi possible de l'installer via [`nvm` (Node Version Manager)](https://github.com/nvm-sh/nvm), qui vous permettra de changer de version de NodeJS en fonction des requis de vos projets.
143137

144-
##### Java
138+
###### Java
145139

146140
Pour installer Java, vous pouvez vous tourner vers le [JDK officiel sur la page d'Oracle](https://www.oracle.com/fr/java/technologies/downloads/). Vous y trouverez un `.deb` ou un `.rpm` à installer facilement sur votre distribution.
147141
Vous pouvez aussi utiliser [`openjdk`](https://openjdk.org/) pour une implémentation open-source de la plateforme Java.
@@ -150,7 +144,7 @@ Vous pouvez aussi utiliser [`openjdk`](https://openjdk.org/) pour une implément
150144
sudo apt install openjdk-17-jre
151145
```
152146

153-
##### Ruby et Jekyll
147+
###### Ruby et Jekyll
154148

155149
Pour installer Ruby sur une distribution Linux basée sur Debian, vous pouvez le faire via votre package-manager :
156150

@@ -174,7 +168,7 @@ Vous trouverez davantage d'informations sur le [confluence d'hl7](https://conflu
174168

175169
Des difficultés pour installer ruby et jekyll peuvent survenir sur mac M1, M2 : lancer le [terminal avec rosetta](https://apple.stackexchange.com/questions/428768/on-apple-m1-with-rosetta-how-to-open-entire-terminal-iterm-in-x86-64-architec) et suivre [cette procédure](https://github.com/jekyll/jekyll/issues/8576#issuecomment-798080994) permet de régler les problèmes.
176170

177-
#### Installer SUSHI
171+
##### Installer SUSHI
178172

179173
Sushi permet de convertir la [grammaire FSH](https://build.fhir.org/ig/HL7/fhir-shorthand/) pour générer des profils, extensions (StructureDefinition) et des exemples / instances FHIR. La prise en main est relativement facile lorsque l'on connaît bien FHIR.
180174
Sushi est développé en JavaScript sous forme de module npm.
@@ -185,7 +179,7 @@ npm install -g fsh-sushi
185179

186180
Pour information, [GoFSH](https://github.com/FHIR/GoFSH) permet de faire la transformation inverse : transformer une StructureDefinition au format FSH.
187181

188-
#### Générer l'IG
182+
##### Générer l'IG
189183

190184
```bash
191185
bash _updatePublisher.sh # Mise à jour du publisher java

input/pagecontent/index.md

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -44,33 +44,3 @@ Un lien est également disponible sous chaque guide d'implémentation pour accé
4444
<img width="100%" alt="image" src="new_issue.png">
4545

4646
L'issue doit contenir un titre, et une description la plus détaillée possible avec idéalement une proposition de changement pour faciliter et améliorer la qualité des modifications apportées.
47-
48-
### Les outils utilisés dans ce guide
49-
50-
#### FSH
51-
52-
FSH est la grammaire de définition des ressources FHIR (instance, StructureDefinition, SearchParameter, CapabilityStatement, ImplementationGuide, ...)
53-
54-
#### SUSHI
55-
56-
Sushi est le logiciel permettant de générer les ressources au format json ou xml à partir de la grammaire FSH.
57-
Il est disponible en ligne sur [le site FSHSchool](https://fshschool.org/) ou en [invite de commande](https://www.npmjs.com/package/fsh-sushi)
58-
59-
Par défaut, sushi ne génère que les differential. Pour générer les snapshots, il faut utiliser l'option `sushi -s .`
60-
61-
#### GOFSH
62-
63-
GoFSH permet de faire la transformation inverse StructureDefinition --> FSH. Il permet de faciliter la prise en main et la conversion d'anciens projets json dans la syntaxe FSH.
64-
De la même manière qu'FSH, GoFSH est également disponible en ligne sur [le site FSHSchool](https://fshschool.org/) ou en [invite de commande](https://www.npmjs.com/package/gofsh)
65-
66-
Par défaut, GoFSH ne traite que les fichiers json. Il va falloir rajouter l'option `goFSH -t json-and-xml .` pour traiter les deux.
67-
68-
A noter, la fonction fshing-trip lancée avec la commande `gofsh --fshing-trip` permet de lancer goFSH puis sushi et de générer une comparaison entre le json initial et le json généré avec sushi visualisable sous la forme d'une page html.
69-
70-
#### IG Publisher
71-
72-
L'IG publisher est l'outil permettant de générer les pages web de l'implementation guide (usage de jekyll, java, ...).
73-
Il prend en entrée une arborescence de dossiers / fichiers bien définis, contenant : des pages en markdown, des fichiers fsh, des ressources FHIR au format json ou xml, des images...
74-
75-
Vous pouvez vous référer à [la documentation officielle de l'IG publisher](https://confluence.hl7.org/display/FHIR/IG+Publisher+Documentation).
76-

0 commit comments

Comments
 (0)