---
title: "Knowledge"
description: "Articles et guides. Chaque application est un module sur un même modèle de données."
canonical: "https://obop-platform.sliplane.app/fr/apps/knowledge/"
lang: "fr"
---

# Knowledge

## À quoi elle sert

A wiki of articles arranged in a tree, with draft, published and archived states and tags. Visibility is a label: there are no row-level permissions yet, so everyone with access to the app reads every article.

## Ce que fait et ne fait pas le paquet

A wiki: articles arranged in a tree through a parent article, with a draft, published, archived flow, a visibility setting and tags. Visibility is a label for the UI and for people to respect; the platform has no row-level permissions yet, so everyone with the Knowledge groups can read every article.

## Modèles

### `knowledge_article`

An article of the knowledge base

Groupe de lecture: `knowledge.user`. Groupe d'écriture: `knowledge.user`.

| Champ | Type | Classe de données | Données personnelles | Groupe | Vu par les agents | Description |
|---|---|---|---|---|---|---|
| `title` | text | `none` | non | `knowledge.user` | en clair | Article title |
| `parent_id` | ref → knowledge_article | `none` | non | `knowledge.user` | en clair | The article this one is nested under; empty for a top-level article |
| `body` | longtext | `none` | non | `knowledge.user` | en clair | Article content (Markdown) |
| `visibility` | select (private, workspace, public) | `none` | non | `knowledge.user` | en clair | Who the article is meant for: private, workspace, public |
| `tags` | text | `none` | non | `knowledge.user` | en clair | Comma-separated tags, for example onboarding,hr |
| `author_name` | text | `public_directory` | oui | `knowledge.user` | masqué | Name of the author |
| `sequence` | number | `none` | non | `knowledge.user` | en clair | Order among its siblings, lowest first |
| `published_on` | date | `none` | non | `knowledge.user` | en clair | Day the article was published (YYYY-MM-DD) |
| `state` | select (draft, published, archived) | `none` | non | `knowledge.user` | en clair | Article status: draft, published, archived |

## Flux de travail

### `knowledge_article`

| Action | Transition | Qui peut l'exécuter | Approbation |
|---|---|---|---|
| `knowledge_article.publish` | state: draft → published | `knowledge.manager` | non |
| `knowledge_article.unpublish` | state: published → draft | `knowledge.manager` | non |
| `knowledge_article.archive` | state: published → archived | `knowledge.manager` | non |

## Groupes de permissions

Groupes utilisés par cette application :

- `knowledge.manager`
- `knowledge.user`

## Étapes d'approbation

Aucune étape de cette application ne requiert d'approbation, hormis la suppression d'enregistrements.

## Ce que les agents peuvent et ne peuvent pas faire

Un agent peut lire, rechercher, créer et modifier les enregistrements de cette application, et exécuter les actions qui ne requièrent pas d'approbation, dans les limites des groupes de permissions de son jeton.

Il ne peut que proposer ces étapes, qu'une personne doit approuver : `knowledge_article.delete`.

Les données personnelles sont masquées sous forme de jetons de substitution : `knowledge_article.author_name`.

## Dépendances

Aucune.

## Installation

Installez-la depuis l'application Customize (Place de marché), ou en ligne de commande :

```bash
obop modules install-from knowledge
```

Nécessite une base de données et des droits d'administrateur.

## Créer la vôtre

[Le guide des modules montre comment sont écrites les applications de ce type](/fr/docs/reference/module-manifest/)
