# Gestion des données

**Résumé express :** Découvrir le système de visual scripting pour créer de la logique interactive sans code.

---

## Introduction au Visual Scripting

Ce tutoriel présente le système de visual scripting de Luna Park qui permet de créer de la logique pour rendre les sites interactifs sans écrire de code traditionnel.

## 1. Interface de base

### Accès à l'éditeur
1. Créer un fichier **Script**
2. L'éditeur visual scripting s'ouvre automatiquement
3. Disponible aussi dans les composants

### Navigation
- **Clic droit + glisser** : déplacer la vue
- **Molette** : zoom avant/arrière
- **Clic droit** : ouvrir le menu de recherche

## 2. Création de nœuds

### Premier nœud
1. **Clic droit** → taper "plus" → **Entrée**
2. Un nœud d'addition apparaît
3. Saisir des valeurs : 10 et 15
4. **Ctrl + Espace** : afficher les valeurs calculées (résultat : 25)

### Manipulation des nœuds
- **Sélection** : clic simple
- **Sélection multiple** : maintenir et glisser
- **Déplacement** : glisser-déposer
- **Suppression** : sélectionner et supprimer

### Raccourcis de débogage
- **Ctrl + Espace** : afficher les valeurs calculées
- **Ctrl + Alt** : afficher les types de données

## 3. Nœud d'exécution

### Manual Play
Nœud de test pour déboguer et déclencher l'exécution de la logique.

### Fil d'exécution blanc
Le **fil blanc** représente l'ordre d'exécution des nœuds.

### Exemple avec Log
1. Créer un nœud **Log**
2. Connecter au Manual Play avec le fil blanc
3. Ajouter du texte : "hello" puis "world"
4. Cliquer sur Play : affichage dans la console

## 4. Types de nœuds et couleurs

### Nœuds d'opération (bleu clair)
Nécessitent un fil d'exécution pour fonctionner.

### Nœuds de données
S'exécutent quand leur résultat est demandé par un autre nœud.

### Code couleur des types
- **Rouge** : booléens (true/false)
- **Vert** : nombres
- **Jaune** : chaînes de caractères (strings)
- **Bleu** : objets (avec propriétés multiples)
- **Blanc** : type inconnu
- **Formes carrées** : tableaux du type correspondant

### Ancres de connexion
Les **petits cercles** sont les points de connexion entre nœuds.

## 5. Organisation visuelle

### Gestion des fils
1. **Double-clic** sur un fil
2. Créer des **pins** (épingles)
3. Déplacer pour organiser et clarifier le schéma

### Exemple d'objets
Objet avec propriété "ID" de type nombre - structure imbriquée possible.

## 6. Structures de contrôle

### Branches conditionnelles
Permettent d'exécuter différents nœuds selon une condition booléenne (rouge).

### Boucles
Répètent l'exécution de nœuds selon des critères définis.

## 7. Challenge interactif

### Accès au tutoriel gamifié
1. Page d'accueil Luna Park → **Guide** → **Visual Scripting**
2. Système de niveaux progressifs
3. Chaque niveau enseigne une nouvelle fonctionnalité

### Exemple de niveau : création de tableau
**Objectif** : créer un burger avec liste d'ingrédients

1. **Clic-glisser** depuis une ancre
2. Sélectionner **Create Array**
3. Augmenter le nombre d'éléments (6)
4. Remplir : bun, cheese, patty, tomato, lettuce, bun
5. Utiliser des variables pour certains ingrédients

### Progression
- **Déverrouillage séquentiel** des niveaux
- **Validation** par soumission de solution
- **Bases solides** à la fin du parcours

## 8. Concepts avancés

### Relation avec JavaScript
- Chaque nœud = fonction JavaScript
- Apprentissage algorithmique transférable
- Logique visuelle universelle

### Applications pratiques
- **Propriétés dynamiques** récupérées depuis les composants
- **Actions** sur les éléments
- **Interactivité** sans programmation traditionnelle

## Avantages du Visual Scripting

### Accessibilité
- **Pas de code** textuel nécessaire
- **Interface graphique** intuitive
- **Feedback visuel** immédiat

### Apprentissage
- **Progression gamifiée** avec le challenge
- **Concepts algorithmiques** fondamentaux
- **Documentation intégrée** disponible

### Intégration
- **Disponible partout** dans Luna Park
- **Connexion** avec les propriétés des composants
- **Débogage facile** avec raccourcis clavier

---

