OpenLLM-France/wikimedia huggingface dataset:
# Livre de cuisine/Far breton

Le Far est une recette de Bretagne dont il existe plusieurs variantes. Il s'appelle le farz fourn (far au four) en breton. La plus connue est celle avec des pruneaux, bien que traditionnellement le far n'en comporte pas.

## Recette normale

Pour 6 personnes.
* 200 g de farine
* 150 g de sucre semoule
* 4 œufs
* 1 l de lait entier
* 40 g de beurre demi-sel
* 100 g de pruneaux dénoyautés
* 1 sachet de sucre vanillé
* 2 cuillère à soupe de rhum (facultatif)
* sel
Dans une terrine, mélanger la farine, le sucre, le sucre vanillé et une petite pincée de sel.
Creuser un puits, y casser les œufs entiers. Mélanger à l'aide d'une cuillère en bois.
Dans une casserole, faire chauffer le lait avec le rhum et le beurre, ajouter les pruneaux (et faire cuire le tout 2 min, puis verser doucement sur la pâte tout en remuant vivement.
Verser l'ensemble dans un moule et faire cuire à 220°C pendant 40 min dans le four préchauffé. Servir tiède ou froid.

## Variantes
### Variante 1

Pour 6 personnes.
* 200 g de farine
* 200 g de sucre
* 4 œufs
* 3/4 l lait
* 40 g de beurre demi-sel
* une vingtaine de pruneaux
* 2 paquets de sucre vanillé
Préparer la pâte en mélangeant le farine, le lait, le sucre, les œufs, les 2 paquets de sucre vanillé. Laisser reposer une heure.
Préchauffer le four à 200°C. Faire fondre le beurre dans un plat (si possible en terre), puis bien répartir la matière grasse dans le fond et sur les côtés. Verser la pâte dans le plat. Y ajouter les pruneaux (roulés auparavant dans la farine pour qu'ils ne tombent pas au fond).
Faire cuire une demi-heure dans le four à 200°C.
Puis éteindre le four et laisser à nouveau une demi-heure.
Important : à partir du moment où le plat est enfourné, ne pas ouvrir la porte du four pendant une heure.

### Variante 2

Pour 4 à 8 personnes.
* 3 cuillerées à soupe bombées de farine
* 3 cuillerées à soupe rases de sucre semoule
* 4 œufs
* 4,5 louches de lait
* un peu de beurre demi-sel
* une vingtaine de pruneaux (impérativement dénoyautés)
* des raisins secs
* sel
Mettre le four à préchauffer sur 200°C. Dans une terrine, mélanger la farine, le sucre et une petite pincée de sel. Creuser un puits, y casser les œufs. Mélanger énergiquement à l'aide d'une cuillère en bois jusqu'à obtenir une pâte lisse. Faire chauffer le lait sans le laisser bouillir ; incorporer peu à peu le lait chaud à la pâte en remuant sans arrêt. Beurrer généreusement le fond d'un plat à four, le tapisser avec les pruneaux et raisins secs. Verser délicatement la pâte dans le plat. Déposer de fines lamelles de beurre sur le dessus. Faire cuire 15 à 20 minutes à 200°C (jusqu'à ce que la pâte commence à lever sur les bords), puis
45 minutes à 175°C. Laisser retomber et refroidir avant de démouler.
# Livre de cuisine/Escalopes de veau parmesan-amandes
## Ingrédients

Pour 4 personnes :
* 4 escalopes de veau
* 2 œufs
* 8 cuillerées à soupe d'amandes en semoule pas trop fine (mondées au mixeur)
* 4 cuillerées à soupe de parmesan
* 50 g de beurre, 2 cuillerées à soupe d'huile de cuisson, sel et poivre du moulin, un peu de farine.

## Préparation

* Temps estimé de préparation 20 minutes.
* Mélangez dans un bol le parmesan râpé et les amandes en semoule.
* Dans un autre bol, fouettez en omelette les 2 œufs, salez et poivrez.
* Farinez les 4 escalopes de veau des deux côtés, passez-les dans l'œuf fouetté puis dans le mélange parmesan-amandes.
* Faites chauffer une poêle anti-adhésive avec le beurre et l'huile.
* Quand le mélange mousse, placez les escalopes dans la poêle et faites-les dorer sur feu moyen et sur chaque face, 3 à 4 minutes selon leur épaisseur.
# Livre de cuisine/Escargot de Bourgogne

Les Escargots de Bourgogne sont une recette gastronomique traditionnelle de la région Bourguignonne à base d'escargots de Bourgogne (Helix pomatia).

## Ingrédients
### Pour le court-bouillon

* 100 Escargots de Bourgogne
* 1 morceau de lard,
* vin blanc,
* 1 carotte,
* 1 oignon,
* 2 ou 3 gousses d'ail,
* 1 bouquet garni,
* Eau, sel, poivre.

### Pour le beurre d'escargot

* 400 g de beurre,
* persil,
* Un peu de cerfeuil,
* 2 échalottes,
* 5 gousses d'ail,
* 1 petite tranche de lard cru,
* 1 jus de citron,
* Sel, poivre.

## Préparation

* Cuisez pendant 2 h ou plus les escargots lavés et brossés
* Bouillir dans le court-bouillon avec le vin blanc, un peu d'eau, sel, poivre, oignon, les gousses d'ail, la carotte, bouquet garni et un morceau de lard (Ils doivent être très cuits). Égouttez-les dans une passoire puis dans un linge.
* Hachez bien et mélangez les éléments de la farce.
* Dans les coquilles propres, égouttées et essuyées, garnissez de farce, introduisez l'escargot et complétez de farce pour remplir la coquille.
* Placez-les dans un plat et mettez-les au four quelques minutes.
* Servez.
La recette peut être réalisée la veille.

## Voir aussi

* Cuisine bourguignonne
* Escargots de Bourgogne (recette)

## Références

* ↑ Voir Helix pomatia sur wikipédia
# Mathc matrices/c24x

Bibliothèque
Installer ce fichier dans votre répertoire de travail.
Initialiser un tableau de S matrices.
# Logiciel Pastèque/Remise à 0 des ventes

Après un test du logiciel, on peut souhaiter remettre à 0 les ventes. L’opération se fait via une série de requêtes sur la base de données
# Logiciel Pastèque/Scripts divers
## Pastèque Desktop
### Toute version
#### Édition de facture A4

Dans le dossier d’installation de Pastèque, créer un dossier reports/fr/pasteque/reports
Mettez y 3 fichiers :
* invoice.jrxml,
* ticket_lines.jrxml,
* logo.png (votre logo).
Adaptez les fichiers à vos besoins (ils sont définis plus bas).
Dans la configuration avancée, ajoutez la ligne suivante dans Ticket.Buttons, entre les balises <configuration> et </configuration> : <event key="ticket.close" code="code.printinvoice"/>
Dans la configuration avancée, ajoutez une ressource appelée « code.printinvoice » et contenant la ligne suivante : sales.printReport("/fr/pasteque/reports/invoice");

##### ticket_liens.jrxml
#### Rendu monnaie en pop-up

Créer un fichier ressource à partir du compte administrateur
* Aller dans « maintenance » puis « ressources »
* Créer une nouvelle ressource (icône blanche avec point jaune)
* Nommer la ressource « ticket.close »
* Ajouter le code suivant :
* Sauvegarder via l’icône en forme de disquette
Mettre en place le script pour que la fenêtre apparaisse à la fin de la vente
* Dans la liste des ressources, choisir « Ticket.Buttons »
* Sous la balise « configuration », ajouter :
* Sauvegarder
Relancez Pastèque pour que le changement soit pris en compte

#### Empêcher l’encaissement lors d’un pré-paiement si le client n’est pas défini

Ce script pour le logiciel Pastèque interdit de passer à l’encaissement si le client n’est pas sélectionné quand un des produits du ticket est un prépaiement.
Dans Tickets.Buttons ajouter :
Créer une ressource event.PrepaidRequiresCustomer et mettre le code suivant :

### Windows
#### Sauvegarde

Ce script exporte une base de données MySQL (sous la forme d'un fichier dump .sql), la compresse et l’envoie vers un serveur FTP pour la sauvegarder
# Logiciel Pastèque/Misc/Calcul TVA

Mode de calcul de la TVA et des arrondis Résumé du problème
Le calcul des tarifs HT + TVA = TTC pose des problèmes d'arrondis dès lors qu'ils sont sommés.
Voici un cas pour lequel le prix HT plus la TVA n'est pas égal au prix TTC sur le ticket.
Quel que soit l'arrondi lorsque l'on utilise des calculs intermédiaires, il y aura tôt ou tard une erreur d'arrondi qui se propagera.
Par exemple si on se débrouille pour que pour chaque ligne de ticket HT + TVA = TTC, on pourra retrouver sur la somme des bases de TVA une erreur d'arrondi. Idem avec l'application de réductions. Solution utilisée
Étant donné qu'il est impossible d'avoir l'intégralité des calculs justes, on se contentera uniquement des valeurs affichées sur le ticket pour chaque ligne et on fera les calculs de TVA uniquement sur les totaux.
Le calcul HT + TVA = TTC n'est effectué qu'une seule fois sur les totaux. Toutes les sommes sont arrondies à 2 décimale. De cette manière il est impossible d'obtenir une erreur d'arrondi sur une seule ligne.
Dans tous les cas, les valeurs finales HT + TVA = TTC par taux et le grand TTC sont tous arrondis à 2 décimales. Mode B2C
Pour le commerce avec des particuliers, c'est la valeur TTC qui est importante, puisque c'est celle qui est affichée sur le ticket et payée. On ne calculera donc pas le HT et la TVA ligne par ligne, mais uniquement sur les totaux.
On peut obtenir une erreur d'arrondi au pire de (nombre de taxes - 1) centimes, uniquement lorsqu'une remise est appliquée. Deal with it.
En effet, hors remise sur le ticket il n'y a pas de calcul intermédiaire effectué sur les sommes TTC. Comme la remise est affectée au total TTC, il n'est pas possible de répercuter cette remise sur les totaux par taux de TVA sans faire de calcul intermédiaire, sauf à ne pas les arrondir ce qui n'a pas de sens (la compta est sur 2 décimales).
On pourrait trouver des incohérences si on essaie de recalculer le détail HT ligne à ligne, mais on s'en fout en vrai puisque ces valeurs ne sont ni affichées, ni utilisées en compta. Mode B2B
Pour le commerce entre professionnels, c'est la valeur HT qui est affichée. On se contentera donc de ne pas calculer le tarif TTC pour chaque ligne (puisqu'il n'a pas de sens) et on ne fera le calcul que sur le total pour obtenir le montant à payer.
Cette section présente encore quelques zones floues, parce que cette méthode n'est de toute façon pas encore implémentée.
On pourra retrouver une incohérence de (nombre de taxes - 1) centimes avec une remise entre la somme des HT par TVA et le HT total. Deal with it aussi.
# Logiciel Pastèque/Serveur/Liste des Modules

Excepté pour les Modules "Core", tous les modules sont situés dans le répertoire "modules" à la racine du répertoire de Pastèque serveur.

## Modules "Core"

Situés dans le dossier "core_modules" à la racine du répertoire de Pastèque serveur.
| nom du module | Description |
| database | Permet d'établir et de paramétrer la connexion à la base de donnée |
| ident | Permet de paramétrer le schéma d'identification du serveur ( openbar ou via WordPress) |
| modules | Permet de paramétrer les modules ainsi que leur activation |

## Modules "Base"

| nom du module | Description |
| base_cashes | Permet de contrôler les caisses (Rapport Z, Heure d'ouverture, Nombre de tickets, Paiements ...) |
| base_cashregisters | Permet d'administrer les caisses (ajout/suppression) |
| base_currencies | Permet de gérer plusieurs devises |
| base_customers | Permet de gérer des clients (notes, comptes...) |
| base_products | Permet de vendre et de gérer des produits |
| base_resources | Permet de modifier des ressources de la caisse et des tickets (logo, Contenu et mise en forme des tickets ...) |
| base_restaurant | Permet d'activer le mode restaurant (gestion des tables ...) |
| base_sales | Permet d'activer les rapports de vente |
| base_stocks | Permet de gérer les stocks |
| base_users | Permet de gérer les utilisateurs d'une caisse |

## Modules "Customer"

| nom du module | Description |
| customer_discountprofiles | Permet de créer des profils de réduction et de les assigner à des clients |

## Modules "Products"

| nom du module | Description |
| product_attributes | Permet de gérer un ou plusieurs jeu(x) d'attribut sur les produits |
| product_barcodes | Permet d'activer la gestion du code barre |
| product_compositions | Permet de gérer des compositions à base de produit (menus...) |
| product_discounts | Permet de gérer des remises sur les produits |
| product_tariffareas | Permet de gérer des zone tarifaires |

## Modules "Stock"

| nom du module | Description |
| stock_multilocations | Permet de gérer plusieurs stocks |

## Modules "Divers"

| nom du module | Description |
| modules_management | Catalogue permettant de gérer les modules installés, ainsi que les éventuels modules disponibles, via la boutique de modules, pour installation (pas encore utilisé) |
# Logiciel Pastèque/Mise a jour android

Pour mettre à jour votre installation de Pastèque Android, téléchargez la nouvelle version sur https://downloads.pasteque.org/android/ depuis votre tablette. Une fois le téléchargement terminé, cliquez sur la notification pour démarrer la mise à jour.
Assurez vous qu'aucune session est en cours ou en attente d'être envoyée avant d'effectuer la mise à jour.

## Historique des mises à jour

La version actuelle de votre installation est visible dans la fenêtre À propos. Elle est accessible depuis l'écran de connexion dans le menu en haut à droite, via le bouton '...'.
Cette version comporte deux numéros, par exemple 8.1. Vous pouvez faire la mise à jour vers une autre version qui comporte le même premier numéro, par exemple 8.2, mais pas si ce premier numéro est différent. Contactez votre prestataire dans ce cas pour connaître la démarche à suivre.
Cette page liste les modifications visibles d'un point de vue utilisateur. Pour une description complète incluant des changements techniques, consultez https://framagit.org/pasteque/pasteque-android/-/blob/master/CHANGELOG.md

### Version 8
#### 8.1, 27 mai 2020

* Les imprimantes Epson TM-T20 réseau (ethernet) sont compatibles
* 3 imprimantes peuvent être connectées, les commandes peuvent être imprimées sur les imprimantes 2 et 3.
* Le contrôle de la caisse à l'ouverture et à la clôture est disponible.

#### 8.0-alphas 1 à 6

Les versions alpha contiennent des problèmes plus ou moins importants qui peuvent potentiellement bloquer l'utilisation. La mise à jour est vivement recommandée voire obligatoire pour les versions les plus anciennes.
# Upgrading Pasteque v6 to v7
## Server
### Upgrade database

Like for every major version, run the upgrade script to update the database.
No conversion is required for the server to work but it can have some surprises with modules.

### JWT configuration

There are two new properties in the config file
Put these two new properties in the config file and change the jwt_secret. It is used to sign and verify the auth tokens, don't hesitate to put a 256 character long random string with special characters.

### Auth modules

Openbar was deleted. If your server used it, you are suggested to switch to inifile for a simple configuration or local to put user accounts in a database.
PHP 5.5 is required for Inifile auth module.
Inifile uses password hashing. You can use the following php-cli script to generate the hash property. You may also use an online generator like https://pasteque.pro/user_ini.php

### Logging

A new layer of loggin has been added in v7 with new configuration properties. With more log output, the server can write the log in a dedicated file along the system log (usefull when you can't have access in real time to the system log):
The user running the server must have write permission to the targeted directory. A new log file is created every day.

## Modules

The core modules for managing enabled modules were deleted.
Instead, the list of activated modules is set in the APPLICATIONS table. The upgrade script set it by default to all. You may have to change this value from the previous configuration.

## Clients

No special changes required. Just upgrade the clients and let's go.
# Oracle Database/Quelques requêtes utiles/Analyse d'une table

* Introduction
* Interfaces de gestion
* Gestion des utilisateurs
* Objets stockés
** Tablespaces
** Tables
** Vues
** Vues matérialisées
** Index
** Procédures stockées
** Fonctions
** Packages
** Trigger
** Séquences
* PL/SQL
** Considérations générales
*** Oracle ignore le type booléen
*** Oracle ignore l'autoincrement
** Quelques requêtes utiles
*** Dictionnaire de données
*** Paramètres système
*** Utiliser les dates
*** Modifier une ligne
*** Analyse d'une table
** Utilisation de fonctions
*** Fonction UNPIVOT
*** Fonction PIVOT
*** Fonction LISTAGG
*** Fonction TRIM
*** Fonction LENGTH
*** Fonction SUBSTR
*** Fonction DECODE
* Sécurité
* Net Services
* Serveurs partagés
* Monitoring des performances
* Maintenance proactive
* Gestion des annulations
* Conflits de verrouillage
* Sauvegardes et restaurations
* Bases de données multimédia
* Bases de données spatiotemporelles
* Deferrable constraint
* Débogage
* Désinstaller
* Introduction
* Interfaces de gestion
* Gestion des utilisateurs
* Objets stockés
** Tablespaces
** Tables
** Vues
** Vues matérialisées
** Index
** Procédures stockées
** Fonctions
** Packages
** Trigger
** Séquences
* PL/SQL
** Considérations générales
*** Oracle ignore le type booléen
*** Oracle ignore l'autoincrement
** Quelques requêtes utiles
*** Dictionnaire de données
*** Paramètres système
*** Utiliser les dates
*** Modifier une ligne
*** Analyse d'une table
** Utilisation de fonctions
*** Fonction UNPIVOT
*** Fonction PIVOT
*** Fonction LISTAGG
*** Fonction TRIM
*** Fonction LENGTH
*** Fonction SUBSTR
*** Fonction DECODE
* Sécurité
* Net Services
* Serveurs partagés
* Monitoring des performances
* Maintenance proactive
* Gestion des annulations
* Conflits de verrouillage
* Sauvegardes et restaurations
* Bases de données multimédia
* Bases de données spatiotemporelles
* Deferrable constraint
* Débogage
* Désinstaller
[ Modifier le sommaire ]
Quelques fonctions utiles pour analyser les données d'une table.

## Nombre de valeurs distinctes par colonnes

La requête suivante permet de déterminer le nombre de valeurs distinctes pour chaque colonne : Les ";" en fin de titre de colonne permettent une segmentation plus facile.
# Oracle Database/Oracle ignore le type booléen

* Introduction
* Interfaces de gestion
* Gestion des utilisateurs
* Objets stockés
** Tablespaces
** Tables
** Vues
** Vues matérialisées
** Index
** Procédures stockées
** Fonctions
** Packages
** Trigger
** Séquences
* PL/SQL
** Considérations générales
*** Oracle ignore le type booléen
*** Oracle ignore l'autoincrement
** Quelques requêtes utiles
*** Dictionnaire de données
*** Paramètres système
*** Utiliser les dates
*** Modifier une ligne
*** Analyse d'une table
** Utilisation de fonctions
*** Fonction UNPIVOT
*** Fonction PIVOT
*** Fonction LISTAGG
*** Fonction TRIM
*** Fonction LENGTH
*** Fonction SUBSTR
*** Fonction DECODE
* Sécurité
* Net Services
* Serveurs partagés
* Monitoring des performances
* Maintenance proactive
* Gestion des annulations
* Conflits de verrouillage
* Sauvegardes et restaurations
* Bases de données multimédia
* Bases de données spatiotemporelles
* Deferrable constraint
* Débogage
* Désinstaller
* Introduction
* Interfaces de gestion
* Gestion des utilisateurs
* Objets stockés
** Tablespaces
** Tables
** Vues
** Vues matérialisées
** Index
** Procédures stockées
** Fonctions
** Packages
** Trigger
** Séquences
* PL/SQL
** Considérations générales
*** Oracle ignore le type booléen
*** Oracle ignore l'autoincrement
** Quelques requêtes utiles
*** Dictionnaire de données
*** Paramètres système
*** Utiliser les dates
*** Modifier une ligne
*** Analyse d'une table
** Utilisation de fonctions
*** Fonction UNPIVOT
*** Fonction PIVOT
*** Fonction LISTAGG
*** Fonction TRIM
*** Fonction LENGTH
*** Fonction SUBSTR
*** Fonction DECODE
* Sécurité
* Net Services
* Serveurs partagés
* Monitoring des performances
* Maintenance proactive
* Gestion des annulations
* Conflits de verrouillage
* Sauvegardes et restaurations
* Bases de données multimédia
* Bases de données spatiotemporelles
* Deferrable constraint
* Débogage
* Désinstaller
[ Modifier le sommaire ]
Oracle ne respecte pas totalement SQL:1999 et ne dispose pas de type booléen. Ce type doit être recréé suivant deux stratégies, dont aucune ne prévaut véritablement sur l'autre.

## Utilisation de CHAR

La première façon d'émuler le type booléen est d'utiliser les CHAR, notamment les char de dimension 1 : CHAR(1) 'Y'/'N'
L'inconvénient de la méthode est qu'il rend la notion dépendante de la langue utilisée. Et cela peut devenir perturbant pour un développeur récupérant un travail fait dans un autre pays.

## Utilisation de NUMBER

La deuxième façon d'émuler le type booléen est d'utiliser les NUMBER, de dimension 1 : NUMBER(1) 0/1
Cette méthode n'est pas toujours sans inconvénient. Les utilisateurs de Visual Basic, par exemple, sont habitués à donner à True la valeur -1 !

## Références

* http://www.developpez.net/forums/d165180/bases-donnees/oracle/oracle-8i-type-boolean/
* https://docs.oracle.com/cd/B19306_01/olap.102/b14346/dml_datatypes004.htm#CJACGBGE
* http://stackoverflow.com/questions/3726758/is-there-a-boolean-type-in-oracle-databases
# Oracle Database/Procédures stockées

* Introduction
* Interfaces de gestion
* Gestion des utilisateurs
* Objets stockés
** Tablespaces
** Tables
** Vues
** Vues matérialisées
** Index
** Procédures stockées
** Fonctions
** Packages
** Trigger
** Séquences
* PL/SQL
** Considérations générales
*** Oracle ignore le type booléen
*** Oracle ignore l'autoincrement
** Quelques requêtes utiles
*** Dictionnaire de données
*** Paramètres système
*** Utiliser les dates
*** Modifier une ligne
*** Analyse d'une table
** Utilisation de fonctions
*** Fonction UNPIVOT
*** Fonction PIVOT
*** Fonction LISTAGG
*** Fonction TRIM
*** Fonction LENGTH
*** Fonction SUBSTR
*** Fonction DECODE
* Sécurité
* Net Services
* Serveurs partagés
* Monitoring des performances
* Maintenance proactive
* Gestion des annulations
* Conflits de verrouillage
* Sauvegardes et restaurations
* Bases de données multimédia
* Bases de données spatiotemporelles
* Deferrable constraint
* Débogage
* Désinstaller
* Introduction
* Interfaces de gestion
* Gestion des utilisateurs
* Objets stockés
** Tablespaces
** Tables
** Vues
** Vues matérialisées
** Index
** Procédures stockées
** Fonctions
** Packages
** Trigger
** Séquences
* PL/SQL
** Considérations générales
*** Oracle ignore le type booléen
*** Oracle ignore l'autoincrement
** Quelques requêtes utiles
*** Dictionnaire de données
*** Paramètres système
*** Utiliser les dates
*** Modifier une ligne
*** Analyse d'une table
** Utilisation de fonctions
*** Fonction UNPIVOT
*** Fonction PIVOT
*** Fonction LISTAGG
*** Fonction TRIM
*** Fonction LENGTH
*** Fonction SUBSTR
*** Fonction DECODE
* Sécurité
* Net Services
* Serveurs partagés
* Monitoring des performances
* Maintenance proactive
* Gestion des annulations
* Conflits de verrouillage
* Sauvegardes et restaurations
* Bases de données multimédia
* Bases de données spatiotemporelles
* Deferrable constraint
* Débogage
* Désinstaller
[ Modifier le sommaire ]

## Création

Une procédure stockée est un script enregistré dans la base de données sous un nom par lequel on peut l'exécuter depuis d'autres.

### Appel

ou