auto-sync via WEVIA git_sync_all intent 2026-04-21T15:34:28+02:00
Some checks failed
WEVAL NonReg / nonreg (push) Has been cancelled
Some checks failed
WEVAL NonReg / nonreg (push) Has been cancelled
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"agent": "V41_Risk_Escalation",
|
||||
"ts": "2026-04-21T15:15:03+02:00",
|
||||
"ts": "2026-04-21T15:30:03+02:00",
|
||||
"dg_alerts_active": 7,
|
||||
"wevia_life_stats_preview": "{
|
||||
"ok": true,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"agent": "V45_Leads_Sync",
|
||||
"ts": "2026-04-21T15:20:02+02:00",
|
||||
"ts": "2026-04-21T15:30:04+02:00",
|
||||
"paperclip_total": 48,
|
||||
"active_customer": 4,
|
||||
"warm_prospect": 5,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"agent": "V54_Risk_Monitor_Live",
|
||||
"ts": "2026-04-21T15:00:03+02:00",
|
||||
"ts": "2026-04-21T15:30:03+02:00",
|
||||
"critical_risks": {
|
||||
"RW01_pipeline_vide": {
|
||||
"pipeline_keur": 0,
|
||||
@@ -22,7 +22,7 @@
|
||||
},
|
||||
"RW12_burnout": {
|
||||
"agents_cron_active": 15,
|
||||
"load_5min": "3.88",
|
||||
"load_5min": "3.41",
|
||||
"automation_coverage_pct": 70,
|
||||
"residual_risk_pct": 60,
|
||||
"trend": "V52_goldratt_options_active"
|
||||
|
||||
@@ -1,56 +1,57 @@
|
||||
<?php
|
||||
/**
|
||||
* ambre-early-doc-gen.php · AMBRE · priority intercept for file generation commands
|
||||
* Included at top of master-api.php via @include.
|
||||
* Detects: "Genere un PDF/Word/Excel/PPT sur: X" / "Genere un document" / "Genere une presentation"
|
||||
* Action: call ambre-gen-pipeline → return response with file URL
|
||||
* ambre-early-doc-gen.php · AMBRE v2 · autonomous priority intercept for file generation
|
||||
* Reads POST body directly · intercepts BEFORE master-api main flow.
|
||||
* Triggers: "Genere un PDF/Word/Excel/PPT/Schema/Image sur: X"
|
||||
*/
|
||||
if (!isset($_mam) || empty($_mam)) return;
|
||||
|
||||
$__ad_msg = trim($_mam);
|
||||
$__ad_lc = mb_strtolower($__ad_msg);
|
||||
// === 1. Parse POST body (autonomous) ===
|
||||
static $__ad_already = false;
|
||||
if ($__ad_already) return; // prevent recursion if include called twice
|
||||
$__ad_already = true;
|
||||
|
||||
// Detection pattern: Genere + type + topic
|
||||
$__ad_raw = @file_get_contents("php://input");
|
||||
if (!$__ad_raw) return;
|
||||
$__ad_body = @json_decode($__ad_raw, true);
|
||||
$__ad_msg_in = $__ad_body["message"] ?? "";
|
||||
if (!$__ad_msg_in) return;
|
||||
|
||||
$__ad_msg = trim($__ad_msg_in);
|
||||
|
||||
// === 2. Detect file generation pattern ===
|
||||
if (!preg_match("/g[eé]n[eé]re?\s+(?:un|une|des|le|la)?\s*(pdf|pptx?|powerpoint|docx?|word|excel|xlsx?|pr[eé]sentation|presentation|document|tableau)[^:]*(?::|sur)\s*(.+)$/iu", $__ad_msg, $__ad_m)) return;
|
||||
|
||||
$__ad_raw_type = mb_strtolower($__ad_m[1]);
|
||||
$__ad_topic = trim($__ad_m[2]);
|
||||
|
||||
$__ad_type_map = [
|
||||
"pdf" => "pdf",
|
||||
"pptx" => "pptx",
|
||||
"ppt" => "pptx",
|
||||
"powerpoint" => "pptx",
|
||||
"presentation" => "pptx",
|
||||
"présentation" => "pptx",
|
||||
"docx" => "docx",
|
||||
"doc" => "docx",
|
||||
"word" => "docx",
|
||||
"document" => "docx",
|
||||
"xlsx" => "xlsx",
|
||||
"excel" => "xlsx",
|
||||
"tableau" => "xlsx",
|
||||
"pdf"=>"pdf", "pptx"=>"pptx", "ppt"=>"pptx", "powerpoint"=>"pptx",
|
||||
"presentation"=>"pptx", "présentation"=>"pptx",
|
||||
"docx"=>"docx", "doc"=>"docx", "word"=>"docx", "document"=>"docx",
|
||||
"xlsx"=>"xlsx", "excel"=>"xlsx", "tableau"=>"xlsx",
|
||||
];
|
||||
$__ad_type = $__ad_type_map[$__ad_raw_type] ?? "pdf";
|
||||
|
||||
// XLSX not supported by pandoc directly → fallback to docx with table
|
||||
if ($__ad_type === "xlsx") $__ad_type = "docx";
|
||||
// XLSX fallback: pandoc cant, use docx with tables
|
||||
$__ad_pandoc_type = ($__ad_type === "xlsx") ? "docx" : $__ad_type;
|
||||
|
||||
$__ad_url = "http://127.0.0.1/api/ambre-gen-pipeline.php?type=" . urlencode($__ad_type) . "&topic=" . urlencode($__ad_topic);
|
||||
$__ad_ctx = stream_context_create(["http"=>["timeout"=>60, "header"=>"Host: weval-consulting.com\r\n"]]);
|
||||
// === 3. Call pipeline ===
|
||||
$__ad_url = "http://127.0.0.1/api/ambre-gen-pipeline.php?type=" . urlencode($__ad_pandoc_type) . "&topic=" . urlencode($__ad_topic);
|
||||
$__ad_ctx = stream_context_create([
|
||||
"http"=>["timeout"=>75, "method"=>"GET", "header"=>"Host: weval-consulting.com\r\nUser-Agent: ambre-early\r\n"]
|
||||
]);
|
||||
$__ad_out = @file_get_contents($__ad_url, false, $__ad_ctx);
|
||||
|
||||
if ($__ad_out && strlen($__ad_out) > 20) {
|
||||
header("Content-Type: application/json");
|
||||
if ($__ad_out && strlen($__ad_out) > 50) {
|
||||
header("Content-Type: application/json; charset=utf-8");
|
||||
echo json_encode([
|
||||
"response" => $__ad_out,
|
||||
"executed" => true,
|
||||
"provider" => "ambre-doc-gen",
|
||||
"provider" => "ambre-doc-gen-v2",
|
||||
"intent" => "file_generation_real",
|
||||
"type" => $__ad_type,
|
||||
"topic" => $__ad_topic,
|
||||
"source" => "ambre-early-doc-gen-v1",
|
||||
], JSON_UNESCAPED_UNICODE);
|
||||
exit;
|
||||
], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
|
||||
exit; // HARD EXIT · prevent master-api from continuing
|
||||
}
|
||||
// If pipeline failed, fall through to normal chat flow (no regression)
|
||||
// fall through to main flow if pipeline failed
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
99
api/duplicates-registry.php
Normal file
99
api/duplicates-registry.php
Normal file
@@ -0,0 +1,99 @@
|
||||
<?php
|
||||
// Wave 209 · /api/duplicates-registry.php
|
||||
// Duplicate screens registry. Non-destructive audit: returns groups with
|
||||
// canonical file + legacy candidates + recommendations. Zero delete.
|
||||
@require_once __DIR__ . '/wevia-sanitizer-guard.php';
|
||||
header('Content-Type: application/json; charset=utf-8');
|
||||
header('Access-Control-Allow-Origin: *');
|
||||
|
||||
$DOCROOT = '/var/www/html';
|
||||
$pages = array_filter(scandir($DOCROOT), function($f) use ($DOCROOT) {
|
||||
return substr($f, -5) === '.html' && is_file("$DOCROOT/$f");
|
||||
});
|
||||
|
||||
// Normalize base name (strip version/legacy/saas suffixes)
|
||||
$base_groups = [];
|
||||
foreach ($pages as $p) {
|
||||
$base = substr($p, 0, -5);
|
||||
$base = preg_replace('/-v\d+$|-new$|-legacy$|-old$|\d{8,14}$|-saas$|-v\d+-\w+$/', '', $base);
|
||||
$base = preg_replace('/-pre-\w+$/', '', $base);
|
||||
$base_groups[$base][] = $p;
|
||||
}
|
||||
|
||||
// Duplicates only
|
||||
$dups = [];
|
||||
$total_dups = 0;
|
||||
foreach ($base_groups as $base => $files) {
|
||||
if (count($files) < 2) continue;
|
||||
|
||||
// Determine canonical = file with cleanest name (shortest), fall back to newest
|
||||
usort($files, function($a, $b) use ($DOCROOT) {
|
||||
// Prefer files without -v / -legacy / -old / -saas suffixes
|
||||
$has_suffix_a = preg_match('/-v\d+|-legacy|-old|-saas|-new/', $a);
|
||||
$has_suffix_b = preg_match('/-v\d+|-legacy|-old|-saas|-new/', $b);
|
||||
if ($has_suffix_a !== $has_suffix_b) return $has_suffix_a - $has_suffix_b;
|
||||
// Then prefer shorter name
|
||||
if (strlen($a) !== strlen($b)) return strlen($a) - strlen($b);
|
||||
// Then newest mtime
|
||||
return filemtime("$DOCROOT/$b") - filemtime("$DOCROOT/$a");
|
||||
});
|
||||
|
||||
$canonical = $files[0];
|
||||
$legacy = array_slice($files, 1);
|
||||
|
||||
$entries = [];
|
||||
foreach ($files as $f) {
|
||||
$path = "$DOCROOT/$f";
|
||||
$size = filesize($path);
|
||||
$entries[] = [
|
||||
'file' => $f,
|
||||
'size_bytes' => $size,
|
||||
'last_modified' => date('c', filemtime($path)),
|
||||
'is_canonical' => $f === $canonical,
|
||||
'url' => "/$f"
|
||||
];
|
||||
}
|
||||
|
||||
// Size similarity between canonical and legacy
|
||||
$can_size = filesize("$DOCROOT/$canonical");
|
||||
$close_copies = [];
|
||||
foreach ($legacy as $l) {
|
||||
$l_size = filesize("$DOCROOT/$l");
|
||||
if ($can_size > 0 && abs($can_size - $l_size) / max($can_size, $l_size) < 0.1) {
|
||||
$close_copies[] = $l;
|
||||
}
|
||||
}
|
||||
|
||||
$recommendation = count($close_copies) > 0
|
||||
? 'Archive legacy copies (add HTTP 301 to canonical) - content quasi-identical'
|
||||
: 'Keep for now - legacy has distinct content, verify if still referenced';
|
||||
|
||||
$dups[] = [
|
||||
'base' => $base,
|
||||
'count' => count($files),
|
||||
'canonical' => $canonical,
|
||||
'canonical_url' => "/$canonical",
|
||||
'legacy_files' => $legacy,
|
||||
'close_copies' => $close_copies,
|
||||
'recommendation' => $recommendation,
|
||||
'files' => $entries
|
||||
];
|
||||
$total_dups += count($legacy);
|
||||
}
|
||||
|
||||
// Sort by count desc
|
||||
usort($dups, function($a, $b) { return $b['count'] - $a['count']; });
|
||||
|
||||
$out = [
|
||||
'ok' => true,
|
||||
'ts' => date('c'),
|
||||
'total_pages' => count($pages),
|
||||
'total_duplicate_groups' => count($dups),
|
||||
'total_legacy_files' => $total_dups,
|
||||
'total_close_copies' => array_sum(array_map(function($g){ return count($g['close_copies']); }, $dups)),
|
||||
'groups' => $dups,
|
||||
'version' => 'wave-209',
|
||||
'doctrine' => 'non-destructive · document canonical + legacy · zero delete'
|
||||
];
|
||||
|
||||
echo json_encode($out, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
|
||||
@@ -0,0 +1,7 @@
|
||||
<html>
|
||||
<head><title>500 Internal Server Error</title></head>
|
||||
<body>
|
||||
<center><h1>500 Internal Server Error</h1></center>
|
||||
<hr><center>nginx/1.24.0 (Ubuntu)</center>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"timestamp": "2026-04-21T15:00:14",
|
||||
"timestamp": "2026-04-21T15:30:11",
|
||||
"features": {
|
||||
"total": 36,
|
||||
"pass": 35
|
||||
@@ -13,7 +13,7 @@
|
||||
"score": 97.2,
|
||||
"log": [
|
||||
"=== UX AGENT v1.0 ===",
|
||||
"Time: 2026-04-21 15:00:02",
|
||||
"Time: 2026-04-21 15:30:02",
|
||||
" core: 4/4",
|
||||
" layout: 3/4",
|
||||
" interaction: 6/6",
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"ok": true,
|
||||
"version": "V83-business-kpi",
|
||||
"ts": "2026-04-21T13:28:36+00:00",
|
||||
"ts": "2026-04-21T13:30:43+00:00",
|
||||
"summary": {
|
||||
"total_categories": 8,
|
||||
"total_kpis": 64,
|
||||
"ok": 43,
|
||||
"warn": 18,
|
||||
"ok": 42,
|
||||
"warn": 19,
|
||||
"fail": 0,
|
||||
"wire_needed": 3,
|
||||
"data_completeness_pct": 95.3
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
$_RAW=file_get_contents("php://input");$_JIN=json_decode($_RAW,true);$_mam=$_JIN["message"]??"";
|
||||
@include __DIR__ . '/wevia-opus-arch-early.php'; // V41 before Resolver\n@include __DIR__ . '/ambre-early-doc-gen.php'; // AMBRE 2026-04-21 file generation priority
|
||||
@include __DIR__ . '/wevia-opus-arch-early.php'; // V41 before Resolver
|
||||
@include __DIR__ . '/ambre-early-doc-gen.php'; // AMBRE 2026-04-21 file generation priority
|
||||
// === OPUS4-AUTOWIRE-EARLY-v2 (17avr 02h20) ===
|
||||
// Priority handler : master add/list intent bypass tout le pipeline (fast-path greedy cause racine)
|
||||
// Zero regression : return silencieux si syntaxe pas matchee
|
||||
|
||||
42
generated/wevia-innovation-SaaS-20260421-133334-f2096b.md
Normal file
42
generated/wevia-innovation-SaaS-20260421-133334-f2096b.md
Normal file
@@ -0,0 +1,42 @@
|
||||
# innovation SaaS
|
||||
|
||||
# Introduction à l'innovation SaaS
|
||||
|
||||
* Définition : SaaS (Software as a Service) est un modèle de distribution de logiciels en tant que service en ligne.
|
||||
* Avantages : accès à partir de n'importe où, mise à jour automatique, coût réduit.
|
||||
* Exemples : Google Drive, Microsoft Office 365, Salesforce.
|
||||
|
||||
# Les avantages de l'innovation SaaS
|
||||
|
||||
* **Flexibilité** : accès à partir de n'importe où et à tout moment.
|
||||
* **Coût réduit** : pas besoin d'achat initial de logiciels.
|
||||
* **Mise à jour automatique** : les logiciels sont mis à jour automatiquement.
|
||||
* **Échelle** : les SaaS peuvent s'adapter facilement à la croissance de l'entreprise.
|
||||
|
||||
# Les défis de l'innovation SaaS
|
||||
|
||||
* **Sécurité** : la sécurité est un problème majeur pour les SaaS.
|
||||
* **Dépendance** : les entreprises peuvent devenir trop dépendantes des SaaS.
|
||||
* **Intégration** : les SaaS peuvent ne pas s'intégrer facilement avec les systèmes existants.
|
||||
* **Coût** : les SaaS peuvent être chers à long terme.
|
||||
|
||||
# Les exemples d'innovation SaaS
|
||||
|
||||
* **CRM** : Salesforce, HubSpot.
|
||||
* **Gestion de projet** : Asana, Trello.
|
||||
* **Analyse de données** : Tableau, Power BI.
|
||||
* **Communication** : Slack, Microsoft Teams.
|
||||
|
||||
# Les tendances de l'innovation SaaS
|
||||
|
||||
* **Intelligence artificielle** : les SaaS intégrant l'IA pour améliorer l'expérience utilisateur.
|
||||
* **Cloud natif** : les SaaS conçus spécifiquement pour le cloud.
|
||||
* **Sécurité** : les SaaS mettant en avant la sécurité.
|
||||
* **Intégration** : les SaaS intégrant facilement avec les systèmes existants.
|
||||
|
||||
# Les conseils pour adopter l'innovation SaaS
|
||||
|
||||
* **Évaluer vos besoins** : définir vos besoins et vos objectifs.
|
||||
* **Choisir le bon SaaS** : sélectionner le SaaS qui répond à vos besoins.
|
||||
* **Mettre en place une stratégie** : mettre en place une stratégie pour l'adoption du SaaS.
|
||||
* **Suivre les mises à jour** : suivre les mises à jour et les améliorations du SaaS.
|
||||
BIN
generated/wevia-innovation-SaaS-20260421-133334-f2096b.pptx
Normal file
BIN
generated/wevia-innovation-SaaS-20260421-133334-f2096b.pptx
Normal file
Binary file not shown.
BIN
generated/wevia-plan-projet-20260421-133331-22e37e.docx
Normal file
BIN
generated/wevia-plan-projet-20260421-133331-22e37e.docx
Normal file
Binary file not shown.
74
generated/wevia-plan-projet-20260421-133331-22e37e.md
Normal file
74
generated/wevia-plan-projet-20260421-133331-22e37e.md
Normal file
@@ -0,0 +1,74 @@
|
||||
# plan projet
|
||||
|
||||
# Plan Projet: Développement d'une Nouvelle Application
|
||||
|
||||
## 1. Introduction
|
||||
|
||||
Ce plan projet décrit les étapes et les objectifs clés pour la conception, le développement et la mise en production d'une nouvelle application. L'application sera conçue pour répondre aux besoins des utilisateurs et offrir une expérience utilisateur conviviale.
|
||||
|
||||
### 1.1 Contexte
|
||||
|
||||
L'application sera développée pour répondre à la demande croissante de services numériques dans le secteur de la santé. Elle sera conçue pour faciliter la communication entre les professionnels de la santé et les patients, ainsi que pour offrir des outils de gestion des données médicales.
|
||||
|
||||
### 1.2 Objectifs
|
||||
|
||||
* Développer une application conviviale et facile à utiliser
|
||||
* Offrir une expérience utilisateur personnalisée
|
||||
* Améliorer la communication entre les professionnels de la santé et les patients
|
||||
* Réduire les coûts de gestion des données médicales
|
||||
|
||||
## 2. Analyse des Besoins
|
||||
|
||||
### 2.1 Identification des Besoins
|
||||
|
||||
* Les professionnels de la santé ont besoin d'une plateforme pour partager des informations médicales avec les patients
|
||||
* Les patients ont besoin d'une plateforme pour accéder à leurs dossiers médicaux et pour communiquer avec les professionnels de la santé
|
||||
* Les gestionnaires de données ont besoin d'une plateforme pour gérer les données médicales de manière efficace
|
||||
|
||||
### 2.2 Analyse des Besoins
|
||||
|
||||
* Les utilisateurs ont besoin d'une interface utilisateur conviviale et facile à utiliser
|
||||
* Les utilisateurs ont besoin d'une sécurité robuste pour protéger les données sensibles
|
||||
* Les utilisateurs ont besoin d'une compatibilité avec les différents appareils et systèmes d'exploitation
|
||||
|
||||
## 3. Plan d'Action
|
||||
|
||||
### 3.1 Développement de l'Application
|
||||
|
||||
* Développer l'application en utilisant les technologies les plus récentes (par exemple, React, Node.js, MongoDB)
|
||||
* Conception de l'interface utilisateur conviviale et facile à utiliser
|
||||
* Développement de la sécurité robuste pour protéger les données sensibles
|
||||
|
||||
### 3.2 Test et Déploiement
|
||||
|
||||
* Tester l'application pour garantir sa stabilité et sa sécurité
|
||||
* Déployer l'application sur les serveurs et les bases de données appropriés
|
||||
* Mettre en place les mécanismes de maintenance et de mise à jour pour garantir la stabilité et la sécurité de l'application
|
||||
|
||||
## 4. Gestion des Ressources
|
||||
|
||||
### 4.1 Équipe de Développement
|
||||
|
||||
* Définir les rôles et les responsabilités de chaque membre de l'équipe de développement
|
||||
* Mettre en place les processus de communication et de collaboration pour garantir la réussite du projet
|
||||
|
||||
### 4.2 Budget
|
||||
|
||||
* Définir le budget pour le développement, le test et le déploiement de l'application
|
||||
* Mettre en place les mécanismes de gestion des coûts pour garantir la rentabilité du projet
|
||||
|
||||
## 5. Suivi et Évaluation
|
||||
|
||||
### 5.1 Plan de Suivi
|
||||
|
||||
* Définir les indicateurs de performance clés (KPI) pour mesurer la réussite du projet
|
||||
* Mettre en place les mécanismes de suivi pour garantir la conformité avec les plans et les objectifs du projet
|
||||
|
||||
### 5.2 Évaluation
|
||||
|
||||
* Évaluer la réussite du projet en fonction des KPI définis
|
||||
* Identifier les domaines d'amélioration pour garantir la réussite future des projets similaires
|
||||
|
||||
## 6. Conclusion
|
||||
|
||||
Ce plan projet décrit les étapes et les objectifs clés pour la conception, le développement et la mise en production d'une nouvelle application. L'application sera conçue pour répondre aux besoins des utilisateurs et offrir une expérience utilisateur conviviale. La réussite du projet dépendra de la collaboration efficace de l'équipe de développement, de la gestion des ressources et des mécanismes de suivi et d'évaluation.
|
||||
92
generated/wevia-tutoriel-Python-20260421-133327-f1a1a2.md
Normal file
92
generated/wevia-tutoriel-Python-20260421-133327-f1a1a2.md
Normal file
@@ -0,0 +1,92 @@
|
||||
# tutoriel Python
|
||||
|
||||
# Tutoriel Python
|
||||
================
|
||||
|
||||
## Prérequis
|
||||
------------
|
||||
|
||||
* Python installé sur votre système (version 3.x recommandée)
|
||||
* Éditeur de code (PyCharm, Visual Studio Code, Sublime Text, etc.)
|
||||
* Connaissance de base de la programmation (variables, types de données, etc.)
|
||||
|
||||
## Installation de Python
|
||||
-------------------------
|
||||
|
||||
### Étape 1 : Télécharger Python
|
||||
|
||||
* Allez sur le site officiel de Python (<https://www.python.org/downloads/>)
|
||||
* Téléchargez la version appropriée pour votre système (32 bits ou 64 bits)
|
||||
* Suivez les instructions de téléchargement et d'installation
|
||||
|
||||
### Étape 2 : Vérifier l'installation
|
||||
|
||||
* Ouvrez un terminal ou une invite de commande
|
||||
* Tapez `python --version` pour vérifier que Python est bien installé
|
||||
|
||||
## Environnement de Développement
|
||||
------------------------------
|
||||
|
||||
### Étape 1 : Sélectionner un Éditeur de Code
|
||||
|
||||
* Choisissez un éditeur de code qui vous convient (PyCharm, Visual Studio Code, Sublime Text, etc.)
|
||||
* Installez l'éditeur de code si ce n'est pas déjà fait
|
||||
|
||||
### Étape 2 : Créer un Projet
|
||||
|
||||
* Ouvrez l'éditeur de code et créez un nouveau projet
|
||||
* Choisissez le type de projet (Python) et le nom du projet
|
||||
|
||||
## Premier Programme Python
|
||||
-------------------------
|
||||
|
||||
### Étape 1 : Écrire du Code
|
||||
|
||||
* Ouvrez le fichier `main.py` dans votre éditeur de code
|
||||
* Écrivez le code suivant :
|
||||
```python
|
||||
# Affichez un message de bienvenue
|
||||
print("Bienvenue dans le monde de Python !")
|
||||
|
||||
# Demandez à l'utilisateur de saisir son nom
|
||||
nom = input("Veuillez saisir votre nom : ")
|
||||
|
||||
# Affichez un message personnalisé
|
||||
print("Bonjour, " + nom + " !")
|
||||
```
|
||||
### Étape 2 : Exécuter le Programme
|
||||
|
||||
* Cliquez sur le bouton "Exécuter" ou appuyez sur la touche F5
|
||||
* Le programme s'exécutera et affichera les messages attendus
|
||||
|
||||
## Variables et Types de Données
|
||||
------------------------------
|
||||
|
||||
### Variables
|
||||
|
||||
* Une variable est un nom donné à une valeur stockée en mémoire
|
||||
* Les variables peuvent être définies avec l'aide de la fonction `print`
|
||||
|
||||
### Types de Données
|
||||
|
||||
* Python dispose de plusieurs types de données :
|
||||
+ Int (entier)
|
||||
+ Float (nombre à virgule)
|
||||
+ String (chaîne de caractères)
|
||||
+ Bool (valeur logique)
|
||||
+ Liste (collection d'éléments)
|
||||
+ Dictionnaire (collection de clés et de valeurs)
|
||||
|
||||
## Exercices
|
||||
------------
|
||||
|
||||
* Créez un programme qui demande à l'utilisateur de saisir son âge et affiche un message personnalisé en fonction de son âge
|
||||
* Créez un programme qui affiche une liste de 5 éléments
|
||||
* Créez un programme qui affiche un dictionnaire avec 3 clés et 3 valeurs
|
||||
|
||||
## Conclusion
|
||||
----------
|
||||
|
||||
* Vous avez maintenant une idée de base sur la programmation en Python
|
||||
* Vous pouvez commencer à créer vos propres programmes et à explorer les fonctionnalités de Python
|
||||
* N'hésitez pas à poser des questions ou à demander de l'aide si vous avez besoin.
|
||||
BIN
generated/wevia-tutoriel-Python-20260421-133327-f1a1a2.pdf
Normal file
BIN
generated/wevia-tutoriel-Python-20260421-133327-f1a1a2.pdf
Normal file
Binary file not shown.
Reference in New Issue
Block a user