This commit is contained in:
Lagacé Mathieu
2020-02-01 13:17:32 -05:00
parent 03cf1c5493
commit baef9a1df0
37 changed files with 1662 additions and 501 deletions

View File

@@ -2630,7 +2630,7 @@ declare module '@fullcalendar/core/structs/view-config' {
class?: ViewClass;
[optionName: string]: any;
}
export type ViewConfigInput = ViewClass | ViewConfigObjectInput;
export type ViewConfigInput = ViewClass | ViewConfigObjectInput;
export type ViewConfigInputHash = {
[viewType: string]: ViewConfigInput;
};

26
resources/custom.css vendored
View File

@@ -1,3 +1,27 @@
.text-excel {
color: #0f9d58;
}
.text-word {
color: #4b87e4;
}
.text-image {
color: #d93025;
}
.text-pdf {
color: #ea4335;
}
.text-powerpoint {
color: #fd7541;
}
.text-code {
color: #e16156;
}
.word-wrap {
white-space: normal;
word-break: break-word;
@@ -1724,4 +1748,4 @@ td{
}
h2 {
text-transform: capitalize !important;
}
}

View File

@@ -33,24 +33,7 @@
@endsection
@section('breadcrumb')
<div class="breadcrumbs">
<div class="col-sm-4">
<div class="page-header float-left">
<div class="page-title">
<h1>{{ trans('calendar.admin_page_title')}}</h1>
</div>
</div>
</div>
<div class="col-sm-8">
<div class="page-header float-right">
<div class="page-title">
<ol class="breadcrumb text-right">
<li class="active">{{ trans('calendar.admin_breadcrumb')}}</li>
</ol>
</div>
</div>
</div>
</div>
Horaire
@endsection
@section('custom_scripts')
@@ -80,4 +63,4 @@
</div>
</div>
</div>
@endsection
@endsection

View File

@@ -4,12 +4,47 @@
<div class="col-md-12">
<div class="card">
<div class="card-header card-header-primary">
<h4>Configuration Générale</h4>
<h4>Configuration du système de fichier</h4>
</div>
<div class="card-body mt-5">
<form action="/admin/config/files" method="POST">
@csrf
<div class="row ml-2">
<h3 class="col-12">Configuration Google Drive</h3>
<div class="col-12">
<div class="alert alert-info" role="alert">
Vous pouvez suivre un <a target="_blank" href="https://github.com/ivanvermeyen/laravel-google-drive-demo/blob/master/README/1-getting-your-dlient-id-and-secret.md">tutoriel (Anglais) <i class="fas fa-external-link-square-alt text-white"></i></a> pour trouver c'est information.
</div>
</div>
<div class="col-md-6 p-2">
<div class="form-group">
<label for="exampleInputEmail1">GOOGLE_DRIVE_CLIENT_ID</label>
<input type="text" class="form-control" id="GOOGLE_DRIVE_CLIENT_ID" name="GOOGLE_DRIVE_CLIENT_ID" aria-describedby="emailHelp" value="{{Crypt::decryptString(\App\Config::getData('GOOGLE_DRIVE_CLIENT_ID')) }}">
<small id="emailHelp" class="form-text text-muted">ID de client Google Drive</small>
</div>
</div>
<div class="col-md-6 p-2">
<div class="form-group">
<label for="exampleInputEmail1">GOOGLE_DRIVE_CLIENT_SECRET</label>
<input type="text" class="form-control" id="GOOGLE_DRIVE_CLIENT_SECRET" name="GOOGLE_DRIVE_CLIENT_SECRET" aria-describedby="emailHelp" value="{{Crypt::decryptString(\App\Config::getData('GOOGLE_DRIVE_CLIENT_SECRET'))}}">
<small id="emailHelp" class="form-text text-muted">ID secret du disque Google Drive</small>
</div>
</div>
<div class="col-md-6 p-2">
<div class="form-group">
<label for="exampleInputEmail1">GOOGLE_DRIVE_REFRESH_TOKEN</label>
<input type="text" class="form-control" id="GOOGLE_DRIVE_REFRESH_TOKEN" name="GOOGLE_DRIVE_REFRESH_TOKEN" aria-describedby="emailHelp" value="{{Crypt::decryptString(\App\Config::getData('GOOGLE_DRIVE_REFRESH_TOKEN'))}}">
<small id="emailHelp" class="form-text text-muted">Token de rafraichissement du disque Google Drive</small>
</div>
</div>
<div class="col-md-6 p-2">
<div class="form-group">
<label for="exampleInputEmail1">GOOGLE_DRIVE_FOLDER_ID</label>
<input type="text" class="form-control" id="GOOGLE_DRIVE_FOLDER_ID" name="GOOGLE_DRIVE_FOLDER_ID" aria-describedby="emailHelp" value="{{Crypt::decryptString(\App\Config::getData('GOOGLE_DRIVE_FOLDER_ID'))}}">
<small id="emailHelp" class="form-text text-muted">ID du dossier Google Drive, "null" pour la racine</small>
</div>
</div>
<h3 class="col-12">Configuration de la liste nominale</h3>
<div class="col-md-6 p-2">
<div class="form-group">
<label for="exampleInputEmail1">Liste nominative des cadets</label>
@@ -28,42 +63,8 @@
@endsection
@section('breadcrumb')
<div class="breadcrumbs">
<div class="col-sm-4">
<div class="page-header float-left">
<div class="page-title">
<h1>Configuration des fichiers</h1>
</div>
</div>
</div>
<div class="col-sm-8">
<div class="page-header float-right">
<div class="page-title">
<ol class="breadcrumb text-right">
<li class="active">Configuration/Fichier</li>
</ol>
</div>
</div>
</div>
</div>
Configuration du système de fichier
@endsection
@section('custom_scripts')
<script>
function saveChange(pPerm) {
(function($) {
var myswitch = document.getElementById(pPerm);
$.post('/api/config/general/save?api_token='+api_token, { value: myswitch.checked,perm: pPerm } , function(data) {
swal({
title: 'Modification enregistré !',
type: 'success',
}).then((result) => {
if (result.value) {
location.reload();
}
})
});
})(jQuery);
}
</script>
@endsection

View File

@@ -143,24 +143,7 @@
@endsection
@section('breadcrumb')
<div class="breadcrumbs">
<div class="col-sm-4">
<div class="page-header float-left">
<div class="page-title">
<h1>{{ trans('admin/dashboard.page_title')}}</h1>
</div>
</div>
</div>
<div class="col-sm-8">
<div class="page-header float-right">
<div class="page-title">
<ol class="breadcrumb text-right">
<li class="active">{{ trans('admin/dashboard.breadcrumb')}}</li>
</ol>
</div>
</div>
</div>
</div>
Dashboard
@endsection
@section('scripts')

View File

@@ -0,0 +1,68 @@
@extends('layouts.admin.main')
@section('content')
<div class="card">
<div class="card-header card-header-danger">
<h4 class="card-title">Full header coloured</h4>
<p class="category">Category subtitle</p>
</div>
<div class="card-body">
<table class="table table-hover">
<thead>
<tr>
<td class="text-center" style="width: 2rem;">#</td>
<td>Nom</td>
<td></td>
</tr>
</thead>
<tbody>
<tr>
<td><i class="fas fa-folder fa-2x"></i></td>
<td>..</td>
</tr>
@foreach($directories as $directory)
<tr>
<td><i class="fas fa-folder fa-2x"></i></td>
<td>{{$directory['name']}}</td>
<td class="td-actions text-right">
<button type="button" rel="tooltip" class="btn btn-info btn-round">
<i class="material-icons">person</i>
</button>
<button type="button" rel="tooltip" class="btn btn-success btn-round">
<i class="material-icons">edit</i>
</button>
<button type="button" rel="tooltip" class="btn btn-danger btn-round">
<i class="material-icons">close</i>
</button>
</td>
</tr>
@endforeach
@foreach($files as $file)
<tr>
<td><i class="{{ \App\GoogleDriveFile::icon($file['extension']) }} fa-2x"></i></td>
<td>{{$file['name']}}</td>
<td class="td-actions text-right">
<button type="button" rel="tooltip" class="btn btn-info btn-round">
<i class="material-icons">cloud_download</i>
</button>
<button type="button" rel="tooltip" class="btn btn-success btn-round">
<i class="material-icons">file_copy</i>
</button>
<button type="button" rel="tooltip" class="btn btn-danger btn-round">
<i class="material-icons">delete</i>
</button>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
@endsection
@section('breadcrumb')
Fichier / Google Drive
@endsection
@section('scripts')
@endsection

View File

@@ -1,3 +1,4 @@
<input class="d-none" type="checkbox" id="use_course_n{{$niveau}}_p{{$periode}}" name="use_course_n{{$niveau}}_p{{$periode}}" checked>
<div class="row bg-light">
<div class="col-8 pr-0 m-auto d-flex">
<div class="pr-0 m-auto d-flex" id="isDoneContainer{{$niveau}}-{{$periode}}">

View File

@@ -49,6 +49,34 @@
<small id="nameHelp" class="text-muted">Veuillez entrer le lieu de l'événement</small>
</div>
</div>
<div id="collmessagedelasemaine" class="col-12 d-none">
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="label-control">Date et heure de publication des messages de la semaine</label>
<input name="date_msg" type="text" id="weekly_msg_publication_time" class="form-control datetimepicker"/>
</div>
</div>
<div class="col-md-6">
<div class="form-group bmd-form-group is-filled">
<label class="label-control bmd-label-static">Fichier joint avec les messages de la semaine</label>
<div class="fileinput fileinput-new input-group" data-provides="fileinput" style="display: flex !important;">
<div class="form-control" data-trigger="fileinput">
<span class="fileinput-filename"></span>
</div>
<span class="input-group-append">
<span class="input-group-text fileinput-exists" data-dismiss="fileinput">Remove</span>
<span class="input-group-text btn-file">
<span class="fileinput-new">Select file</span>
<span class="fileinput-exists">Change</span>
<input type="file" name="file_msg" multiple>
</span>
</span>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-12 mt-4">
<label class="mb-0" for="desc">Description</label>
<div class="form-group">
@@ -58,34 +86,6 @@
</div>
</div>
</div>
<div class="card card-collapse d-none" id="collmessagedelasemaine">
<div class="card-header" role="tab" id="headingTwo">
<h5 class="mb-0">
<a class="collapsed" data-toggle="collapse" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
<b>Message de la semaine</b>
<i class="material-icons">keyboard_arrow_down</i>
</a>
</h5>
</div>
<div id="collapseTwo" class="collapse" role="tabpanel" aria-labelledby="headingTwo" data-parent="#accordion">
<div class="card-body">
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="label-control">Date et heure de publication des messages de la semaine</label>
<input name="date_msg" type="text" id="weekly_msg_publication_time" class="form-control datetimepicker"/>
</div>
</div>
<div class="col-md-12">
<label class="mb-0" for="desc">Message de le semaine</label>
<div class="form-group">
<textarea class="form-control richeditor" name="msg" id="msg" rows="6">{{\App\Config::getData('default_weekly_msg')}}</textarea>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="card card-collapse d-none" id="collschedule">
<div class="card-header" role="tab" id="headingThree">
<h5 class="mb-0">

View File

@@ -0,0 +1,93 @@
@extends('layouts.admin.main')
@section('content')
<div class="row">
<div class="col-md-6">
@if($alerts[0] == [])
<div class="alert alert-success" role="alert">
<div class="row">
<div class="col-10">
Aucun avertissement
</div>
<div class="col text-right m-0">
<i class="fas fa-check text-white"></i>
</div>
</div>
</div>
@endif
@foreach($alerts[0] as $alert)
<div class="alert alert-warning" role="alert">
<div class="row">
<div class="col-10">
{{$alert}}
</div>
<div class="col text-right m-0">
<i class="fas fa-warning text-white"></i>
</div>
</div>
</div>
@endforeach
</div>
<div class="col-md-6">
@if($alerts[0] == [])
<div class="alert alert-success" role="alert">
<div class="row">
<div class="col-10">
Aucune erreur
</div>
<div class="col text-right m-0">
<i class="fas fa-check text-white"></i>
</div>
</div>
</div>
@endif
@foreach($alerts[1] as $alert)
<div class="alert alert-danger" role="alert">
<div class="row">
<div class="col-10">
Des problèmes ont été détecté avec l'horaire. Impossible de les régler de façon automatique.
</div>
<div class="col text-right m-0 m-auto">
<i class="fas fa-times text-white"></i>
</div>
</div>
</div>
@endforeach
</div>
<div class="col-12">
<div class="card">
<div class="card-header">
<h4 class="card-title">Regular header</h4>
<p class="category">Category subtitle</p>
</div>
<div class="card-body">
The place is close to Barceloneta Beach and bus stop just 2 min by walk and near to "Naviglio" where you can enjoy the main night life in Barcelona...
</div>
</div>
</div>
</div>
@endsection
@section('breadcrumb')
<div class="breadcrumbs">
<div class="col-sm-4">
<div class="page-header float-left">
<div class="page-title">
<h1>{{ trans('admin/dashboard.page_title')}}</h1>
</div>
</div>
</div>
<div class="col-sm-8">
<div class="page-header float-right">
<div class="page-title">
<ol class="breadcrumb text-right">
<li class="active">{{ trans('admin/dashboard.breadcrumb')}}</li>
</ol>
</div>
</div>
</div>
</div>
@endsection
@section('scripts')
@endsection

View File

@@ -7,16 +7,17 @@
<title>C-CMS - Espace Administration</title>
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport" />
<link rel="icon" type="image/png" href="/favicon.png">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<!-- CSRF Token -->
<meta name="csrf-token" content="{{ csrf_token() }}">
<!-- Favicon, Icon and Font -->
<link rel="shortcut icon" href="/assets/admin/images/favicon.png">
<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Roboto+Slab:400,700|Material+Icons" />
<script src="https://kit.fontawesome.com/d18efcab73.js"></script>
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<!-- Material Dashboard CSS -->
<link href="/css/material-dashboard.css" rel="stylesheet">
@@ -24,7 +25,9 @@
<!-- Plugin CSS -->
<link href='/assets/fullcalendar/core/main.css' rel='stylesheet' />
<link href='/assets/fullcalendar/daygrid/main.css' rel='stylesheet' />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Trumbowyg/2.18.0/ui/trumbowyg.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Trumbowyg/2.20.0/ui/trumbowyg.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Trumbowyg/2.20.0/plugins/colors/ui/trumbowyg.colors.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Trumbowyg/2.20.0/plugins/emoji/ui/trumbowyg.emoji.min.css">
<link rel="stylesheet" href="/css/contextLoader.min.css">
<link rel="stylesheet" href="/js/plugins/fontawesome-icon-picker/fontawesome-iconpicker.css">

View File

@@ -13,6 +13,7 @@ foreach (Auth::user()->unreadNotifications as $notification) {
<i class="material-icons design_bullet-list-67 visible-on-sidebar-mini">view_list</i>
</button>
</div>
<a class="navbar-brand">@yield('breadcrumb')</a>
</div>
<button class="navbar-toggler" type="button" data-toggle="collapse" aria-controls="navigation-index" aria-expanded="false" aria-label="Toggle navigation">
<span class="sr-only">Toggle navigation</span>
@@ -21,7 +22,7 @@ foreach (Auth::user()->unreadNotifications as $notification) {
<span class="navbar-toggler-icon icon-bar"></span>
</button>
<div class="collapse navbar-collapse justify-content-end">
<form class="navbar-form">
<!--<form class="navbar-form">
<div class="input-group no-border">
<input type="text" value="" class="form-control" placeholder="Search...">
<button type="submit" class="btn btn-white btn-round btn-just-icon">
@@ -29,7 +30,7 @@ foreach (Auth::user()->unreadNotifications as $notification) {
<div class="ripple-container"></div>
</button>
</div>
</form>
</form>-->
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="https://gitlab.com/TheGamecraft/c-cms/wikis/home" data-toggle="tooltip" data-placement="bottom" title="Aide">
@@ -75,4 +76,4 @@ foreach (Auth::user()->unreadNotifications as $notification) {
</ul>
</div>
</div>
</nav>
</nav>

View File

@@ -19,6 +19,8 @@
<script src="/js/plugins/jquery.dataTables.min.js"></script>
<!-- Plugin for the Sliders, full documentation here: http://refreshless.com/nouislider/ -->
<script src="/js/plugins/nouislider.min.js" ></script>
<!-- Plugin for Fileupload, full documentation here: http://www.jasny.net/bootstrap/javascript/#fileinput -->
<script src="/js/plugins/jasny-bootstrap.min.js"></script>
<!-- Include a polyfill for ES6 Promises (optional) for IE11, UC Browser and Android browser support SweetAlert -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/core-js/2.4.1/core.js"></script>
<!-- Chartist JS -->
@@ -26,8 +28,12 @@
<!-- Notifications Plugin -->
<script src="/js/plugins/bootstrap-notify.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Trumbowyg/2.18.0/trumbowyg.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Trumbowyg/2.20.0/trumbowyg.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Trumbowyg/2.18.0/langs/fr.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Trumbowyg/2.20.0/plugins/fontfamily/trumbowyg.fontfamily.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Trumbowyg/2.20.0/plugins/fontsize/trumbowyg.fontsize.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Trumbowyg/2.20.0/plugins/colors/trumbowyg.colors.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Trumbowyg/2.20.0/plugins/emoji/trumbowyg.emoji.min.js"></script>
<script src="/js/notify.js"></script>
<script src="/js/plugins/contextLoader.min.js"></script>

View File

@@ -26,14 +26,14 @@
</a>
<div class="collapse" id="message">
<ul class="nav">
<li class="nav-item ">
<li class="nav-item pl-2">
<a class="nav-link" href="/admin/message">
<span class="sidebar-mini"> <i class="fas fa-eye"></i> </span>
<span class="sidebar-normal"> Afficher les messages </span>
</a>
</li>
@if(\Auth::user()->p('msg_add') == 1)
<li class="nav-item ">
<li class="nav-item pl-2">
<a class="nav-link" href="/admin/message/add">
<span class="sidebar-mini"> <i class="fas fa-plus"></i> </span>
<span class="sidebar-normal"> Ajouter un message </span>
@@ -41,7 +41,7 @@
</li>
@endif
@if(\Auth::user()->p('msg_delete') == 1)
<li class="nav-item ">
<li class="nav-item pl-2">
<a class="nav-link" href="/admin/message">
<span class="sidebar-mini"> <i class="fas fa-times"></i> </span>
<span class="sidebar-normal"> Supprimer un message </span>
@@ -62,14 +62,14 @@
</a>
<div class="collapse" id="news">
<ul class="nav">
<li class="nav-item ">
<li class="nav-item pl-2">
<a class="nav-link" href="/admin/news">
<span class="sidebar-mini"> <i class="fas fa-eye"></i> </span>
<span class="sidebar-normal"> Voir les nouvelles </span>
</a>
</li>
@if(\Auth::user()->p('news_add') == 1)
<li class="nav-item ">
<li class="nav-item pl-2">
<a class="nav-link" href="/admin/news/add">
<span class="sidebar-mini"> <i class="fas fa-plus"></i> </span>
<span class="sidebar-normal"> Ajouter une nouvelle </span>
@@ -112,14 +112,14 @@
</a>
<div class="collapse" id="inventory">
<ul class="nav">
<li class="nav-item ">
<li class="nav-item pl-2">
<a class="nav-link" href="/admin/inventory">
<span class="sidebar-mini"> <i class="fas fa-box"></i> </span>
<span class="sidebar-normal"> Voir l'inventaire </span>
</a>
</li>
@if(\Auth::user()->p('inventory_edit') == 1)
<li class="nav-item ">
<li class="nav-item pl-2">
<a class="nav-link" href="/admin/inventory/management">
<span class="sidebar-mini"> <i class="fas fa-cogs"></i> </span>
<span class="sidebar-normal"> Gestion de l'inventaire </span>
@@ -146,14 +146,14 @@
</a>
<div class="collapse" id="picture">
<ul class="nav">
<li class="nav-item ">
<li class="nav-item pl-2">
<a class="nav-link" href="/admin/picture">
<span class="sidebar-mini"> <i class="fas fa-list"></i> </span>
<span class="sidebar-normal"> Afficher toutes les images </span>
</a>
</li>
@if(\Auth::user()->p('picture_add') == 1)
<li class="nav-item ">
<li class="nav-item pl-2">
<a class="nav-link" href="/admin/picture/add">
<span class="sidebar-mini"> <i class="fas fa-plus"></i> </span>
<span class="sidebar-normal"> Ajouter une image </span>
@@ -174,7 +174,7 @@
</a>
<div class="collapse" id="stats">
<ul class="nav">
<li class="nav-item ">
<li class="nav-item pl-2">
<a class="nav-link" href="/admin/stats/log">
<span class="sidebar-mini"> <i class="fas fa-user-secret"></i> </span>
<span class="sidebar-normal"> Liste des activitées </span>
@@ -195,14 +195,14 @@
<div class="collapse" id="user">
<ul class="nav">
@if(\Auth::user()->p('user_add') == 1)
<li class="nav-item ">
<li class="nav-item pl-2">
<a class="nav-link" href="/admin/user/add">
<span class="sidebar-mini"> <i class="fas fa-plus"></i> </span>
<span class="sidebar-normal"> Ajouter un utilisateur </span>
</a>
</li>
@endif
<li class="nav-item ">
<li class="nav-item pl-2">
<a class="nav-link" href="/admin/user">
<span class="sidebar-mini"> <i class="fas fa-list"></i> </span>
<span class="sidebar-normal"> Liste des utilisateurs </span>
@@ -221,13 +221,13 @@
</a>
<div class="collapse" id="file">
<ul class="nav">
<li class="nav-item ">
<li class="nav-item pl-2">
<a class="nav-link" href="/admin/guide">
<span class="sidebar-mini"> <i class="fas fa-book"></i></span>
<span class="sidebar-normal"> Guide pédagogique </span>
</a>
</li>
<li class="nav-item ">
<li class="nav-item pl-2">
<a class="nav-link" href="/admin/files">
<span class="sidebar-mini"> <i class="fas fa-cog"></i> </span>
<span class="sidebar-normal"> Divers </span>
@@ -246,48 +246,54 @@
</a>
<div class="collapse" id="config">
<ul class="nav">
<li class="nav-item ">
<li class="nav-item pl-2">
<a class="nav-link" href="/admin/config">
<span class="sidebar-mini"> <i class="fas fa-cog"></i> </span>
<span class="sidebar-normal"> Général </span>
</a>
</li>
<li class="nav-item ">
<a class="nav-link" href="/admin/config/files">
<span class="sidebar-mini"> <i class="fas fa-folder"></i> </span>
<span class="sidebar-normal"> Fichier </span>
</a>
</li>
<li class="nav-item ">
<li class="nav-item pl-2">
<a class="nav-link" href="/admin/config/schedule">
<span class="sidebar-mini"> <i class="fas fa-calendar"></i></span>
<span class="sidebar-normal"> Horaire </span>
</a>
</li>
<li class="nav-item ">
<li class="nav-item pl-2">
<a class="nav-link" href="/admin/config/activity">
<span class="sidebar-mini"> <i class="fas fa-hiking"></i> </span>
<span class="sidebar-normal"> Activités </span>
</a>
</li>
<li class="nav-item ">
<a class="nav-link" href="/admin/config/customisation">
<span class="sidebar-mini"> <i class="fas fa-palette"></i> </span>
<span class="sidebar-normal"> Apparence </span>
</a>
</li>
<li class="nav-item ">
<li class="nav-item pl-2">
<a class="nav-link" href="/admin/config/ranks">
<span class="sidebar-mini"> <i class="fas fa-user-tag"></i> </span>
<span class="sidebar-normal"> Grade </span>
</a>
</li>
<li class="nav-item ">
<li class="nav-item pl-2">
<a class="nav-link" href="/admin/config/jobs">
<span class="sidebar-mini"> <i class="fas fa-user-shield"></i> </span>
<span class="sidebar-normal"> Poste </span>
</a>
</li>
<li class="nav-item pl-2">
<a class="nav-link" href="/admin/config/customisation">
<span class="sidebar-mini"> <i class="fas fa-palette"></i> </span>
<span class="sidebar-normal"> Apparence </span>
</a>
</li>
<li class="nav-item pl-2">
<a class="nav-link" href="/admin/config/files">
<span class="sidebar-mini"> <i class="fas fa-folder"></i> </span>
<span class="sidebar-normal"> Fichier </span>
</a>
</li>
<li class="nav-item pl-2">
<a class="nav-link" href="/admin/config/coursedb">
<span class="sidebar-mini"> <i class="fas fa-database"></i> </span>
<span class="sidebar-normal"> BD des cours </span>
</a>
</li>
</ul>
</div>
</li>