Skip to content

Commit

Permalink
+ ux and gen mermaid nav
Browse files Browse the repository at this point in the history
gllmAR committed Sep 16, 2024
1 parent fd209d3 commit f1f2997
Showing 10 changed files with 384 additions and 16 deletions.
230 changes: 230 additions & 0 deletions .run/30_generate_mermaid_nav.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,230 @@
#!/bin/bash

EXCLUDED_DIRS=(".git" "node_modules" "__pycache__" ".vscode")

# Get the current working directory (root of the project) and ensure it ends with a slash
ROOT_DIR=$(pwd)
ROOT_DIR="${ROOT_DIR%/}/"

# Function to extract the title from README.md
get_title_from_readme() {
local readme_path="$1"
local title
title=$(grep -m 1 "^# " "$readme_path" | sed 's/^# //')
echo "$title"
}

# Function to check if README.md contains the generateMermaidNav comment
contains_generate_mermaid_nav_comment() {
local readme_path="$1"
grep -q '<!-- generateMermaidNav -->' "$readme_path"
}

# Function to generate the Mermaid diagram content recursively
generate_mermaid_content() {
local parent_dir="$1"
local parent_id="$2"
local content_lines=()
local subdirs=()

# Remove trailing slash from parent_dir if any
parent_dir="${parent_dir%/}"

# Iterate over subdirectories
for subdir in "$parent_dir"/*/; do
if [[ -d "$subdir" ]]; then
# Remove trailing slash from subdir
subdir="${subdir%/}"

local base_dir
base_dir=$(basename "$subdir")

# Skip excluded directories
if [[ " ${EXCLUDED_DIRS[*]} " =~ " ${base_dir} " ]]; then
continue
fi

local subdir_readme="$subdir/README.md"
local subdir_title="$base_dir"

# Use title from README.md if available
if [[ -f "$subdir_readme" ]]; then
local title_from_readme
title_from_readme=$(get_title_from_readme "$subdir_readme")
if [[ -n "$title_from_readme" ]]; then
subdir_title="$title_from_readme"
fi
fi

# Get relative path from ROOT_DIR
local relative_subdir="${subdir#$ROOT_DIR}"
relative_subdir="${relative_subdir#/}" # Remove leading slash

# Generate a unique node ID based on relative path
local node_id
if [[ -z "$relative_subdir" ]]; then
node_id="root"
else
node_id=$(echo "$relative_subdir" | sed 's/[^a-zA-Z0-9]/_/g')
fi

# Construct the link path with /#/ prefix
local link_path="/#/$relative_subdir/"
# Ensure there are no double slashes
link_path=$(echo "$link_path" | sed 's#//*#/#g')

# Escape special characters in titles
subdir_title=$(echo "$subdir_title" | sed 's/"/\\"/g')

# Add the node definition with clickable link
content_lines+=(" $node_id[\"$subdir_title\"]")
content_lines+=(" click $node_id \"$link_path\"")

# Add the edge from parent to child if parent exists
if [[ -n "$parent_id" ]]; then
content_lines+=(" $parent_id --> $node_id")
fi

# Collect subdirectories for further processing
subdirs+=("$subdir:$node_id")
fi
done

# Process subdirectories recursively
for entry in "${subdirs[@]}"; do
IFS=':' read -r subdir child_id <<< "$entry"
sub_content=$(generate_mermaid_content "$subdir" "$child_id")
content_lines+=("$sub_content")
done

# Return the content lines
printf "%s\n" "${content_lines[@]}"
}

# Function to update README.md with the new Mermaid diagram content
update_readme_with_mermaid() {
local readme_path="$1"
local mermaid_content="$2"
local tmpfile=$(mktemp)
local in_section=0
local start_tag_found=0
local end_tag_found=0

while IFS= read -r line || [ -n "$line" ]; do
if [[ "$line" == *'<!-- generateMermaidNav -->'* ]]; then
echo "$line" >> "$tmpfile"
in_section=1
start_tag_found=1
# Write the mermaid content immediately after the start tag
echo '```mermaid' >> "$tmpfile"
echo "$mermaid_content" >> "$tmpfile"
echo '```' >> "$tmpfile"
elif [[ "$line" == *'<!-- generateMermaidNavEnd -->'* ]]; then
echo "$line" >> "$tmpfile"
in_section=0
end_tag_found=1
elif [[ $in_section -eq 0 ]]; then
echo "$line" >> "$tmpfile"
fi
# If in_section is 1 (between tags), skip the line
done < "$readme_path"

if [[ $start_tag_found -eq 1 && $end_tag_found -eq 0 ]]; then
# Add the end tag if it was missing
echo "<!-- generateMermaidNavEnd -->" >> "$tmpfile"
fi

if [[ $start_tag_found -eq 0 ]]; then
# Start tag not found; append the content at the end of tmpfile
{
echo -e "\n<!-- generateMermaidNav -->"
echo '```mermaid'
echo "$mermaid_content"
echo '```'
echo "<!-- generateMermaidNavEnd -->"
} >> "$tmpfile"
fi

# Replace the original file with the updated content
mv "$tmpfile" "$readme_path"
}

# Function to generate Mermaid diagram in README.md
generate_mermaid_in_readme() {
local dir_path="$1"
local readme_path="$dir_path/README.md"

# Get relative path from ROOT_DIR
local relative_dir="${dir_path#$ROOT_DIR}"
relative_dir="${relative_dir#/}" # Remove leading slash

# Generate the root node ID
local root_id
if [[ -z "$relative_dir" ]]; then
root_id="root"
else
root_id=$(echo "$relative_dir" | sed 's/[^a-zA-Z0-9]/_/g')
fi

local title
title=$(get_title_from_readme "$readme_path")
if [[ -z "$title" ]]; then
title=$(basename "$dir_path")
fi
title=$(echo "$title" | sed 's/"/\\"/g')

# Start the Mermaid content as an array
local mermaid_lines=()
mermaid_lines+=("flowchart LR")
mermaid_lines+=(" $root_id[\"$title\"]")

# Generate the rest of the content
local sub_content
sub_content=$(generate_mermaid_content "$dir_path" "$root_id")
if [[ -n "$sub_content" ]]; then
mermaid_lines+=("$sub_content")
fi

# Combine the lines into a single string
local mermaid_content
mermaid_content=$(printf "%s\n" "${mermaid_lines[@]}")

# Update the README.md with the new mermaid content
update_readme_with_mermaid "$readme_path" "$mermaid_content"
}

# Function to walk through directories and generate the mermaid content
generate_mermaid_nav() {
local dir_path="$1"

# Remove trailing slash from dir_path if any
dir_path="${dir_path%/}"

# Check for README.md in the current directory
if [[ -f "$dir_path/README.md" ]]; then
# Check if README.md contains the generateMermaidNav comment
if contains_generate_mermaid_nav_comment "$dir_path/README.md"; then
generate_mermaid_in_readme "$dir_path"
fi
else
echo "Skipped directory (no README.md): $dir_path"
fi

# Recurse into subdirectories, avoiding excluded directories
for subdir in "$dir_path"/*/; do
# Ensure subdir is a directory
if [[ -d "$subdir" ]]; then
# Remove trailing slash from subdir
subdir="${subdir%/}"

local base_dir
base_dir=$(basename "$subdir")
if [[ ! " ${EXCLUDED_DIRS[*]} " =~ " ${base_dir} " ]]; then
generate_mermaid_nav "$subdir"
fi
fi
done
}

# Start from the root directory
generate_mermaid_nav "$ROOT_DIR"
3 changes: 2 additions & 1 deletion _sidebar.md
Original file line number Diff line number Diff line change
@@ -19,7 +19,8 @@
* [Scénario](/contenus/2_scenarisation/20_scenario/)
* [Scénario cinématographique](/contenus/2_scenarisation/20_scenario/10_cinema/)
* [Scénario interactif](/contenus/2_scenarisation/20_scenario/20_interactif/)
* [Le narratif dans l'interactif](/contenus/2_scenarisation/20_scenario/30_narratif/)
* [La trame narrative](/contenus/2_scenarisation/20_scenario/30_narratif/)
* [Expérience Utilisateur (UX)](/contenus/2_scenarisation/20_scenario/40_ux/)
* [Ambiances](/contenus/2_scenarisation/30_ambiances/)
* [Technologies](/contenus/2_scenarisation/40_technologie/)
* [Outils](/contenus/2_scenarisation/90_outils/)
17 changes: 11 additions & 6 deletions contenus/2_scenarisation/20_scenario/20_interactif/README.md
Original file line number Diff line number Diff line change
@@ -6,6 +6,10 @@ La scénarisation de l'expérience interactive est une étape fondamentale dans

La schématisation dans le contexte de la scénarisation interactive est le processus de représentation visuelle des différents éléments, étapes, et interactions d'une expérience interactive ou d'un scénario. Elle permet de structurer et d'organiser les idées de manière claire et compréhensible, facilitant ainsi la planification, le développement, et la communication du projet.

Des outils de création de diagram tel que le language [Mermaid](../../90_outils/80_mermaid/) ou le logiciel [Draw.io](../../90_outils/81_drawio/) peuvent aider à schématiser un scénario interactif.

## Exemples

### Applications Mobiles

```mermaid
@@ -145,7 +149,7 @@ graph TD;
K --> A;
```

Proposant des contenus éducatifs interactifs qui s'adaptent aux actions de l'utilisateur.
Proposer des contenus éducatifs interactifs qui s'adaptent aux actions de l'utilisateur.

### Experience multimédia

@@ -185,7 +189,6 @@ graph TD;

### Installations Multimédias

Présentes dans les musées, expositions ou événements, offrant des expériences immersives.

```mermaid
graph TD;
@@ -204,7 +207,8 @@ graph TD;
H -->|Oui| I[Retour à veille];
H -->|Non| C;
Installation interactive présenté dans un musées, une exposition ou des événement.
```

### Réalité Virtuelle (VR)
@@ -235,6 +239,7 @@ graph TD;
L --> C;
M --> E;
Une expérience de réalité virtuelle avec des choix et des embranchements.
```

@@ -262,7 +267,7 @@ graph TD;
```

Créant des environnements immersifs nécessitant une interaction en temps réel.
Une expérience de réalité augmentée créant des environnements via une interactivité temps réelle.

### Publicités Interactives

@@ -289,7 +294,7 @@ graph TD;
```

Permettant à l'utilisateur d'interagir pour découvrir davantage un produit ou un service.
Permet à l'utilisateur d'interagir pour découvrir davantage un produit ou un service.

### Livres numériques interactifs

@@ -323,7 +328,7 @@ graph TD;
```

Enrichis de médias et d'interactions pour une lecture plus engageante.
Expérience littéraire enrichis de médias et d'interactions pour une lecture plus engageante.



4 changes: 2 additions & 2 deletions contenus/2_scenarisation/20_scenario/30_narratif/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Le narratif dans l'interactif
# La trame narrative

Le scénario narratif joue un rôle clé dans la scénarisation d’une installation interactive, car il définit l’arc narratif et l’expérience vécue par l’utilisateur. Contrairement aux formes narratives traditionnelles (comme le cinéma ou le théâtre), le scénario narratif d'une installation interactive doit non seulement raconter une histoire, mais aussi intégrer des éléments d'interaction, permettant à l'utilisateur de devenir un acteur au sein de cette histoire.
La trame narrative joue un rôle clé dans la scénarisation d’une installation interactive, car elle définit l’arc narratif et l’expérience vécue par l’utilisateur. Contrairement aux formes narratives traditionnelles (comme le cinéma ou le théâtre), le scénario narratif d'une installation interactive doit non seulement raconter une histoire, mais aussi intégrer des éléments d'interaction, permettant à l'utilisateur de devenir un acteur au sein de cette histoire.

## Définir le scénario narratif

76 changes: 76 additions & 0 deletions contenus/2_scenarisation/20_scenario/40_ux/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Expérience Utilisateur (UX)


Offrent aux spectateurs une expérience immersive où l'interaction devient un moyen d'expression artistique à part entière.
L'expérience utilisateur (UX) est essentielle pour concevoir des installations qui non seulement captivent le public, mais qui enrichissent également l'engagement émotionnel et intellectuel.

## L'Importance de l'expérience utilisateur dans l'art interactif

Dans une installation artistique interactive, l'UX va au-delà de la simple facilité d'utilisation. Elle englobe la manière dont le public perçoit, ressent et interprète l'œuvre. Une bonne UX permet de créer une connexion profonde entre l'installation et le spectateur, transformant l'expérience en une exploration personnelle et significative. Elle influence la manière dont l'art est vécu, compris et apprécié.

## Principes de l'UX appliqués à la conception artistique

### 1. Compréhension profonde du public

- **Empathie artistique**: Comprendre les attentes, les émotions et les perspectives du public cible pour créer une œuvre qui résonne avec lui.
- **Personas culturels**: Développer des profils types de visiteurs pour guider la conception et anticiper les interactions.

### 2. Création d'une narration immersive

- **Storytelling Visuel**: Utiliser des éléments visuels pour raconter une histoire ou transmettre un message puissant.
- **Parcours Expérientiel**: Concevoir le cheminement du spectateur à travers l'installation comme une aventure sensorielle.

### 3. Interactivité significative

- **Engagement Actif**: Encourager le public à interagir de manière tangible avec l'œuvre, influençant son apparence ou son comportement.
- **Réponse Dynamique**: Assurer que l'installation réagit de manière immédiate et pertinente aux actions du spectateur.

### 4. Expérience multisensorielle

- **Stimuli Sensoriels**: Intégrer des éléments sonores, visuels, tactiles, voire olfactifs pour enrichir l'expérience.
- **Atmosphère Enveloppante**: Utiliser l'éclairage, la musique et la spatialisation pour créer une ambiance immersive.

### 5. Accessibilité et inclusion artistique

- **Art pour tous**: Concevoir des installations accessibles aux personnes de tous âges et capacités, y compris celles en situation de handicap.
- **Diversité culturelle**: Prendre en compte les différentes perspectives culturelles pour élargir l'impact de l'œuvre.

## Intégration de l'UX dans le processus de conception artistique

1. **Phase de conceptualisation**

- **Recherche créative**: Explorer des concepts artistiques tout en gardant à l'esprit l'interaction utilisateur.
- **Esquisses et maquettes**: Visualiser l'installation et planifier les points d'interaction clés.

2. **Phase de développement**

- **Prototypage artistique**: Créer des modèles fonctionnels pour tester les interactions et l'impact esthétique.
- **Feedback du public**: Organiser des séances de prévisualisation pour recueillir les impressions et affiner l'œuvre.

3. **Phase d'installation**

- **Mise en scène**: Disposer l'installation dans l'espace d'exposition de manière optimale pour l'expérience utilisateur.
- **Adaptabilité**: Être prêt à ajuster l'installation en fonction des contraintes spatiales et des réactions du public.

## Études de Cas



### **Pulse Room** par Rafael Lozano-Hemmer

Une salle remplie d'ampoules qui clignotent au rythme du cœur des participants, capturé par des capteurs. Cette œuvre transforme les données biométriques en une expérience visuelle collective.

## Conclusion

En intégrant les principes de l'expérience utilisateur dans la conception d'installations multimédias interactives artistiques, les artistes peuvent créer des œuvres qui engagent profondément le public. Cela permet non seulement d'enrichir l'expérience esthétique, mais aussi de faciliter une interaction significative entre l'œuvre et le spectateur. L'UX devient ainsi un outil puissant pour repousser les limites de l'art et explorer de nouvelles formes d'expression.

## Ressources Supplémentaires

- **Livres**
- *"Interactive Art and Embodiment: The Implicit Body as Performance"* par Nathaniel Stern
- *"Digital Performance: A History of New Media in Theater, Dance, Performance Art, and Installation"* par Steve Dixon

- **Sites Web**
- [Ars Electronica](https://ars.electronica.art/news/en/)
- [Electra](https://www.elektramontreal.ca/)
- [MUTEK](https://mutek.org/)
3 changes: 2 additions & 1 deletion contenus/2_scenarisation/20_scenario/README.md
Original file line number Diff line number Diff line change
@@ -3,5 +3,6 @@
<!-- generateSubNav -->
* [Scénario cinématographique](/contenus/2_scenarisation/20_scenario/10_cinema/)
* [Scénario interactif](/contenus/2_scenarisation/20_scenario/20_interactif/)
* [Le narratif dans l'interactif](/contenus/2_scenarisation/20_scenario/30_narratif/)
* [La trame narrative](/contenus/2_scenarisation/20_scenario/30_narratif/)
* [Expérience Utilisateur (UX)](/contenus/2_scenarisation/20_scenario/40_ux/)
<!-- generateSubNavEnd -->
2 changes: 1 addition & 1 deletion contenus/2_scenarisation/30_ambiances/README.md
Original file line number Diff line number Diff line change
@@ -62,5 +62,5 @@ Imaginons une installation immersive où les visiteurs interagissent avec des pr
- Une palette de couleurs dans des tons froids et des néons pour représenter l’éclairage.
- Des vidéos de précédentes installations qui intègrent l’interaction via des capteurs de mouvement.

#### Conclusion
#### Récapitulatif
La planche d'ambiancesest un élément clé dans la **scénarisation d'une installation multimédia interactive**. En consolidant des idées esthétiques et techniques, elle joue un rôle central pour harmoniser la vision du projet, faciliter la communication, et garantir une expérience utilisateur cohérente. Son rôle ne se limite pas à l'inspiration ; il s’étend à la conception pratique et au prototypage, où elle aide à maintenir la ligne directrice artistique tout au long du processus de développement.
7 changes: 4 additions & 3 deletions contenus/2_scenarisation/40_technologie/README.md
Original file line number Diff line number Diff line change
@@ -108,7 +108,7 @@ Utilisés pour des tâches spécifiques de calcul en temps réel, comme le contr

### Diffusion

Les systèmes d'affichage sont utilisés pour diffuser les médias (vidéo, son, lumière) et créer une expérience immersive.
Les systèmes d'affichage et de sonorisation sont utilisés pour diffuser les médias (vidéo, son, lumière) et créer une expérience immersive.

#### Vidéo

@@ -133,7 +133,7 @@ Utilisés pour diffuser du son, de la musique, ou des vibrations.

Permettent de créer des environnements lumineux dynamiques.

* Systèmes d'éclairage DMX
* Systèmes d'éclairage DMX
* LEDs adressables

## Logiciel
@@ -150,6 +150,7 @@ Utilisés pour développer des expériences interactives où les actions des uti
* MAX/MSP
* Pure Data
* Unreal Engine
* Blender

#### Systèmes de contrôle d’éclairage

@@ -196,6 +197,6 @@ Le son peut être dynamique et réagir aux mouvements des utilisateurs dans l’

Les logiciels comme **TouchDesigner** ou **MAX/MSP** permettent de générer du contenu sonore ou visuel en temps réel, réagissant de manière unique à chaque interaction utilisateur.

## Conclusion
## Récapitulatif

L'intégration efficace des composants matériels et logiciels est essentielle pour la création d'expériences multimédias interactives engageantes. Chaque élément technologique joue un rôle clé dans la fluidité des interactions entre les utilisateurs et l’installation, rendant l'expérience immersive, intuitive et captivante.
55 changes: 54 additions & 1 deletion contenus/2_scenarisation/README.md
Original file line number Diff line number Diff line change
@@ -8,10 +8,63 @@
* [Scénario](/contenus/2_scenarisation/20_scenario/)
* [Scénario cinématographique](/contenus/2_scenarisation/20_scenario/10_cinema/)
* [Scénario interactif](/contenus/2_scenarisation/20_scenario/20_interactif/)
* [Le narratif dans l'interactif](/contenus/2_scenarisation/20_scenario/30_narratif/)
* [La trame narrative](/contenus/2_scenarisation/20_scenario/30_narratif/)
* [Expérience Utilisateur (UX)](/contenus/2_scenarisation/20_scenario/40_ux/)
* [Ambiances](/contenus/2_scenarisation/30_ambiances/)
* [Technologies](/contenus/2_scenarisation/40_technologie/)
* [Outils](/contenus/2_scenarisation/90_outils/)
* [Mermaid](/contenus/2_scenarisation/90_outils/80_mermaid/)
* [Draw.io](/contenus/2_scenarisation/90_outils/81_drawio/)
<!-- generateSubNavEnd -->


<!-- generateMermaidNav -->
```mermaid
flowchart LR
contenus_2_scenarisation["Scénariser"]
contenus_2_scenarisation_10_idee["Idée"]
click contenus_2_scenarisation_10_idee "/#/contenus/2_scenarisation/10_idee/"
contenus_2_scenarisation --> contenus_2_scenarisation_10_idee
contenus_2_scenarisation_20_scenario["Scénario"]
click contenus_2_scenarisation_20_scenario "/#/contenus/2_scenarisation/20_scenario/"
contenus_2_scenarisation --> contenus_2_scenarisation_20_scenario
contenus_2_scenarisation_30_ambiances["Ambiances"]
click contenus_2_scenarisation_30_ambiances "/#/contenus/2_scenarisation/30_ambiances/"
contenus_2_scenarisation --> contenus_2_scenarisation_30_ambiances
contenus_2_scenarisation_40_technologie["Technologies"]
click contenus_2_scenarisation_40_technologie "/#/contenus/2_scenarisation/40_technologie/"
contenus_2_scenarisation --> contenus_2_scenarisation_40_technologie
contenus_2_scenarisation_90_outils["Outils"]
click contenus_2_scenarisation_90_outils "/#/contenus/2_scenarisation/90_outils/"
contenus_2_scenarisation --> contenus_2_scenarisation_90_outils
contenus_2_scenarisation_10_idee_10_concept["Communiquer une idée"]
click contenus_2_scenarisation_10_idee_10_concept "/#/contenus/2_scenarisation/10_idee/10_concept/"
contenus_2_scenarisation_10_idee --> contenus_2_scenarisation_10_idee_10_concept
contenus_2_scenarisation_10_idee_20_objectifs["Objectifs"]
click contenus_2_scenarisation_10_idee_20_objectifs "/#/contenus/2_scenarisation/10_idee/20_objectifs/"
contenus_2_scenarisation_10_idee --> contenus_2_scenarisation_10_idee_20_objectifs
contenus_2_scenarisation_10_idee_30_motivations["Motivations"]
click contenus_2_scenarisation_10_idee_30_motivations "/#/contenus/2_scenarisation/10_idee/30_motivations/"
contenus_2_scenarisation_10_idee --> contenus_2_scenarisation_10_idee_30_motivations
contenus_2_scenarisation_20_scenario_10_cinema["Scénario cinématographique"]
click contenus_2_scenarisation_20_scenario_10_cinema "/#/contenus/2_scenarisation/20_scenario/10_cinema/"
contenus_2_scenarisation_20_scenario --> contenus_2_scenarisation_20_scenario_10_cinema
contenus_2_scenarisation_20_scenario_20_interactif["Scénario interactif"]
click contenus_2_scenarisation_20_scenario_20_interactif "/#/contenus/2_scenarisation/20_scenario/20_interactif/"
contenus_2_scenarisation_20_scenario --> contenus_2_scenarisation_20_scenario_20_interactif
contenus_2_scenarisation_20_scenario_30_narratif["La trame narrative"]
click contenus_2_scenarisation_20_scenario_30_narratif "/#/contenus/2_scenarisation/20_scenario/30_narratif/"
contenus_2_scenarisation_20_scenario --> contenus_2_scenarisation_20_scenario_30_narratif
contenus_2_scenarisation_20_scenario_40_ux["Expérience Utilisateur (UX)"]
click contenus_2_scenarisation_20_scenario_40_ux "/#/contenus/2_scenarisation/20_scenario/40_ux/"
contenus_2_scenarisation_20_scenario --> contenus_2_scenarisation_20_scenario_40_ux
contenus_2_scenarisation_90_outils_80_mermaid["Mermaid"]
click contenus_2_scenarisation_90_outils_80_mermaid "/#/contenus/2_scenarisation/90_outils/80_mermaid/"
contenus_2_scenarisation_90_outils --> contenus_2_scenarisation_90_outils_80_mermaid
contenus_2_scenarisation_90_outils_81_drawio["Draw.io"]
click contenus_2_scenarisation_90_outils_81_drawio "/#/contenus/2_scenarisation/90_outils/81_drawio/"
contenus_2_scenarisation_90_outils --> contenus_2_scenarisation_90_outils_81_drawio
```
<!-- generateMermaidNavEnd -->
3 changes: 2 additions & 1 deletion contenus/README.md
Original file line number Diff line number Diff line change
@@ -16,7 +16,8 @@
* [Scénario](/contenus/2_scenarisation/20_scenario/)
* [Scénario cinématographique](/contenus/2_scenarisation/20_scenario/10_cinema/)
* [Scénario interactif](/contenus/2_scenarisation/20_scenario/20_interactif/)
* [Le narratif dans l'interactif](/contenus/2_scenarisation/20_scenario/30_narratif/)
* [La trame narrative](/contenus/2_scenarisation/20_scenario/30_narratif/)
* [Expérience Utilisateur (UX)](/contenus/2_scenarisation/20_scenario/40_ux/)
* [Ambiances](/contenus/2_scenarisation/30_ambiances/)
* [Technologies](/contenus/2_scenarisation/40_technologie/)
* [Outils](/contenus/2_scenarisation/90_outils/)

0 comments on commit f1f2997

Please sign in to comment.