OpenLLM-France/wikimedia huggingface dataset:
# Mkd (Extracteur de documents)

mkd est une commande informatique Unix / Linux utilisée dans les fichiers de commandes shell et dans le Makefile pour maintenir la documentation logicielle à jour .
Des versions sont aussi disponibles pour MASM / MS-DOS et pour Visual studio / MS-Windows.
Très simple et très pratique d'utilisation mkd peut être proposé aux travaux pratiques de l'informatique pour l'étude du cycle en V.
Depuis 2014 les paquets Unix / Linux contiennent une commande simplificatrice mkddoccu contenue dans le module mkd-doc. Il s'agit d'un script shell, un automate qui se charge de l'ensemble des commandes habituelles pour générer la documentation logicielle. Ce script doit être placé dans le répertoire des fichiers-sources, lors de son exécution il génère automatiquement le fichier de projet et les fichiers habituels de la documentation logicielle.

## LA COMMANDE ET LES EXERCICES

(Version imprimable) (Version pdf) 08/2016

## Première partie

    DESCRIPTION
    La commande mkd

## Deuxième partie

    EXERCICES
    Introduction aux exercices
    Comprendre les options
    Comprendre les fichiers de projets

## Troisième partie

    INTERNATIONALISATIONS
    Internationalisation des manuels
    Internationalisation des messages

## Quatrième partie

    CODER, TESTER, INTEGRER, DOCUMENTER
    Ajouter des modules

## Cinquième partie

    CONSTRUCTION D'UN PAQUET DEBIAN
    Exercice de Construction d'un Paquet 'debian' pour la maintenance logicielle
    Dépôt parrainé debian-ubuntu du paquet original mkd-131215
    Mkd (Extracteur de documents)/Dépôt parrainé du paquet ''original'' mkd-131215/Mise à jour de paquets

## Sixième partie

    CONSTRUCTION D'UN PAQUET RED-HAT
    Paquets 'RPM' Red Hat Package Manager

## Notes

    Icônes des fichiers et applications héritées

## Annexes

* mkd-Manuel (fr)
* mkddocu-Manuel (fr)
* Compilations de wiki-livres
* QR pour pages imprimées
* Licences

## Index des sous-pages

    Mkd (Extracteur de documents)/Index des sous-pages
# Mini-guide du catalogue Messier/Galaxies

Une galaxie est un assemblage d'étoiles, de gaz, de poussières et de matière noire contenant parfois un trou noir supermassif en son centre. Différents types de galaxies existent ; ils ont été répertoriés dans la séquence de Hubble.
Accès rapide : M31 — M32 — M33 — M49 — M51 — M58 — M59 — M60 — M61 — M63 — M64 — M65 — M66 — M74 — M77 — M81 — M82 — M83 — M84 — M85 — M86 — M87 — M88 — M89 — M90 — M91 — M94 — M95 — M96 — M98 — M99 — M100 — M101 — M104 — M105 — M106 — M108 — M109 — M110
# Mini-guide du catalogue Messier/Pour aller plus loin

Ces quelques références vous permettront d'en apprendre plus sur le catalogue Messier et les objets qui le composent. Nous ne pouvons que vous encourager à feuilleter, lors d'une observation, les pages de ces ouvrages, ou à consulter les fiches des objets étudiés.

## Bibliographie

* Bernard Guillaud-Saumur et Olivier Réthoré, Les objets de Messier : repérage, observation, photographie, Masson, 1985, 2e éd., 248 p. (ISBN 9782225800795)
* (en) Stephen James O'Meara, The Messier objects, Cambridge University Press, 1998, 304 p. (ISBN 9780521553322)
* (en) Philip Pugh, Observing the Messier Objects with a Small Telescope : In the Footsteps of a Great Observer, Springer, 2011, 387 p. (ISBN 9780387853567)

## Webographie

* (mul) « SEDS Messier Database », SEDS (consulté le 16 février 2012)
* « Le catalogue Messier » (consulté le 16 février 2012)
* anglais « Celestial Chart Generation » (consulté le 17 février 2012)
# Programmation C sharp/Type partiel

Le langage C# permet d'implémenter les classes, les structures et les interfaces sur plusieurs fichiers. Visual Studio .Net utilise cette fonctionnalité pour les fenêtres graphiques : une partie de la classe Form1 est implémentée dans le fichier Form1.cs et l'autre dans le fichier Form1.Designer.cs.

## Syntaxe

Chaque fichier implémentant une partie d'un type doit faire précéder le mot clé du type (class, struct ou interface) du mot clé partial :
Exemple :
Il n'est pas nécessaire que tous les fichiers précisent le mode d'accès ou la classe de base.

## Compilation

À la compilation d'un type partiel, tous les fichiers sources concernés doivent être spécifiés sur la ligne de commande d'appel au compilateur.

## Méthode partielle

Une méthode partielle permet de déclarer sa signature dans une partie d'un type partiel et de l'implémenter dans une autre partie :
* La méthode est obligatoirement privée (utilisable qu'en interne par la classe) et ne peut rien retourner (type void) ;
* Il est possible que la méthode ne soit pas définie du tout. Dans ce cas, le compilateur supprime la déclaration et les appels à cette méthode.
Exemple :

## Références

* ↑ https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/partial-method
# Programmation C sharp/Types génériques

Un type générique est en fait un type non spécifié à l'implémentation d'une méthode ou d'une classe. Le type sera déterminé lors de l'utilisation de cette méthode ou classe. En fait, pour chaque type différent utilisé, le compilateur génèrera une nouvelle version de la méthode ou de la classe.
Les types génériques sont utilisés pour effectuer un même traitement sur différents types de données.

## Syntaxe

Les types génériques sont identifiés par un nom, et spécifiés entre les signes < et > placés juste après le nom de la méthode ou la classe.

### Exemple de méthode

Soit une méthode statique retournant la valeur maximale entre deux valeurs passées en paramètre :
Le compilateur détermine le type utilisé pour T d'après les valeurs des arguments. Dans le cas précédent, il génère deux versions surchargées de la méthode statique :
* public static int max(int a, int b)
* public static double max(double a, double b)

### Exemple de classe

La syntaxe est similaire. Soit une classe gérant une structure en arbre de valeurs de type quelconque :
L'utilisation de cette classe exige de spécifier explicitement le type utilisé :

### Exemple de structure

Les types génériques sont également utilisables avec les structures :

## Plusieurs types génériques

Il est possible d'utiliser plusieurs types génériques pour une méthode ou une classe :

## Contraintes sur les types génériques

Il est possible de restreindre les types utilisables à ceux qui implémentent une ou plusieurs interfaces.

### Syntaxe

Pour chaque type à contraindre, il faut ajouter une clause where :
Exemple :
Il est possible d'utiliser class ou struct pour limiter le type à une classe ou une structure.
Exemple :
Il est également possible d'ajouter des contraintes sur les constructeurs du type générique :

## Opérateur default

L'opérateur default retourne la valeur par défaut du type générique spécifié. Il s'agit de la valeur quand une variable de ce type n'est pas initialisée (0 pour les nombres, null pour les types références).
Exemple:

## Alias

Il est possible de définir un alias d'une classe générique spécifique, en utilisant le mot clé using :
Équivaut à :
# Programmation C sharp/Processus

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 : Programmation C sharp/Bibliographie et liens
Pour chaque application lancée, le système d'exploitation crée un nouveau processus gérant l'état de l'application : mémoire (variables, données), code en cours d'exécution (threads), variables d'environnement, ressources allouées (fichiers ouverts, sockets connectées, ...).
Chaque processus possède trois flux de communication :
* le flux d'entrée (généralement associé à l'entrée standard « stdin ») permet au processus de recevoir des données de l'utilisateur, ou du processus appelant,
* le flux de sortie (généralement associé à la sortie standard « stdout ») permet au processus d'afficher sous forme textuelle ses résultats à l'utilisateur, ou de les transmettre au processus appelant,
* le flux d'erreur (généralement associé à l'erreur standard « stderr ») permet au processus de notifier les messages erreurs à l'utilisateur, ou au processus appelant.
# Programmation C sharp/Programmation réseau

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 : Programmation C sharp/Bibliographie et liens
L'utilisation d'un réseau informatique dans une application permet de communiquer avec d'autres applications exécutées sur d'autres machines, voire la même machine.
L'espace de noms System.Net regroupe les classes concernant la programmation réseau en général (adresse IP, ...).
L'espace de noms System.Net.Sockets regroupe les classes concernant l'utilisation de sockets.

## Utilisation de sockets

L'espace de noms System.Net.Sockets possède une classe Socket qui est une abstraction de bas niveau d'une socket en général.
Les classes TcpClient et TcpListener gèrent une socket utilisant le protocole TCP.
La classe UdpClient gère une socket utilisant le protocole UDP.
# Programmation C sharp/Sommaire

La première partie présente le langage et les outils pour l'utiliser.
* Introduction
* Compilation
* Un premier programme

### Le langage

Cette partie présente la syntaxe de base du langage C#.
* Les commentaires
* Les espaces de noms
* Les variables et les constantes
* Les types de base et les déclarations
* Les tableaux
* Les objets
* Les classes
* Les fonctions
* Propriétés et indexeurs
* Les opérateurs
* Les structures de contrôle
* Héritage de classes
* Classe abstraite
* Les exceptions
* Structures et énumérations
* Interfaces
* Expression de requête

### Programmation avancée

Cette section s'adresse aux programmeurs avancés voulant exploiter les fonctionnalités les plus avancées du langage.
* Type partiel
* Surcharge des opérateurs
* Directives du préprocesseur
* Documentation XML des classes
* Attributs
* Delegates et events
* Types génériques
* Appel de plateforme
* Code non vérifié

### API .Net

Cette partie présente les classes de l'API pour utiliser les fonctions du système d'exploitation.
* Expression régulière
* Interfaces graphiques
** Graphique vectoriel
* Fonctions asynchrones
* Threads et synchronisation
* Processus
* Entrées-sorties
* La sérialisation
* Les fichiers
* Programmation réseau
* Exécution distante

### Ressources

Cette section présente une liste de ressources utiles pour en apprendre davantage sur le langage C#.
* Bibliographie et liens
* Index des mots-clés du langage
* Glossaire
# Programmation C sharp/Surcharge des opérateurs

La surcharge des opérateurs permet d'utiliser les opérateurs sur d'autres types (des classes) que les types simples.
Certains opérateurs ne sont pas surchargeables. Il s'agit des opérateurs en rouge dans le tableau du chapitre Les opérateurs.

## Syntaxe

L'opérateur surdéfini doit toujours être statique et public, sinon le compilateur génère une erreur. L'opérateur est déclaré en utilisant le mot clé operator suivi de l'opérateur surdéfini.
Exemple :

## Implémentation par paire

La surdéfinition de certains opérateurs exige également la surdéfinition d'un autre. Ces opérateurs doivent donc être surdéfinis par paire.
Il s'agit des paires d'opérateurs suivantes :
* operator < et operator >
* operator <= et operator >=
* operator == et operator !=
En général, l'un des deux peut être défini en fonction de l'autre :
* operator < en fonction de operator >
* operator > en fonction de operator <
* operator <= en fonction de operator >=
* operator >= en fonction de operator <=
* operator == en fonction de operator !=
* operator != en fonction de operator ==

## Opérateurs de conversions

Les opérateurs de conversions sont déclarés dans une classe C en ajoutant une méthode utilisant la syntaxe suivante :
où l'un des deux types est la classe C : convertir un objet de classe C vers type_cible ou un objet de type type_source vers classe C.
Exemple:

### Explicite/Implicite

L'opérateur de conversion doit être déclaré avec l'un des mots-clés implicit ou explicit pour qu'il soit utilisé respectivement implicitement ou explicitement.
Exemple:
# Programmation C sharp/Propriétés et indexeurs
## Les propriétés

Une propriété est une valeur qui peut être lue ou modifiée, comme une variable. Ces deux opérations sont en fait réalisées par les accesseurs get et set. Si l'un de ces deux accesseurs est manquant, la propriété sera alors soit en lecture seule, soit en écriture seule.

### Syntaxe

Le code contenu dans chaque bloc est le même que celui que l'on placerait pour implémenter les méthodes suivantes :

### Exemple

Utilisation :

### Noms réservés

Depuis la version 2003 du compilateur, lorsqu'une propriété est créée, deux noms de méthodes sont réservés pour les deux accesseurs :
* type get_Nom_propriété
* void set_Nom_propriété(type value)
La classe ne peut donc avoir de méthodes portant l'une de ces deux signatures.

### Accesseurs simplifiés

Une propriété en lecture seule possède un accesseur de lecture get mais aucun accesseur d'écriture set, comme dans l'exemple suivant :
Depuis C#6.0 il est possible de simplifier la définition d'une telle propriété : le nom de la propriété est directement associé à l'expression retournée par l'accesseur de lecture en utilisant l'opérateur =>.
Depuis C#7.0 il est possible d'utiliser cette syntaxe sur les accesseurs, qui est donc applicable également à une propriété en lecture et écriture, comme illustré par cet exemple :

### Accesseurs auto-implémentés

Une propriété peut également avoir des accesseurs auto-implémentées :
* La variable de stockage de la valeur n'a plus à être déclarée : elle est générée par le compilateur ;
* Dès que l'un des accesseurs est auto-implémenté, les autres doivent l'être également.
Exemple :
La classe n'ayant aucun constructeur explicite, l'initialisation d'un objet peut se faire en utilisant la syntaxe suivante permettant d'initialiser les propriétés :

### Accesseurs d'initialisation

Selon les accesseurs définis pour une propriété :
* Celle ci est en lecture seule si seulement l'accesseur get est défini,
* Ou en lecture-écriture quand les deux accesseurs get et set sont définis.
Depuis C#9.0, il existe un cas intermédiaire permettant de définir une propriété qui devient en lecture seule après initialisation de l'objet, en déclarant un accesseur nommé init.
Exemple :
L'accesseur init est utilisé lors de l'initialisation de l'objet.
Quand l'accesseur init est implémenté, il peut servir à initialiser des champs readonly de l'objet :

## Les indexeurs

Un indexeur est une propriété spéciale qui permet d'utiliser une instance de la classe comme un tableau, en utilisant les crochets.

### Syntaxe
#### Type_élément

    Type de chaque élément du tableau virtuel.

#### Type_index

    Type de l'indice spécifié entre crochets.

#### index

    Variable contenant la valeur de l'indice de l'élément lu ou modifié.
L'index peut avoir un autre type que int. C'est le cas des tables de hashage de l'espace de nom System.Collections.
# Programmation C sharp/Structures et énumérations
## Structure

Une structure rassemble plusieurs champs (des variables) en un seul type. Déclarer une variable de ce type revient à allouer de la place pour tous les champs déclarés.

### Syntaxe

Exemple :

### Méthodes

Comme pour une classe, il est possible d'ajouter des méthodes.
Exemple :

### Différences avec les classes

Il est possible d'assimiler les structures à des classes, cependant des différences existent :
* Une structure ne peut hériter d'une autre, ou d'une classe ;
* Les membres sont publics par défaut ;
* Une instance de structure n'est pas une référence mais l'espace occupé par ses champs, par conséquent, l'opérateur new n'est pas utilisable, et une structure ne peut valoir null car allouée à la déclaration.
Exemple pour illustrer ce dernier point :

### Passage d'une structure en paramètre

Le passage d'une structure en paramètre d'une fonction peut se faire de deux manières :
* Par valeur, dans ce cas tous les champs de la structure sont passés dans la pile, ce qui peut prendre beaucoup de temps et de mémoire, voire causer un débordement de pile ;
* Par référence (ref ou out), manière recommandée avec les structures car seule une adresse est passée.

## Énumération

Une énumération est un type de données dont les valeurs sont des constantes nommées.

### Syntaxe

Exemple :

### Type des constantes

Les constantes d'une énumération sont par défaut des entiers (int) dont la valeur augmente de un, en commançant par zéro.
Ce qui veut dire que dans l'exemple précédent, LUNDI vaut 0, MARDI vaut 1, etc. Une constante peut être convertie en entier :
Il est possible de modifier les valeurs affectées aux constantes :
Par défaut, chaque constante est associée à la valeur immédiatement supérieur à celle de la constante précédente. L'exemple précédent peut donc également s'écrire :
Il est également possible de modifier le type des constantes :

### Combinaison de constantes

En affectant des valeurs différentes de puissances de 2 aux constantes, l'opérateur ou ( | ) est utilisable pour combiner plusieurs constantes.
Exemple :
L'attribut Flags indique au compilateur que plusieurs constantes peuvent être combinées. La méthode ToString de cet enum affiche alors toutes les constantes utilisées.
L'opérateur et ( & ) permet de tester si une constante appartient à l'ensemble :
# Portable Asus A6VA/Windows 7

* Portable ASUS A6VA
* Guide Informatique
* Sommaire
* Caractéristiques techniques
* Astuces
* Mise à jour, optimisation
* Résolution de problèmes
* Installer Ubuntu GNU/Linux
* Installer Windows Vista
* Installer Windows 7
* Conseils divers
* Galerie photos
* Modifier ce modèle
Malgré son nom, Windows 7 est en réalité la version 6.1 de Microsoft Windows.
Sur cette page, tous les conseils relatifs à l'installation de Windows Seven (pilotes récents, mise à jour à éviter, etc.). En effet, même si Windows se charge de télécharger la plupart des drivers,il en manque quelques uns.

## Pilotes à télécharger

* Driver ATK: automatique avec Windows Update
* Power4Gear: Asus notebook A6000 A6Va Power4 Gear Utility V1.12 for WinXP/2000 (pour débrider le processeur quand on est sur batterie) + mode de compatibilité XP SP3 et lancer en tant qu'administrateur
* ATK Hotkeys: Asus P50IJ Notebook ATK Hotkey Utility 1.0.0052 for Win7
* Carte son Realtek: version R2.39
* Carte wifi Intel 2200BG: automatique avec Windows Update
* Carte graphique ATI: automatique avec Windows Update
* Lecteur de carte Ricoh: Pilote Ricoh v352.02
* WebCam BisonCam 1.3MP: USB 2.0 PC camera (Bison) driver for Windows Vista 32-bit, XP - 3000 N200 (type 0687), V200
# Portable Dell XPS 1330/Performances

Je vais tenter de référencer sur cette page les performances constatées par des utilisateurs de ce portable, avec l'accords des testeurs bien entendu :)

## Tests par dreamless

* Configuration de test:
       - Core 2Duo T7300 2Ghz L2 4Mo FSB 800
       - RAM 2*1024Mo Dual-Channel DDR2 667
       - DD 160Go 5400Tr/Min
       - CG Nvidia 8400M GS 128Mo DDR3
       - Ecran LED
       - Wifi IntelPro a/b/g
       - Bluetooth 2.0 Dell Truemobile 355 + EDR
* SuperPi:
       - 1M -> 24s
# Portable Dell XPS 1330/Vista
## Réinstallation de Windows Vista

* Liste des drivers:
       GeForce 8400M GS
       Intel® Pro/Wireless 3945 802.11a/b/g
       Bluetooth Dell™ TrueMobile 355
       Ethernet Controler 59XX 10/100
# Portable Dell XPS 1330
## (en cours de réalisation)

Ce livre est dédié au portable Dell XPS M1330. Le succès qu'il rencontre est tel qu'aujourd'hui il est difficile de trouver des informations objectives concernant cette machine. Intéressé par l'achat de cette machine, je me suis mis en "quête" d'informations. Après quelques investigations, je me suis vite rendu compte que les discussions sur les forums sont saturées et que ce n'est pas le meilleur moyen de centraliser l'information. Le but de ce livre est donc de centraliser les informations sur cette machine.

### Sommaire

* Caractéristiques techniques
* Performances
* Autonomie
* Systèmes d'exploitations
** Windows Vista
** Windows XP
** Ubuntu Linux
* Remerciements
# Portable Dell XPS 1330/Caractéristiques techniques

Le portable se décline en trois versions de base proposées sur le site de Dell :

## Première déclinaison

* Processeur Intel® Core™ 2 Duo T5250 (1,5 GHz, 667 MHz, mémoire cache L2 de 2 Mo)
* Écran UltraSharp™ WXGA (1280x800) 13,3" CCFL (220 nits) avec TrueLife™
* Carte graphique Intel® Graphics Media Accelerator X3100 intégrée
* 1024 Mo de mémoire bicanale SDRAM DDR2 667 MHz [2x512]
* Disque dur SATA 120 Go 5400 tpm
* Lecteur fin 8x DVD+/-RW à chargement par fente, logiciel compris
* Mini-carte Intel® Pro/Wireless 3945 802.11a/b/g - Europe

## Deuxième déclinaison

* Processeur Intel® Core™ 2 Duo T7250 (2 GHz, 2 Mo de mémoire cache L2, FSB 800 MHz)
* Écran UltraSharp™ WXGA (1280x800) 13,3" CCFL (220 nits) avec TrueLife™
* nVidia® GeForce® 8400M GS de 128 Mo
* 2048 Mo de mémoire bicanale SDRAM DDR2 667 MHz [2x1024]
* Disque dur SATA 120 Go 5400 tpm
* Lecteur fin 8x DVD+/-RW à chargement par fente, logiciel compris
* Mini-carte Intel® Pro/Wireless 3945 802.11a/b/g - Europe

## Troisième déclinaison

* Processeur Intel® Core™ 2 Duo T7500 (2,2 GHz, 800 MHz, mémoire cache L2 de 4 Mo)
* Écran UltraSharp™ WXGA (1280x800) 13,3", LED blanc (300 nits), TrueLife™
* nVidia® GeForce® 8400M GS de 128 Mo
* 2048 Mo de mémoire bicanale SDRAM DDR2 667 MHz [2x1024]
* Disque dur SATA 160 Go (5400 tpm)
* Lecteur fin 8x DVD+/-RW à chargement par fente, logiciel compris
* Mini-carte Intel® Pro/Wireless 3945 802.11a/b/g/N - Europe

## Personnalisation

A partir de ces trois versions de base, il est possible de modifier la configuration de la machine.
Il est possible de changer le matériel de base (processeur, mémoire, disque dur...), mais aussi d'ajouter des options telles que des extensions de garanties, ou du matériel supplémentaire (lecteur d'empreintes digitales, Bluetooth, 3G...).
# Portable Asus A6VA/Sommaire

* Caractéristiques techniques
* Astuces
* Mise à jour, optimisation
* Résolution de problèmes
* Installer Ubuntu GNU/Linux
* Installer Windows Vista
* Installer Windows 7
* Conseils divers
* Galerie photos