OpenLLM-France/wikimedia huggingface dataset:
# Jardin au naturel/Comment aménager un jardin au naturel ?/Établir un état initial

Avant de commencer les travaux, il est important de faire un état des lieux de votre jardin.

## Observer le paysage environnant

À partir des observations faites sur le terrain, à partir de vues aériennes (de google maps ou autres) et d'un plan cadastré large, noter l'occupation au sol des parcelles voisines (bois, pâture, prairie de fauche, jardin particulier..). Repérer les zones humides et cours d'eau, ainsi que les constructions voisines (belle maison, hangar hideux, garage préfabriqué, chalet, pont, infrastructures...), la hauteur et la nature de leurs éventuelles clôtures (mur, haies de résineux, haie champêtre...).

## Étudier la propriété

* Partir d'un exemplaire du plan cadastral de la propriété. Matérialiser tous les aménagements immuables ajoutés (véranda, terrasse...). Indiquer le nord, les vents dominants et les vents froids.
* Sur un premier calque, dessiner les ombres portées à l'aide de hachures. Une sortie dans le jardin par un bel après-midi ensoleillé vous y aidera.
* Sur un deuxième transparent, repérer les points bas, les dénivelés importants.
* Sur un dernier, dessiner les éléments végétaux déjà présents : les haies en vert foncé, la pelouse en vert clair, le potager en marron...
* Si une partie de la proprité est déjà consacrée à la nature, il convient d'en inventorier les plantes et les animaux déjà présents.

## Analyser le sol

La nature du sol a une grande influence sur la flore spontanée, et sur la reprise et de développement de futures plantations.
Un sol argileux, lourd et collant, plaît aux frênes, cornouillers sanguins, orties ou pissenlits. Il devient dur en séchant et tend à se craqueler. Un sol limoneux, plus doux, accueille des plantes messicoles (mouron rouge, lamier...) alors qu'un sol sableux, léger, peu fertile, convient mieux à une pelouse sauvage.
La nature dominante d'un sol s'évalue d'abord au toucher. Rouler une poignée de terre entre les mains. Si elle colle et forme des "boulettes", elle est argileuse. Si elle est douce et crisse entre les doigts, elle est limoneuse. Si elle comporte des grain, elle est sableuse.
Une terre n'est jamais totalement argileuse, limoneuse ou sableuse mais elle est souvent constituée d'un mélange plus ou moins dominé par l'une ou l'autre des textures.
Les herbes poussant spontanément sur le terrain donnent également de précieuses indications.
| Espèces | Indication |
| Moutarde des champs | Sol calcaire |
| Fougère, petite oseille, pensée sauvage, houlque molle, spergule | Sol acide |
| Mouron des oiseaux, ortie, cirse des champs, ficaire, chénopode, liseron, matricaire, lierre terrestre, pissenlit, bourse-à-pasteur | Sol riche en matières organiques et en éléments nutritifs (azote notamment) |
| Sagine couchée, prêle, potentille ansérine, plantain, renoncule rampante, jonc | Sol humide, mal drainé et/ou compacté |
| Herbe-aux-goutteux, lampsane commune, matricaire, pissenlit, géranium disséqué, gaillet gratteron | Sol lourd, riche en argile |
Si le terrain présente de grandes disparités de sol (calcaire, acide...), les reporter sur un calque.
# Jardin au naturel/Comment aménager un jardin au naturel ?/Planter des couvre-sol

En rampant, les couvre-sol sont intéressants pour protéger un talus, le pied d’une plate-bande… tout en étant utile aux animaux et aux gourmets et en évitant l'érosion ou le tassement du sol.

## Pourquoi des couvre-sol ?

Les couvre-sol sont des plantes qui s’étalent sur la terre sans être très haut. Ils se reproduisent généralement par voie végétative, en général par des stolons, et ont ainsi la propriété de s’étendre.

### Pour décorer

Un coin sombre du jardin à illuminer. Un talus disgracieux qui menace de s'ébouler. Une pelouse uniforme manquant de relief. Une allée rectiligne dont il faut atténuer la rigueur... Les couvre-sol vous apportent de multiples solutions grâce à leur variété de couleurs, de feuillages ou de ports.

### Pour protéger le sol

Un sol nu se dessèche et est érodé par le vent et l’eau. Il se tasse, ce qui nuit à l’apport d’eau et d’air en-dessous. AU pied d'un arbre, sur un talus, dans les massifs ornementaux, implantez des couvre-sol.
Ils poussent rapidement et évitent ainsi son érosion ou son tassement, mais également l’apparition des herbes non souhaitées. Ils absorbent et mettent en réserve les sels minéraux que la terre du jardin pourrait avoir en excès, évitant ainsi leur lessivage pollueur vers les rivières ou les nappes.

### Pour se reposer

Ils sont précieux pour le jardinier en lui faisant économiser du temps. Au pied des plates-bandes, des massifs, des haies installées, ils limitent la pousse des "mauvaises herbes", donc le désherbage. Sur les talus ou même tout sol nu, ils évitent l'érosion, le lessivage, donc la perte de qualité du sol. Dans la pelouse, ils réduisent les tontes.
# Jardin au naturel/Comment aménager un jardin au naturel ?/Semer une micro-prairie

Pour créer une prairie fleurie, deux solutions s'offrent à vous : laisser faire la nature ou ensemencer une terre nue.

## Laisser faire la nature

La meilleure solution pour créer une prairie est la reconquête végétale naturelle grâce aux plantes environnantes. Elle prend plusieurs années mais permet d’augmenter la diversité et d’attirer ainsi la faune sauvage.
La méthode la plus simple consiste à laisser pousser l’herbe de la pelouse sur la partie la plus éloignée de la maison. À partir d’une terre nue, les premières plantes seront d’abord des annuelles (coquelicot, matricaire camomille…), puis après deux ou trois ans, les vivaces les remplaceront.

## Ensemencer une prairie
### Origine des graines

Les impatients préféreront semer des mélanges de graines, à condition qu’elles soient adaptées à notre climat et à nos terres régionales. Il est possible de récolter des semences dans la nature. Il convient pour cela de surveiller le développement des plantes poussant dans la campagne. Les graines mûres seront collectées, par temps sec, en été ou en automne. Épargnez les plantes en faible effectif. Ne cueillez bien sûr pas d’espèces protégées et limitez-vous à celles que vous identifiez sans erreurs.
Pour diversifier l’origine des graines, il peut être intéressant de les prélever dans différents endroits. Il convient ensuite de les sécher sur du journal dans un local sombre et sec et enfin de les ranger dans de petits sacs en papier étiquetés.
Il faut se méfier des mélanges vendus dans le commerce. Ils sont en général déséquilibrés, une trop grande proportion de graminées gène l’implantation des bisannuelles.

### Description des travaux

La mise en place d’une prairie ne demande pas de travaux exceptionnels. Si le terrain est nu, plusieurs étapes sont indispensables :
* Bien bêcher le sol, en ramenant les terres pauvres situées en profondeur vers la surface.
* Affiner la surface.
* Épandre les graines. Les semis de printemps réussissent généralement mieux et permettent une floraison des annuelles dès la première année, tandis que les vivaces ne s’épanouiront que l’année suivante. À partir de juillet, il faut renoncer à semer des annuelles : elles n’auraient sans doute pas la possibilité de fleurir et gèleraient l’hiver.
* Tasser le sol à l’aide d’un rouleau.
La parcelle ensemencée doit rester humide les quatre à six premières semaines pour que les plantes lèvent bien.
# Jardin au naturel/Comment aménager un jardin au naturel ?/Tenir compte de la réglementation

Toutes vos idées, aussi généreuses pour la nature soient-elles, doivent se conformer aux réglementations existantes. Autant dès lors en prendre connaissance avant de poursuivre vos réflexions, vos plans ou même d'entreprendre tout travail.

## Les réglementations particulières

Si vous habitez un lotissement, consultez le règlement particulier qui vous a été remis au moment de votre achat.
Interrogez également le service urbanisme de votre commune (ou le secrétaire de mairie dans les communes rurales), pour connaître les dispositions du plan local d'urbanisme. Par exemple, des prescriptions paysagères peuvent y préciser les essences pouvant être plantées.Même en l'absence de PLU, des communes peuvent prendre des arrêtés en terme de haies bordant la voirie.

## La réglementation nationale
### La réglementation liée aux plantations d'arbres

La responsabilité est engagée si les branches ou les racines des arbres endommagent la propriété voisine. Le code rural impose d'écarter les plantations de la limite de propriété :
* une haie de moins de deux mètres de haut doit être reculée de cinquante centimètres;
* une haie dont la hauteur dépasse deux mètres doit être plantée à au moins deux mètres de la limite du fond du voisin.

### La réglementation liée aux plans d'eau

Lorsque la profondeur dépasse 2 m et la superficie 100 m$^2$, le code de l'urbanisme s'applique : la mare est alors considérée comme un étang et soumise à autorisation ou déclaration.
# Jardin au naturel/Comment aménager un jardin au naturel ?/Faire vivre le sol du jardin

Faire vivre le sol du jardin
Si des légumes poussent désormais en tout temps dans des serres sans contact avec le sol, chacun fait la différence entre une tomate cultivée de telle manière et une autre issue d’un jardin. Le sol est donc essentiel.

## Comment se forme le sol ?

Le sol est le résultat de la décomposition de la roche en dessous et de la matière organique qu’il reçoit (les feuilles, brindilles, déjections, cadavres… dans une forêt). La vie cachée dans la terre joue un rôle clé dans ce processus. Certains animaux (les vers de terre, les fourmis…) retournent le sol, créent des habitats pour les autres organismes et favorisent l’apport de la matière organique, de l’eau et de l’air en profondeur. Les bactéries et les champignons microscopiques décomposent la matière organique en nourriture pour les plantes (azote, phosphore…). D’autres animaux (colemboles, acariens, nématodes…) contrôlent leur activité et évitent la prolifération de l’un sur l’autre. La qualité et l’abondance de la production de votre jardin dépendent de cette vie cachée dans le sol.

## Comment aider la vie dans le sol pour avoir de bons et beaux légumes, fruits ?
### Évitez les pesticides

Les molécules des désherbants, insecticides… nuisent également à la vie dans le sol. Pour les éviter, favorisez au contraire les animaux auxiliaires grâce à des haies, une mare, des gîtes… Associez les cultures : certaines repoussent les insectes nuisibles d’autres. Changez l’emplacement des légumes d’une année sur l’autre.

### Apportez régulièrement de la matière organique

Un sol nu se dessèche et est érodé par le vent et l’eau. Il se tasse, ce qui nuit à l’apport d’eau et d’air en-dessous. Entre les rangs de légumes ou dès qu’une parcelle se libère, épandez des feuilles mortes, des tontes de pelouses en fines épaisseurs régulièrement renouvelées, du compost ou du fumier bien décomposés… ou cultivez des engrais verts. Ces apports de matière organique améliorent la structure du sol, augmentent la capacité de rétention de l’eau et des nutriments, protègent le sol contre l’érosion et le tassement et soutiennent le développement des organismes du sol. Ils rendent inutile l’apport d’engrais chimiques, qui au contraire perturbent l’équilibre entre les micro-organismes du sol.
# Jardin au naturel/Comment aménager un jardin au naturel ?/Réaliser des allées

Les allées permettent de flâner dans le jardin et d’y observer ainsi les plantes et les animaux. Elles doivent donc s’intégrer au mieux dans l’environnement. Dans la prairie sèche, celle-ci peut juste se résumer à une bande d’herbes coupée plus régulièrement.
Les cheminements ne doivent pas être réalisés avec des matériaux imperméables.
Pour qu’ils soient au même niveau que le reste du jardin, la première étape consiste à creuser le sol sur environ dix centimètres et à compacter le fond. Le bomber pour permettre l’évacuation des eaux de pluie. Poser ensuite un géotextile. Le revêtement supérieur, réalisé avec des matières naturelles comme le bois haché ou les écorces, sera compacté.
Dans les parties humides, il est possible de fabriquer des planchers surélevés pour se promener en ayant les pieds au sec.
# Exercices en langage C/Les opérateurs

* Préparation
* Notions de base
* Les variables et constantes
* Les types
* Les opérateurs
* Les structures de contrôle
* Les tableaux statiques
* Les fonctions
* Les chaînes de caractères
* Les pointeurs
* Le préprocesseur C
* Préparation
* Notions de base
* Les variables et constantes
* Les types
* Les opérateurs
* Les structures de contrôle
* Les tableaux statiques
* Les fonctions
* Les chaînes de caractères
* Les pointeurs
* Le préprocesseur C
[ Modifier le sommaire ]
Pour les besoins de certains exercices, on rappelle le tableau de priorité des opérateurs du C :
| Catégorie d'opérateurs | Opérateurs | Associativité |
| fonction, tableau, membre de structure, pointeur sur un membre de structure | ( ) [ ] . -> | Gauche -> Droite |
| opérateurs unaires | - ++ -- ! ~ * & sizeof (type) | Droite ->Gauche |
| multiplication, division, modulo | * / % | Gauche -> Droite |
| addition, soustraction | + - | Gauche -> Droite |
| décalage | << >> | Gauche -> Droite |
| opérateurs relationnels | < <= > >= | Gauche -> Droite |
| opérateurs de comparaison | == != | Gauche -> Droite |
| et binaire | & | Gauche -> Droite |
| ou exclusif binaire | ^ | Gauche -> Droite |
| ou binaire | ǀ | Gauche -> Droite |
| et logique | && | Gauche -> Droite |
| ou logique | ǁ | Gauche -> Droite |
| opérateur conditionnel | ? : | Droite -> Gauche |
| opérateurs d'affectation | = += -= *= /= %= &= ^= |= <<= >>= | Droite -> Gauche |
| opérateur virgule | , | Gauche -> Droite |
La priorité des opérateurs va décroissante lorsqu'on se déplace du haut du tableau vers le bas du tableau. Quand les opérateurs ont même priorité, c'est la colonne de droite sur la distributivité qui est utilisée.

## Analyse de programmes

Nous allons présenter dans cette section un ensemble d'exercices destinés à se familiariser avec les opérateurs du langage C.

### Exercice 1

* Quelle est la valeur de i après la suite d'instructions :
La série d'instructions donnée est équivalente à :
Donc i vaut -1
* Quelle est la valeur de i après la suite d'instructions :
La série d'instructions donnée est équivalente à :
Donc i vaut 0

### Exercice 2 : la priorité des opérateurs

Enlever les parenthèses des expressions suivantes lorsqu'elles peuvent être retirées.
Évaluer ces expressions pour a=6, b=18 et c=24. On supposera que les valeurs données le sont pour chacune des lignes : il n'y a pas d'exécution séquentielle comme dans un programme.

## Petit programme de calcul

Écrivez un programme calcul.c qui calcule la distance entre deux points d'un plan :
* Lit les coordonnées de deux points : X$_1$ (x$_1$, y$_1$) et X$_2$ (x$_2$, y$_2$).
* Affiche les données lues
* Calcule la distance d entre les deux points X$_1$ et X$_2$, avec la formule :
$d={\sqrt {(x_{2}-x_{1})^{2}+(y_{2}-y_{1})^{2}}}$
* Affiche le résultat à l'écran.
# Exercices en langage C/Pointeurs

* Préparation
* Notions de base
* Les variables et constantes
* Les types
* Les opérateurs
* Les structures de contrôle
* Les tableaux statiques
* Les fonctions
* Les chaînes de caractères
* Les pointeurs
* Le préprocesseur C
* Préparation
* Notions de base
* Les variables et constantes
* Les types
* Les opérateurs
* Les structures de contrôle
* Les tableaux statiques
* Les fonctions
* Les chaînes de caractères
* Les pointeurs
* Le préprocesseur C
[ Modifier le sommaire ]
Soit un texte donné par une chaîne de caractères. Le but est de compter le nombre d'occurrences de chaque lettre sans distinction entre minuscules et majuscules.

## Exercice 1
### Question 1

Déclarer le texte comme un tableau statique initialisé par une chaîne de caractères constante, un tableau d'entiers statique pour compter les occurrences dont la taille est fixée par une constante et un pointeur pour parcourir le texte.
* Solution
* #include <stdio.h>
* #include <stdlib.h>
* const int nb_lettres = 26;
* int main(void)
* /* déclaration d'une chaîne <=> tableau de caractères. */
* char ch="ceci est une chaîne de test";
* printf("Chaîne en mémoire : %s\n",ch);
* /* déclaration d'un pointeur sur une chaîne de caractères. */
* char *p = ch;
* /* déclaration d'un tableau de 26 cases correspondant
* aux lettres de l'alphabet, contenant les occurrences
* des lettres trouvées dans la chaîne.*/
* int occ[nb_lettres];

### Question 2

Initialiser le vecteur d'entiers avec un parcours par indice.

### Question 3

Compter les occurrences en utilisant la conversion entre le type char et le type int (la conversion d'un caractère donne son code dans le standard américain).

### Question 4

Afficher le résultat sur la sortie standard.

## Exercice 2
### Pointeurs et références

Donner et expliquer le résultat de l'exécution du programme suivant :
# Exercices en langage C/Chaines

* Préparation
* Notions de base
* Les variables et constantes
* Les types
* Les opérateurs
* Les structures de contrôle
* Les tableaux statiques
* Les fonctions
* Les chaînes de caractères
* Les pointeurs
* Le préprocesseur C
* Préparation
* Notions de base
* Les variables et constantes
* Les types
* Les opérateurs
* Les structures de contrôle
* Les tableaux statiques
* Les fonctions
* Les chaînes de caractères
* Les pointeurs
* Le préprocesseur C
[ Modifier le sommaire ]

## Longueur d'une chaîne de caractères (pour manipuler)

Écrire une fonction C calculant la longueur en octets d'une chaîne de caractères, donnée en argument.
À titre d'exercice, ne pas utiliser la fonction strlen du fichier d'entête string.h.
La fonction doit recevoir une chaîne de caractères. Une chaîne de caractères en C est un tableau de caractères, finissant par le caractère nul. La fonction doit donc recevoir un pointeur vers le premier élément du tableau, de type char *, et chercher l'élément nul.
La fonction recevant un pointeur, il faut donc s'assurer qu'il est valide. On doit donc tester si le pointeur est nul ou non avant de regarder ce qui se trouve dans le tableau de caractères.
Ici, on a choisi de retourner la valeur -1 si le pointeur est nul.
La boucle de recherche de l'élément nul peut être aussi écrite avec un for :
Fichier source lg.c :
Résultats d'exécution :

## Longueur d'une chaîne de caractères (par une fonction)

Écrire un programme lgChaine.c :
* qui lit des chaînes de caractères tapées au clavier (flux stdin) ;
* qui calcule la longueur de chaque chaîne entrée et l'affiche ainsi que sa longueur ;
* qui s'arrête si l'utilisateur ne frappe que la touche Entrée ou si le fichier est fini (Ctrl-D tapé par l'utilisateur).
Vous utiliserez :
* une des fonctions déclarée dans stdio.h.
* la fonction strlen, ainsi que d'autres si nécessaire, déclarée dans string.h.
Remarques :
* L'utilisation de fgets est plus sûre que gets ou scanf : fgets permet de limiter le nombre de caractère (octet) lu et de ne pas déborder de la variable reponse. Les débordements mémoire sont une source d'erreur fréquente en C.
* Ce programme peut ne pas donner les résultats attendus si on redirige sur l'entrée standard un fichier comportant des terminateurs de ligne \r (Mac).
* La fonction strlen de string.h retourne une valeur de type size_t : type non signée donc toujours >=0, unsigned int ou unsigned long selon l'implémentation.
# Exercices en langage C/Préprocesseur

* Préparation
* Notions de base
* Les variables et constantes
* Les types
* Les opérateurs
* Les structures de contrôle
* Les tableaux statiques
* Les fonctions
* Les chaînes de caractères
* Les pointeurs
* Le préprocesseur C
* Préparation
* Notions de base
* Les variables et constantes
* Les types
* Les opérateurs
* Les structures de contrôle
* Les tableaux statiques
* Les fonctions
* Les chaînes de caractères
* Les pointeurs
* Le préprocesseur C
[ Modifier le sommaire ]

## Exercice 1

Écrire un fichier source hello.c. Les résultats du programme exécutable seront différents selon les options passées au préprocesseur sur la ligne de commande de compilation. Ce programme affichera :
* "Hello World", si la constante symbolique WORLD est définie.
* "Hello Fof", si FOF est définie.
* "Hello Nobody", si aucune de ces constantes n'est définie.
Lignes de Compilation avec gcc :
* gcc -D WORLD -o hello.exe hello.c
* gcc -D FOF -o hello.exe hello.c
* gcc -o hello.exe hello.c
Exécution : ./hello.exe
* Solution
* #include <stdio.h>
* #include <stdlib.h>
* int main(void)
* #if defined(WORLD)
* (void)puts("Hello World");
* #elif defined(FOF)
* (void)puts("Hello Fof");
* #else
* (void)puts("Hello Nobody\n");
* #endif
* return EXIT_SUCCESS;
# Exercices en langage C/Sommaire

* Préparation
* Notions de base
* Les variables et constantes
* Les types
* Les opérateurs
* Les structures de contrôle
* Les tableaux statiques
* Les fonctions
* Les chaînes de caractères
* Les pointeurs
* Le préprocesseur C
# Mathc complexes/Fichiers h : wzp

Bibliothèque
Installer ce fichier dans votre répertoire de travail.
La fonction p_Z; affiche un nombre complexe.
# Mathc complexes/Fichiers h : z s

Bibliothèque
Installer ce fichier dans votre répertoire de travail.
Nous allons utiliser ses fonctions pour donner des valeurs aléatoires aux matrices.
# Mathc complexes/Fichiers h : wzs

Bibliothèque
Installer ce fichier dans votre répertoire de travail.
Dans ce fichier nous avons déclaré la structure des nombres complexes.
# Mathc complexes/Fichiers h : z r

Bibliothèque
Installer ce fichier dans votre répertoire de travail.
La fonction clrscrn; efface l'écran en introduisant des lignes vides.
La fonction stop; arrête le programme.
La fonction stop_w; arrête une boucle while ou do while.
Si on souhaite arrêter le programme sans affichage à l'écran on peut directement utiliser getchar; .
# Mathc complexes/Fichiers h : wzi

Bibliothèque
Installer ce fichier dans votre répertoire de travail.
La fonction i_Z; transforme deux réelles en nombres complexes.
Les fonctions Re_Z; et Im_Z; donnent les parties réelles et imaginaires d'un complexe.
# Livre de cuisine/Confit d'oignons
## Ingrédients

* 500 g d'oignons
* 1/4 tasse (65 ml) de beurre
* 1/2 tasse (125 ml) de vin rouge
* 3 c. à soupe (45 ml) de vinaigre de Xérès
* 1/4 tasse (65 ml) de sucre
* sel et poivre du moulin

## Préparation

Couper les oignons en fines rondelles.
Faire fondre le beurre, y ajouter les oignons et le sucre et cuire, à feu doux, environ 30 minutes, jusqu'à ce que le tout soit légèrement coloré, en remuant de temps en temps.
Verser le vinaigre de Xérès et le vin rouge.
Saler, poivrer et poursuivre la cuisson 15 à 20 minutes à découvert, en remuant souvent. Réfrigérer.

## Variantes

Le confit d'oignon peut également se décliner dans différentes versions, en variant le type d'oignons (oignons rouges, plus sucrés, oignons doux, oignons rouges longs...). On peut également remplacer le vinaigre de Xérès par un bon vinaigre de vin, par un mélange de vinaigre de vin et de vinaigre de cidre, sans oublier le vinaigre balsamique, qui ajoutera une note sucrée et des saveurs chatoyantes pour le palais. Certaines épices peuvent également agréablement compléter cette mixture, tel des clous de girofle, de la cannelle, de la muscade, des graines de coriandre, du poivre, du cinq épices...