Skip to main content

Rédiger les textes Formations/Règlements

Nous rejoindre sur Discord

Objet : Écrire son texte en Markdown.

Nous avons amélioré la rédaction des règlements présents sur les sites principaux (/reglements) et la rédaction des livrets de formation présents sur les intranets (/formation). La rédaction de ces textes devait se faire en html et dans le fichier Twig directement. Depuis la version 2.2.0, la rédaction des textes se fera à l'intérieur de fichiers Markdown.

Le Markdown est un langage de balisage léger créé en 2004 par John Gruber avec l'aide d'Aaron Swartz. Il a été créé dans le but d'offrir une syntaxe facile à lire et à écrire. (Wikipédia)

Voici un lien pour savoir comment écrire en Markdown : https://guides.github.com/features/mastering-markdown/

Voici les éléments pris en compte dans la rédaction des textes :

  • Titre 1 : #Titre 1 => Anciennement : (<h1>Titre 1</h1>)
  • Titre 2 : ##Titre 2 => Anciennement : (<h2>Titre 2</h2>)
  • Titre 3 : ###Titre 3 => Anciennement : (<h3>Titre 3</h3>)
  • Image : ![decription](img) => Anciennement : (<img src="url" alt="description"/>)
  • Lien : [text affiché](lien) => Anciennement : (<a href="lien">text affiché</a>)

Explication de la structure des fichiers

Chaque site va posséder un nouveau répertoire nommé content dans ce répertoire, il y aura les fichiers Markdown (*.md) contenant les textes. Chaque répertoire possèdera également un fichier index.json permettant de gérer les fichiers Markdown.

index.jsjson pour les sites vitrines

Voici un exemple de fichier JSON pour les sites vitrines :

{
  "navigation": [
    {
      "nom": "Introduction",
      "identifiant": "introduction"
    },
    {
      "nom": "Equipement",
      "identifiant": "equipement"
    },
    	etc...
    {
      "nom": "Organisation",
      "identifiant": "organisation"
    }
  ],
  "contenu": [
    {
      "identifiant": "introduction",
      "fichier": "introduction.md"
    },
    {
      "identifiant": "equipement",
      "fichier": "equipement.md"
    },
    	etc...
    {
      "identifiant": "organisation",
      "fichier": "organisation.md"
    }
  ]
}

Navigation

Le champ navigation permet de mettre en forme l'onglet de navigation qui apparaît sur les sites dans la page des règlements. Ce champ se comporte comme un tableau, c'est-à-dire que le premier élément présent dans le tableau sera le premier élément présent dans le menu de navigation. Voici comment définir un lien dans la barre de navigation :

Vous devez ajouter la structure suivante dans la section navigation. Le champ nom représente le nom affiché dans la barre de navigation. La clé identifiant est un indicatif permettant de lier un titre à un texte. Il est très important que l'identifiant présent dans la partie navigation ait une correspondance dans la partie contenue (nous verrons ça plus tard).

À la fin de chaque Structure {}, ajoutez une , sauf pour le dernier élément de la liste

{
 "nom": "Nom qui apparait dans le menu",
 "identifiant": "identifiant rattaché au fichier markdown"
}

Contenu

Le champ contenu regroupe tous les fichiers Markdown utilisés pour la rédaction de la page. Chaque fichier contient un chapitre ou partie de la page. Comme pour la navigation, le premier élément présent dans le tableau contenu sera le premier élément affiché dans la page. Voici comment créer un chapitre dans la page.

Tout d'abord, vous devez rédiger le chapitre dans un fichier au format Markdown, exemple :

#Loi Miranda
*<<Vous avez le droit de garder le silence, si vous renoncez à ce droit, tout ce que vous direz pourra et sera retenu contre vous. Vous avez le droit à un avocat. Toutes vos communications vous ont été coupées, vous avez également le droit à des soins, à boire et à manger.>>*

*Avez-vous bien compris vos droits ?*

**Pour les règles logiques non évoquées veuillez faire preuve de bon sens.**

Une fois que vous avez rédigé le chapitre, renseigner le nom du fichier ainsi que l'identifiant auquel il est attribué (défini dans la section navigation). Vous devez ajouter la structure suivante dans la section contenu.

  • La clé identifiant est l'identifiant défini dans la partie navigation.
  • La clé fichier définit le nom du fichier présent dans le répertoire content.
  • La clé type permet d'appliquer une mise en page spécifique.

Si vous utilisez la même rédaction de votre loi Miranda que la nôtre cela peut être utile, dans le cas contraire, garder le type en normal.

À la fin de chaque Structure {}, ajoutez une , sauf pour le dernier élément de la liste

{
  "identifiant": "miranda",
  "fichier": "miranda.md",
  "type": "miranda" // Le format miranda est spécifique au miranda par défaut utilisé le type : normal
}

index.jsjson pour les intranets

La structure et le fonctionnement du fichier index.json pour les intranets COP et SECOURS est identique à celui des sites vitrines. Cependant, pour les intranets, il n'y a pas de champ type pour les structures de la section contenu.

{
  "navigation": [
    {
      "nom": "Introduction",
      "identifiant": "introduction"
    },
    	etc...
    {
      "nom": "Négociation",
      "identifiant": "negociation"
    }
  ],
  "contenu": [
    {
      "identifiant": "introduction",
      "fichier": "introduction.md"
    },
    	etc...
    {
      "identifiant": "negociation",
      "fichier": "negociation.md"
    }
  ]
}