OpenLLM-France/wikimedia huggingface dataset:
# Pratique de la Dermatologie en Afrique Francophone/Expériences malgaches sur le Télédiagnostic de la Lèpre
### Description du Problématique

Télédiagnostic par simple messagerie électronique sur la Lèpre au sein du Centre Hospitalier de District de Mananjary, 4ème région de la Province de Fianarantsoa qui vient d’être effectué en 2003 grâce à l’initiative du Service de Dermatologie du CHU Joseph Ravoahangy Andrianavalona Antananarivo appuyé par Le Programme National de lutte contre la lèpre qui a soutenu le voyage d’un groupe d’étudiants en Médecine afin de recenser les cas de Lèpre dans cette zone de forte épidémie. Une présentation des images de 22 cas diagnostiqués par des Médecins de la Région a été envoyée par e-mail au Staff central composé de son équipe scientifique et parmi ces 22 cas, 17 ont été jugés « faux diagnostic ». La communication avec les Etudiants a été très difficile en raison du coût de connexion Internet évalué à trois fois plus cher que celui de la Capitale et de la lenteur du débit de connexion qui a limité l’envoi des fichiers d’images dermatologiques à interpréter. Ces genres de problèmes constituent un vrai obstacle au développement sanitaire régional rendant ainsi difficile le système d’évacuation sanitaire. La Formation Médicale Continue est insuffisante et inaccessible en périphérie.

### Participants

* Service Dermatologie CHU Antananarivo
* Laboratoire LARTIC (Laboratoire d'Appui à la Recherche et TIC)
* CHD Manakara (Centre Hospitalier de District)
* Fondation Raoul Follereau
* Association UEFM (Union des Etudiants Fianarois en Médecine)
* Association MERITE (Médecins Excellents grâce aux Ressources Informatiques et aux Travaux en Equipe)

### Solutions apportées

Actuellement, des équipements de visioconférence et quelques programmes d’e-cours sont déjà disponibles malgré le faible débit de connexion qui limite la transmission des données.
* Au mois de mai 2005, un e-cours sur la Dermatite Atopique a été diffusé avec succès depuis Antananarivo et un autre sur la Neurofibromatose vient d’être organisé en direct depuis le CHRR de Fianarantsoa au mois de Septembre 2005.
Le Concours National d’Entrée à l’Internat Qualifiant a été réalisé en temps réel entre les deux Facultés de Médecine d’Antananarivo et de Majunga sous forme de visioconférence au début du mois de Novembre 2005.
* Le plateau de formation à distance des Hôpitaux Universitaires de Genève est disponible par le biais du Projet RAFT (Réseau en Afrique Francophone pour la Télémédecine) auquel les Facultés de Médecine de Madagascar adhèrent depuis Avril 2005.
* L’installation d’un équipement informatique ainsi qu’un débit de connexion garanti à haut débit au niveau de la Faculté de Médecine d’Antananarivo, de Majunga ainsi qu’au niveau du CHRR de Fianarantsoa est donc nécessaire pour la transmission optimale du son et des images lors de la réalisation des Programmes d’e-cours et de Téléconsultation.
# Programmation C++/Bibliographie et liens

* Avant-propos
* Introduction
* Compilation
* Un premier programme
* Les commentaires
* Le préprocesseur
* Les types de base et les déclarations
** Exercices
* Les opérations de base
* Les entrées-sorties
* Les pointeurs
** Exercices
* Les références
* Les tableaux
** Exercices
** Exercices sur les tableaux statiques
** Exercice : Tris des tableaux à une dimension
** Solution : Tris des tableaux à une dimension
* Les structures de contrôle
** Exercices
** Exercices if...else et switch
* Les fonctions
** Exercices
* Les structures
** Exercices
* Les classes
** Exercices
** Exercices de développement
* Les espaces de noms
* Les exceptions
* Les templates
** Exercices
* Conventions d'appel
* Les fichiers
* La librairie standard
* Expressions rationnelles
* Interfaces graphiques
* Bibliographie et liens

## Anciennes pages

* Opérateurs
* Héritage
* Polymorphisme
* Avant-propos
* Introduction
* Compilation
* Un premier programme
* Les commentaires
* Le préprocesseur
* Les types de base et les déclarations
** Exercices
* Les opérations de base
* Les entrées-sorties
* Les pointeurs
** Exercices
* Les références
* Les tableaux
** Exercices
** Exercices sur les tableaux statiques
** Exercice : Tris des tableaux à une dimension
** Solution : Tris des tableaux à une dimension
* Les structures de contrôle
** Exercices
** Exercices if...else et switch
* Les fonctions
** Exercices
* Les structures
** Exercices
* Les classes
** Exercices
** Exercices de développement
* Les espaces de noms
* Les exceptions
* Les templates
** Exercices
* Conventions d'appel
* Les fichiers
* La librairie standard
* Expressions rationnelles
* Interfaces graphiques
* Bibliographie et liens

## Anciennes pages

* Opérateurs
* Héritage
* Polymorphisme
[ Modifier le sommaire ]

## Bibliographie

* (français) Bjarne Stroustrup - Le langage C++ - Éditions Pearson Education - 2004 - 1100 pages - (ISBN 2-744-07003-3)
* (français) Ivor Horton - Visual C++ 6 - Éditions Eyrolles - 1999 - 1290 pages - (ISBN 2-212-09043-9)
* (français) Mehdi Benharrats, Benoit Vittupier - Le guide du C++ moderne - Éditions D-BookeR - 2021 - 700 pages - (ISBN 978-2-8227-0881-4)

## Livres

* Programmation orientée objet
* Patrons de conception

## Liens sur les autres projets

* (français) C++ sur Wikipédia

## Liens Externes

* (français) Cours de C/C++
* (anglais) C/C++ Reference
* (français) Apprenez à programmer en C++
# Programmation C++/Héritage

* Avant-propos
* Introduction
* Compilation
* Un premier programme
* Les commentaires
* Le préprocesseur
* Les types de base et les déclarations
** Exercices
* Les opérations de base
* Les entrées-sorties
* Les pointeurs
** Exercices
* Les références
* Les tableaux
** Exercices
** Exercices sur les tableaux statiques
** Exercice : Tris des tableaux à une dimension
** Solution : Tris des tableaux à une dimension
* Les structures de contrôle
** Exercices
** Exercices if...else et switch
* Les fonctions
** Exercices
* Les structures
** Exercices
* Les classes
** Exercices
** Exercices de développement
* Les espaces de noms
* Les exceptions
* Les templates
** Exercices
* Conventions d'appel
* Les fichiers
* La librairie standard
* Expressions rationnelles
* Interfaces graphiques
* Bibliographie et liens

## Anciennes pages

* Opérateurs
* Héritage
* Polymorphisme
* Avant-propos
* Introduction
* Compilation
* Un premier programme
* Les commentaires
* Le préprocesseur
* Les types de base et les déclarations
** Exercices
* Les opérations de base
* Les entrées-sorties
* Les pointeurs
** Exercices
* Les références
* Les tableaux
** Exercices
** Exercices sur les tableaux statiques
** Exercice : Tris des tableaux à une dimension
** Solution : Tris des tableaux à une dimension
* Les structures de contrôle
** Exercices
** Exercices if...else et switch
* Les fonctions
** Exercices
* Les structures
** Exercices
* Les classes
** Exercices
** Exercices de développement
* Les espaces de noms
* Les exceptions
* Les templates
** Exercices
* Conventions d'appel
* Les fichiers
* La librairie standard
* Expressions rationnelles
* Interfaces graphiques
* Bibliographie et liens

## Anciennes pages

* Opérateurs
* Héritage
* Polymorphisme
[ Modifier le sommaire ]
L'héritage est le fait de faire descendre une classe d'une autre. Par exemple, la classe rectangle descend de la classe polygone, le rectangle est un polygone et hérite donc de tous les attributs de polygone, mais il a quelques propriétés de plus.
Pour déclarer que la classe rectangle descend de polygone, on écrit :
# Programmation C++

Un livre appartenant à la série Programmation de l'étagère Informatique de Wikilivres.
    Terminé
6/68/681/681.3/681.3.0
* Une version imprimable du livre « Programmation C++ » est disponible. (voir/ modifier)
* Une version PDF de ce livre est disponible.
* Avant-propos
* Introduction
* Compilation
* Un premier programme
* Les commentaires
* Le préprocesseur
* Les types de base et les déclarations
** Exercices
* Les opérations de base
* Les entrées-sorties
* Les pointeurs
** Exercices
* Les références
* Les tableaux
** Exercices
** Exercices sur les tableaux statiques
** Exercice : Tris des tableaux à une dimension
** Solution : Tris des tableaux à une dimension
* Les structures de contrôle
** Exercices
** Exercices if...else et switch
* Les fonctions
** Exercices
* Les structures
** Exercices
* Les classes
** Exercices
** Exercices de développement
* Les espaces de noms
* Les exceptions
* Les templates
** Exercices
* Conventions d'appel
* Les fichiers
* La librairie standard
* Expressions rationnelles
* Interfaces graphiques
* Bibliographie et liens

## Anciennes pages

* Opérateurs
* Héritage
* Polymorphisme

## Voir aussi

* Exercices en langage C++

## à faire

* Les chapitres sur la librairie standard à écrire.
* Interaction avec l'OS.
* Ajouter dans l'introduction les différents standards du C++ : ISO C++98, ISO C++03, ISO C++11. Parler de sa divergence avec C99 potentiellement englobée dans C++11.
* Les relations de la POO et leur expression dans le langage (La dérivation publique exprime la relation EST-UN, la dérivation privée exprime un héritage d'implémentation, la relation A-UN s'exprime à l'aide des membres ...).
* Expliquer dans l'héritage multiple en losange comment on peut, à partir de la classe la plus dérivée, appeler explicitement un constructeur de la classe de base commune.
* Renommer le chapitre "template" en "programmation générique".
* Parler du polymorphisme à la compilation grâce au template matching.
# Programmation C++/Avant propos

* Avant-propos
* Introduction
* Compilation
* Un premier programme
* Les commentaires
* Le préprocesseur
* Les types de base et les déclarations
** Exercices
* Les opérations de base
* Les entrées-sorties
* Les pointeurs
** Exercices
* Les références
* Les tableaux
** Exercices
** Exercices sur les tableaux statiques
** Exercice : Tris des tableaux à une dimension
** Solution : Tris des tableaux à une dimension
* Les structures de contrôle
** Exercices
** Exercices if...else et switch
* Les fonctions
** Exercices
* Les structures
** Exercices
* Les classes
** Exercices
** Exercices de développement
* Les espaces de noms
* Les exceptions
* Les templates
** Exercices
* Conventions d'appel
* Les fichiers
* La librairie standard
* Expressions rationnelles
* Interfaces graphiques
* Bibliographie et liens

## Anciennes pages

* Opérateurs
* Héritage
* Polymorphisme
* Avant-propos
* Introduction
* Compilation
* Un premier programme
* Les commentaires
* Le préprocesseur
* Les types de base et les déclarations
** Exercices
* Les opérations de base
* Les entrées-sorties
* Les pointeurs
** Exercices
* Les références
* Les tableaux
** Exercices
** Exercices sur les tableaux statiques
** Exercice : Tris des tableaux à une dimension
** Solution : Tris des tableaux à une dimension
* Les structures de contrôle
** Exercices
** Exercices if...else et switch
* Les fonctions
** Exercices
* Les structures
** Exercices
* Les classes
** Exercices
** Exercices de développement
* Les espaces de noms
* Les exceptions
* Les templates
** Exercices
* Conventions d'appel
* Les fichiers
* La librairie standard
* Expressions rationnelles
* Interfaces graphiques
* Bibliographie et liens

## Anciennes pages

* Opérateurs
* Héritage
* Polymorphisme
[ Modifier le sommaire ]
Ce livre est destiné à présenter les différents aspects du langage de programmation C++. L'objectif est d'en faire un livre référence sur les différents aspects de ce langage, en étant le plus exhaustif possible. Nous essayerons de proposer pour chaque concept un voire plusieurs exemples illustratifs complets.
# Programmation C++/Les templates/Exercices

* Avant-propos
* Introduction
* Compilation
* Un premier programme
* Les commentaires
* Le préprocesseur
* Les types de base et les déclarations
** Exercices
* Les opérations de base
* Les entrées-sorties
* Les pointeurs
** Exercices
* Les références
* Les tableaux
** Exercices
** Exercices sur les tableaux statiques
** Exercice : Tris des tableaux à une dimension
** Solution : Tris des tableaux à une dimension
* Les structures de contrôle
** Exercices
** Exercices if...else et switch
* Les fonctions
** Exercices
* Les structures
** Exercices
* Les classes
** Exercices
** Exercices de développement
* Les espaces de noms
* Les exceptions
* Les templates
** Exercices
* Conventions d'appel
* Les fichiers
* La librairie standard
* Expressions rationnelles
* Interfaces graphiques
* Bibliographie et liens

## Anciennes pages

* Opérateurs
* Héritage
* Polymorphisme
* Avant-propos
* Introduction
* Compilation
* Un premier programme
* Les commentaires
* Le préprocesseur
* Les types de base et les déclarations
** Exercices
* Les opérations de base
* Les entrées-sorties
* Les pointeurs
** Exercices
* Les références
* Les tableaux
** Exercices
** Exercices sur les tableaux statiques
** Exercice : Tris des tableaux à une dimension
** Solution : Tris des tableaux à une dimension
* Les structures de contrôle
** Exercices
** Exercices if...else et switch
* Les fonctions
** Exercices
* Les structures
** Exercices
* Les classes
** Exercices
** Exercices de développement
* Les espaces de noms
* Les exceptions
* Les templates
** Exercices
* Conventions d'appel
* Les fichiers
* La librairie standard
* Expressions rationnelles
* Interfaces graphiques
* Bibliographie et liens

## Anciennes pages

* Opérateurs
* Héritage
* Polymorphisme
[ Modifier le sommaire ]

## Exercices
### Exercice 1

Créez une fonction "trier" pour trier un tableau de 10 données avec un tri par sélection. Le tableau devra être de n'importe quel type. Cette fonction utilisera une autre fonction, "échanger", pour échanger les éléments du tableau.
Le tri par sélection scan un tableau et met sa valeur minimale au début. Il répète l'opération jusqu'à obtenir un tableau trié.

### Exercice 2

Créez une classe liste simplement chaînée, avec une classe liste. Cette classe a un pointeur sur le premier élément de la liste. Elle a une méthode pour ajouter ou supprimer un élément au début de la liste et une pour afficher la liste en entier. Évitez toute fuite mémoire. Les éléments seront contenu dans une structure element.
Utilisez la structure élément présentée auparavant. Utilisez l'instruction new et delete pour supprimer et créer de nouveaux éléments. Une liste simplement chaînée est une structure de donnée. Elle est constituée de blocs où chaque bloc pointe sur le bloc suivant. Chaque bloc contient une donnée. Il est conseillé de réviser les pointeurs.
Voici le fichier source décomposé pour plus de lisibilité:
# Programmation Visual Basic .NET/Énumérations

* Introduction
* Visual Studio
* Premier script

## Bases du langage

* Variables
* Tableaux
* Conditions
* Boucles

## Opérateurs

* Assignation et comparaison
* Arithmétique
* Chaines de caractères
* Logique
* Gestion d'exception

## Programmation orientée objet

* Classes
* Namespaces
* Héritage
* Interfaces
** L'interface IDisposable

## Structure de données avancée

* Contrôles
* Énumérations
* Collections
* GDI+
* Introduction
* Visual Studio
* Premier script

## Bases du langage

* Variables
* Tableaux
* Conditions
* Boucles

## Opérateurs

* Assignation et comparaison
* Arithmétique
* Chaines de caractères
* Logique
* Gestion d'exception

## Programmation orientée objet

* Classes
* Namespaces
* Héritage
* Interfaces
** L'interface IDisposable

## Structure de données avancée

* Contrôles
* Énumérations
* Collections
* GDI+
[ Modifier le sommaire ]

## Introduction

Une énumération est un ensemble de constantes du même type. Par défaut il s'agit d'entiers dont le premier est à 0 et le deuxième à 1, etc.

## Créer des énumérations

Avec affectations :

## Utiliser des énumérations

Les énumérations sont appelables en préfixant le nom de leur collection :
# Programmation Web/Programmer en deux minutes/Un wiki en JavaScript et PHP

Prérequis :
* HTML et JavaScript. (Programmation JavaScript/Programmer en deux minutes/Une page wiki!)
* HTTP et serveur web. (Programmation Web/Programmer en deux minutes)
* Disposer d'un serveur !
Pour créer un wiki en JavaScript et PHP, nous allons écrire un script JavaScript exécuté par le navigateur et un script PHP exécuté par le serveur.
Les deux scripts serveur (PHP) et client (js) doivent communiquer ; ce sera via le protocole http avec l'objet JavaScript w:XMLHttpRequest.
Le PHP doit lire et écrire les données wiki ; ce sera un fichier au format XML qui stockera les données sur le serveur.
Cette page est considérée comme une ébauche à compléter . Si vous possédez quelques connaissances sur le sujet, vous pouvez les partager en éditant dès à présent cette page (en cliquant sur le lien « »).
Ressources suggérées : Aucune (vous pouvez indiquer les ressources que vous suggérez qui pourraient aider d'autres personnes à compléter cette page dans le paramètre « ressources » du modèle engendrant ce cadre)
# Programmation Web/Programmer en deux minutes

Un site web est un ensemble de pages web envoyées par un serveur distant à votre navigateur.
    Une page web est un document html composé d'une tête et d'un corps (<html> <head></head> <body></body> </html>). La tête contient des informations telles le titre du document (<title>), son apparence (<style>) et ses animations (<script>) ; tandis que le corps du document est affiché.
Créer ce document HTML dans un éditeur de texte avec coloration syntaxique. L'enregistrer (*.html) puis l'ouvrir avec un navigateur :
Le navigateur affiche le titre du document, alerte l'utilisateur, puis affiche le corps du document selon l'apparence déclarée. Félicitation, vous avez écrit votre premier document HTML, contenant des déclarations de style CSS et des instructions JavaScript !
Vous pouvez partager ce document sur Internet, pour cela il vous faut un serveur, c'est-à-dire un logiciel qui "sert" les documents aux requêtes des visiteurs.
Votre ordinateur peut héberger votre serveur, ou vous pouvez utiliser un ordinateur distant. Il vous faut installer un serveur tel Apache ou nginx et l'exécuter. Un répertoire /public_html est alors servi par le logiciel lors de la requête http://votre_adresse_IP depuis Internet et http://localhost depuis votre ordinateur.

## L'index de votre site web

Disposez d'un serveur, c'est-à-dire d'un répertoire /public_html servi lors de requête http à votre ordinateur (distant ou local).
Créez un document (index.html) dans le répertoire /public_html et faites une requête http au serveur (via votre navigateur) : l'index du site est servi.
Si votre document est accessible sur Internet, vous pouvez le faire contrôler par le validator du w3c.

## Programmer côté serveur

Renommez votre fichier (*.html) en (*.php) et ajoutez des instructions PHP - Hypertext Preprocessor, exécutées par le serveur et délivrant un document html.
Faites une requêtes au serveur et lisez le code source (ctrl+U) de la page html servie.
Le PHP a été interprété par le serveur, le navigateur affiche la page html résultante.
Essayez la requête http://yourhost/index.php?msg=mon_message : le serveur affiche votre message dans le corps du document html.

## Aller plus loin

Afin d'aller plus loin, munissez votre navigateur d'un outil tel Firebug.
Pour apprendre à manipuler cet outil, introduisez dans votre document plein de divisions et de déclarations de style associées, éventuellement des erreurs JavaScript, et vérifiez que vous savez utiliser l'outil pour retrouver l'identifiant et le style des divisions html, ainsi que les erreurs d'exécution JavaScript.
Félicitation, vous êtes paré pour enrichir votre site web de fichiers HTML, CSS, JavaScript et PHP !
Pour aller plus loin :
* Tout un site web dans un seul document HTML grâce à JavaScript.
* /Un wiki en JavaScript et PHP.
* /Un site web avec trois fichiers et une base de donnée. (une base de donnée MySQL, un fichier .php, un .js et un .css)
       Voir aussi le livre : Programmer en deux minutes.
# Programmation XML

XML (eXtended Markup Language) est un langage de balisage étendu dérivé du SGML, un langage de balisage plus généraliste. C'est un langage extensible et strict permettant de structurer et manipuler des données de différentes sortes.
XML est utilisé dans des langages spécialisés comme XHTML, MathML et SVG par exemple.
    Avancé
* Une version imprimable du livre « Programmation XML » est disponible. (voir/ modifier)
* Une version PDF de ce livre est disponible.

## Sommaire

* Introduction
* Structure d'un document XML
* Espace de nom
* Définition de Type Document
* Interprétation du XML
** SAX
** DOM
* XPath
Applications fondamentales
* XSLT
* XML Schema
* XLink
* XPointer
* XForms
* XQuery
Applications finales
* WML
* XSL-FO
* SOAP
* XML Signature
* SMIL
* SVG
* MusicXML
* SyncML
* MathML
* VoiceXML
* X3D
* XMI
* XUL

## Voir aussi

Consultez également ces pages dans d’autres projets Wikimedia :
* Ressources multimédia sur Commons.
* Article encyclopédique sur Wikipédia.
* Définition sur Wiktionnaire.
* Ressources éducatives sur Wikiversité.
* XHTML
# Programmation XML/Comparaison
## Les autres formats de sérialisation

Comparer XML avec JSON et YAML
# Programmation XML/DOM

* Introduction
* Structure d'un document XML
* Espace de nom
* Définition de Type Document
* Interprétation du XML
** SAX
** DOM
* XPath
Applications fondamentales
* XSLT
* XML Schema
* XLink
* XPointer
* XForms
* XQuery
Applications finales
* WML
* XSL-FO
* SOAP
* XML Signature
* SMIL
* SVG
* MusicXML
* SyncML
* MathML
* VoiceXML
* X3D
* XMI
* XUL
* Introduction
* Structure d'un document XML
* Espace de nom
* Définition de Type Document
* Interprétation du XML
** SAX
** DOM
* XPath
Applications fondamentales
* XSLT
* XML Schema
* XLink
* XPointer
* XForms
* XQuery
Applications finales
* WML
* XSL-FO
* SOAP
* XML Signature
* SMIL
* SVG
* MusicXML
* SyncML
* MathML
* VoiceXML
* X3D
* XMI
* XUL
[ Modifier le sommaire ]
La méthode DOM (Document Object Model) analyse les éléments XML en construisant une arborescence de la structure d'un document et de ses éléments. Cela nécessite donc de le lire en entier ce qui peut poser un problème de saturation quand il est de grande taille.

## Voir aussi

* Programmation PHP/DOM
* Programmation Java/XML#La méthode DOM
* Programmation Python/XML#La méthode DOM