OpenLLM-France/wikimedia huggingface dataset:
# Programmation C sharp/Introduction

Le langage de programmation C# (C dièse en français, ou prononcé C-sharp en anglais) a été développé par la société Microsoft, et notamment un de ses employés, Anders Hejlsberg, pour la plateforme .NET (point NET / dot NET).
Ce langage est orienté objet, avec un typage fort. Il est très proche du langage Java.
Il est précompilé en MSIL (Microsoft Intermediate Language), puis exécuté sur une machine virtuelle, ou compilé en code natif à l'exécution. Il dispose d'un ramasse-miettes (garbage collector). Il utilise l'API .NET en remplacement des MFC (Microsoft foundation class). Il semble être le nouveau langage pour développer des applications Windows, avec Visual Basic et C++.

## Caractéristiques partagées

Le langage C# possède un certain nombre de caractéristiques communes avec d'autres langages de programmation. Il sera donc plus facile de l'apprendre si ces autres langages sont connus.

### Caractéristiques partagées avec le langage Java

* Syntaxe : les mots clés communs avec Java s'utilisent dans les mêmes circonstances et de la même manière : public, private, protected, abstract, class, interface, try, catch, finally, throw, new, return, this, if, while, do, for, foreach, enum... et le mot clé lock est l'équivalent C# du mot clé Java synchronized;
* Garbage collector : les objets qui ne sont plus référencés sont traités par le ramasse-miettes afin de libérer la mémoire qu'ils occupent ;
* Références : les objets sont en fait des références ;
* Documentation automatique : cette caractéristique commune utilise cependant une syntaxe différente dans les 2 langages : le langage Java utilise les commentaires spéciaux /** */ au format HTML, avec des tags commençant par le caractère arobase @ ; tandis que le langage C# utilise les commentaires /// au format XML ;
* Méthodes courantes : une majeure partie des méthodes de l'API de C# ressemblent à celles de Java, excepté que leur nom commence par une majuscule : Main, Equals, ToString, Length, IndexOf, ...

### Caractéristiques partagées avec le langage C++

* surcharge des opérateurs ;
* structures (mot clé struct) ;
* énumérations (mot clé enum) ;
* pointeurs : il est possible, en mode unsafe, d'utiliser des pointeurs au lieu de références.

### Caractéristiques partagées avec d'autres langages

* propriétés (Delphi) : une propriété est un couple de méthodes (get et set) appelées lorsque celle-ci est lue ou modifiée ;
* attributs : un attribut est lié à une déclaration et contient des méta-données sur celle-ci (méthode obsolète, importée d'une DLL, ...) ;
* delegate : un delegate est un modèle de méthode, qui lorsqu'il est appelé, appelle toutes les méthodes qui lui ont été associées. Pour faire un parallèle avec le C++, les delegates peuvent être comparés à des pointeurs de fonction. Leur sémantique est toutefois nettement plus riche qu'en C++.
# Programmation C sharp/Les exceptions

Une exception est créée et lancée quand une erreur survient. Elle se propage dans la pile d'appel de la manière suivante : à partir du moment où elle est lancée, l'exécution normale est interrompue, et un gestionnaire d'exceptions est recherché dans le bloc d'instruction courant. S'il n'est pas trouvé, la recherche se poursuit dans le bloc englobant celui-ci, ou à défaut, dans le bloc de la fonction appelante, et ainsi de suite... Si la recherche n'aboutit pas, une boîte de dialogue signalant l'exception est affichée.

## Attraper une exception

Un gestionnaire d'exception attrape une classe d'exception particulière et gère le cas d'erreur correspondant. Ce gestionnaire encadre les instructions à gérer pouvant lancer une exception.
La syntaxe est la suivante :
Le bloc try est suivi d'un nombre quelconque de bloc catch (éventuellement aucun) attrapant différents types d'exception, et éventuellement d'un bloc finally qui sera toujours exécuté quoi qu'il se passe.
Exemple :
La variable n'est pas obligatoire si le bloc qui attrape l'exception ne l'utilise pas :
Exemple précédent modifié :

## Attraper conditionnellement une exception

Depuis C# 6.0 il est possible d'ajouter une clause de condition pour attraper une exception avec le mot-clé when.
La syntaxe est alors la suivante :
L'expression ne peut pas utiliser les variables locales au bloc try, mais peut utiliser l'objet exception.
Exemple pour un traitement selon un code associé à l'exception :

## Libérer des ressources

Un bloc finally est utile pour libérer des ressources à la fin d'un traitement, qu'une erreur ait eu lieu ou non.
Exemple :
Cependant, les classes implémentant l'interface IDisposable ont une méthode Dispose, et peuvent être utilisées avec le mot clé using :

## Lancer une exception

En cas d'erreur dans une méthode d'un programme (arguments invalides, ...), il est possible de lancer une exception en utilisant le mot clé throw.
La syntaxe est la suivante :
Où objet_exception est une instance de la classe Exception ou de l'une de ses sous-classes.
En général, l'objet exception est alloué en même temps qu'il est lancé :
La pile d'appel est enregistrée dans l'objet exception au moment où il est lancé.
Dans un gestionnaire d'exceptions, il est possible de relancer l'exception attrapée en utilisant l'instruction throw sans argument. Ce qui est utile quand le gestionnaire ne gère que partiellement l'erreur qui devra être totalement traitée par un autre gestionnaire d'exceptions. Dans ce cas, la pile d'appel d'origine est conservée.
Exemple :

## Créer une classe d'exception

Lancer une exception signale une erreur particulière. Si aucune classe d'exception ne convient ou n'est suffisamment précise, ou si l'exception doit comporter des informations supplémentaires, il est possible de créer une nouvelle classe d'exception.
Pour cela, il faut dériver la classe Exception ou l'une de ses sous-classes. Par convention, toutes ces sous-classes ont un nom se terminant par Exception.
Exemple :
Ensuite, cette classe peut être utilisée comme n'importe quelle autre classe d'exception :
# Programmation C sharp/Les objets

Un objet est un type référence. Il s'agit d'une instance de classe.

## Le type object

La classe System.Object est équivalente au type object. Il s'agit de la classe de base de toutes les autres classes.
L'auto-boxing/unboxing permet d'utiliser le type object pour n'importe quel type de valeur :

## Créer un nouvel objet

Créer un nouvel objet est appelé instancier une classe et utilise l'opérateur new :
Cet opérateur effectue les opérations suivantes :
* allocation d'une zone mémoire d'une taille suffisante pour accueillir les attributs définis dans la classe spécifiée,
* initialisation des attributs à leur valeur par défaut (définie dans la classe ou 0 sinon),
* appel au constructeur acceptant les arguments spécifiés.
L'appel peut échouer pour plusieurs raisons :
* la classe spécifiée n'a pas pu être chargée,
* l'espace mémoire libre est insuffisant,
* une exception a été lancée par le constructeur.
Dans tous les cas une exception est lancée.

## Objet this

Une méthode est déclarée dans une classe et s'exécute en accédant aux attributs d'un objet. Cet objet n'est pas déterminé au moment de l'implémentation des méthodes, mais déterminé lors de l'appel à la méthode en précédant son nom de la référence à l'objet utilisé :
Les méthodes utilisent la référence spéciale this pour désigner l'objet utilisé.
Voir le chapitre suivant sur les classes pour plus de détails.
# Savoirs fondamentaux du programme de terminale scientifique/Mathématiques/Rappel sur les suites
### Suites arithmétiques

* Une suite $(u_{n})$ est une suite arithmétique de raison $r$ lorsqu'elle est définie par un de ses termes et une relation du type $\scriptstyle \mathbf {u_{n+1}=u_{n}+r}$ (où $\scriptstyle r\in \mathbb {R}$).
* Une suite arithmétique de raison non nulle est une suite divergente.
* Somme des termes consécutifs d'une suite arithmétique :
$S=u_{0}+u_{1}+\ldots +u_{n-1}+u_{n}=(n+1)\times {\frac {u_{0}+u_{n}}{2}}$
$S_{(p,n)}=u_{p}+u_{p+1}+\ldots +u_{n-1}+u_{n}=(n-p+1)\times {\frac {u_{p}+u_{n}}{2}}$

### Suites géométriques

* Une suite $(u_{n})$ est géométrique de raison $q$ lorsqu'elle est définie par un de ses termes et une relation du type $\scriptstyle \mathbf {u_{n+1}=q\cdot u_{n}}$ (où $\scriptstyle q\in \mathbb {R}$).
$u_{n}=u_{0}\cdot q^{n}$ $u_{n}=u_{p}\cdot q^{n-p}$ Attention ! Si la suite commence à n=1 : $\scriptstyle u_{n}=u_{1}\cdot q^{n-1}$
* $(u_{n})$ est géométrique de raison $q$
** Si $q<0$ : $(u_{n})$ non monotone
** Si $u_{0}>0$ et $0<q<1$ : $(u_{n})$ décroît Si $u_{0}>0$ et $q>1$ : $(u_{n})$ croît
** Si $u_{0}<0$ et $0<q<1$ : $(u_{n})$ croît Si $u_{0}<0$ et $q>1$ : $(u_{n})$ décroît
* Somme des termes consécutifs d'une suite géométrique :
$\scriptstyle (\forall q\neq 1)~\displaystyle S=u_{0}+u_{1}+\ldots +u_{n-1}+u_{n}=u_{0}\times {\frac {1-q^{n+1}}{1-q}}$
# Savoirs fondamentaux du programme de terminale scientifique/Physique/La décroissance radioactive

$t_{1/2}={\frac {\ln 2}{\lambda }}=\mathrm {T} \cdot \ln 2$
La radioactivité $\beta ^{-}$ : $_{Z}^{A}X\rightarrow _{Z+1}^{A}Y+_{-1}^{0}e$ La radioactivité $\beta ^{+}$ : $_{Z}^{A}X\rightarrow _{Z-1}^{A}Y+_{1}^{0}e$ (positon)
# Savoirs fondamentaux du programme de terminale scientifique/Physique/Le dipôle RC
## Condensateur

* Aux bornes d'un condensateur : $\textstyle q=C\cdot u_{c}$
$q$ est la charge électrique (en coulomb) C est la capacité du condensateur (en farad) $u_{c}$ est la tension (en volt)
* $\textstyle i={\frac {\mathrm {d} q}{\mathrm {d} t}}=C\cdot {\frac {\mathrm {d} u_{c}}{\mathrm {d} t}}$
$q$ est la charge électrique (en C) $t$ est le temps (en s)
* Constante de temps : $\textstyle \tau =R\cdot C$
$\tau$ est la constante de temps (en s) R est la résistance (en $\Omega$) C est la capacité du condensateur (en F) Après une durée égale à $\tau$, la charge du condensateur atteint 63% de sa valeur maximale.
* L'énergie électrique stockée par un condensateur est : $E_{e}={\frac {1}{2}}\cdot C\cdot u_{c}^{2}={\frac {1}{2}}\cdot {\frac {q^{2}}{C}}$

## Equation différentielle

* La tension aux bornes du condensateur d'un dipôle (R, C) peut être représentée par l'équation différentielle : $E=\tau \cdot {\frac {\mathrm {d} u_{c}}{\mathrm {d} t}}+u_{c}$
* Solution de l'équation différentielle : $u_{c}=E(1-e^{-{\frac {1}{t}}})$
# Savoirs fondamentaux du programme de terminale scientifique/Physique/L'énergie nucléaire
## Energie nucléaire

* Toute particule de masse $m$ possède une énergie de masse $E_{0}$ donnée par la relation :
$E_{0}=m\cdot c^{2}$ $E_{0}$ est en joule (J) $m$ est en kilogramme (kg) $c$ est la célérité de la lumière dans le vide
* Défaut de masse : $\Delta m=(Z\cdot m_{p}+(A-Z)\cdot m_{n})-m_{X}$

## Energie de liaison

* L'énergie de liaison (positive) est l'énergie qu'il faut fournir au noyau pour séparer ses différents constituants au repos. $E_{l}=\Delta m\cdot c^{2}$
* énergie de liaison par nucléon : $e_{l}={\frac {E_{l}}{A}}$ Un noyau est d'autant plus stable que son énergie de liaison par nucléon est grande.

## Réactions nucléaires provoquées

* La fission est une réaction nucléaire provoquée au cours de laquelle un noyau massif se casse en noyaux plus petits et plus stables sous l'impact d'une particule projectile.
* La fusion est une réaction nucléaire provoquée au cours de laquelle des noyaux légers se lient pour former des noyaux plus lourds.

## Valeurs utiles

* unité de masse : $\scriptstyle 1u=1.66054\times 10^{-27}{\text{kg}}$
* unité d'énergie (électronvolt) : $\scriptstyle 1eV=1.602177\times 10^{-19}{\text{J}}$
# Savoirs fondamentaux du programme de terminale scientifique/Mathématiques/Trigonométrie
## Formules de trigo

* $\cos(a-b)=\cos a\,\cos b+\sin a\,\sin b$
* $\cos(a+b)=\cos a\,\cos b-\sin a\,\sin b$
* $\displaystyle \cos 2a=\cos ^{2}a-\sin ^{2}a=1-2\sin ^{2}a=2\cos ^{2}a-1$

## Application du produit scalaire

* Relation d'Al-Kashi : $a^{2}=b^{2}+c^{2}-2\,b\,c\cos {\widehat {A}}$
* $S={\frac {1}{2}}\,b\,c\sin {\widehat {A}}$
* ${\frac {a}{\sin {\widehat {A}}}}={\frac {b}{\sin {\widehat {B}}}}={\frac {c}{\sin {\widehat {C}}}}$
# Savoirs fondamentaux du programme de terminale scientifique/Physique

Vous voici dans la sous partie Physique du livre Savoirs fondamentaux du programme de terminale scientifique.
Elle contient les chapitres suivants :
* Propagation d'une onde
** Les ondes mécaniques progressives
** Les ondes mécaniques progressives périodiques
** La lumière : modèle ondulatoire
* Transformations nucléaires
** La décroissance radioactive
** L'énergie nucléaire
* Évolution des systèmes électriques
** Le dipôle RC
** Le dipôle RL
** Le dipôle RLC
* Évolution temporelle des systèmes mécaniques
** Mécanique de Newton
** Mouvements de chûtes verticales
** Mouvements plans
** Le pendule pesant
** Le dispositif solide-ressort
** Étude énergétique des systèmes mécaniques
** Ouverture au monde quantique
* Évolution temporelle des systèmes
# Savoirs fondamentaux du programme de terminale scientifique/Physique/La lumière : modèle ondulatoire

$\lambda _{0}=c_{vide}\cdot T={\frac {c_{vide}}{\nu }}$
$n={\frac {c_{vide}}{c_{milieu}}}\geqslant 1$
$\theta ={\frac {\lambda }{a}}$
λ est la longueur d'onde (en m)
# Savoirs fondamentaux du programme de terminale scientifique/Physique/Le dipôle RL
## Bobine

* Dans un circuit, une bobine provoque un retard à l'établissement du courant (et aussi à l'extinction).
* Une bobine se comporte comme un générateur capable de fabriquer sa propre f.e.m lors de la variation du courant qui la traverse.
* Définition : $u_{L}=L\cdot {\frac {\mathrm {d} i}{\mathrm {d} t}}+r\cdot i$

## Equation différentielle

* Constante de temps : $\tau ={\frac {L}{R}}$
* La réponse d'un circuit (R,L) à un échelon de tension E obéit à l'équation différentielle : ${\frac {E}{R}}=\tau \cdot {\frac {\mathrm {d} i}{\mathrm {d} t}}+i$
* L'énergie emmagasinée dans une bobine d'inductance L est proportionnelle au carré de l'intensité du courant qui la traverse est : $E_{m}={\frac {1}{2}}\cdot L\cdot i^{2}$
avec Em en joule(J) L en henry(H)et i en ampere (A)
# Bambara/Vocabulaire

    Bambara - index - leçons 1, 2, 3
alphabet • genre • pluriels • verbes • pronoms • adverbes • postpositions • particules • conjonctions
* Nombres
* Relations familiales
* Animaux

## Diverse
### fɔli

    musique
Biracolo = (insulte) plutôt utiliser quand on 'est énerver contre une personne

## Astronomie
### tile

    soleil

### kalo

    lune

### lolo

    étoile
# Les dangers
## L'électrolyte liquide

L'acide sulfurique même dilué à 25% cause des brûlures sévères à toute matière organique, végétale ou minérale qui entre en contact avec lui. Il pénètre dans tous les corps poreux (peau, vêtement, éponge).
* Procéder avec prudence, afin de prévenir un déversement ou une projection d'électrolyte.
* Pour toute manipulation porter des protections individuelles adaptées : gants, lunettes, vêtements de travail, tablier.
* Seuls les spécialistes connaissent les techniques et possèdent les outils nécessaires pour réaliser le mélange électrolytique et remplir les batteries.
* Ne jamais verser de l'eau dans de l'acide concentré, il se produit instantanément une réaction violente entrainant des projections d'acide concentré avec de la vapeur d'eau.

## Le poids

Les batteries au plomb sont particulièrement lourdes : le plomb, leur constituant principal est un des métaux les plus lourds, il a une masse volumique de 11,35 kg par dm$^3$ soit une densité de 11,35. Une batterie de véhicule automobile pèse entre 15 kg et 50 kg. Il est donc important de respecter quelques règles :
* Utilisez de préférence un porte-batterie,
* À défaut prenez une bonne prise de chaque côté de la batterie avant de chercher à la soulever.
* Avant de commencer sa dépose, prévoyez un espace plat et solide pour poser la batterie.

## L'hydrogène

Pendant la charge d'une batterie, un dégagement d'hydrogène se produit : ce gaz est très inflammable. Même les batteries sans entretien, scellées, doivent être entourées de précautions. En effet, lors d'une charge prolongée, elles évacuent leur trop plein d'hydrogène par une soupape.
* Il est donc nécessaire de bien ventiler le local où s'effectue cette charge.
* Il est fortement déconseillé de fumer ou d'approcher une flamme d'une batterie en cours de charge.
* Il ne faut jamais débrancher les cables du chargeur au niveau de la batterie avant d'avoir éteint le chargeur : à la coupure du circuit chargeur allumé une étincelle se produit, étincelle capable de déclencher une explosion de l'hydrogène.
# Batterie-Stockage

Pour pouvoir fournir de l'électricité, une batterie d'accumulateurs électriques doit au préalable être chargée.

## Charge

Chaque type de batterie a des caractéristiques qui lui sont propres, il est fortement conseillé de respecter les critères de décharge et de recharge, spécifiques à chaque modèle (temps, intensité, tension, température).
* Si ces données ne sont pas respectées : au mieux, la batterie aura une durée de vie raccourcie ; au pire, elle sera détruite par explosion ou incendie.
** L'explosion ou l'incendie de batteries sont particulièrement dangereux, celles-ci contenant toutes des produits chimiques toxiques et corrosifs.
* Afin d'assurer la recharge dans les meilleures conditions de leurs produits, les fabricants de batteries rechargeables fournissent les caractéristiques de leurs produits, un minimum est généralement inscrit sur la batterie même. Si vous n'avez pas de connaissances dans ce domaine, demandez conseil à un professionnel.
* De plus ces derniers distribuent, des chargeurs adaptés à chacun de leurs produits.
* Chapitre détaillé : Évaluation de la capacité d'une batterie
En conséquence il est de loin préférable d'utiliser le chargeur le mieux adapté à la batterie.

## Stockage

* Une batterie ne doit être stockée que chargée.
* Elle doit être stockée dans un endroit sec, à l'abri du soleil, par exemple dans des bacs de 5 cm de hauteur pour vente en magasin.
* Elle doit être maintenue chargée, par une charge d'entretien à intervalles réguliers. La périodicité et le type de charge dépendent du modèle de la batterie.
# Basic English/Mots en images
### Colors

* Black
* Blue
* Grey
* Green
* Orange
* Red
* Yellow
* White

### Animals

* Fish
* Bee
* Bird
* Cat
* Dog
* Fly
* Goat
* Horse
* Monkey
* Pig
* Rat
* Sheep
* Snake
* Worm
retour au sommaire
# Basic English

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)
Introduction provisoire :
Le Basic English est une langue basée sur l'anglais (respectant toutes les règles de l'anglais) et composée de 850 mots.

## Word List

850 mots pour s'exprimer en anglais.
* Word List
* Word List - Alphabetic
* Word List - Categories
* Words in Pictures
# Diagnostic en marchant
## Conseil citoyen de Ronchin, séance du 17/10/2015 1er diagnostic en marchant dans le quartier de la comtesse de Ségur.

Objectifs de la séance :
* Alimenter le plan d’actions du conseil citoyen.
* Outiller le conseil citoyen avec une méthodologie simple à reproduire de façon autonome

## Principe du diagnostic en marchant

Le diagnostic en marchant est une méthode d'observation du territoire sous la forme d'une ballade,pendant laquelle des atouts, faiblesses, problèmes ou enjeux sont discutés. Il s'agit également de recenser les besoins, mais également les points de satisfaction d'un territoire ou quartier.

### La démarche

Les membres du Conseil Citoyen de Ronchin présents le 17/10/2015 se sont répartis en 2 groupes. Chaque groupe a été équipé d'un appareil photographique numérique, d'une carte du quartier, de gommettes et d'une feuille de route.
Durant la ballade dans le quartier, chaque groupe, via les gommettes, matérialisait sur la carte le point sur lequel portait son observation, sa remarque. La remarque, l'observation était ensuite mise par écrit sur la feuille de route. Une photographie permettant d'illustrer cette remarque était prise.
Synthèse du diagnostic en marchant :
Une cartographie du quartier de la Comtesse de Ségur a été réalisée à partir des remarques, observations des membres du Conseil Citoyen et illustrées de leurs photographies. Pour produire une carte lisible, le quartier a été découpé en 5 secteurs :
− Résidence Comtesse de Ségur (Résidence et Espace Vert, zone d'activités)
− Résidence Marcel Bertrand
− Résidence Jules Romain
− Les Maisons
− Avenue De Lattre de Tassigny
Une tableau de classement thématique (cadre de vie, propreté, voirie...) par secteur a été produit. Ce tableau permet de regrouper, par thématique, les constats faits durant le diagnostic en marchant, les problématiques qu'ils engendrent pour les habitants, le quartier, et les pistes de solutions à apporter.
Calendrier des prochains modules
Insérer image tableau
# Conseils de codage en C
## Présentation

Le propos de ce wikilivre est de proposer des conseils pour le codage de programmes écrits en langage C. Il est disponible en libre accès dans la bibliothèque du département informatique.

## À qui s'adresse ce livre ?

* La lecture préalable de Programmation C est nécessaire.
* Une version imprimable du livre « Conseils de codage en C » est disponible. (voir/ modifier)
* Une version PDF de ce livre est disponible.
* Wikiversité propose un module sur « le langage C ».
Ce livre s'adresse :
* aux programmeurs en langage C ou maître d'œuvre informatique qui veulent produire des logiciels de meilleure qualité.
* aux maîtres d'ouvrage informatique qui souhaitent imposer des règles à respecter par leurs fournisseurs et les vérifier ou les faire vérifier lors de la recette du logiciel.
* aux étudiants qui veulent améliorer leur façon de programmer.
Ce livre n'a pas pour objectif d'enseigner la programmation en langage C, pour cela consultez le cours de programmation en C de la Wikiversité. Pour la description du langage, lisez le Wikilivre Programmation C.
Les conseils donnés dans ce livre sont également valables pour les autres langages de programmation. Cependant, certains conseils deviennent moins importants ou obsolètes avec des paradigmes autres que la programmation impérative. Par exemple, la programmation objet introduit les exceptions qui permettent une gestion d'erreur différente.

## Pour des logiciels plus maintenables

* Pour la lisibilité
* Pour la détection des erreurs
* Pour des modifications plus faciles

## Pour des logiciels plus fiables

* Pour la robustesse
* Pour les performances
* Pour la sécurité

## Pour la qualité

* Pour une utilisation plus facile
* Pour la qualité numérique

## Contributeurs

* Thierry46
* DavidL