Gitlab CSE Unil

Commit 5d8fc9f5 authored by M. Chardon's avatar M. Chardon
Browse files

init alea

parent 814dac5e
/*
* Base structure
*/
/* Move down content because we have a fixed navbar that is 50px tall */
body {
padding-top: 50px;
}
/*
* Global add-ons
*/
.sub-header {
padding-bottom: 10px;
border-bottom: 1px solid #eee;
}
/*
* Top navigation
* Hide default border to remove 1px line.
*/
.navbar-fixed-top {
border: 0;
}
/*
* Sidebar
*/
/* Hide for mobile, show later */
.sidebar {
display: none;
}
@media (min-width: 768px) {
.sidebar {
position: fixed;
top: 51px;
bottom: 0;
left: 0;
z-index: 1000;
display: block;
padding: 20px;
overflow-x: hidden;
overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */
background-color: #f5f5f5;
border-right: 1px solid #eee;
}
}
/* Sidebar navigation */
.nav-sidebar {
margin-right: -21px; /* 20px padding + 1px border */
margin-bottom: 20px;
margin-left: -20px;
}
.nav-sidebar > li > a {
padding-right: 20px;
padding-left: 20px;
}
.nav-sidebar > .active > a,
.nav-sidebar > .active > a:hover,
.nav-sidebar > .active > a:focus {
color: #fff;
background-color: #428bca;
}
/*
* Main content
*/
.main {
padding: 20px;
}
@media (min-width: 768px) {
.main {
padding-right: 40px;
padding-left: 40px;
}
}
.main .page-header {
margin-top: 0;
}
/*
* Placeholder dashboard ideas
*/
.placeholders {
margin-bottom: 30px;
text-align: center;
}
.placeholders h4 {
margin-bottom: 0;
}
.placeholder {
margin-bottom: 20px;
}
.placeholder img {
display: inline-block;
border-radius: 50%;
}
This diff is collapsed.
<!DOCTYPE html>
<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>@lea</title>
<meta name="author" content="Marion CHARDON for ESC/RISET - University of Lausanne" />
<meta name="description" content="Free Web tool for guess data" />
<meta name="keywords" content="Cipher, Bigdata, Guess" />
<meta charset="UTF-8" />
<link rel="stylesheet" href="js/bootstrap/bootstrap.min.css" />
<link rel="stylesheet" href="js/bootstrap/dashboard.css" />
<link rel="stylesheet" href="js/bootstrap/font-awesome.min.css" />
<link rel="stylesheet" href="js/bootstrap/logo_unil.css" />
<link rel="stylesheet" href="../css/main.css" />
<script src="js/jquery/jquery-3.2.1.min.js"></script>
<script src="js/bootstrap/bootstrap.min.js"></script>
</head>
<body>
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="../index.html"><img src="../img/g3761.png" alt="" style="height:28px;display: inline;"/>Cryptex - @lea</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right">
<li><a href="help.html">Help</a></li>
</ul>
</div>
</div>
</nav>
<div class="container" style="margin-bottom: 70px; margin-top: 20px;">
<div class="row">
<div class="col-sm-3">
<ul class="nav nav-pills nav-stacked">
<li><a href="index.html">Step 1: test your sequence</a></li>
<li><a href="pasapas.html">Step 2: test the computeur</a></li>
<li><a href="understand.html">Step 3: understand</a></li>
<li><a href="games.html">Game</a></li>
</ul>
</div>
<div class="col-sm-9" style="padding-left: 20px;">
<p>
Randomness is a mathematical notion that is used in many
modern life area. It is use in the form of a random sequence
in geolocalisation system, automatic gambling games, cryptology
and others. The mathematical definition of a ransom sequence
is still going under discussions, but certain properties
have been demonstrated and an agreement was found around three approaches:
</p>
<ul>
<li>The frequency, measure-theoretic approach (Martin-Löf, 1966) (No random sequence should have exceptional regularity or be effectively testable).</li>
<li>The complexity, compressibility approach (Chaitin 1975) (A random sequence should be incompressible)</li>
<li>The predictability approach (Schnorr 1971) (A random sequence should be unpredictable)</li>
</ul>
<p>
From there, no random sequence can be generated from an
algorithm. If so, the sequence will be considered as pseudorandom
and its level of randomness will depend from the context.
</p>
<p>
The sources of randomness can be separated into three
categories: unpredictable (dices, random sorting,…),
physical (radioactivity, electromagnetism,…), computational
(mix of physic and algorithms).
</p>
<p>
Another potential way is the human brain. Human decision
have been showed to be influenced by bias, but few studies
have been made on the human capacity to produce a random
sequence. To do so, the experience will ask the user
to write a sequence of numbers and to play with it,
the aim being to fool the computer.
</p>
</div>
</div>
</div>
<div id="contacts" class="modal fade" role="dialog"></div>
<div id="credits" class="modal fade" role="dialog"></div>
<div id="legalInformation" class="modal fade" role="dialog"></div>
<footer class="footer"></footer>
<script src="../js/main.js"></script>
</body>
</html>
{
"title": "Vigenère cipher",
"menu_encryption": "Encryption",
"menu_decryption": "Decryption",
"menu_help": "Help",
"btn_ic": "IC",
"btn_ic_legend": "Index of coincidence",
"lib_ic_by_column": "IC by columns",
"nbre_colmn": "Number of columns",
"btn_copy": "Copy text",
"btn_send": "Send text",
"btn_load": "Load",
"btn_search": "Search",
"btn_next": "Next",
"btn_validate": "Validate",
"btn_cancel": "Cancel",
"btn_close": "Close",
"btn_gcd_freq": "Show GCD frequencies",
"see_more_details": "See more details",
"see_less_details": "See less details",
"show_all_text": "Show all text",
"show_less_text": "Show less",
"example": "Examples to load",
"info": "Info:",
"key": "Key",
"local_shift": "Local shift",
"globalshift": "Globalshift",
"intermediaire_key": "Intermediate Key",
"final_key": "Final Key",
"base_key": "Base Key",
"select_language": "Select a language",
"choose_language_before": "Choose a language before",
"encrypt_title_sub1": "Original text",
"encrypt_title_step1": "Step 1: Raw text",
"encrypt_title_step1_textarea_placeholder": "Put your text here...",
"encrypt_title_step1_btn_normalize": "Normalize",
"encrypt_title_step2": "Step 2: Plaintext",
"encrypt_title_step2_btn_normalize": "Normalize raw text",
"encrypt_title_sub2": "Encrypted message",
"encrypt_title_step3": "Step 3: Encryption",
"encrypt_title_step3_key": "Key",
"encrypt_title_step3_input_placeholder": "Put the key here...",
"encrypt_title_step3_btn_encrypt": "Encrypt",
"encrypt_title_step3_encrypt_sub1": "Encrypted text",
"encrypt_title_step3_encrypt_sub2": "Encrypted text by columns",
"encrypt_popup_ic_title": "Calculating the index of coincidence",
"encrypt_popup_ic_res": "IC is",
"encrypt_popup_ic_lettre_occ": "Number of occurrences for each letter:",
"encrypt_popup_ic_nb_lettre": "Number of letters",
"encrypt_popup_ic_graph_limit_language": "Limit natural language",
"encrypt_popup_vigi_square_title": "The Vigenère square",
"decrypt_hide_panel": "Show/hide Data result panel",
"decrypt_sub1_title": "Data & Results",
"decrypt_sub1_sub1_title": "Encrypted message",
"decrypt_sub1_sub2_title": "Cleartext",
"decrypt_sub1_sub1_encrypt_mess": "Encrypted message",
"decrypt_sub1_sub1_textarea": "Put your encrypted text here...",
"decrypt_sub1_sub2_key_length": "Key length",
"decrypt_sub1_sub2_key_final": "Final Key",
"decrypt_sub1_sub2_cleartext": "Cleartext",
"decrypt_sub2_title": "Operations",
"decrypt_sub2_sub1_title": "Step 1: Length of the key",
"decrypt_sub2_sub1_goal": "The goal is to find the length of the key. Two options can be used:",
"decrypt_sub2_sub1_kasiski": "Kasiski",
"decrypt_sub2_sub1_ic": "Index of coincidence",
"decrypt_sub2_sub1_final_key": "Final key length",
"decrypt_sub2_sub1_final_gcd": "GCD: greatest common divisor",
"decrypt_sub2_sub1_kasi_desc": "Select n (repetitive n-grams will be searched for in the encrypted message)",
"decrypt_sub2_sub1_kasi_info": "In this exercise, for design reasons, only GCD smaller than 25 are shown",
"decrypt_sub2_sub1_kasi_tab_col1": "Pattern",
"decrypt_sub2_sub1_kasi_tab_col2": "Occ.",
"decrypt_sub2_sub1_kasi_tab_col3": "Index Text",
"decrypt_sub2_sub1_kasi_tab_col4": "Distances",
"decrypt_sub2_sub1_kasi_tab_col5": "GCD",
"decrypt_sub2_sub1_kasi_tab_col6": "Dividers",
"decrypt_sub2_sub1_ic_legend": "IC: index of coincidence",
"decrypt_sub2_sub2_title": "Step 2: Relative Distance",
"decrypt_sub2_sub2_desc1": "Fix one column",
"decrypt_sub2_sub2_red": "red",
"decrypt_sub2_sub2_desc2": "and compare it with the others",
"decrypt_sub2_sub2_blue": "blue",
"decrypt_sub2_sub2_original_text": "Original encrypted text",
"decrypt_sub2_sub2_shifted_text": "Shifted encrypted text",
"decrypt_sub2_sub2_validate": "Validate Local shift",
"decrypt_sub2_sub2_btn_calculate": "Calculate mutual index of coincidence between the red column and the blue column",
"decrypt_sub2_sub2_btn_mic1": "MIC",
"decrypt_sub2_sub2_btn_mic2": "for",
"decrypt_sub2_sub2_btn_mic3": "and",
"decrypt_sub2_sub2_no_validation": "Please specify the key size before accessing this step",
"decrypt_sub2_sub3_title": "Step 3: Key and decryption",
"decrypt_sub2_sub3_cleartext": "Cleartext",
"decrypt_sub2_sub3_btn_mic_legend": "Mutual index of coincidence",
"decrypt_sub2_sub3_btn_mic": "MIC",
"decrypt_sub2_sub3_select_lang1": "Select one or",
"decrypt_sub2_sub3_select_lang2": "more language(s)",
"decrypt_sub2_sub3_btn_cleartext": "Get cleartext",
"decrypt_sub2_sub3_no_validation": "Please valid the previous step before accessing this one",
"decrypt_popup_kasiski_title": "Patterns in text",
"decrypt_popup_mic_title": "Comparison of MIC",
"decrypt_popup_mic_grap_mic": "MIC",
"decrypt_popup_mic_grap_shift": "Shift",
"decrypt_popup_pgcd_title": "GCD frenquency",
"decrypt_popup_pgcd_grap_occ": "GCD occurence",
"decrypt_popup_pgcd_grap_occAxe": "GCD Occurences",
"decrypt_popup_pgcd_grap_gcd": "GCD",
"decrypt_popup_mictot_title": "MIC comparison with all languages",
"decrypt_popup_warning_title": "Warning",
"decrypt_popup_warning_desc": "This action will erase the content of the following steps",
"decrypt_popup_warning_quest": "Will you continue",
"decrypt_popup_help_desc": "Need help? Please refer to the help button on each part:",
"Portuguese": "Portuguese",
"German": "German",
"French": "French",
"Italian": "Italian",
"Spanish": "Spanish",
"English": "English",
"Random": "Random"
}
\ No newline at end of file
{
"message_hello": "Bonjour tout le monde",
"message_hello2": "2",
"title": "Suite de Vigenère",
"menu_encryption": "Chiffrement",
"menu_decryption": "Déchiffrement",
"menu_help": "Aide",
"btn_ic": "IC",
"btn_ic_legend": "Index de coïncidence",
"lib_ic_by_column": "IC par colonnes",
"nbre_colmn": "Nombre de colonnes",
"btn_copy": "Copier le texte",
"btn_send": "Envoyer le texte",
"btn_load": "Charger",
"btn_search": "Rechercher",
"btn_next": "Suivant",
"btn_validate": "Valider",
"btn_gcd_freq": "Voir les fréquences des PGCD",
"see_more_details": "Voir plus de détail",
"see_less_details": "Voir moins de détail",
"show_all_text": "Voir tout le texte",
"show_less_text": "Réduire",
"example": "Exemples à charger",
"info": "Info:",
"key": "Clé",
"local_shift": "Décalage local",
"globalshift": "Décalage global",
"intermediaire_key": "Clé intermédiaire",
"final_key": "Clé finale",
"base_key": "Clé de base",
"select_language": "Sélectionner un langage",
"choose_language_before": "Merci de sélectionner d'abord au moins un langage",
"encrypt_title_sub1": "Texte original",
"encrypt_title_step1": "Étape 1 : Texte brut",
"encrypt_title_step1_textarea_placeholder": "Entrez ici votre texte ...",
"encrypt_title_step1_btn_normalize": "Normaliser",
"encrypt_title_step2": "Étape 2 : Texte normalisé",
"encrypt_title_step2_btn_normalize": "Normaliser le texte brut",
"encrypt_title_sub2": "Message crypté",
"encrypt_title_step3": "Étape 3 : Cryptage",
"encrypt_title_step3_key": "Clé",
"encrypt_title_step3_input_placeholder": "Entrez ici la clé...",
"encrypt_title_step3_btn_encrypt": "Chiffrer",
"encrypt_title_step3_encrypt_sub1": "Texte chiffré",
"encrypt_title_step3_encrypt_sub2": "Texte chiffré par colonnes",
"encrypt_popup_ic_title": "Calcul de l'indice de coïncidence",
"encrypt_popup_ic_res": "l'IC est",
"encrypt_popup_ic_lettre_occ": "Nombre d'occurrences pour chaque lettre :",
"encrypt_popup_ic_nb_lettre": "Nombre de lettres",
"encrypt_popup_ic_graph_limit_language": "Limite de la langue naturelle",
"encrypt_popup_vigi_square_title": "La table de Vigenère",
"decrypt_hide_panel": "Afficher / masquer le panneau de résultats",
"decrypt_sub1_title": "Données et résultats",
"decrypt_sub1_sub1_title": "Message crypté",
"decrypt_sub1_sub2_title": "Texte clair",
"decrypt_sub1_sub1_encrypt_mess": "Message crypté",
"decrypt_sub1_sub1_textarea": "Entrez votre texte chiffré ici...",
"decrypt_sub1_sub2_key_length": "Longueur clé",
"decrypt_sub1_sub2_key_final": "Clé finale",
"decrypt_sub1_sub2_cleartext": "Texte clair",
"decrypt_sub2_title": "Opérations",
"decrypt_sub2_sub1_title": "Étape 1 : longueur de la clé",
"decrypt_sub2_sub1_goal": "Le but est de trouver la longueur de la clé. Deux options peuvent être utilisées :",
"decrypt_sub2_sub1_kasiski": "Kasiski",
"decrypt_sub2_sub1_ic": "Indice de coïncidence",
"decrypt_sub2_sub1_final_key": "Longueur final de la clé",
"decrypt_sub2_sub1_final_gcd": "PGCD: plus grand diviseur commun",
"decrypt_sub2_sub1_kasi_desc": "Séecltionner n (n-gram répétitifs seront recherchés dans le message crypté)",
"decrypt_sub2_sub1_kasi_info": "Dans cet exercice, pour des raisons ergonomiques, seuls les PGCD inférieurs à 25 sont affichés",
"decrypt_sub2_sub1_kasi_tab_col1": "Pattern",
"decrypt_sub2_sub1_kasi_tab_col2": "Occ.",
"decrypt_sub2_sub1_kasi_tab_col3": "Index Texte",
"decrypt_sub2_sub1_kasi_tab_col4": "Distances",
"decrypt_sub2_sub1_kasi_tab_col5": "PGCD",
"decrypt_sub2_sub1_kasi_tab_col6": "Diviseurs",
"decrypt_sub2_sub1_ic_legend": "IC : indice de coïncidence",
"decrypt_sub2_sub2_title": "Étape 2 : Distance relative",
"decrypt_sub2_sub2_desc1": "Sélectionner une colonne",
"decrypt_sub2_sub2_red": "rouge",
"decrypt_sub2_sub2_desc2": "et comparer la avec les autres",
"decrypt_sub2_sub2_blue": "bleu",
"decrypt_sub2_sub2_original_text": "Texte chiffré d'origine",
"decrypt_sub2_sub2_shifted_text": "Texte chiffré décalé",
"decrypt_sub2_sub2_validate": "Valider les changements",
"decrypt_sub2_sub2_btn_calculate": "Calculer l'indice de coïncidence entre la colonne rouge et la colonne bleue",
"decrypt_sub2_sub2_btn_mic1": "IMC",
"decrypt_sub2_sub2_btn_mic2": "pour",
"decrypt_sub2_sub2_btn_mic3": "et",
"decrypt_sub2_sub2_no_validation": "Veuillez spécifier la taille de la clé avant d'accéder à cette étape",
"decrypt_sub2_sub3_title": "Étape 3 : Clé et décryptage",
"decrypt_sub2_sub3_cleartext": "Texte en clair",
"decrypt_sub2_sub3_btn_mic_legend": "Indice mutuel de coïncidence",
"decrypt_sub2_sub3_btn_mic": "IMC",
"decrypt_sub2_sub3_select_lang1": "Selectionner un ou",
"decrypt_sub2_sub3_select_lang2": "plusieurs langage(s)",
"decrypt_sub2_sub3_btn_cleartext": "Obtenir le texte déchiffré",
"decrypt_sub2_sub3_no_validation": "Veuillez valider l'étape précédente avant d'accéder à celle-ci",
"decrypt_popup_kasiski_title": "Patterns dans le texte",
"decrypt_popup_mic_title": "Comparaison des IMC",
"decrypt_popup_mic_grap_mic": "IMC",
"decrypt_popup_mic_grap_shift": "Décalage",
"decrypt_popup_pgcd_title": "Fréquences des PGCD",
"decrypt_popup_pgcd_grap_occ": "occurence du PGCD ",
"decrypt_popup_pgcd_grap_occAxe": "PGCD Occurences",
"decrypt_popup_pgcd_grap_gcd": "PGCD",
"decrypt_popup_mictot_title": "Comparaison des IMC avec tous les langages",
"decrypt_popup_warning_title": "Attention",
"decrypt_popup_warning_desc": "Cette action va remettre à zéro les étapes suivantes",
"decrypt_popup_warning_quest": "Voulez-vous continuer ",
"decrypt_popup_help_desc": "Besoin d'aide ? Veuillez-vous référer au bouton d'aide présent dans chaque partie :",
"Portuguese": "Portugais",
"German": "Allemand",
"French": "Français",
"Italian": "Italien",
"Spanish": "Esagnol",
"English": "Anglais",
"Random": "Aléatoire"
}
\ No newline at end of file
<!DOCTYPE html>
<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>@lea</title>
<meta name="author" content="Marion CHARDON for ESC/RISET - University of Lausanne" />
<meta name="description" content="Free Web tool for guess data" />
<meta name="keywords" content="Cipher, Bigdata, Guess" />
<meta charset="UTF-8" />
<link rel="stylesheet" href="../node_modules/bootstrap3/dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="css/dashboard.css" />
<link rel="stylesheet" href="../node_modules/font-awesome/css/font-awesome.min.css" />
<link rel="stylesheet" href="../css/logo_unil.css" />
<link rel="stylesheet" href="../css/main.css" />
<script src="../node_modules/jquery/dist/jquery.min.js"></script>
<script src="../node_modules/bootstrap3/dist/js/bootstrap.min.js"></script>
<script src="js/crypto/asmcrypto.js"></script>
<script src="js/controleur.js"></script>
<script src="js/entities/global.js"></script>
<script src="js/entities/modeleTwo.js"></script>
<script src="js/entities/modeleThree.js"></script>
<script src="js/entities/modeleFour.js"></script>
<script src="js/entities/modeleMaskEight.js"></script>
<script src="js/entities/resultat.js"></script>
<script src="js/graph/d3.v4.min.js"></script>
<script src="js/graph.js"></script>
<script src="../js/jquery.i18n/libs/CLDRPluralRuleParser/src/CLDRPluralRuleParser.js"></script>
<script src="../js/jquery.i18n/jquery.i18n/src/jquery.i18n.js"></script>
<script src="../js/jquery.i18n/jquery.i18n/src/jquery.i18n.messagestore.js"></script>
<script src="../js/jquery.i18n/jquery.i18n/src/jquery.i18n.fallbacks.js"></script>
<script src="../js/jquery.i18n/jquery.i18n/src/jquery.i18n.parser.js"></script>
<script src="../js/jquery.i18n/jquery.i18n/src/jquery.i18n.emitter.js"></script>
<script src="../js/jquery.i18n/jquery.i18n/src/jquery.i18n.language.js"></script>
<script src="js/languages.js"></script>
</head>
<body>
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="../index.html"><img src="../img/g3761.png" alt="" style="height:28px;display: inline;"/>Cryptex - @lea</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right">
<li><a onclick="initLang('en');"><img style="background: white; height:25px;" alt="English" src="../img/flags/english.png"/></a></li>
<li><a onclick="initLang('fr');"><img style="background: white;height:25px;" alt="Français" src="../img/flags/french.png"/></a></li>
<li><a href="help.html">Help</a></li>
</ul>
</div>
</div>
</nav>
<div class="container" style="margin-bottom: 70px; margin-top: 20px;">
<div class="row">
<div class="col-sm-3">
<ul class="nav nav-pills nav-stacked">
<li class="active"><a href="index.html">Step 1: test your sequence</a></li>
<li><a href="pasapas.html">Step 2: test the computeur</a></li>
<li><a href="understand.html">Step 3: understand</a></li>
<li><a href="games.html">Game</a></li>
</ul>
</div>
<div class="col-sm-9" style="padding-left: 20px;">
<div class="row">
<div class="col-sm-12">
<div class="alert alert-info alert-dismissable">
<strong>Info!</strong>
<p>
Write by hand a sequence of 100 one and zero and transcribe
them into the box below. The computer will record the
first ten numbers and use them to predict the next number.
Correct guess will be put in blue, wrong one in orange.
</p>
</div>
Insert your sequence and valid.
<div class="row" style="padding-bottom: 10px;padding-top: 10px;">
<div class="col-sm-10">
<button class="btn btn-default" onclick="reset();">Reset</button>
<button class="btn btn-success" onclick="valide();$(this).hide();">Valid</button>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<textarea class="form-control" id="userinput" style="font-size: large;"></textarea>
<div id="userinputdiv" style="width: 100%;"></div>
</div>
</div>
<div id='propositionPanel' style="display:none;padding-top: 20px;">
<div class="row">
<div class="col-sm-12">
<ul>
<li><span style="color:orange;">Orange: wrong guess</span></li>
<li><span style="color:blue;">Blue: right guess</span></li>
</ul>
<div class="panel panel-primary">
<div class="panel-heading">Percent correct answers</div>
<div class="panel-body">
<div class="row">
<div class="col-sm-6">
Total of right guesses:
<input class="form-control" readonly="readonly" id="guessValueCorrect" />
</div>
<div class="col-sm-6">
About the last 10 results:
<input class="form-control" readonly="readonly" id="guessValueCorrect10" />
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="alert alert-warning alert-dismissable" style="margin-top: 50px;">
<p>
Form more info see <a href="help.html">Help</a>.
</p>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="contacts" class="modal fade" role="dialog"></div>
<div id="credits" class="modal fade" role="dialog"></div>
<footer class="footer"></footer>
<script>
var controleur = new Controleur("brute");