2016-01-16 21:40:59 +00:00
<!DOCTYPE html>
2017-12-14 03:08:43 +00:00
< html lang = "fr" ng-app = "FICApp" >
2016-01-16 21:40:59 +00:00
< head >
< meta charset = "utf-8" >
2019-01-20 23:35:07 +00:00
< title ng-bind = "'Challenge Forensic' + ($root.title?' - '+$root.title:'')" > Challenge Forensic< / title >
2017-12-14 03:08:43 +00:00
< meta name = "viewport" content = "width=device-width, initial-scale=1, shrink-to-fit=no" >
2016-01-16 21:40:59 +00:00
< meta http-equiv = "X-UA-Compatible" content = "IE=edge" >
< link rel = "shortcut icon" type = "image/x-icon" href = "/favicon.ico" >
< meta name = "author" content = "EPITA Laboratoire SRS" >
< meta name = "robots" content = "all" >
< base href = "/" >
2017-12-14 03:08:43 +00:00
< link href = "/css/bootstrap.min.css" type = "text/css" rel = "stylesheet" media = "screen" >
2017-12-17 16:12:51 +00:00
< link href = "/css/glyphicon.css" type = "text/css" rel = "stylesheet" media = "screen" >
2017-12-14 03:08:43 +00:00
< link href = "/css/fic.css" type = "text/css" rel = "stylesheet" media = "screen" >
2016-01-21 00:38:43 +00:00
< script src = "/js/angular.min.js" > < / script >
2016-01-16 21:40:59 +00:00
< / head >
2017-12-14 03:08:43 +00:00
< body class = "bg-light" >
2016-01-16 21:40:59 +00:00
2018-12-01 15:14:34 +00:00
< div class = "navbar navbar-expand-lg navbar-dark bg-dark text-light" ng-controller = "CountdownController" >
2016-01-16 21:40:59 +00:00
< div class = "container" >
2018-12-05 01:55:31 +00:00
< div class = "col-auto d-none d-sm-block" >
< a ng-href = "{{ (time.remaining === undefined || my.team_id)?'https://www.forum-fic.com/':'/' }}" >
2017-12-14 03:08:43 +00:00
< img src = "/img/fic.png" alt = "Forum International de la Cybersécurité" class = "center-block" >
< / a >
< / div >
2018-12-05 01:55:31 +00:00
< div class = "clock col-auto text-center" ng-hide = "1" > Chargement...< / div >
2020-01-20 15:01:35 +00:00
< div class = "clock col text-center" ng-class = "{expired: time.expired, end: time.end}" ng-if = "time.remaining !== undefined && settings.end - settings.start > 0" ng-cloak >
< span ng-class = "{'d-none': !time.hours, 'd-sm-inline': !time.hours}" >
< span id = "hours" > {{ time.hours | time }}< / span >
< span class = "point" > :< / span >
< / span >
2017-12-14 03:08:43 +00:00
< span id = "min" > {{ time.minutes | time }}< / span >
2020-01-20 15:01:35 +00:00
< span ng-class = "{'d-none': time.hours, 'd-sm-inline': time.hours}" >
< span class = "point" > :< / span >
< span id = "sec" > {{ time.seconds | time }}< / span >
< / span >
2017-12-14 03:08:43 +00:00
< / div >
2018-12-05 01:55:31 +00:00
< div class = "clock col-auto btn-group btn-group-lg" ng-if = "time.remaining === undefined || settings.end - settings.start <= 0" ng-cloak >
2017-12-14 03:08:43 +00:00
< a class = "btn btn-light" href = "/" >
< span class = "glyphicon glyphicon-home" > < / span > Accueil
2016-10-13 18:16:42 +00:00
< / a >
2017-12-14 03:08:43 +00:00
< a class = "btn btn-light" href = "/rank" >
< span class = "glyphicon glyphicon-list" > < / span > Classement
2016-10-13 18:16:42 +00:00
< / a >
2018-08-19 15:19:39 +00:00
< a class = "btn btn-light" ng-class = "{'disabled': settings.videoslink == ''}" href = "{{ settings.videoslink }}" >
2017-12-14 03:08:43 +00:00
< span class = "glyphicon glyphicon-blackboard" > < / span > Vidéos
2016-10-13 18:16:42 +00:00
< / a >
2016-02-01 16:13:58 +00:00
< / div >
2018-12-05 01:55:31 +00:00
< div class = "col-auto d-none d-md-block" >
2017-12-14 03:08:43 +00:00
< div class = "carousel slide" data-ride = "carousel" data-interval = "30000" style = "width: 150px" >
< div class = "carousel-inner text-center" >
< div class = "carousel-item active" >
< a href = "http://www.epita.fr/" >
< img src = "/img/epita.png" alt = "Epita" >
< / a >
2016-12-04 18:04:41 +00:00
< / div >
2017-12-14 03:08:43 +00:00
< div class = "carousel-item" >
< a href = "https://srs.epita.fr/" >
< img src = "/img/srs.png" alt = "Laboratoire SRS Épita" >
< / a >
< / div >
< div class = "carousel-item" >
2018-10-24 19:12:59 +00:00
< img src = "/img/comcyber.png" alt = "Réserves de cyberdéfense" >
2016-12-04 18:04:41 +00:00
< / div >
< / div >
< / div >
< / div >
2016-01-16 21:40:59 +00:00
< / div >
2017-12-14 03:08:43 +00:00
< / div >
2016-01-16 21:40:59 +00:00
2017-12-14 03:08:43 +00:00
< div ng-controller = "DataController" >
2016-01-16 21:40:59 +00:00
2018-12-05 06:49:20 +00:00
< div class = "sticky-top" >
2018-12-05 01:56:09 +00:00
< nav class = "navbar navbar-expand-sm bg-primary" style = "border-bottom: none;" ng-cloak >
2018-12-05 01:55:31 +00:00
< button class = "navbar-toggler" type = "button" data-toggle = "collapse" data-target = "#navMenu" aria-controls = "navMenu" aria-expanded = "false" aria-label = "Toggle navigation" >
2017-12-14 03:08:43 +00:00
< span class = "navbar-toggler-icon" > < / span >
< / button >
2018-11-25 00:19:34 +00:00
< div class = "collapse navbar-collapse" id = "navMenu" >
2017-12-14 03:08:43 +00:00
< ul class = "navbar-nav mr-auto" >
2018-11-25 00:19:34 +00:00
< li class = "nav-item" >
< a class = "nav-link" href = "/" > Accueil< / a >
< / li >
< li class = "nav-item dropdown" ng-class = "{active: current_theme}" >
< a class = "nav-link dropdown-toogle" href = "#" id = "themesMenu" role = "button" data-toggle = "dropdown" aria-haspopup = "true" aria-expanded = "false" >
Scénarii
< / a >
2018-12-01 23:45:22 +00:00
< div class = "dropdown-menu niceborder" >
2018-12-02 17:24:26 +00:00
< a ng-repeat = "(k,theme) in themes" ng-class = "{active: k == current_theme}" class = "dropdown-item" ng-href = "/{{ theme.urlid }}" > {{ theme.name }} < span class = "badge badge-light" > < span class = "glyphicon glyphicon-fire" aria-hidden = "true" ng-if = "max_solved > 1 && theme.solved == max_solved" title = "Déjà {{ theme.solved }} défis ont été résolus dans ce thème" > < / span > < span class = "glyphicon glyphicon-gift" aria-hidden = "true" ng-if = "theme.exercice_coeff_max > 1" title = "Des bonus existent pour au moins un défi de ce thème" > < / span > < span ng-if = "(my.team_id)" > {{ theme.exercice_solved }}/< / span > {{ theme.exercice_count }}< / span > < / a >
2018-11-25 00:19:34 +00:00
< / div >
< / li >
2018-11-25 04:48:44 +00:00
< li class = "nav-item dropdown" ng-class = "{active: current_tag}" >
2018-11-25 04:01:26 +00:00
< a class = "nav-link dropdown-toogle" href = "#" id = "tagsMenu" role = "button" data-toggle = "dropdown" aria-haspopup = "true" aria-expanded = "false" >
Tags
< / a >
2018-12-01 23:45:22 +00:00
< div class = "dropdown-menu niceborder" >
2018-12-04 01:02:16 +00:00
< input type = "search" class = "dropdown-item" placeholder = "Filtrer" id = "filtertag" ng-model = "filtertag" >
2018-12-05 00:23:25 +00:00
< div >
< a ng-repeat = "tname in tagsl | filter: filtertag" ng-class = "{active: tname == current_tag}" class = "dropdown-item" ng-href = "/tags/{{ tname }}" > #{{ tname }} < span class = "badge badge-light" > < span ng-if = "(my.team_id)" > {{ tags[tname].solved }}/< / span > {{ tags[tname].count }}< / span > < / a >
< / div >
2018-11-25 04:01:26 +00:00
< / div >
< / li >
2018-11-25 00:19:34 +00:00
< li class = "nav-item" >
< a class = "nav-link" href = "/rank" > Classement< / a >
< / li >
2020-01-23 17:28:01 +00:00
< li class = "nav-item" ng-if = "issues.length > 0" >
2020-01-24 19:04:46 +00:00
< a class = "nav-link" href = "/issues" >
2020-01-23 17:28:01 +00:00
Problèmes < span class = "badge" ng-class = "{'badge-danger': issues_need_info && issues_known_responses != issues_nb_responses,'badge-warning': !issues_need_info && issues_known_responses != issues_nb_responses,'badge-light': issues_known_responses == issues_nb_responses}" > {{ issues_nb_responses }}< / span >
< / a >
< / li >
2018-11-25 00:19:34 +00:00
< li class = "nav-item" >
< a class = "nav-link" href = "/rules" > Aide< / a >
< / li >
2017-12-14 03:08:43 +00:00
< / ul >
< / div >
< span class = "navbar-text text-light" ng-show = "(my.team_id)" ng-cloak >
2018-12-09 19:01:53 +00:00
{{ my.score | number }} points < span ng-show = "teams[my.team_id].rank" > – {{ teams[my.team_id].rank }}< sup > e< / sup > sur {{ teams_count }}< / span >
2018-11-25 00:19:34 +00:00
< h4 style = "display: inline" >
< a tabindex = "0" href = "/edit" class = "badge" role = "button" style = "background-color: {{ teams[my.team_id].color }}; color: {{ teams[my.team_id].color }};" >
< span class = "teamname" > {{ my.name }}< / span >
< / a >
< / h4 >
2017-12-14 03:08:43 +00:00
< / span >
2018-12-01 14:49:03 +00:00
< span class = "navbar-text text-light" ng-show = "!my.team_id && settings.allowRegistration" ng-cloak >
2017-12-21 21:18:18 +00:00
< a ng-href = "/register" class = "badge badge-warning" role = "button" >
Inscription
< / a >
< / span >
2017-12-14 03:08:43 +00:00
< / nav >
2016-01-16 21:40:59 +00:00
2018-12-05 01:56:09 +00:00
< div class = "progress" style = "background-color: #4eaee6; height: 5px; border-radius: 0;" >
< div class = "progress-bar bg-secondary" role = "progressbar" style = "width: {{timeProgression * 100}}%" > < / div >
< / div >
2018-12-05 06:49:20 +00:00
< / div >
2018-12-05 01:56:09 +00:00
2020-01-17 14:48:53 +00:00
< div style = "background-image: url({{ themes[current_theme].image }})" ng-if = "(current_theme)" class = "page-header" >
< div class = "container text-primary" ng-cloak >
2020-01-28 13:02:56 +00:00
< h1 class = "display-2" > < a ng-href = "{{ themes[current_theme].urlid }}" ng-bind = "themes[current_theme].name" > < / a > < / h1 >
2020-01-17 14:48:53 +00:00
< h2 ng-bind-html = "themes[current_theme].authors" > < / h2 >
< / div >
< div class = "headerfade" > < / div >
< / div >
< div class = "container text-primary clearfix" ng-if = "!current_theme" ng-cloak >
< h1 ng-if = "title" ng-cloak > {{ title }} < small class = "authors" ng-if = "authors" > {{ authors }}< / small > < / h1 >
< h1 ng-if = "!title" > {{ settings.title }} < small class = "authors" > {{ settings.authors }}< / small > < / h1 >
2018-11-25 00:19:34 +00:00
< / div >
2017-12-14 03:08:43 +00:00
2018-11-25 00:19:34 +00:00
< div class = "container" ng-view >
< noscript >
2018-12-05 01:55:31 +00:00
< div class = "alert alert-danger mt-4" >
2018-11-25 00:19:34 +00:00
< strong > Veuillez activer le JavaScript.< / strong > Ce site requiert un navigateur interprêtant le JavaScript pour fonctionner. Veuillez l'activer ou en télécharger un supportant cette technologie.
< / div >
< / noscript >
2016-01-16 21:40:59 +00:00
< / div >
< script src = "/js/jquery.min.js" > < / script >
< script src = "/js/bootstrap.min.js" > < / script >
< script src = "/js/angular-route.min.js" > < / script >
2016-01-23 11:29:19 +00:00
< script src = "/js/angular-sanitize.min.js" > < / script >
2016-10-13 17:34:53 +00:00
< script src = "/js/i18n/angular-locale_fr-fr.js" > < / script >
2017-01-14 13:57:39 +00:00
< script src = "/js/challenge.js" > < / script >
< script src = "/js/common.js" > < / script >
2018-11-28 03:15:14 +00:00
< script src = "/js/blake2b.js" defer > < / script >
2016-01-16 21:40:59 +00:00
< / body >
< / html >