Skip to content

Commit

Permalink
+ contenus
Browse files Browse the repository at this point in the history
  • Loading branch information
gllmAR committed Sep 18, 2024
1 parent 18c691c commit 3a656db
Show file tree
Hide file tree
Showing 14 changed files with 294 additions and 72 deletions.
155 changes: 118 additions & 37 deletions .run/20_generate_subnav.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,29 +16,32 @@ get_title_from_readme() {
# Function to check if README.md contains the generateSubNav comment
contains_generate_subnav_comment() {
local readme_path="$1"
grep -q "<!-- generateSubNav -->" "$readme_path"
grep -q '<!-- generateSubNav -->' "$readme_path"
}

# Function to generate README.md in subfolders
generate_readme_in_subfolders() {
# Function to generate the subnavigation content recursively
generate_subnav_content() {
local parent_dir="$1"
local readme_path="$parent_dir/README.md"

# Extract title from the current README.md
local title
title=$(get_title_from_readme "$readme_path")
if [[ -z "$title" ]]; then
title=$(basename "$parent_dir")
fi
local indent_level="$2"
local content_lines=()

# Start building the new README.md content
local new_content="# $title\n\n<!-- generateSubNav -->\n\n"
# Remove trailing slash from parent_dir if any
parent_dir="${parent_dir%/}"

# Iterate over subdirectories and add links to each
# 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

Expand All @@ -50,36 +53,115 @@ generate_readme_in_subfolders() {
subdir_title="$base_dir"
fi

# Clean up paths to avoid double slashes
local clean_parent_dir="${parent_dir%/}"
local clean_base_dir="${base_dir%/}"

# Combine paths and ensure no double slashes
local absolute_path="$clean_parent_dir/$clean_base_dir/README.md"
absolute_path="/${absolute_path#"$ROOT_DIR/"}" # Remove root directory and ensure no leading //

# Replace any instances of double slashes (except the leading slash)
absolute_path=$(echo "$absolute_path" | sed 's|//|/|g')
# Get relative path from ROOT_DIR
local relative_path="${subdir#$ROOT_DIR/}" # Remove ROOT_DIR and following slash
relative_path="${relative_path#/}" # Remove any leading slash
relative_path="${relative_path%/}" # Remove any trailing slash

# Build the link
local link
if [[ -n "$relative_path" ]]; then
link="/${relative_path}/"
else
link="/"
fi

new_content+="* [$subdir_title]($absolute_path)\n"
echo "Generated link for $absolute_path with title '$subdir_title'"
else
echo "Skipped directory (no README.md): $subdir"
# Build the line with proper indentation
local indent=""
for ((i=0; i<indent_level; i++)); do
indent+=" " # 4 spaces
done
content_lines+=("${indent}* [${subdir_title}](${link})")

# Recurse into subdirectories
local sub_content
sub_content=$(generate_subnav_content "$subdir" $((indent_level + 1)))
if [[ -n "$sub_content" ]]; then
content_lines+=("$sub_content")
fi
fi
fi
done

# Write the new content back to the README.md
echo -e "$new_content" > "$readme_path"
# Join the content lines with newlines
local content=$(printf "%s\n" "${content_lines[@]}")
echo "$content"
}

# Function to update README.md with the new subnav content
update_readme_with_subnav() {
local readme_path="$1"
local subnav_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" == *'<!-- generateSubNav -->'* ]]; then
echo "$line" >> "$tmpfile"
in_section=1
start_tag_found=1
# Write the subnav content immediately after the start tag
echo "$subnav_content" >> "$tmpfile"
elif [[ "$line" == *'<!-- generateSubNavEnd -->'* ]]; 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 "<!-- generateSubNavEnd -->" >> "$tmpfile"
fi

if [[ $start_tag_found -eq 0 ]]; then
# Start tag not found; append the content at the end of tmpfile
{
echo -e "\n<!-- generateSubNav -->"
echo "$subnav_content"
echo "<!-- generateSubNavEnd -->"
} >> "$tmpfile"
fi

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

# Function to generate README.md in subfolders
generate_readme_in_subfolders() {
local parent_dir="$1"
local readme_path="$parent_dir/README.md"

# Extract title from the current README.md
local title
title=$(get_title_from_readme "$readme_path")
if [[ -z "$title" ]]; then
title=$(basename "$parent_dir")
fi

# Generate the subnav content
local subnav_content
subnav_content=$(generate_subnav_content "$parent_dir" 0)

# Update the README.md with the new subnav content
update_readme_with_subnav "$readme_path" "$subnav_content"
}

# Function to walk through directories and generate the subnav content
generate_subnav() {
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 generateSubNav comment and has subdirectories
# Check if README.md contains the generateSubNav comment
if contains_generate_subnav_comment "$dir_path/README.md"; then
generate_readme_in_subfolders "$dir_path"
fi
Expand All @@ -91,6 +173,9 @@ generate_subnav() {
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
Expand All @@ -100,9 +185,5 @@ generate_subnav() {
done
}

# Start from the current directory
for dir in */; do
if [[ -d "$dir" ]]; then
generate_subnav "$dir"
fi
done
# Start from the root directory
generate_subnav "$ROOT_DIR"
9 changes: 6 additions & 3 deletions _sidebar.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@
* [Objectifs d'apprentissage ](/apprentissages/)
* [Contenus](/contenus/)
* [Lumière](/contenus/1_lumieres/)
* [DMX](/contenus/1_lumieres/DMX/)
* [QLC+](/contenus/1_lumieres/QLC/)
* [Lumière ](/contenus/1_lumieres/elements/)
* [Addresses](/contenus/1_lumieres/addresse/)
* [Lampes disponibles](/contenus/1_lumieres/lampes/)
* [Lumière ](/contenus/1_lumieres/objectifs/)
* [DMX](/contenus/1_lumieres/protocoles/DMX/)
* [artnet](/contenus/1_lumieres/protocoles/artnet/)
* [sacn](/contenus/1_lumieres/protocoles/sacn/)
* [Audio](/contenus/2_audio/)
* [Video](/contenus/3_video/)
* [Logiciels Multimédia](/contenus/logiciels/)
Expand All @@ -19,6 +21,7 @@
* [PureData](/contenus/logiciels/puredata/)
* [REAPER ](/contenus/logiciels/reaper/)
* [TouchDesigner](/contenus/logiciels/touchdesigner/)
* [Source vers DMX ](/contenus/logiciels/touchdesigner/ex_source_to_dmx/)
* [Unity](/contenus/logiciels/unity/)
* [Objectifs](/contenus/objectifs/)
* [Cours](/cours/)
Expand Down
7 changes: 3 additions & 4 deletions activites/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# Activités

<!-- generateSubNav -->

* [Brancher des lampes](/activites/lx_3_lampes/README.md)
* [Midi Map](/activites/lx_midi_map/README.md)

* [Brancher des lampes](/activites/lx_3_lampes/)
* [Midi Map](/activites/lx_midi_map/)
<!-- generateSubNavEnd -->
70 changes: 70 additions & 0 deletions activites/lx_presentation_LX/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# Présentation lumière (Evaluation 1)

## Création et présentation d'une installation lumineuse scénique

Cette activité d'évaluation comporte deux volets : un travail en équipe pour l'installation technique des éléments scéniques, et un travail individuel pour la composition et la présentation d'une séquence lumineuse. Elle sera évaluée sous forme d'une présentation orale où chaque étudiant exposera son travail et justifiera ses choix techniques et artistiques.

### Installation scénique en équipe

En équipe, vous devrez monter une structure fonctionnelle avec des lampes d'éclairage scénique. Les tâches incluent :

1. **Fixation et montage sécurisé des lampes** :
- Fixer les lampes à la structure en respectant les normes de sécurité.

2. **Alimentation électrique** :
- Assurer un branchement sécurisé des éléments d'éclairage.

3. **Adressage et signal de contrôle** :
- Configurer et brancher les protocoles de communication (DMX, Art-Net, etc.) pour contrôler les lampes.

4. **Test de l'installation** :
- Vérifier la fonctionnalité complète de l’installation, y compris le contrôle des lampes.

### Création d'une séquence lumineuse individuelle

Individuellement, chaque étudiant devra composer une séquence lumineuse d'environ une minute, ou créer une performance intégrant les éléments suivants :

1. **Manipulation des intensités et des couleurs** :
- Créer des transitions lumineuses, ajuster les intensités et choisir les couleurs pour composer des scènes spécifiques.

2. **Intégration artistique** :
- Intégrer des médias et définir le rôle du signal de contrôle pour générer des effets lumineux cohérents avec l'intention artistique.

3. **Optimisation** :
- Optimiser la fluidité et la cohérence des transitions, tout en s'assurant de la qualité finale de la composition.

### Présentation orale et justification des choix

Lors de la présentation individuelle, vous devrez :

1. Présenter votre séquence lumineuse.
2. Expliquer les choix techniques (installation, protocole de communication, optimisation).
3. Justifier vos choix artistiques (effets lumineux, transitions, ambiance recherchée).
4. Décrire les comportements lumineux attendus et observés lors de la performance.

#### Documentation

En plus de la réalisation pratique, vous devrez fournir une documentation détaillée qui inclura :

1. **Schémas et réglages** : Optionnel
- Fournir des schémas des branchements et du montage des lampes.
- Indiquer les réglages techniques utilisés pour l'adressage et le contrôle des lumières.

Voir méthode d'[affichage des addresses en mermaid](../../contenus/1_lumieres/addresses/)

2. **Captation vidéo** :
- Capturer une vidéo de la composition lumineuse réalisée, permettant de visualiser l'intégralité de la séquence.
- La vidéo doit montrer clairement les transitions, les effets lumineux et les choix artistiques effectués.


* voir [Brancher une carte d'aquisition sur l'ordinateur et enregistrer dans OBS](../../contenus/1_lumieres/video-extention-captation/)

#### Critères d'évaluation

* Sécurité et efficacité dans la fixation, le branchement et l'adressage des lampes scéniques.
* Création d'une séquence lumineuse originale, pertinente et optimisée.
* Capacité à expliquer clairement les choix techniques et artistiques, et à décrire le fonctionnement global de la composition lumineuse.
* **Qualité artistique** : Cohérence et qualité des transitions lumineuses, pertinence des effets, et adéquation avec l'intention artistique.
* Documentation** : Clarté et précision dans la documentation des processus, des schémas de câblage, des choix de composition, et la captation vidéo de la séquence lumineuse.

Cette activité permettra de mesurer vos compétences techniques et artistiques dans un contexte scénique, tout en favorisant le travail d'équipe et l'expression individuelle.
10 changes: 4 additions & 6 deletions contenus/1_lumieres/README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
# Lumière

<!-- generateSubNav -->

* [DMX](/contenus/1_lumieres/DMX/README.md)
* [QLC+](/contenus/1_lumieres/QLC/README.md)
* [Lumière ](/contenus/1_lumieres/elements/README.md)
* [Lampes disponibles](/contenus/1_lumieres/lampes/README.md)

* [Addresses](/contenus/1_lumieres/addresse/)
* [Lampes disponibles](/contenus/1_lumieres/lampes/)
* [Lumière ](/contenus/1_lumieres/objectifs/)
<!-- generateSubNavEnd -->
30 changes: 30 additions & 0 deletions contenus/1_lumieres/addresses/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Addresses

Voici des méthode pour représenter visuellement les addresses des lampes

## Mermaid packet-beta
```mermaid
---
title: "Addresses DMX "
---
packet-beta
0: "" %% packet-beta doit partir à 0
1-6: "Lampe ADJ 5p HEX (RGBWAU)"
7-9: "Elypso"
10-16: "Lampe ADJ 5p HEX (RGBWAU)"
```

## Via mermaid gantt

```mermaid
gantt
title Allocation Addresses DMX
axisFormat %y
section Addresses DMX
ADJ HEX (RGBWAU) : 0001, 6y
Elypso : 0007, 3y
ADJ HEX (RGBWAU) : 0010, 6y
```
12 changes: 9 additions & 3 deletions contenus/1_lumieres/objectifs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,20 @@

## Intégration des médias pour une composition de lumières scéniques

* Préparer l'installation
* Préparer une composition


## Optimisation des médias pour une composition de lumières scéniques



* Adresses
* Mapping
* Résolution
* Protocoles

## Contrôle de la qualité du produit multimédia


## Documentation du produit multimédia

## Documentation du produit multimédia
captationn vidéo?
10 changes: 10 additions & 0 deletions contenus/1_lumieres/video-extention-captation/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Vidéo extention et captation

```mermaid
graph TD
Caméra --micro-HDMI--> HDMI-input--> Transmetteur-HDMI --ethernet--> Recepteur-HDMI --> HDMI-output -- HDMI--> carte[Carte d'aquisition] --USB-3--> Ordinateur --> OBS --> sourceMedia
Électricité --> ACDC-CAMERA-->Caméra
Électricité --> ACDC-12v-->Transmetteur-HDMI
Électricité --> Ordinateur
```
Loading

0 comments on commit 3a656db

Please sign in to comment.