From a51a67a5674bd419f811b8e1a4ff527a498dfb9a Mon Sep 17 00:00:00 2001 From: Christophe-Marie Duquesne Date: Sun, 13 Dec 2015 13:17:31 +0100 Subject: [PATCH 1/7] Nettoyage du javascript MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Renommage de creuille.js en principal.js (plus soutenu et surtout plus bitoduc) - Utilisation de "'use strict';" - Code de gogol analytique mis dans un fichier dédié --- fr.js | 8 +++++--- gogol-analytique.js | 19 +++++++++++++++++++ index.html | 23 ++--------------------- creuille.js => principal.js | 10 ++++++++++ 4 files changed, 36 insertions(+), 24 deletions(-) create mode 100644 gogol-analytique.js rename creuille.js => principal.js (94%) diff --git a/fr.js b/fr.js index 6ddf219..576032a 100644 --- a/fr.js +++ b/fr.js @@ -1,13 +1,15 @@ -Objet = Object +'use strict'; + +var Objet = Object Objet.creer = Objet.create -Chaine = String +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 -Tableau = Array +var Tableau = Array Tableau.prototype.tri = Tableau.prototype.sort Tableau.prototype.longueur = function () { return this.length; } Tableau.prototype.pousser = Tableau.prototype.push diff --git a/gogol-analytique.js b/gogol-analytique.js new file mode 100644 index 0000000..0da3a65 --- /dev/null +++ b/gogol-analytique.js @@ -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); + })(); +}); diff --git a/index.html b/index.html index 718e6c6..10244ab 100644 --- a/index.html +++ b/index.html @@ -8,29 +8,10 @@ - - - + + -

Bitoduc.fr : termes informatiques en français

diff --git a/creuille.js b/principal.js similarity index 94% rename from creuille.js rename to principal.js index 1bd403a..a3287a4 100644 --- a/creuille.js +++ b/principal.js @@ -1,3 +1,5 @@ +'use strict'; + var reciproque = {'anglais': 'francais', 'francais': 'anglais'}; var embelli = {'francais': 'Français', 'anglais': 'Anglais'}; @@ -123,3 +125,11 @@ function construitListe(traductions) { ); } } + +$(function() { + $.recupererJSON( "traductions.json", function( traductions ) { + construitListe(traductions); + $( "#lienChange" ).clic( function() {changeDeSens(traductions);} ); + }); +}); + From a5e45fabfdd16fe336b599fcbfbe3ceaaa985465 Mon Sep 17 00:00:00 2001 From: Christophe-Marie Duquesne Date: Sun, 13 Dec 2015 13:23:19 +0100 Subject: [PATCH 2/7] Renommage de feuille_de_style.css en bitoduc.css MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Le nom feuille_de_style.css est redondant, et chez bitoduc nous préférons être succints. --- feuille_de_style.css => bitoduc.css | 0 index.html | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename feuille_de_style.css => bitoduc.css (100%) diff --git a/feuille_de_style.css b/bitoduc.css similarity index 100% rename from feuille_de_style.css rename to bitoduc.css diff --git a/index.html b/index.html index 10244ab..405cb75 100644 --- a/index.html +++ b/index.html @@ -4,7 +4,7 @@ Bitoduc.fr : la référence selon nous-mêmes sur les termes informatiques en français - + From 30e72a00cb80f7ad32bfff81bc6c17db2fc3eb18 Mon Sep 17 00:00:00 2001 From: Christophe-Marie Duquesne Date: Sun, 13 Dec 2015 13:26:28 +0100 Subject: [PATCH 3/7] =?UTF-8?q?Cr=C3=A9ation=20d'un=20r=C3=A9pertoire=20d?= =?UTF-8?q?=C3=A9di=C3=A9=20pour=20le=20javascript?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 6 +++--- fr.js => js/fr.js | 0 gogol-analytique.js => js/gogol-analytique.js | 0 principal.js => js/principal.js | 0 4 files changed, 3 insertions(+), 3 deletions(-) rename fr.js => js/fr.js (100%) rename gogol-analytique.js => js/gogol-analytique.js (100%) rename principal.js => js/principal.js (100%) diff --git a/index.html b/index.html index 405cb75..fca3d80 100644 --- a/index.html +++ b/index.html @@ -7,9 +7,9 @@ - - - + + +
diff --git a/fr.js b/js/fr.js similarity index 100% rename from fr.js rename to js/fr.js diff --git a/gogol-analytique.js b/js/gogol-analytique.js similarity index 100% rename from gogol-analytique.js rename to js/gogol-analytique.js diff --git a/principal.js b/js/principal.js similarity index 100% rename from principal.js rename to js/principal.js From c7a96dacc163a92494c77d90d6bd4acc84078a38 Mon Sep 17 00:00:00 2001 From: Christophe-Marie Duquesne Date: Sun, 13 Dec 2015 13:27:57 +0100 Subject: [PATCH 4/7] =?UTF-8?q?Correction=20d'un=20mot=20cl=C3=A9=20non=20?= =?UTF-8?q?valide=20dans=20le=20css?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bitoduc.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bitoduc.css b/bitoduc.css index 426a619..1440423 100644 --- a/bitoduc.css +++ b/bitoduc.css @@ -75,7 +75,7 @@ h3 #publicite { - font-size: normal; + font-size: initial; color: #905050; margin: 50px; } From 27642c8bde53bd8f8787a60c89d78194d5c2c55f Mon Sep 17 00:00:00 2001 From: Christophe-Marie Duquesne Date: Sun, 13 Dec 2015 13:48:10 +0100 Subject: [PATCH 5/7] Meilleure francisation du code MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ajout de sansAccents dans les prototypes de Chaine Renommage des fonctions à l'infinitif --- index.html | 4 +-- js/fr.js | 28 --------------------- js/principal.js | 40 ++++++++---------------------- js/prototypes-fr.js | 59 +++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 71 insertions(+), 60 deletions(-) delete mode 100644 js/fr.js create mode 100644 js/prototypes-fr.js diff --git a/index.html b/index.html index fca3d80..62893bb 100644 --- a/index.html +++ b/index.html @@ -7,7 +7,7 @@ - + @@ -31,7 +31,7 @@

- +
diff --git a/js/fr.js b/js/fr.js deleted file mode 100644 index 576032a..0000000 --- a/js/fr.js +++ /dev/null @@ -1,28 +0,0 @@ -'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 - -var 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 diff --git a/js/principal.js b/js/principal.js index a3287a4..afeb067 100644 --- a/js/principal.js +++ b/js/principal.js @@ -3,16 +3,16 @@ var reciproque = {'anglais': 'francais', 'francais': 'anglais'}; var embelli = {'francais': 'Français', 'anglais': 'Anglais'}; -function changeDeSens(traductions) { +function inverser(traductions) { var langue = $( "#mots" ).attr("data-langue"); $( "#mots" ).attr("data-langue", reciproque[langue]); construitListe(traductions); } -function metAJourLienChange(langue) { +function mettreAJourLienInversion(langue) { var langueSource = langue; var langueDestination = reciproque[langue]; - $( "#lienChange" ) + $( "#lienInversion" ) .html( '' + embelli[langueSource] @@ -24,26 +24,6 @@ function metAJourLienChange(langue) { ); } -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 = '' + mot[langue] + ''; if (langue == "francais") { @@ -70,13 +50,13 @@ function htmlifier(mot, langue){ function construitListe(traductions) { var langue = $( "#mots" ).attr("data-langue"); - metAJourLienChange(langue); + mettreAJourLienInversion(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; } @@ -92,7 +72,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) { @@ -129,7 +109,7 @@ function construitListe(traductions) { $(function() { $.recupererJSON( "traductions.json", function( traductions ) { construitListe(traductions); - $( "#lienChange" ).clic( function() {changeDeSens(traductions);} ); + $( "#lienInversion" ).clic( function() {inverser(traductions);} ); }); }); diff --git a/js/prototypes-fr.js b/js/prototypes-fr.js new file mode 100644 index 0000000..6ab5bd8 --- /dev/null +++ b/js/prototypes-fr.js @@ -0,0 +1,59 @@ +'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.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"); +} + + +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 From 3961daff3815b580bcb8f90b2f60770552397c39 Mon Sep 17 00:00:00 2001 From: Christophe-Marie Duquesne Date: Sun, 13 Dec 2015 14:01:43 +0100 Subject: [PATCH 6/7] =?UTF-8?q?Mise=20=C3=A0=20profit=20du=20support=20uni?= =?UTF-8?q?code=20de=20javascript=20pour=20les=20noms=20de=20variables?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- js/principal.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/js/principal.js b/js/principal.js index afeb067..ad90301 100644 --- a/js/principal.js +++ b/js/principal.js @@ -1,17 +1,17 @@ 'use strict'; -var reciproque = {'anglais': 'francais', 'francais': 'anglais'}; +var réciproque = {'anglais': 'francais', 'francais': 'anglais'}; var embelli = {'francais': 'Français', 'anglais': 'Anglais'}; function inverser(traductions) { var langue = $( "#mots" ).attr("data-langue"); - $( "#mots" ).attr("data-langue", reciproque[langue]); + $( "#mots" ).attr("data-langue", réciproque[langue]); construitListe(traductions); } -function mettreAJourLienInversion(langue) { +function mettreÀJourLienInversion(langue) { var langueSource = langue; - var langueDestination = reciproque[langue]; + var langueDestination = réciproque[langue]; $( "#lienInversion" ) .html( '' @@ -50,7 +50,7 @@ function htmlifier(mot, langue){ function construitListe(traductions) { var langue = $( "#mots" ).attr("data-langue"); - mettreAJourLienInversion(langue); + mettreÀJourLienInversion(langue); traductions = traductions["vrais mots"].concat(traductions["faux mots"]); // trier par ordre alphabétique de la langue de départ @@ -100,7 +100,7 @@ function construitListe(traductions) { '· ' + htmlifier(mot, langue) + ' : ' - + htmlifier(mot, reciproque[langue]) + + htmlifier(mot, réciproque[langue]) ) ); } From f664bcde8c0422469fd743d094d71392bd983297 Mon Sep 17 00:00:00 2001 From: Christophe-Marie Duquesne Date: Sun, 13 Dec 2015 14:16:55 +0100 Subject: [PATCH 7/7] =?UTF-8?q?Utilisation=20de=20la=20c=C3=A9dille=20part?= =?UTF-8?q?out?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bitoduc.css | 2 +- js/principal.js | 22 ++-- js/prototypes-fr.js | 5 +- traductions.json | 310 ++++++++++++++++++++++---------------------- 4 files changed, 171 insertions(+), 168 deletions(-) diff --git a/bitoduc.css b/bitoduc.css index 1440423..4aaaf2d 100644 --- a/bitoduc.css +++ b/bitoduc.css @@ -46,7 +46,7 @@ h3 margin-left: 10px; } -.mot-francais +.mot-français { color: #208f20; } diff --git a/js/principal.js b/js/principal.js index ad90301..55430d1 100644 --- a/js/principal.js +++ b/js/principal.js @@ -1,32 +1,33 @@ 'use strict'; -var réciproque = {'anglais': 'francais', 'francais': 'anglais'}; -var embelli = {'francais': 'Français', 'anglais': 'Anglais'}; +var réciproque = {'anglais': 'français', 'français': 'anglais'}; function inverser(traductions) { var langue = $( "#mots" ).attr("data-langue"); $( "#mots" ).attr("data-langue", réciproque[langue]); - construitListe(traductions); + construireListe(traductions); + mettreÀJourLienInversion(); } -function mettreÀJourLienInversion(langue) { +function mettreÀJourLienInversion() { + var langue = $( "#mots" ).attr("data-langue"); var langueSource = langue; var langueDestination = réciproque[langue]; $( "#lienInversion" ) .html( '' - + embelli[langueSource] + + langueSource.majusculer() + '' + ' → ' + '' - + embelli[langueDestination] + + langueDestination.majusculer() + '' ); } function htmlifier(mot, langue){ var res = '' + mot[langue] + ''; - if (langue == "francais") { + if (langue == "français") { if ("genre" in mot){ var genre = 'N' + mot["genre"].enMajuscules(); res += ' ' + genre + ''; @@ -47,11 +48,9 @@ function htmlifier(mot, langue){ return res; } -function construitListe(traductions) { +function construireListe(traductions) { var langue = $( "#mots" ).attr("data-langue"); - mettreÀJourLienInversion(langue); - traductions = traductions["vrais mots"].concat(traductions["faux mots"]); // trier par ordre alphabétique de la langue de départ traductions.trier(function(traduction1, traduction2){ @@ -108,7 +107,8 @@ function construitListe(traductions) { $(function() { $.recupererJSON( "traductions.json", function( traductions ) { - construitListe(traductions); + construireListe(traductions); + mettreÀJourLienInversion(); $( "#lienInversion" ).clic( function() {inverser(traductions);} ); }); }); diff --git a/js/prototypes-fr.js b/js/prototypes-fr.js index 6ab5bd8..7d7811c 100644 --- a/js/prototypes-fr.js +++ b/js/prototypes-fr.js @@ -8,6 +8,7 @@ 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. @@ -38,7 +39,9 @@ Chaine.prototype.sansAccents = function () { .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 diff --git a/traductions.json b/traductions.json index 64c8550..f059ebf 100644 --- a/traductions.json +++ b/traductions.json @@ -1,164 +1,164 @@ { "vrais mots": [ - {"anglais": "ASLR", "francais": "Disposition Stochastique de l’espace d’addressage", "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 d’essai", "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 d’anomalies", "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 l’homme 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 l’espace d’addressage", "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 d’essai", "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 d’anomalies", "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 l’homme 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 (Aujourd’hui J’ai 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 (Aujourd’hui J’ai Appris)", "classe": "proposition"} ] }