Merge pull request #69 from chmduquesne/gh-pages

Meilleure francisation du code
This commit is contained in:
Valentin Lorentz
2015-12-13 14:34:35 +01:00
7 changed files with 273 additions and 247 deletions

View File

@@ -46,7 +46,7 @@ h3
margin-left: 10px;
}
.mot-francais
.mot-français
{
color: #208f20;
}
@@ -75,7 +75,7 @@ h3
#publicite
{
font-size: normal;
font-size: initial;
color: #905050;
margin: 50px;
}

26
fr.js
View File

@@ -1,26 +0,0 @@
Objet = Object
Objet.creer = Objet.create
Chaine = String
Chaine.prototype.enMinuscules = Chaine.prototype.toLowerCase
Chaine.prototype.enMajuscules = Chaine.prototype.toUpperCase
Chaine.prototype.remplacer = Chaine.prototype.replace
Chaine.prototype.caractereA = Chaine.prototype.charAt
Tableau = Array
Tableau.prototype.tri = Tableau.prototype.sort
Tableau.prototype.longueur = function () { return this.length; }
Tableau.prototype.pousser = Tableau.prototype.push
document.creerElement = document.createElement
document.recupererElementParNomDEtiquette = document.getElementsByTagName;
document.localisation = document.location;
document.localisation.protocole = document.localisation.protocole;
jQuery.fn.extend({
clic: function (x) { return this.click(x); },
enfants: function () { return this.children(); },
dernier: function () { return this.last(); },
ajouter: function (x) { return this.append(x); }
});
$.recupererJSON = $.getJSON

View File

@@ -4,33 +4,14 @@
<meta charset="UTF-8">
<title>Bitoduc.fr : la référence selon nous-mêmes sur les termes informatiques en français</title>
<link rel="icon" href="favorimage.ico" />
<link rel="stylesheet" type="text/css" href="feuille_de_style.css" />
<link rel="stylesheet" type="text/css" href="bitoduc.css" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
<script type="text/javascript" src="fr.js" charset="utf-8"></script>
<script type="text/javascript" src="creuille.js" charset="utf-8"></script>
<script>
$( function() {
$.recupererJSON( "traductions.json", function( traductions ) {
construitListe(traductions);
$( "#lienChange" ).clic( function() {changeDeSens(traductions);} );
});
});
</script>
<script type="text/javascript" src="js/prototypes-fr.js" charset="utf-8"></script>
<script type="text/javascript" src="js/principal.js" charset="utf-8"></script>
<script type="text/javascript" src="js/gogol-analytique.js"></script>
</head>
<body>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.pousser(['_setAccount', 'UA-42609030-1']);
_gaq.pousser(['_trackPageview']);
(function() {
var ga = document.creerElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.localisation.protocole ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.recupererElementParNomDEtiquette('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<div id="tout">
<h1>Bitoduc.fr : termes informatiques en français</h1>
@@ -50,7 +31,7 @@
<br/><br/>
<div>
<a id="lienChange" href="#" ></a>
<a id="lienInversion" href="#" ></a>
</div>
</div>

19
js/gogol-analytique.js Normal file
View File

@@ -0,0 +1,19 @@
'use strict';
$(function() {
var _gaq = _gaq || [];
_gaq.pousser(['_setAccount', 'UA-42609030-1']);
_gaq.pousser(['_trackPageview']);
(function() {
var ga = document.creerElement('script');
ga.type = 'text/javascript';
ga.async = true;
ga.src =
('https:' == document.localisation.protocole ?
'https://ssl' : 'http://www')
+ '.google-analytics.com/ga.js';
var s = document.recupererElementParNomDEtiquette('script')[0];
s.parentNode.insertBefore(ga, s);
})();
});

View File

@@ -1,50 +1,33 @@
var reciproque = {'anglais': 'francais', 'francais': 'anglais'};
var embelli = {'francais': 'Français', 'anglais': 'Anglais'};
'use strict';
function changeDeSens(traductions) {
var réciproque = {'anglais': 'français', 'français': 'anglais'};
function inverser(traductions) {
var langue = $( "#mots" ).attr("data-langue");
$( "#mots" ).attr("data-langue", reciproque[langue]);
construitListe(traductions);
$( "#mots" ).attr("data-langue", réciproque[langue]);
construireListe(traductions);
mettreÀJourLienInversion();
}
function metAJourLienChange(langue) {
function mettreÀJourLienInversion() {
var langue = $( "#mots" ).attr("data-langue");
var langueSource = langue;
var langueDestination = reciproque[langue];
$( "#lienChange" )
var langueDestination = réciproque[langue];
$( "#lienInversion" )
.html(
'<span class="mot-' + langueSource + '">'
+ embelli[langueSource]
+ langueSource.majusculer()
+ '</span>'
+ ' &rarr; '
+ '<span class="mot-' + langueDestination + '">'
+ embelli[langueDestination]
+ langueDestination.majusculer()
+ '</span>'
);
}
function sansAccents(mot) {
// Faute d'une bibliotheque unidecode, nous nous limitons aux lettres
// accentuées du français.
// https://fr.wikipedia.org/wiki/Diacritiques_utilisés_en_français
return mot
.enMinuscules()
.remplacer("à", "a")
.remplacer("â", "a")
.remplacer("ç", "c")
.remplacer("é", "e")
.remplacer("è", "e")
.remplacer("ê", "e")
.remplacer("ë", "e")
.remplacer("î", "i")
.remplacer("ï", "i")
.remplacer("ô", "o")
.remplacer("ù", "u")
.remplacer("ü", "u");
}
function htmlifier(mot, langue){
var res = '<span class="mot-' + langue + '">' + mot[langue] + '</span>';
if (langue == "francais") {
if (langue == "français") {
if ("genre" in mot){
var genre = 'N' + mot["genre"].enMajuscules();
res += ' <span class="genre">' + genre + '</span>';
@@ -65,16 +48,14 @@ function htmlifier(mot, langue){
return res;
}
function construitListe(traductions) {
function construireListe(traductions) {
var langue = $( "#mots" ).attr("data-langue");
metAJourLienChange(langue);
traductions = traductions["vrais mots"].concat(traductions["faux mots"]);
// tri par ordre alphabétique de la langue de départ
traductions.tri(function(traduction1, traduction2){
var s1 = sansAccents(traduction1[langue]);
var s2 = sansAccents(traduction2[langue]);
// trier par ordre alphabétique de la langue de départ
traductions.trier(function(traduction1, traduction2){
var s1 = traduction1[langue].enMinuscules().sansAccents();
var s2 = traduction2[langue].enMinuscules().sansAccents();
if (s1 > s2) {
return 1;
}
@@ -90,7 +71,7 @@ function construitListe(traductions) {
var l = '';
for (var i=0; i < traductions.longueur(); i++) {
var mot = traductions[i];
var c = sansAccents(mot[langue]).caractereA(0).enMajuscules();
var c = mot[langue].caractereA(0).enMajuscules().sansAccents();
if (c != l) {
@@ -118,8 +99,17 @@ function construitListe(traductions) {
'· '
+ htmlifier(mot, langue)
+ ' : '
+ htmlifier(mot, reciproque[langue])
+ htmlifier(mot, réciproque[langue])
)
);
}
}
$(function() {
$.recupererJSON( "traductions.json", function( traductions ) {
construireListe(traductions);
mettreÀJourLienInversion();
$( "#lienInversion" ).clic( function() {inverser(traductions);} );
});
});

62
js/prototypes-fr.js vendored Normal file
View File

@@ -0,0 +1,62 @@
'use strict';
var Objet = Object
Objet.creer = Objet.create
var Chaine = String
Chaine.prototype.enMinuscules = Chaine.prototype.toLowerCase
Chaine.prototype.enMajuscules = Chaine.prototype.toUpperCase
Chaine.prototype.remplacer = Chaine.prototype.replace
Chaine.prototype.caractereA = Chaine.prototype.charAt
Chaine.prototype.tranche = Chaine.prototype.slice
Chaine.prototype.sansAccents = function () {
// Faute d'une bibliotheque unidecode, nous nous limitons aux lettres
// accentuées du français.
// https://fr.wikipedia.org/wiki/Diacritiques_utilisés_en_français
return this
.remplacer("à", "a")
.remplacer("â", "a")
.remplacer("ç", "c")
.remplacer("é", "e")
.remplacer("è", "e")
.remplacer("ê", "e")
.remplacer("ë", "e")
.remplacer("î", "i")
.remplacer("ï", "i")
.remplacer("ô", "o")
.remplacer("ù", "u")
.remplacer("ü", "u")
.remplacer("À", "A")
.remplacer("Â", "A")
.remplacer("Ç", "C")
.remplacer("É", "E")
.remplacer("È", "E")
.remplacer("Ê", "E")
.remplacer("Ë", "E")
.remplacer("Î", "I")
.remplacer("Ï", "I")
.remplacer("Ô", "O")
.remplacer("Ù", "U")
.remplacer("Ü", "U");
}
Chaine.prototype.majusculer = function() {
return this.caractereA(0).enMajuscules() + this.tranche(1);
}
var Tableau = Array
Tableau.prototype.trier = Tableau.prototype.sort
Tableau.prototype.longueur = function () { return this.length; }
Tableau.prototype.pousser = Tableau.prototype.push
document.creerElement = document.createElement
document.recupererElementParNomDEtiquette = document.getElementsByTagName;
document.localisation = document.location;
document.localisation.protocole = document.localisation.protocole;
jQuery.fn.extend({
clic: function (x) { return this.click(x); },
enfants: function () { return this.children(); },
dernier: function () { return this.last(); },
ajouter: function (x) { return this.append(x); }
});
$.recupererJSON = $.getJSON

View File

@@ -1,164 +1,164 @@
{
"vrais mots": [
{"anglais": "ASLR", "francais": "Disposition Stochastique de lespace daddressage", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "BBS (Bulletin Board System)", "francais": "Babillard électronique", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "BYOD (Bring Your Own Device)", "francais": "AVEC (Apportez Votre Equipement personnel de Communication)", "classe": "proposition"},
{"anglais": "CDROM", "francais": "Cédérom", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Cascading Style Sheets (CSS)", "francais": "Feuilles de style en cascade", "genre": "f", "classe": "groupe nominal", "pluriel": true},
{"anglais": "Computer Science (CS)", "francais": "Science informatique", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "FPGA (Field-Programmable Gate Array)", "francais": "CIPP (Circuit Intégré Prédiffusé Programmable)", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "GC", "francais": "Ramasse-miettes, glaneur de cellule", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "ROM (Read-Only Memory)", "francais": "Mémoire morte", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "SoC (System-on-Chip)", "francais": "Puce-système", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "TL;DR (Too Long; Didn't Read)" , "francais": "TL;PL (Trop Long; Pas Lu)", "classe": "proposition"},
{"anglais": "URL", "francais": "Adresse réticulaire", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "USB key", "francais": "Mémorette", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Web cache", "francais": "Cache-toile", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Web", "francais": "Toile", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "XSS (Cross Site Scripting)", "francais": "ICID (Injection de Code Indirect à Distance)", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Ampersand", "francais": "Esperluette", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Angle brackets", "francais": "Chevrons", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Anti-pattern", "francais": "Anti-patron", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Applet", "francais": "Appliquette", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Back office", "francais": "Arrière-guichet", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Back-end services", "francais": "Services dorsaux", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Backdoor", "francais": "Porte dérobée", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Backport", "francais": "Rétroportage", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Backslash", "francais": "Barre oblique inversée", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Benchmark", "francais": "Banc dessai", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Big data", "francais": "Mégadonnées", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Big-endian", "francais": "Grand boutien", "genre": "m", "classe": "adjectif", "pluriel": false},
{"anglais": "Bloatware", "francais": "Boufficiel", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Boot", "francais": "Amorçage", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Browser", "francais": "Navigateur", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Bug", "francais": "Bogue", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Byte", "francais": "Octet", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Cache memory", "francais": "Antémémoire", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Callback function", "francais": "Fonction de rappel", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Capitalization", "francais": "Majusculation", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Checksum", "francais": "Somme de contrôle", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Chipset", "francais": "Jeu de puces", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Cloud computing", "francais": "Infonuagique", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Cluster", "francais": "Grappe", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Cookie", "francais": "Témoin de connexion", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Core dump", "francais": "Vidage de mémoire", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Dangling pointer", "francais": "Pointeur fou", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Database", "francais": "Base de données", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Deadlock", "francais": "Interblocage", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Debugger", "francais": "Dévermineur", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Desktop", "francais": "Ordinateur de bureau", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Device", "francais": "Appareil", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Digital", "francais": "Numérique", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Double word", "francais": "Trente-deuzet", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Download", "francais": "Téléchargement", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "E-mail", "francais": "Courriel", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Endianness", "francais": "Boutisme", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Firewall", "francais": "Pare-feu", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Firmware", "francais": "Micrologiciel", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Flag", "francais": "Fanion", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Flame", "francais": "Propos incendiaire", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Flood", "francais": "Matraquage", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Fork", "francais": "Scission", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Framework", "francais": "Cadriciel", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Freeware", "francais": "Gratuiciel", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Front office", "francais": "Guichet", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Fuzzer", "francais": "Générateur danomalies", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Fuzzing", "francais": "Frelatage en masse", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Glue code", "francais": "Code ciment", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "God object", "francais": "Objet omniscient", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Hacked", "francais": "Intrusé", "genre": "m", "classe": "adjectif", "pluriel": false},
{"anglais": "Hacker", "francais": "Fouineur", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Hash table", "francais": "Tableau à adressage dispersé", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Hash", "francais": "Condensat", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Hashtag", "francais": "Mot-croisillon", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Heap spray", "francais": "Pulvérisation du tas", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Home row", "francais": "Touche de repos", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Hub", "francais": "Concentrateur", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Hyperlink", "francais": "Hyperlien", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Instruction pipeline", "francais": "Instruoduc", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Lazy evaluation", "francais": "Évaluation paresseuse", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Little-endian", "francais": "Petit boutien", "genre": "m", "classe": "adjectif", "pluriel": false},
{"anglais": "Lurker", "francais": "Fureteur", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Malware", "francais": "Maliciel", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Man-in-the-middle attack", "francais": "Attaque de lhomme du milieu", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Middleware", "francais": "Intergiciel", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Monkey-in-the-middle attack", "francais": "Attaque du singe intercepteur", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Namespace", "francais": "Espace de noms", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Number sign", "francais": "Croisillon", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Obfuscation", "francais": "Noircissement de code", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Online chat", "francais": "Clavardage", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Overclocking", "francais": "Surcadençage", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Patch", "francais": "Rustine logicielle", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Pharming", "francais": "Devoiement", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Phishing attack", "francais": "Attaque par filoutage", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Phishing", "francais": "Hameçonnage", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Pipeline", "francais": "Bitoduc", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Plugin", "francais": "Greffon", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Podcasting", "francais": "Balladodiffusion", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Polling", "francais": "Attente active", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Program counter", "francais": "Compteur ordinal", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Proxy", "francais": "Mandataire", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Refactoring", "francais": "Réusinage", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Repository", "francais": "Dépôt", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Return oriented programming", "francais": "Exploitation focalisée sur le retour", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Reverse proxy", "francais": "Mandataire inverse", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Reverse-engineering", "francais": "Ingénierie à rebours", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Rolling release", "francais": "Publication continue", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Scale", "francais": "Passe à léchelle", "classe": "groupe verbal"},
{"anglais": "Scaling", "francais": "Passage à léchelle", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Shareware", "francais": "Partagiciel", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Shell code", "francais": "Code encoquillé", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Slash", "francais": "Barre oblique", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Smart grids", "francais": "Grilles malignes", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Spam", "francais": "Polluriel, pourriel", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Spammer", "francais": "Arroseur publicitaire", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Spinlock", "francais": "Tourniquet", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Spyware", "francais": "Espiogiciel", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Stack cookie", "francais": "Biscuit de pile", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Stack overflow", "francais": "Dépassement de pile", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Switch", "francais": "Commutateur", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Tag", "francais": "Étiquette", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Thumbnail", "francais": "Imagette", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "To deface", "francais": "Défigurer", "classe": "groupe verbal"},
{"anglais": "To reverse", "francais": "Détricoter", "classe": "groupe verbal"},
{"anglais": "Tuning", "francais": "Bolidage", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Tutorial", "francais": "Didacticiel", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Upload", "francais": "Téléversement", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Version control system", "francais": "Logiciel de gestion de versions", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Verbose", "francais": "Volubile", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Watchdog", "francais": "Chien de garde", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Webcam", "francais": "Cybercaméra", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Webmaster", "francais": "Webmestre", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Library", "francais": "Bibliothèque", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Wildcard", "francais": "Joker", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Placeholder", "francais": "Marque substitutive", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Parsing", "francais": "Analyse syntaxique", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Lexing", "francais": "Analyse lexicale", "genre": "f", "classe": "groupe nominal", "pluriel": false}
{"anglais": "ASLR", "français": "Disposition Stochastique de lespace daddressage", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "BBS (Bulletin Board System)", "français": "Babillard électronique", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "BYOD (Bring Your Own Device)", "français": "AVEC (Apportez Votre Equipement personnel de Communication)", "classe": "proposition"},
{"anglais": "CDROM", "français": "Cédérom", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Cascading Style Sheets (CSS)", "français": "Feuilles de style en cascade", "genre": "f", "classe": "groupe nominal", "pluriel": true},
{"anglais": "Computer Science (CS)", "français": "Science informatique", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "FPGA (Field-Programmable Gate Array)", "français": "CIPP (Circuit Intégré Prédiffusé Programmable)", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "GC", "français": "Ramasse-miettes, glaneur de cellule", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "ROM (Read-Only Memory)", "français": "Mémoire morte", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "SoC (System-on-Chip)", "français": "Puce-système", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "TL;DR (Too Long; Didn't Read)" , "français": "TL;PL (Trop Long; Pas Lu)", "classe": "proposition"},
{"anglais": "URL", "français": "Adresse réticulaire", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "USB key", "français": "Mémorette", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Web cache", "français": "Cache-toile", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Web", "français": "Toile", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "XSS (Cross Site Scripting)", "français": "ICID (Injection de Code Indirect à Distance)", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Ampersand", "français": "Esperluette", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Angle brackets", "français": "Chevrons", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Anti-pattern", "français": "Anti-patron", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Applet", "français": "Appliquette", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Back office", "français": "Arrière-guichet", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Back-end services", "français": "Services dorsaux", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Backdoor", "français": "Porte dérobée", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Backport", "français": "Rétroportage", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Backslash", "français": "Barre oblique inversée", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Benchmark", "français": "Banc dessai", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Big data", "français": "Mégadonnées", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Big-endian", "français": "Grand boutien", "genre": "m", "classe": "adjectif", "pluriel": false},
{"anglais": "Bloatware", "français": "Boufficiel", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Boot", "français": "Amorçage", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Browser", "français": "Navigateur", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Bug", "français": "Bogue", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Byte", "français": "Octet", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Cache memory", "français": "Antémémoire", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Callback function", "français": "Fonction de rappel", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Capitalization", "français": "Majusculation", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Checksum", "français": "Somme de contrôle", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Chipset", "français": "Jeu de puces", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Cloud computing", "français": "Infonuagique", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Cluster", "français": "Grappe", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Cookie", "français": "Témoin de connexion", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Core dump", "français": "Vidage de mémoire", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Dangling pointer", "français": "Pointeur fou", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Database", "français": "Base de données", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Deadlock", "français": "Interblocage", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Debugger", "français": "Dévermineur", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Desktop", "français": "Ordinateur de bureau", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Device", "français": "Appareil", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Digital", "français": "Numérique", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Double word", "français": "Trente-deuzet", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Download", "français": "Téléchargement", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "E-mail", "français": "Courriel", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Endianness", "français": "Boutisme", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Firewall", "français": "Pare-feu", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Firmware", "français": "Micrologiciel", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Flag", "français": "Fanion", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Flame", "français": "Propos incendiaire", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Flood", "français": "Matraquage", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Fork", "français": "Scission", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Framework", "français": "Cadriciel", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Freeware", "français": "Gratuiciel", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Front office", "français": "Guichet", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Fuzzer", "français": "Générateur danomalies", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Fuzzing", "français": "Frelatage en masse", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Glue code", "français": "Code ciment", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "God object", "français": "Objet omniscient", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Hacked", "français": "Intrusé", "genre": "m", "classe": "adjectif", "pluriel": false},
{"anglais": "Hacker", "français": "Fouineur", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Hash table", "français": "Tableau à adressage dispersé", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Hash", "français": "Condensat", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Hashtag", "français": "Mot-croisillon", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Heap spray", "français": "Pulvérisation du tas", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Home row", "français": "Touche de repos", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Hub", "français": "Concentrateur", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Hyperlink", "français": "Hyperlien", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Instruction pipeline", "français": "Instruoduc", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Lazy evaluation", "français": "Évaluation paresseuse", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Little-endian", "français": "Petit boutien", "genre": "m", "classe": "adjectif", "pluriel": false},
{"anglais": "Lurker", "français": "Fureteur", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Malware", "français": "Maliciel", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Man-in-the-middle attack", "français": "Attaque de lhomme du milieu", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Middleware", "français": "Intergiciel", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Monkey-in-the-middle attack", "français": "Attaque du singe intercepteur", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Namespace", "français": "Espace de noms", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Number sign", "français": "Croisillon", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Obfuscation", "français": "Noircissement de code", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Online chat", "français": "Clavardage", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Overclocking", "français": "Surcadençage", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Patch", "français": "Rustine logicielle", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Pharming", "français": "Devoiement", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Phishing attack", "français": "Attaque par filoutage", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Phishing", "français": "Hameçonnage", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Pipeline", "français": "Bitoduc", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Plugin", "français": "Greffon", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Podcasting", "français": "Balladodiffusion", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Polling", "français": "Attente active", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Program counter", "français": "Compteur ordinal", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Proxy", "français": "Mandataire", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Refactoring", "français": "Réusinage", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Repository", "français": "Dépôt", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Return oriented programming", "français": "Exploitation focalisée sur le retour", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Reverse proxy", "français": "Mandataire inverse", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Reverse-engineering", "français": "Ingénierie à rebours", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Rolling release", "français": "Publication continue", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Scale", "français": "Passe à léchelle", "classe": "groupe verbal"},
{"anglais": "Scaling", "français": "Passage à léchelle", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Shareware", "français": "Partagiciel", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Shell code", "français": "Code encoquillé", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Slash", "français": "Barre oblique", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Smart grids", "français": "Grilles malignes", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Spam", "français": "Polluriel, pourriel", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Spammer", "français": "Arroseur publicitaire", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Spinlock", "français": "Tourniquet", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Spyware", "français": "Espiogiciel", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Stack cookie", "français": "Biscuit de pile", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Stack overflow", "français": "Dépassement de pile", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Switch", "français": "Commutateur", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Tag", "français": "Étiquette", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Thumbnail", "français": "Imagette", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "To deface", "français": "Défigurer", "classe": "groupe verbal"},
{"anglais": "To reverse", "français": "Détricoter", "classe": "groupe verbal"},
{"anglais": "Tuning", "français": "Bolidage", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Tutorial", "français": "Didacticiel", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Upload", "français": "Téléversement", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Version control system", "français": "Logiciel de gestion de versions", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Verbose", "français": "Volubile", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Watchdog", "français": "Chien de garde", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Webcam", "français": "Cybercaméra", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Webmaster", "français": "Webmestre", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Library", "français": "Bibliothèque", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Wildcard", "français": "Joker", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Placeholder", "français": "Marque substitutive", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Parsing", "français": "Analyse syntaxique", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Lexing", "français": "Analyse lexicale", "genre": "f", "classe": "groupe nominal", "pluriel": false}
],
"faux mots": [
{"anglais": "DRY (Don't Repeat Yourself)", "francais": "NTRP (Ne Te Répète Pas)", "classe": "proposition"},
{"anglais": "NIH (Not Invented Here)", "francais": "PII (Pas Inventé Ici)", "classe": "proposition"},
{"anglais": "RTFM (Read The Fucking Manual)", "francais": "LPDM (Lis le Putain De Manuel)", "classe": "proposition"},
{"anglais": "Branch merging", "francais": "Fusion de branches", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Buzzword", "francais": "Mot à la mode", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Commit", "francais": "Atome de code", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Cryptocoin", "francais": "Cybersou", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Cryptoparty", "francais": "Chiffrofête", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Empowerment", "francais": "Empouvoirement", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Favicon", "francais": "Favorimage", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Laptop", "francais": "Ordinateur de giron", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Lolcat", "francais": "Chatmusant", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Pull-request", "francais": "Fusiodemande", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Smartphone", "francais": "Malinphone", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Stand-up meeting", "francais": "Réunion debout", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "To spoil", "francais": "Divulgâcher", "classe": "verbe"},
{"anglais": "Tweet", "francais": "Gazouillis", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Walled garden", "francais": "Jardin secret, communauté prison", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Wrapper", "francais": "Métascript", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Bot", "francais": "Robot", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "TIL (Today I Learnt)", "francais": "AJA (Aujourdhui Jai Appris)", "classe": "proposition"}
{"anglais": "DRY (Don't Repeat Yourself)", "français": "NTRP (Ne Te Répète Pas)", "classe": "proposition"},
{"anglais": "NIH (Not Invented Here)", "français": "PII (Pas Inventé Ici)", "classe": "proposition"},
{"anglais": "RTFM (Read The Fucking Manual)", "français": "LPDM (Lis le Putain De Manuel)", "classe": "proposition"},
{"anglais": "Branch merging", "français": "Fusion de branches", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Buzzword", "français": "Mot à la mode", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Commit", "français": "Atome de code", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Cryptocoin", "français": "Cybersou", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Cryptoparty", "français": "Chiffrofête", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Empowerment", "français": "Empouvoirement", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Favicon", "français": "Favorimage", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Laptop", "français": "Ordinateur de giron", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Lolcat", "français": "Chatmusant", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Pull-request", "français": "Fusiodemande", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Smartphone", "français": "Malinphone", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Stand-up meeting", "français": "Réunion debout", "genre": "f", "classe": "groupe nominal", "pluriel": false},
{"anglais": "To spoil", "français": "Divulgâcher", "classe": "verbe"},
{"anglais": "Tweet", "français": "Gazouillis", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Walled garden", "français": "Jardin secret, communauté prison", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Wrapper", "français": "Métascript", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "Bot", "français": "Robot", "genre": "m", "classe": "groupe nominal", "pluriel": false},
{"anglais": "TIL (Today I Learnt)", "français": "AJA (Aujourdhui Jai Appris)", "classe": "proposition"}
]
}