Suppression complète du 'manager' : 'ResourceDispatcher'

This commit is contained in:
xdrm-brackets 2016-07-08 17:04:41 +02:00
parent cbacc90dd9
commit ddc3e7a752
49 changed files with 1267 additions and 454 deletions

View File

@ -1,8 +0,0 @@
{
"svg": "image/svg+xml",
"css": "text/css",
"js": "text/js",
"json": "application/json"
}

View File

@ -1,12 +0,0 @@
{
"st" : "/src/static",
"dy" : "/src/dynamic",
"conf" : "/config",
"css" : "/css",
"js" : "/js",
"cssview" : "/view/css",
"jsview" : "/view/js"
}

View File

@ -1,2 +0,0 @@
/*# sourceMappingURL=constants.css.map */

View File

@ -0,0 +1,7 @@
/* COULEUR DU THEME */
/* COULEUR DU SOUS-MENU */
/* COULEUR DES ERREURS */
/* FORMULAIRES */
/* GESTION DES LONGUEURS */
/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAiZXhwYW5kZWQuY3NzIiwKCSJzb3VyY2VzIjogWwoJCSIuLi9jb25zdGFudHMuc2NzcyIKCV0sCgkic291cmNlc0NvbnRlbnQiOiBbCgkJIi8qIENPVUxFVVIgRFUgVEhFTUUgKi9cbiR0aGVtZS1jb2xvcjogI2U2MzMyMTtcblxuLyogQ09VTEVVUiBEVSBTT1VTLU1FTlUgKi9cbiRzdWItbWVudS1jb2xvcjogIzViNWU2MztcblxuLyogQ09VTEVVUiBERVMgRVJSRVVSUyAqL1xuJGVycm9yLWNvbG9yOiAjY2M1ODU3O1xuXG4vKiBGT1JNVUxBSVJFUyAqL1xuJGZvcm0tdmFsaWQtY29sb3I6ICAgIzI3YTU2MDtcbiRmb3JtLW5ldXRyYWwtY29sb3I6ICMyMTkzZTY7XG4kZm9ybS1zZWFyY2gtY29sb3I6ICAjNTYzMGVkO1xuJGZvcm0taW52YWxpZC1jb2xvcjogI2Q1MjkxODtcblxuXG4vKiBHRVNUSU9OIERFUyBMT05HVUVVUlMgKi9cbiRtZW51LXNpZGUtd2lkdGg6IDRlbTtcblxuXG4vLyBQT1VSIFJFU09VUkNFX0RJU1BBVENIRVJcbiRyZC1mb3JtLXZhbGlkLWNvbG9yOiAgICcyN2E1NjAnO1xuJHJkLWZvcm0tbmV1dHJhbC1jb2xvcjogJzIxOTNlNic7XG4kcmQtZm9ybS1zZWFyY2gtY29sb3I6ICAnNTYzMGVkJztcbiRyZC1mb3JtLWludmFsaWQtY29sb3I6ICdkNTI5MTgnO1xuIgoJXSwKCSJtYXBwaW5ncyI6ICJBQUFBLHNCQUFzQjtBQUd0QiwwQkFBMEI7QUFHMUIseUJBQXlCO0FBR3pCLGlCQUFpQjtBQU9qQiwyQkFBMkIiLAoJIm5hbWVzIjogW10KfQ== */

2
css/constants/min.css Normal file
View File

@ -0,0 +1,2 @@
/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAibWluLmNzcyIsCgkic291cmNlcyI6IFsKCQkiLi4vY29uc3RhbnRzLnNjc3MiCgldLAoJInNvdXJjZXNDb250ZW50IjogWwoJCSIvKiBDT1VMRVVSIERVIFRIRU1FICovXG4kdGhlbWUtY29sb3I6ICNlNjMzMjE7XG5cbi8qIENPVUxFVVIgRFUgU09VUy1NRU5VICovXG4kc3ViLW1lbnUtY29sb3I6ICM1YjVlNjM7XG5cbi8qIENPVUxFVVIgREVTIEVSUkVVUlMgKi9cbiRlcnJvci1jb2xvcjogI2NjNTg1NztcblxuLyogRk9STVVMQUlSRVMgKi9cbiRmb3JtLXZhbGlkLWNvbG9yOiAgICMyN2E1NjA7XG4kZm9ybS1uZXV0cmFsLWNvbG9yOiAjMjE5M2U2O1xuJGZvcm0tc2VhcmNoLWNvbG9yOiAgIzU2MzBlZDtcbiRmb3JtLWludmFsaWQtY29sb3I6ICNkNTI5MTg7XG5cblxuLyogR0VTVElPTiBERVMgTE9OR1VFVVJTICovXG4kbWVudS1zaWRlLXdpZHRoOiA0ZW07XG5cblxuLy8gUE9VUiBSRVNPVVJDRV9ESVNQQVRDSEVSXG4kcmQtZm9ybS12YWxpZC1jb2xvcjogICAnMjdhNTYwJztcbiRyZC1mb3JtLW5ldXRyYWwtY29sb3I6ICcyMTkzZTYnO1xuJHJkLWZvcm0tc2VhcmNoLWNvbG9yOiAgJzU2MzBlZCc7XG4kcmQtZm9ybS1pbnZhbGlkLWNvbG9yOiAnZDUyOTE4JztcbiIKCV0sCgkibWFwcGluZ3MiOiAiIiwKCSJuYW1lcyI6IFtdCn0= */

File diff suppressed because one or more lines are too long

View File

@ -41,7 +41,7 @@
border: 1px solid #b1b1b1; border: 1px solid #b1b1b1;
// box-shadow: 0 0 1px #b7b7b7; // box-shadow: 0 0 1px #b7b7b7;
background: #fff url('/f/svg/search/st/sub-menu-side/b1b1b1') .5em center no-repeat; background: #fff url('/src/static/sub-menu-side/search.svg?b1b1b1') .5em center no-repeat;
background-size: 1em; background-size: 1em;
transition: border .4s ease-in-out; transition: border .4s ease-in-out;
@ -453,7 +453,7 @@
button.invalid.active, button.invalid.active,
button.active{ button.active{
background-color: #fff; background-color: #fff;
background-image: url('/f/svg/active/st/container/'+$rd-form-invalid-color) !important; background-image: url('/src/static/container/active.svg?'+$rd-form-invalid-color) !important;
background-size: 1em auto; background-size: 1em auto;
color: transparent !important; color: transparent !important;
@ -462,15 +462,15 @@
button.valid.active, button.valid.active,
&.valid > button.active{ &.valid > button.active{
background-image: url('/f/svg/active/st/container/'+$rd-form-valid-color) !important; background-image: url('/src/static/container/active.svg?'+$rd-form-valid-color) !important;
} }
button.neutral.active, button.neutral.active,
&.neutral > button.active{ &.neutral > button.active{
background-image: url('/f/svg/active/st/container/'+$rd-form-neutral-color) !important; background-image: url('/src/static/container/active.svg?'+$rd-form-neutral-color) !important;
} }
button.search.active, button.search.active,
&.search > button.active{ &.search > button.active{
background-image: url('/f/svg/active/st/container/'+$rd-form-search-color) !important; background-image: url('/src/static/container/active.svg?'+$rd-form-search-color) !important;
} }

482
css/container/expanded.css Normal file

File diff suppressed because one or more lines are too long

3
css/container/min.css Normal file

File diff suppressed because one or more lines are too long

View File

0
css/fonts.min.css vendored
View File

View File

@ -1,2 +0,0 @@
/*# sourceMappingURL=global.css.map */

View File

@ -1,2 +0,0 @@
#WRAPPER>#HEADER>.icon{display:block;position:absolute;top:0;left:0;width:4em;height:4em;background-color:#bf2515;background-image:url("/f/svg/icon/st");background-position:center center;background-repeat:no-repeat;background-size:50% 50%;cursor:pointer;transition:all .3s}#WRAPPER>#HEADER>.icon:hover{background-color:#a82013}#WRAPPER>#HEADER.loading>.icon{background-image:url("/f/svg/loader/st");background-size:70% 70%}
/*# sourceMappingURL=header.css.map */

View File

@ -12,7 +12,7 @@
height: $menu-side-width; height: $menu-side-width;
background-color: darken($theme-color, 10); background-color: darken($theme-color, 10);
background-image: url('/f/svg/icon/st'); background-image: url('/src/static/icon.svg');
background-position: center center; background-position: center center;
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: 50% 50%; background-size: 50% 50%;
@ -27,10 +27,10 @@
} }
} }
/* Animation de chargement qudnd chargement ajax */ /* Animation de chargement qudnd chargement ajax */
&.loading > .icon{ &.loading > .icon{
background-image: url('/f/svg/loader/st'); background-image: url('/src/static/loader.svg');
background-size: 70% 70%; background-size: 70% 70%;
} }

35
css/header/expanded.css Normal file
View File

@ -0,0 +1,35 @@
/* COULEUR DU THEME */
/* COULEUR DU SOUS-MENU */
/* COULEUR DES ERREURS */
/* FORMULAIRES */
/* GESTION DES LONGUEURS */
#WRAPPER > #HEADER {
/* Animation de chargement qudnd chargement ajax */
}
#WRAPPER > #HEADER > .icon {
display: block;
position: absolute;
top: 0;
left: 0;
width: 4em;
height: 4em;
background-color: #bf2515;
background-image: url("/src/static/icon.svg");
background-position: center center;
background-repeat: no-repeat;
background-size: 50% 50%;
cursor: pointer;
transition: all .3s;
}
#WRAPPER > #HEADER > .icon:hover {
background-color: #a82013;
}
#WRAPPER > #HEADER.loading > .icon {
background-image: url("/src/static/loader.svg");
background-size: 70% 70%;
}
/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAiZXhwYW5kZWQuY3NzIiwKCSJzb3VyY2VzIjogWwoJCSIuLi9oZWFkZXIuc2NzcyIsCgkJIi4uL2NvbnN0YW50cy5zY3NzIgoJXSwKCSJzb3VyY2VzQ29udGVudCI6IFsKCQkiQGltcG9ydCAnY29uc3RhbnRzJztcblxuXG4jV1JBUFBFUiA+ICNIRUFERVJ7XG5cdC8vIEljb25lIGR1IHNpdGVcblx0JiA+IC5pY29ue1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR3aWR0aDogJG1lbnUtc2lkZS13aWR0aDtcblx0XHRcdGhlaWdodDogJG1lbnUtc2lkZS13aWR0aDtcblxuXHRcdGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkdGhlbWUtY29sb3IsIDEwKTtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9zcmMvc3RhdGljL2ljb24uc3ZnJyk7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtc2l6ZTogNTAlIDUwJTtcblxuXHRcdGN1cnNvcjogcG9pbnRlcjtcblxuXHRcdHRyYW5zaXRpb246IGFsbCAuM3M7XG5cblx0XHQvLyBAaG92ZXJcblx0XHQmOmhvdmVye1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCR0aGVtZS1jb2xvciwgMTUpO1xuXHRcdH1cblxuXHR9XG5cblx0LyogQW5pbWF0aW9uIGRlIGNoYXJnZW1lbnQgcXVkbmQgY2hhcmdlbWVudCBhamF4ICovXG5cdCYubG9hZGluZyA+IC5pY29ue1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL3NyYy9zdGF0aWMvbG9hZGVyLnN2ZycpO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogNzAlIDcwJTtcblx0fVxuXG59XG4iLAoJCSIvKiBDT1VMRVVSIERVIFRIRU1FICovXG4kdGhlbWUtY29sb3I6ICNlNjMzMjE7XG5cbi8qIENPVUxFVVIgRFUgU09VUy1NRU5VICovXG4kc3ViLW1lbnUtY29sb3I6ICM1YjVlNjM7XG5cbi8qIENPVUxFVVIgREVTIEVSUkVVUlMgKi9cbiRlcnJvci1jb2xvcjogI2NjNTg1NztcblxuLyogRk9STVVMQUlSRVMgKi9cbiRmb3JtLXZhbGlkLWNvbG9yOiAgICMyN2E1NjA7XG4kZm9ybS1uZXV0cmFsLWNvbG9yOiAjMjE5M2U2O1xuJGZvcm0tc2VhcmNoLWNvbG9yOiAgIzU2MzBlZDtcbiRmb3JtLWludmFsaWQtY29sb3I6ICNkNTI5MTg7XG5cblxuLyogR0VTVElPTiBERVMgTE9OR1VFVVJTICovXG4kbWVudS1zaWRlLXdpZHRoOiA0ZW07XG5cblxuLy8gUE9VUiBSRVNPVVJDRV9ESVNQQVRDSEVSXG4kcmQtZm9ybS12YWxpZC1jb2xvcjogICAnMjdhNTYwJztcbiRyZC1mb3JtLW5ldXRyYWwtY29sb3I6ICcyMTkzZTYnO1xuJHJkLWZvcm0tc2VhcmNoLWNvbG9yOiAgJzU2MzBlZCc7XG4kcmQtZm9ybS1pbnZhbGlkLWNvbG9yOiAnZDUyOTE4JztcbiIKCV0sCgkibWFwcGluZ3MiOiAiQUNBQSxzQkFBc0I7QUFHdEIsMEJBQTBCO0FBRzFCLHlCQUF5QjtBQUd6QixpQkFBaUI7QUFPakIsMkJBQTJCO0FEYjNCLEFBQVcsUUFBSCxHQUFHLE9BQU8sQ0FBQTtFQTJCakIsbURBQW1EO0NBTW5EOztBQWpDRCxBQUVLLFFBRkcsR0FBRyxPQUFPLEdBRWIsS0FBSyxDQUFBO0VBQ1IsT0FBTyxFQUFFLEtBQU07RUFDZixRQUFRLEVBQUUsUUFBUztFQUNsQixHQUFHLEVBQUUsQ0FBRTtFQUNQLElBQUksRUFBRSxDQUFFO0VBQ1IsS0FBSyxFQ09VLEdBQUc7RURObEIsTUFBTSxFQ01TLEdBQUc7RURKbkIsZ0JBQWdCLEVBQUUsT0FBTTtFQUN4QixnQkFBZ0IsRUFBRSwyQkFBRztFQUNyQixtQkFBbUIsRUFBRSxhQUFjO0VBQ25DLGlCQUFpQixFQUFFLFNBQVU7RUFDN0IsZUFBZSxFQUFFLE9BQVE7RUFFekIsTUFBTSxFQUFFLE9BQVE7RUFFaEIsVUFBVSxFQUFFLE9BQVE7Q0FPcEI7O0FBekJGLEFBRUssUUFGRyxHQUFHLE9BQU8sR0FFYixLQUFLLEFBbUJQLE1BQU0sQ0FBQTtFQUNOLGdCQUFnQixFQUFFLE9BQU07Q0FDeEI7O0FBdkJILEFBNEJhLFFBNUJMLEdBQUcsT0FBTyxBQTRCaEIsUUFBUSxHQUFHLEtBQUssQ0FBQTtFQUNoQixnQkFBZ0IsRUFBRSw2QkFBRztFQUNyQixlQUFlLEVBQUUsT0FBUTtDQUN6QiIsCgkibmFtZXMiOiBbXQp9 */

3
css/header/min.css Normal file
View File

@ -0,0 +1,3 @@
#WRAPPER>#HEADER>.icon{display:block;position:absolute;top:0;left:0;width:4em;height:4em;background-color:#bf2515;background-image:url("/src/static/icon.svg");background-position:center center;background-repeat:no-repeat;background-size:50% 50%;cursor:pointer;transition:all .3s}#WRAPPER>#HEADER>.icon:hover{background-color:#a82013}#WRAPPER>#HEADER.loading>.icon{background-image:url("/src/static/loader.svg");background-size:70% 70%}
/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAibWluLmNzcyIsCgkic291cmNlcyI6IFsKCQkiLi4vaGVhZGVyLnNjc3MiLAoJCSIuLi9jb25zdGFudHMuc2NzcyIKCV0sCgkic291cmNlc0NvbnRlbnQiOiBbCgkJIkBpbXBvcnQgJ2NvbnN0YW50cyc7XG5cblxuI1dSQVBQRVIgPiAjSEVBREVSe1xuXHQvLyBJY29uZSBkdSBzaXRlXG5cdCYgPiAuaWNvbntcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0d2lkdGg6ICRtZW51LXNpZGUtd2lkdGg7XG5cdFx0XHRoZWlnaHQ6ICRtZW51LXNpZGUtd2lkdGg7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHRoZW1lLWNvbG9yLCAxMCk7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcvc3JjL3N0YXRpYy9pY29uLnN2ZycpO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDUwJSA1MCU7XG5cblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0XHR0cmFuc2l0aW9uOiBhbGwgLjNzO1xuXG5cdFx0Ly8gQGhvdmVyXG5cdFx0Jjpob3Zlcntcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkdGhlbWUtY29sb3IsIDE1KTtcblx0XHR9XG5cblx0fVxuXG5cdC8qIEFuaW1hdGlvbiBkZSBjaGFyZ2VtZW50IHF1ZG5kIGNoYXJnZW1lbnQgYWpheCAqL1xuXHQmLmxvYWRpbmcgPiAuaWNvbntcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9zcmMvc3RhdGljL2xvYWRlci5zdmcnKTtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDcwJSA3MCU7XG5cdH1cblxufVxuIiwKCQkiLyogQ09VTEVVUiBEVSBUSEVNRSAqL1xuJHRoZW1lLWNvbG9yOiAjZTYzMzIxO1xuXG4vKiBDT1VMRVVSIERVIFNPVVMtTUVOVSAqL1xuJHN1Yi1tZW51LWNvbG9yOiAjNWI1ZTYzO1xuXG4vKiBDT1VMRVVSIERFUyBFUlJFVVJTICovXG4kZXJyb3ItY29sb3I6ICNjYzU4NTc7XG5cbi8qIEZPUk1VTEFJUkVTICovXG4kZm9ybS12YWxpZC1jb2xvcjogICAjMjdhNTYwO1xuJGZvcm0tbmV1dHJhbC1jb2xvcjogIzIxOTNlNjtcbiRmb3JtLXNlYXJjaC1jb2xvcjogICM1NjMwZWQ7XG4kZm9ybS1pbnZhbGlkLWNvbG9yOiAjZDUyOTE4O1xuXG5cbi8qIEdFU1RJT04gREVTIExPTkdVRVVSUyAqL1xuJG1lbnUtc2lkZS13aWR0aDogNGVtO1xuXG5cbi8vIFBPVVIgUkVTT1VSQ0VfRElTUEFUQ0hFUlxuJHJkLWZvcm0tdmFsaWQtY29sb3I6ICAgJzI3YTU2MCc7XG4kcmQtZm9ybS1uZXV0cmFsLWNvbG9yOiAnMjE5M2U2JztcbiRyZC1mb3JtLXNlYXJjaC1jb2xvcjogICc1NjMwZWQnO1xuJHJkLWZvcm0taW52YWxpZC1jb2xvcjogJ2Q1MjkxOCc7XG4iCgldLAoJIm1hcHBpbmdzIjogIkFBR0EsQUFFSyxRQUZHLENBQUcsT0FBTyxDQUViLEtBQUssQUFBQSxDQUNSLE9BQU8sQ0FBRSxLQUFNLENBQ2YsUUFBUSxDQUFFLFFBQVMsQ0FDbEIsR0FBRyxDQUFFLENBQUUsQ0FDUCxJQUFJLENBQUUsQ0FBRSxDQUNSLEtBQUssQ0NPVSxHQUFHLENETmxCLE1BQU0sQ0NNUyxHQUFHLENESm5CLGdCQUFnQixDQUFFLE9BQU0sQ0FDeEIsZ0JBQWdCLENBQUUsMkJBQUcsQ0FDckIsbUJBQW1CLENBQUUsYUFBYyxDQUNuQyxpQkFBaUIsQ0FBRSxTQUFVLENBQzdCLGVBQWUsQ0FBRSxPQUFRLENBRXpCLE1BQU0sQ0FBRSxPQUFRLENBRWhCLFVBQVUsQ0FBRSxPQUFRLENBT3BCLEFBekJGLEFBRUssUUFGRyxDQUFHLE9BQU8sQ0FFYixLQUFLLEFBbUJQLE1BQU0sQUFBQSxDQUNOLGdCQUFnQixDQUFFLE9BQU0sQ0FDeEIsQUF2QkgsQUE0QmEsUUE1QkwsQ0FBRyxPQUFPLEFBNEJoQixRQUFRLENBQUcsS0FBSyxBQUFBLENBQ2hCLGdCQUFnQixDQUFFLDZCQUFHLENBQ3JCLGVBQWUsQ0FBRSxPQUFRLENBQ3pCIiwKCSJuYW1lcyI6IFtdCn0= */

View File

@ -1,2 +0,0 @@
#WRAPPER{display:block;position:fixed;top:0;left:0;width:100%;height:100%;background-color:#edf0f5;font-family:'Ubuntu'}#WRAPPER>#HEADER{display:block;position:absolute;top:0;left:0;width:100%;height:calc( 4em - 1px );border-bottom:1px solid #bf2515;background-color:#e63321;z-index:10}#WRAPPER>#MENU-SIDE{display:block;position:absolute;top:4em;left:0;width:4em;height:100%;box-shadow:2px 1px 3px #ddd;background-color:#fff;transition:all .3s;z-index:9}#WRAPPER>#CONTAINER{display:flex;position:absolute;top:4em;left:4em;width:calc( 100% - 4em - 2*1em );height:calc( 100% - 4em - 2*1em );padding:1em;flex-direction:row;justify-content:space-between;overflow-x:none;overflow-y:auto}
/*# sourceMappingURL=layout.css.map */

View File

@ -12,7 +12,7 @@
font-family: 'Ubuntu'; font-family: 'Ubuntu';
/* [1] Header de la page /* [1] Header de la page
==========================================*/ ==========================================*/
& > #HEADER{ & > #HEADER{
@ -31,9 +31,9 @@
} }
/* [2] Side-Menu de la page /* [2] Side-Menu de la page
==========================================*/ ==========================================*/
// Gestion du menu // Gestion du menu
& > #MENU-SIDE{ & > #MENU-SIDE{
display: block; display: block;
@ -51,7 +51,7 @@
z-index: 9; z-index: 9;
} }
/* [3] Container de la page /* [3] Container de la page
==========================================*/ ==========================================*/
@ -71,4 +71,4 @@
overflow-x: none; overflow-x: none;
overflow-y: auto; overflow-y: auto;
} }
} }

62
css/layout/expanded.css Normal file
View File

@ -0,0 +1,62 @@
/* COULEUR DU THEME */
/* COULEUR DU SOUS-MENU */
/* COULEUR DES ERREURS */
/* FORMULAIRES */
/* GESTION DES LONGUEURS */
#WRAPPER {
display: block;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: #edf0f5;
font-family: 'Ubuntu';
/* [1] Header de la page
==========================================*/
/* [2] Side-Menu de la page
==========================================*/
/* [3] Container de la page
==========================================*/
}
#WRAPPER > #HEADER {
display: block;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: calc( 4em - 1px);
border-bottom: 1px solid #bf2515;
background-color: #e63321;
z-index: 10;
}
#WRAPPER > #MENU-SIDE {
display: block;
position: absolute;
top: 4em;
left: 0;
width: 4em;
height: 100%;
box-shadow: 2px 1px 3px #ddd;
background-color: #fff;
transition: all .3s;
z-index: 9;
}
#WRAPPER > #CONTAINER {
display: flex;
position: absolute;
top: 4em;
left: 4em;
width: calc( 100% - 4em - 2*1em);
height: calc( 100% - 4em - 2*1em);
padding: 1em;
flex-direction: row;
justify-content: space-between;
overflow-x: none;
overflow-y: auto;
}
/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAiZXhwYW5kZWQuY3NzIiwKCSJzb3VyY2VzIjogWwoJCSIuLi9sYXlvdXQuc2NzcyIsCgkJIi4uL2NvbnN0YW50cy5zY3NzIgoJXSwKCSJzb3VyY2VzQ29udGVudCI6IFsKCQkiQGltcG9ydCAnY29uc3RhbnRzJztcblxuI1dSQVBQRVJ7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXG5cdGJhY2tncm91bmQtY29sb3I6ICNlZGYwZjU7XG5cblx0Zm9udC1mYW1pbHk6ICdVYnVudHUnO1xuXG5cblx0LyogWzFdIEhlYWRlciBkZSBsYSBwYWdlXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cdCYgPiAjSEVBREVSe1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogY2FsYyggI3skbWVudS1zaWRlLXdpZHRofSAtIDFweCApO1xuXG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtlbigkdGhlbWUtY29sb3IsIDEwKTtcblxuXHRcdGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcblxuXHRcdHotaW5kZXg6IDEwO1xuXG5cdH1cblxuXG5cdC8qIFsyXSBTaWRlLU1lbnUgZGUgbGEgcGFnZVxuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXHQvLyBHZXN0aW9uIGR1IG1lbnVcblx0JiA+ICNNRU5VLVNJREV7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAkbWVudS1zaWRlLXdpZHRoO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHdpZHRoOiAkbWVudS1zaWRlLXdpZHRoO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXG5cdFx0Ym94LXNoYWRvdzogMnB4IDFweCAzcHggI2RkZDtcblxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cblx0XHR0cmFuc2l0aW9uOiBhbGwgLjNzO1xuXG5cdFx0ei1pbmRleDogOTtcblx0fVxuXG5cblx0LyogWzNdIENvbnRhaW5lciBkZSBsYSBwYWdlXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cdCYgPiAjQ09OVEFJTkVSe1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAkbWVudS1zaWRlLXdpZHRoO1xuXHRcdFx0bGVmdDogJG1lbnUtc2lkZS13aWR0aDtcblx0XHRcdHdpZHRoOiBjYWxjKCAxMDAlIC0gI3skbWVudS1zaWRlLXdpZHRofSAtIDIqMWVtICk7XG5cdFx0XHRoZWlnaHQ6IGNhbGMoIDEwMCUgLSAjeyRtZW51LXNpZGUtd2lkdGh9IC0gMioxZW0gKTtcblx0XHRwYWRkaW5nOiAxZW07XG5cblx0XHQvLyBGbGV4IHByb3BlcnRpZXNcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuXHRcdG92ZXJmbG93LXg6IG5vbmU7XG5cdFx0b3ZlcmZsb3cteTogYXV0bztcblx0fVxufVxuIiwKCQkiLyogQ09VTEVVUiBEVSBUSEVNRSAqL1xuJHRoZW1lLWNvbG9yOiAjZTYzMzIxO1xuXG4vKiBDT1VMRVVSIERVIFNPVVMtTUVOVSAqL1xuJHN1Yi1tZW51LWNvbG9yOiAjNWI1ZTYzO1xuXG4vKiBDT1VMRVVSIERFUyBFUlJFVVJTICovXG4kZXJyb3ItY29sb3I6ICNjYzU4NTc7XG5cbi8qIEZPUk1VTEFJUkVTICovXG4kZm9ybS12YWxpZC1jb2xvcjogICAjMjdhNTYwO1xuJGZvcm0tbmV1dHJhbC1jb2xvcjogIzIxOTNlNjtcbiRmb3JtLXNlYXJjaC1jb2xvcjogICM1NjMwZWQ7XG4kZm9ybS1pbnZhbGlkLWNvbG9yOiAjZDUyOTE4O1xuXG5cbi8qIEdFU1RJT04gREVTIExPTkdVRVVSUyAqL1xuJG1lbnUtc2lkZS13aWR0aDogNGVtO1xuXG5cbi8vIFBPVVIgUkVTT1VSQ0VfRElTUEFUQ0hFUlxuJHJkLWZvcm0tdmFsaWQtY29sb3I6ICAgJzI3YTU2MCc7XG4kcmQtZm9ybS1uZXV0cmFsLWNvbG9yOiAnMjE5M2U2JztcbiRyZC1mb3JtLXNlYXJjaC1jb2xvcjogICc1NjMwZWQnO1xuJHJkLWZvcm0taW52YWxpZC1jb2xvcjogJ2Q1MjkxOCc7XG4iCgldLAoJIm1hcHBpbmdzIjogIkFDQUEsc0JBQXNCO0FBR3RCLDBCQUEwQjtBQUcxQix5QkFBeUI7QUFHekIsaUJBQWlCO0FBT2pCLDJCQUEyQjtBRGQzQixBQUFBLFFBQVEsQ0FBQTtFQUNQLE9BQU8sRUFBRSxLQUFNO0VBQ2YsUUFBUSxFQUFFLEtBQU07RUFDZixHQUFHLEVBQUUsQ0FBRTtFQUNQLElBQUksRUFBRSxDQUFFO0VBQ1IsS0FBSyxFQUFFLElBQUs7RUFDWixNQUFNLEVBQUUsSUFBSztFQUVkLGdCQUFnQixFQUFFLE9BQVE7RUFFMUIsV0FBVyxFQUFFLFFBQVM7RUFHdEI7NkNBQzRDO0VBa0I1Qzs2Q0FDNEM7RUFvQjVDOzZDQUM0QztDQWlCNUM7O0FBdkVELEFBZUssUUFmRyxHQWVILE9BQU8sQ0FBQTtFQUNWLE9BQU8sRUFBRSxLQUFNO0VBQ2YsUUFBUSxFQUFFLFFBQVM7RUFDbEIsR0FBRyxFQUFFLENBQUU7RUFDUCxJQUFJLEVBQUUsQ0FBRTtFQUNSLEtBQUssRUFBRSxJQUFLO0VBQ1osTUFBTSxFQUFFLGdCQUFJO0VBRWIsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTTtFQUUvQixnQkFBZ0IsRUMxQkosT0FBTztFRDRCbkIsT0FBTyxFQUFFLEVBQUc7Q0FFWjs7QUE3QkYsQUFtQ0ssUUFuQ0csR0FtQ0gsVUFBVSxDQUFBO0VBQ2IsT0FBTyxFQUFFLEtBQU07RUFDZixRQUFRLEVBQUUsUUFBUztFQUNsQixHQUFHLEVDdkJZLEdBQUc7RUR3QmxCLElBQUksRUFBRSxDQUFFO0VBQ1IsS0FBSyxFQ3pCVSxHQUFHO0VEMEJsQixNQUFNLEVBQUUsSUFBSztFQUVkLFVBQVUsRUFBRSxnQkFBaUI7RUFFN0IsZ0JBQWdCLEVBQUUsSUFBSztFQUV2QixVQUFVLEVBQUUsT0FBUTtFQUVwQixPQUFPLEVBQUUsQ0FBRTtDQUNYOztBQWxERixBQXVESyxRQXZERyxHQXVESCxVQUFVLENBQUE7RUFDYixPQUFPLEVBQUUsSUFBSztFQUNkLFFBQVEsRUFBRSxRQUFTO0VBQ2xCLEdBQUcsRUMzQ1ksR0FBRztFRDRDbEIsSUFBSSxFQzVDVyxHQUFHO0VENkNsQixLQUFLLEVBQUUseUJBQUk7RUFDWCxNQUFNLEVBQUUseUJBQUk7RUFDYixPQUFPLEVBQUUsR0FBSTtFQUdiLGNBQWMsRUFBRSxHQUFJO0VBQ3BCLGVBQWUsRUFBRSxhQUFjO0VBRS9CLFVBQVUsRUFBRSxJQUFLO0VBQ2pCLFVBQVUsRUFBRSxJQUFLO0NBQ2pCIiwKCSJuYW1lcyI6IFtdCn0= */

3
css/layout/min.css Normal file
View File

@ -0,0 +1,3 @@
#WRAPPER{display:block;position:fixed;top:0;left:0;width:100%;height:100%;background-color:#edf0f5;font-family:'Ubuntu'}#WRAPPER>#HEADER{display:block;position:absolute;top:0;left:0;width:100%;height:calc( 4em - 1px);border-bottom:1px solid #bf2515;background-color:#e63321;z-index:10}#WRAPPER>#MENU-SIDE{display:block;position:absolute;top:4em;left:0;width:4em;height:100%;box-shadow:2px 1px 3px #ddd;background-color:#fff;transition:all .3s;z-index:9}#WRAPPER>#CONTAINER{display:flex;position:absolute;top:4em;left:4em;width:calc( 100% - 4em - 2*1em);height:calc( 100% - 4em - 2*1em);padding:1em;flex-direction:row;justify-content:space-between;overflow-x:none;overflow-y:auto}
/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAibWluLmNzcyIsCgkic291cmNlcyI6IFsKCQkiLi4vbGF5b3V0LnNjc3MiLAoJCSIuLi9jb25zdGFudHMuc2NzcyIKCV0sCgkic291cmNlc0NvbnRlbnQiOiBbCgkJIkBpbXBvcnQgJ2NvbnN0YW50cyc7XG5cbiNXUkFQUEVSe1xuXHRkaXNwbGF5OiBibG9jaztcblx0cG9zaXRpb246IGZpeGVkO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmMGY1O1xuXG5cdGZvbnQtZmFtaWx5OiAnVWJ1bnR1JztcblxuXG5cdC8qIFsxXSBIZWFkZXIgZGUgbGEgcGFnZVxuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXHQmID4gI0hFQURFUntcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IGNhbGMoICN7JG1lbnUtc2lkZS13aWR0aH0gLSAxcHggKTtcblxuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZW4oJHRoZW1lLWNvbG9yLCAxMCk7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3I7XG5cblx0XHR6LWluZGV4OiAxMDtcblxuXHR9XG5cblxuXHQvKiBbMl0gU2lkZS1NZW51IGRlIGxhIHBhZ2Vcblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblx0Ly8gR2VzdGlvbiBkdSBtZW51XG5cdCYgPiAjTUVOVS1TSURFe1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogJG1lbnUtc2lkZS13aWR0aDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR3aWR0aDogJG1lbnUtc2lkZS13aWR0aDtcblx0XHRcdGhlaWdodDogMTAwJTtcblxuXHRcdGJveC1zaGFkb3c6IDJweCAxcHggM3B4ICNkZGQ7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG5cdFx0dHJhbnNpdGlvbjogYWxsIC4zcztcblxuXHRcdHotaW5kZXg6IDk7XG5cdH1cblxuXG5cdC8qIFszXSBDb250YWluZXIgZGUgbGEgcGFnZVxuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXHQmID4gI0NPTlRBSU5FUntcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogJG1lbnUtc2lkZS13aWR0aDtcblx0XHRcdGxlZnQ6ICRtZW51LXNpZGUtd2lkdGg7XG5cdFx0XHR3aWR0aDogY2FsYyggMTAwJSAtICN7JG1lbnUtc2lkZS13aWR0aH0gLSAyKjFlbSApO1xuXHRcdFx0aGVpZ2h0OiBjYWxjKCAxMDAlIC0gI3skbWVudS1zaWRlLXdpZHRofSAtIDIqMWVtICk7XG5cdFx0cGFkZGluZzogMWVtO1xuXG5cdFx0Ly8gRmxleCBwcm9wZXJ0aWVzXG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cblx0XHRvdmVyZmxvdy14OiBub25lO1xuXHRcdG92ZXJmbG93LXk6IGF1dG87XG5cdH1cbn1cbiIsCgkJIi8qIENPVUxFVVIgRFUgVEhFTUUgKi9cbiR0aGVtZS1jb2xvcjogI2U2MzMyMTtcblxuLyogQ09VTEVVUiBEVSBTT1VTLU1FTlUgKi9cbiRzdWItbWVudS1jb2xvcjogIzViNWU2MztcblxuLyogQ09VTEVVUiBERVMgRVJSRVVSUyAqL1xuJGVycm9yLWNvbG9yOiAjY2M1ODU3O1xuXG4vKiBGT1JNVUxBSVJFUyAqL1xuJGZvcm0tdmFsaWQtY29sb3I6ICAgIzI3YTU2MDtcbiRmb3JtLW5ldXRyYWwtY29sb3I6ICMyMTkzZTY7XG4kZm9ybS1zZWFyY2gtY29sb3I6ICAjNTYzMGVkO1xuJGZvcm0taW52YWxpZC1jb2xvcjogI2Q1MjkxODtcblxuXG4vKiBHRVNUSU9OIERFUyBMT05HVUVVUlMgKi9cbiRtZW51LXNpZGUtd2lkdGg6IDRlbTtcblxuXG4vLyBQT1VSIFJFU09VUkNFX0RJU1BBVENIRVJcbiRyZC1mb3JtLXZhbGlkLWNvbG9yOiAgICcyN2E1NjAnO1xuJHJkLWZvcm0tbmV1dHJhbC1jb2xvcjogJzIxOTNlNic7XG4kcmQtZm9ybS1zZWFyY2gtY29sb3I6ICAnNTYzMGVkJztcbiRyZC1mb3JtLWludmFsaWQtY29sb3I6ICdkNTI5MTgnO1xuIgoJXSwKCSJtYXBwaW5ncyI6ICJBQUVBLEFBQUEsUUFBUSxBQUFBLENBQ1AsT0FBTyxDQUFFLEtBQU0sQ0FDZixRQUFRLENBQUUsS0FBTSxDQUNmLEdBQUcsQ0FBRSxDQUFFLENBQ1AsSUFBSSxDQUFFLENBQUUsQ0FDUixLQUFLLENBQUUsSUFBSyxDQUNaLE1BQU0sQ0FBRSxJQUFLLENBRWQsZ0JBQWdCLENBQUUsT0FBUSxDQUUxQixXQUFXLENBQUUsUUFBUyxDQTZEdEIsQUF2RUQsQUFlSyxRQWZHLENBZUgsT0FBTyxBQUFBLENBQ1YsT0FBTyxDQUFFLEtBQU0sQ0FDZixRQUFRLENBQUUsUUFBUyxDQUNsQixHQUFHLENBQUUsQ0FBRSxDQUNQLElBQUksQ0FBRSxDQUFFLENBQ1IsS0FBSyxDQUFFLElBQUssQ0FDWixNQUFNLENBQUUsZ0JBQUksQ0FFYixhQUFhLENBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFNLENBRS9CLGdCQUFnQixDQzFCSixPQUFPLENENEJuQixPQUFPLENBQUUsRUFBRyxDQUVaLEFBN0JGLEFBbUNLLFFBbkNHLENBbUNILFVBQVUsQUFBQSxDQUNiLE9BQU8sQ0FBRSxLQUFNLENBQ2YsUUFBUSxDQUFFLFFBQVMsQ0FDbEIsR0FBRyxDQ3ZCWSxHQUFHLENEd0JsQixJQUFJLENBQUUsQ0FBRSxDQUNSLEtBQUssQ0N6QlUsR0FBRyxDRDBCbEIsTUFBTSxDQUFFLElBQUssQ0FFZCxVQUFVLENBQUUsZ0JBQWlCLENBRTdCLGdCQUFnQixDQUFFLElBQUssQ0FFdkIsVUFBVSxDQUFFLE9BQVEsQ0FFcEIsT0FBTyxDQUFFLENBQUUsQ0FDWCxBQWxERixBQXVESyxRQXZERyxDQXVESCxVQUFVLEFBQUEsQ0FDYixPQUFPLENBQUUsSUFBSyxDQUNkLFFBQVEsQ0FBRSxRQUFTLENBQ2xCLEdBQUcsQ0MzQ1ksR0FBRyxDRDRDbEIsSUFBSSxDQzVDVyxHQUFHLENENkNsQixLQUFLLENBQUUseUJBQUksQ0FDWCxNQUFNLENBQUUseUJBQUksQ0FDYixPQUFPLENBQUUsR0FBSSxDQUdiLGNBQWMsQ0FBRSxHQUFJLENBQ3BCLGVBQWUsQ0FBRSxhQUFjLENBRS9CLFVBQVUsQ0FBRSxJQUFLLENBQ2pCLFVBQVUsQ0FBRSxJQUFLLENBQ2pCIiwKCSJuYW1lcyI6IFtdCn0= */

View File

@ -1,2 +0,0 @@
#WRAPPER>#MENU-SIDE>span[data-link]{display:block;position:relative;width:calc( 4em - 2*.7em - 2*.55em - 2*.01em );height:calc( 4em - 2*.7em - 2*.55em - 2*.01em );margin:2em .7em;padding:.55em;border:.01em solid transparent;border-radius:2px;color:#a2a2a2;line-height:calc( 4em - 2*.7em - 2*.55em - 2*.01em );transition:color .3s, border .3s;cursor:pointer}#WRAPPER>#MENU-SIDE>span[data-link].mt{margin-top:3em}#WRAPPER>#MENU-SIDE>span[data-link].mb{margin-bottom:3em}#WRAPPER>#MENU-SIDE>span[data-link] svg,#WRAPPER>#MENU-SIDE>span[data-link] svg *{width:calc( 4em / 2.5 );height:calc( 4em / 2.5 );transition:fill .3s;pointer-events:none}#WRAPPER>#MENU-SIDE>span[data-link][data-desc]:after{content:attr(data-desc);display:block;position:absolute;top:calc( 4em / 4 - 2*.3em );left:calc( 4em * 1.15 - 2*.3em );padding:.3em;border-radius:3px;background-color:#2a2a2a;color:#e2e2e2;white-space:nowrap;transition:transform .1s;transform-origin:0 0;transform:scaleX(0)}#WRAPPER>#MENU-SIDE>span[data-link]:hover,#WRAPPER>#MENU-SIDE>span[data-link].active{color:#e63321;border-color:#e6e6e6;box-shadow:inset 0 0 .5em #eee}#WRAPPER>#MENU-SIDE>span[data-link]:hover:hover:after,#WRAPPER>#MENU-SIDE>span[data-link].active:hover:after{transform:scaleX(1);color:#fff}#WRAPPER>#MENU-SIDE>span[data-link]:hover svg #stylisable,#WRAPPER>#MENU-SIDE>span[data-link].active svg #stylisable{fill:#000 !important}#WRAPPER>#MENU-SIDE>span[data-link]:hover svg #stroke-stylisable,#WRAPPER>#MENU-SIDE>span[data-link].active svg #stroke-stylisable{stroke:#000 !important}
/*# sourceMappingURL=menu-side.css.map */

View File

@ -14,7 +14,7 @@
border: .01em solid transparent; border: .01em solid transparent;
border-radius: 2px; border-radius: 2px;
// Decalage des elements du menu // Decalage des elements du menu
&.mt{ // Margin Top &.mt{ // Margin Top
@ -30,16 +30,16 @@
transition: color .3s, border .3s; transition: color .3s, border .3s;
cursor: pointer; cursor: pointer;
svg, svg *{ svg, svg *{
width: calc( #{$menu-side-width} / 2.5 ); width: calc( #{$menu-side-width} / 2.5 );
height: calc( #{$menu-side-width} / 2.5 ); height: calc( #{$menu-side-width} / 2.5 );
// stroke: none !important; // stroke: none !important;
// fill: #777 !important; // fill: #777 !important;
transition: fill .3s; transition: fill .3s;
pointer-events: none; pointer-events: none;
} }
@ -60,7 +60,7 @@
white-space: nowrap; white-space: nowrap;
transition: transform .1s; transition: transform .1s;
transform-origin: 0 0; transform-origin: 0 0;
transform: scaleX(0); transform: scaleX(0);
@ -88,6 +88,6 @@
} }
} }
} }

File diff suppressed because one or more lines are too long

3
css/menu-side/min.css Normal file

File diff suppressed because one or more lines are too long

View File

@ -1,2 +0,0 @@
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}
/*# sourceMappingURL=reset.css.map */

View File

@ -431,4 +431,4 @@ table {
td, td,
th { th {
padding: 0; padding: 0;
} }

412
css/reset/expanded.css Normal file

File diff suppressed because one or more lines are too long

3
css/reset/min.css Normal file

File diff suppressed because one or more lines are too long

View File

@ -1,2 +0,0 @@
#CONTAINER>.sub-menu-side{display:block;position:relative}#CONTAINER>.sub-menu-side>span[data-sublink]{display:block;position:relative;width:7.5em;padding:.3em 1em .3em 2em;margin:1em;border-radius:3px;color:#5b5e63;text-shadow:1px 1px white;white-space:nowrap;transition:all .2s;cursor:pointer;overflow:hidden}#CONTAINER>.sub-menu-side>span[data-sublink]>.svg>svg{display:inline-block;position:absolute;left:.5em;top:50%;width:1em;height:1em;transform:translateY(-50%)}#CONTAINER>.sub-menu-side>span[data-sublink]>.svg>svg path{fill:#5b5e63 !important}#CONTAINER>.sub-menu-side>span[data-sublink]:hover,#CONTAINER>.sub-menu-side>span[data-sublink].active{color:#121213;background-color:#d8deea;box-shadow:inset 0 0 4px #c8ced9}#CONTAINER>.sub-menu-side>span[data-sublink]:hover>.svg>svg path,#CONTAINER>.sub-menu-side>span[data-sublink].active>.svg>svg path{fill:#121213 !important}#CONTAINER>.sub-menu-side>span[data-sublink]:nth-child(1){margin-top:1em}
/*# sourceMappingURL=submenu-side.css.map */

View File

@ -13,9 +13,9 @@
padding: .3em 1em .3em 2em; padding: .3em 1em .3em 2em;
margin: 1em; margin: 1em;
border-radius: 3px; border-radius: 3px;
color: $sub-menu-color; color: $sub-menu-color;
text-shadow: 1px 1px white; text-shadow: 1px 1px white;
white-space: nowrap; white-space: nowrap;
@ -43,7 +43,7 @@
fill: $sub-menu-color !important; fill: $sub-menu-color !important;
} }
} }
&:hover, &:hover,
&.active{ &.active{
color: darken($sub-menu-color, 30); color: darken($sub-menu-color, 30);
@ -58,10 +58,10 @@
} }
// On decale le premier // On decale le premier
& > span[data-sublink]:nth-child(1){ & > span[data-sublink]:nth-child(1){
margin-top: 1em; margin-top: 1em;
} }
} }

View File

@ -0,0 +1,54 @@
/* COULEUR DU THEME */
/* COULEUR DU SOUS-MENU */
/* COULEUR DES ERREURS */
/* FORMULAIRES */
/* GESTION DES LONGUEURS */
#CONTAINER > .sub-menu-side {
display: block;
position: relative;
}
#CONTAINER > .sub-menu-side > span[data-sublink] {
display: block;
position: relative;
width: 7.5em;
padding: .3em 1em .3em 2em;
margin: 1em;
border-radius: 3px;
color: #5b5e63;
text-shadow: 1px 1px white;
white-space: nowrap;
transition: all .2s;
cursor: pointer;
overflow: hidden;
}
#CONTAINER > .sub-menu-side > span[data-sublink] > .svg > svg {
display: inline-block;
position: absolute;
left: .5em;
top: 50%;
width: 1em;
height: 1em;
transform: translateY(-50%);
}
#CONTAINER > .sub-menu-side > span[data-sublink] > .svg > svg path {
fill: #5b5e63 !important;
}
#CONTAINER > .sub-menu-side > span[data-sublink]:hover, #CONTAINER > .sub-menu-side > span[data-sublink].active {
color: #121213;
background-color: #d8deea;
box-shadow: inset 0 0 4px #c8ced9;
}
#CONTAINER > .sub-menu-side > span[data-sublink]:hover > .svg > svg path, #CONTAINER > .sub-menu-side > span[data-sublink].active > .svg > svg path {
fill: #121213 !important;
}
#CONTAINER > .sub-menu-side > span[data-sublink]:nth-child(1) {
margin-top: 1em;
}
/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAiZXhwYW5kZWQuY3NzIiwKCSJzb3VyY2VzIjogWwoJCSIuLi9zdWJtZW51LXNpZGUuc2NzcyIsCgkJIi4uL2NvbnN0YW50cy5zY3NzIgoJXSwKCSJzb3VyY2VzQ29udGVudCI6IFsKCQkiQGltcG9ydCAnY29uc3RhbnRzJztcblxuXG4jQ09OVEFJTkVSID4gLnN1Yi1tZW51LXNpZGV7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0Ly8gTGVzIGxpZW5zIGR1IG1lbnVcblx0JiA+IHNwYW5bZGF0YS1zdWJsaW5rXXtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR3aWR0aDogNy41ZW07XG5cblx0XHRwYWRkaW5nOiAuM2VtIDFlbSAuM2VtIDJlbTtcblx0XHRtYXJnaW46IDFlbTtcblxuXHRcdGJvcmRlci1yYWRpdXM6IDNweDtcblxuXHRcdGNvbG9yOiAkc3ViLW1lbnUtY29sb3I7XG5cdFx0dGV4dC1zaGFkb3c6IDFweCAxcHggd2hpdGU7XG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuXHRcdHRyYW5zaXRpb246IGFsbCAuMnM7XG5cblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0Ly8gRGltZW5zaW9uL1Bvc2l0aW9uIGRlcyBzdmcgKGljb25lcylcblx0XHQmID4gLnN2ZyA+IHN2Z3tcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0bGVmdDogLjVlbTtcblx0XHRcdFx0Ly8gbGVmdDogMTAwJTtcblx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdHdpZHRoOiAxZW07XG5cdFx0XHRcdGhlaWdodDogMWVtO1xuXG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cblx0XHRcdC8vIENvbG9yYXRpb24gcG91ciB0b3VzIGxlcyBlbGVtZW50cyBkdSBzdmdcblx0XHRcdCYgcGF0aHtcblx0XHRcdFx0ZmlsbDogJHN1Yi1tZW51LWNvbG9yICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jjpob3Zlcixcblx0XHQmLmFjdGl2ZXtcblx0XHRcdGNvbG9yOiBkYXJrZW4oJHN1Yi1tZW51LWNvbG9yLCAzMCk7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZDhkZWVhO1xuXHRcdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAwIDRweCAjYzhjZWQ5O1xuXG5cdFx0XHQmID4gLnN2ZyA+IHN2ZyBwYXRoe1xuXHRcdFx0XHRmaWxsOiBkYXJrZW4oJHN1Yi1tZW51LWNvbG9yLCAzMCkgIWltcG9ydGFudDtcblx0XHRcdH1cblxuXHRcdH1cblxuXHR9XG5cblxuXHQvLyBPbiBkZWNhbGUgbGUgcHJlbWllclxuXHQmID4gc3BhbltkYXRhLXN1YmxpbmtdOm50aC1jaGlsZCgxKXtcblx0XHRtYXJnaW4tdG9wOiAxZW07XG5cdH1cblxufVxuIiwKCQkiLyogQ09VTEVVUiBEVSBUSEVNRSAqL1xuJHRoZW1lLWNvbG9yOiAjZTYzMzIxO1xuXG4vKiBDT1VMRVVSIERVIFNPVVMtTUVOVSAqL1xuJHN1Yi1tZW51LWNvbG9yOiAjNWI1ZTYzO1xuXG4vKiBDT1VMRVVSIERFUyBFUlJFVVJTICovXG4kZXJyb3ItY29sb3I6ICNjYzU4NTc7XG5cbi8qIEZPUk1VTEFJUkVTICovXG4kZm9ybS12YWxpZC1jb2xvcjogICAjMjdhNTYwO1xuJGZvcm0tbmV1dHJhbC1jb2xvcjogIzIxOTNlNjtcbiRmb3JtLXNlYXJjaC1jb2xvcjogICM1NjMwZWQ7XG4kZm9ybS1pbnZhbGlkLWNvbG9yOiAjZDUyOTE4O1xuXG5cbi8qIEdFU1RJT04gREVTIExPTkdVRVVSUyAqL1xuJG1lbnUtc2lkZS13aWR0aDogNGVtO1xuXG5cbi8vIFBPVVIgUkVTT1VSQ0VfRElTUEFUQ0hFUlxuJHJkLWZvcm0tdmFsaWQtY29sb3I6ICAgJzI3YTU2MCc7XG4kcmQtZm9ybS1uZXV0cmFsLWNvbG9yOiAnMjE5M2U2JztcbiRyZC1mb3JtLXNlYXJjaC1jb2xvcjogICc1NjMwZWQnO1xuJHJkLWZvcm0taW52YWxpZC1jb2xvcjogJ2Q1MjkxOCc7XG4iCgldLAoJIm1hcHBpbmdzIjogIkFDQUEsc0JBQXNCO0FBR3RCLDBCQUEwQjtBQUcxQix5QkFBeUI7QUFHekIsaUJBQWlCO0FBT2pCLDJCQUEyQjtBRGIzQixBQUFhLFVBQUgsR0FBRyxjQUFjLENBQUE7RUFDMUIsT0FBTyxFQUFFLEtBQU07RUFDZixRQUFRLEVBQUUsUUFBUztDQTZEbkI7O0FBL0RELEFBS3NCLFVBTFosR0FBRyxjQUFjLEdBS3RCLElBQUksQ0FBQSxBQUFBLFlBQUMsQUFBQSxFQUFhO0VBQ3JCLE9BQU8sRUFBRSxLQUFNO0VBQ2YsUUFBUSxFQUFFLFFBQVM7RUFDbEIsS0FBSyxFQUFFLEtBQU07RUFFZCxPQUFPLEVBQUUsaUJBQWtCO0VBQzNCLE1BQU0sRUFBRSxHQUFJO0VBRVosYUFBYSxFQUFFLEdBQUk7RUFFbkIsS0FBSyxFQ2RVLE9BQU87RURldEIsV0FBVyxFQUFFLGFBQWM7RUFDM0IsV0FBVyxFQUFFLE1BQU87RUFFcEIsVUFBVSxFQUFFLE9BQVE7RUFFcEIsTUFBTSxFQUFFLE9BQVE7RUFFaEIsUUFBUSxFQUFFLE1BQU87Q0FnQ2pCOztBQXZERixBQTBCYSxVQTFCSCxHQUFHLGNBQWMsR0FLdEIsSUFBSSxDQUFBLEFBQUEsWUFBQyxBQUFBLElBcUJKLElBQUksR0FBRyxHQUFHLENBQUE7RUFDYixPQUFPLEVBQUUsWUFBYTtFQUN0QixRQUFRLEVBQUUsUUFBUztFQUNsQixJQUFJLEVBQUUsSUFBSztFQUVYLEdBQUcsRUFBRSxHQUFJO0VBQ1QsS0FBSyxFQUFFLEdBQUk7RUFDWCxNQUFNLEVBQUUsR0FBSTtFQUViLFNBQVMsRUFBRSxnQkFBVTtDQU1yQjs7QUF6Q0gsQUFzQ0ssVUF0Q0ssR0FBRyxjQUFjLEdBS3RCLElBQUksQ0FBQSxBQUFBLFlBQUMsQUFBQSxJQXFCSixJQUFJLEdBQUcsR0FBRyxDQVlYLElBQUksQ0FBQTtFQUNMLElBQUksRUN0Q1MsT0FBTyxDRHNDRSxVQUFVO0NBQ2hDOztBQXhDSixBQUtzQixVQUxaLEdBQUcsY0FBYyxHQUt0QixJQUFJLENBQUEsQUFBQSxZQUFDLEFBQUEsQ0FzQ1AsTUFBTSxFQTNDVCxBQUtzQixVQUxaLEdBQUcsY0FBYyxHQUt0QixJQUFJLENBQUEsQUFBQSxZQUFDLEFBQUEsQ0F1Q1AsT0FBTyxDQUFBO0VBQ1AsS0FBSyxFQUFFLE9BQU07RUFDYixnQkFBZ0IsRUFBRSxPQUFRO0VBQzFCLFVBQVUsRUFBRSxxQkFBc0I7Q0FNbEM7O0FBckRILEFBaURrQixVQWpEUixHQUFHLGNBQWMsR0FLdEIsSUFBSSxDQUFBLEFBQUEsWUFBQyxBQUFBLENBc0NQLE1BQU0sR0FNRixJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksRUFqRHRCLEFBaURrQixVQWpEUixHQUFHLGNBQWMsR0FLdEIsSUFBSSxDQUFBLEFBQUEsWUFBQyxBQUFBLENBdUNQLE9BQU8sR0FLSCxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQTtFQUNsQixJQUFJLEVBQUUsT0FBTSxDQUFzQixVQUFVO0NBQzVDOztBQW5ESixBQTJEbUMsVUEzRHpCLEdBQUcsY0FBYyxHQTJEdEIsSUFBSSxDQUFBLEFBQUEsWUFBQyxBQUFBLENBQWEsVUFBVyxDQUFBLEFBQUEsQ0FBQyxFQUFDO0VBQ2xDLFVBQVUsRUFBRSxHQUFJO0NBQ2hCIiwKCSJuYW1lcyI6IFtdCn0= */

3
css/submenu-side/min.css Normal file
View File

@ -0,0 +1,3 @@
#CONTAINER>.sub-menu-side{display:block;position:relative}#CONTAINER>.sub-menu-side>span[data-sublink]{display:block;position:relative;width:7.5em;padding:.3em 1em .3em 2em;margin:1em;border-radius:3px;color:#5b5e63;text-shadow:1px 1px white;white-space:nowrap;transition:all .2s;cursor:pointer;overflow:hidden}#CONTAINER>.sub-menu-side>span[data-sublink]>.svg>svg{display:inline-block;position:absolute;left:.5em;top:50%;width:1em;height:1em;transform:translateY(-50%)}#CONTAINER>.sub-menu-side>span[data-sublink]>.svg>svg path{fill:#5b5e63 !important}#CONTAINER>.sub-menu-side>span[data-sublink]:hover,#CONTAINER>.sub-menu-side>span[data-sublink].active{color:#121213;background-color:#d8deea;box-shadow:inset 0 0 4px #c8ced9}#CONTAINER>.sub-menu-side>span[data-sublink]:hover>.svg>svg path,#CONTAINER>.sub-menu-side>span[data-sublink].active>.svg>svg path{fill:#121213 !important}#CONTAINER>.sub-menu-side>span[data-sublink]:nth-child(1){margin-top:1em}
/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAibWluLmNzcyIsCgkic291cmNlcyI6IFsKCQkiLi4vc3VibWVudS1zaWRlLnNjc3MiLAoJCSIuLi9jb25zdGFudHMuc2NzcyIKCV0sCgkic291cmNlc0NvbnRlbnQiOiBbCgkJIkBpbXBvcnQgJ2NvbnN0YW50cyc7XG5cblxuI0NPTlRBSU5FUiA+IC5zdWItbWVudS1zaWRle1xuXHRkaXNwbGF5OiBibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdC8vIExlcyBsaWVucyBkdSBtZW51XG5cdCYgPiBzcGFuW2RhdGEtc3VibGlua117XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0d2lkdGg6IDcuNWVtO1xuXG5cdFx0cGFkZGluZzogLjNlbSAxZW0gLjNlbSAyZW07XG5cdFx0bWFyZ2luOiAxZW07XG5cblx0XHRib3JkZXItcmFkaXVzOiAzcHg7XG5cblx0XHRjb2xvcjogJHN1Yi1tZW51LWNvbG9yO1xuXHRcdHRleHQtc2hhZG93OiAxcHggMXB4IHdoaXRlO1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cblx0XHR0cmFuc2l0aW9uOiBhbGwgLjJzO1xuXG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdC8vIERpbWVuc2lvbi9Qb3NpdGlvbiBkZXMgc3ZnIChpY29uZXMpXG5cdFx0JiA+IC5zdmcgPiBzdmd7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdGxlZnQ6IC41ZW07XG5cdFx0XHRcdC8vIGxlZnQ6IDEwMCU7XG5cdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHR3aWR0aDogMWVtO1xuXHRcdFx0XHRoZWlnaHQ6IDFlbTtcblxuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXG5cdFx0XHQvLyBDb2xvcmF0aW9uIHBvdXIgdG91cyBsZXMgZWxlbWVudHMgZHUgc3ZnXG5cdFx0XHQmIHBhdGh7XG5cdFx0XHRcdGZpbGw6ICRzdWItbWVudS1jb2xvciAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6aG92ZXIsXG5cdFx0Ji5hY3RpdmV7XG5cdFx0XHRjb2xvcjogZGFya2VuKCRzdWItbWVudS1jb2xvciwgMzApO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2Q4ZGVlYTtcblx0XHRcdGJveC1zaGFkb3c6IGluc2V0IDAgMCA0cHggI2M4Y2VkOTtcblxuXHRcdFx0JiA+IC5zdmcgPiBzdmcgcGF0aHtcblx0XHRcdFx0ZmlsbDogZGFya2VuKCRzdWItbWVudS1jb2xvciwgMzApICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cblx0XHR9XG5cblx0fVxuXG5cblx0Ly8gT24gZGVjYWxlIGxlIHByZW1pZXJcblx0JiA+IHNwYW5bZGF0YS1zdWJsaW5rXTpudGgtY2hpbGQoMSl7XG5cdFx0bWFyZ2luLXRvcDogMWVtO1xuXHR9XG5cbn1cbiIsCgkJIi8qIENPVUxFVVIgRFUgVEhFTUUgKi9cbiR0aGVtZS1jb2xvcjogI2U2MzMyMTtcblxuLyogQ09VTEVVUiBEVSBTT1VTLU1FTlUgKi9cbiRzdWItbWVudS1jb2xvcjogIzViNWU2MztcblxuLyogQ09VTEVVUiBERVMgRVJSRVVSUyAqL1xuJGVycm9yLWNvbG9yOiAjY2M1ODU3O1xuXG4vKiBGT1JNVUxBSVJFUyAqL1xuJGZvcm0tdmFsaWQtY29sb3I6ICAgIzI3YTU2MDtcbiRmb3JtLW5ldXRyYWwtY29sb3I6ICMyMTkzZTY7XG4kZm9ybS1zZWFyY2gtY29sb3I6ICAjNTYzMGVkO1xuJGZvcm0taW52YWxpZC1jb2xvcjogI2Q1MjkxODtcblxuXG4vKiBHRVNUSU9OIERFUyBMT05HVUVVUlMgKi9cbiRtZW51LXNpZGUtd2lkdGg6IDRlbTtcblxuXG4vLyBQT1VSIFJFU09VUkNFX0RJU1BBVENIRVJcbiRyZC1mb3JtLXZhbGlkLWNvbG9yOiAgICcyN2E1NjAnO1xuJHJkLWZvcm0tbmV1dHJhbC1jb2xvcjogJzIxOTNlNic7XG4kcmQtZm9ybS1zZWFyY2gtY29sb3I6ICAnNTYzMGVkJztcbiRyZC1mb3JtLWludmFsaWQtY29sb3I6ICdkNTI5MTgnO1xuIgoJXSwKCSJtYXBwaW5ncyI6ICJBQUdBLEFBQWEsVUFBSCxDQUFHLGNBQWMsQUFBQSxDQUMxQixPQUFPLENBQUUsS0FBTSxDQUNmLFFBQVEsQ0FBRSxRQUFTLENBNkRuQixBQS9ERCxBQUtzQixVQUxaLENBQUcsY0FBYyxDQUt0QixJQUFJLENBQUEsQUFBQSxZQUFDLEFBQUEsQ0FBYSxDQUNyQixPQUFPLENBQUUsS0FBTSxDQUNmLFFBQVEsQ0FBRSxRQUFTLENBQ2xCLEtBQUssQ0FBRSxLQUFNLENBRWQsT0FBTyxDQUFFLGlCQUFrQixDQUMzQixNQUFNLENBQUUsR0FBSSxDQUVaLGFBQWEsQ0FBRSxHQUFJLENBRW5CLEtBQUssQ0NkVSxPQUFPLENEZXRCLFdBQVcsQ0FBRSxhQUFjLENBQzNCLFdBQVcsQ0FBRSxNQUFPLENBRXBCLFVBQVUsQ0FBRSxPQUFRLENBRXBCLE1BQU0sQ0FBRSxPQUFRLENBRWhCLFFBQVEsQ0FBRSxNQUFPLENBZ0NqQixBQXZERixBQTBCYSxVQTFCSCxDQUFHLGNBQWMsQ0FLdEIsSUFBSSxDQUFBLEFBQUEsWUFBQyxBQUFBLEVBcUJKLElBQUksQ0FBRyxHQUFHLEFBQUEsQ0FDYixPQUFPLENBQUUsWUFBYSxDQUN0QixRQUFRLENBQUUsUUFBUyxDQUNsQixJQUFJLENBQUUsSUFBSyxDQUVYLEdBQUcsQ0FBRSxHQUFJLENBQ1QsS0FBSyxDQUFFLEdBQUksQ0FDWCxNQUFNLENBQUUsR0FBSSxDQUViLFNBQVMsQ0FBRSxnQkFBVSxDQU1yQixBQXpDSCxBQXNDSyxVQXRDSyxDQUFHLGNBQWMsQ0FLdEIsSUFBSSxDQUFBLEFBQUEsWUFBQyxBQUFBLEVBcUJKLElBQUksQ0FBRyxHQUFHLENBWVgsSUFBSSxBQUFBLENBQ0wsSUFBSSxDQ3RDUyxPQUFPLENEc0NFLFVBQVUsQ0FDaEMsQUF4Q0osQUFLc0IsVUFMWixDQUFHLGNBQWMsQ0FLdEIsSUFBSSxDQUFBLEFBQUEsWUFBQyxBQUFBLENBc0NQLE1BQU0sQ0EzQ1QsQUFLc0IsVUFMWixDQUFHLGNBQWMsQ0FLdEIsSUFBSSxDQUFBLEFBQUEsWUFBQyxBQUFBLENBdUNQLE9BQU8sQUFBQSxDQUNQLEtBQUssQ0FBRSxPQUFNLENBQ2IsZ0JBQWdCLENBQUUsT0FBUSxDQUMxQixVQUFVLENBQUUscUJBQXNCLENBTWxDLEFBckRILEFBaURrQixVQWpEUixDQUFHLGNBQWMsQ0FLdEIsSUFBSSxDQUFBLEFBQUEsWUFBQyxBQUFBLENBc0NQLE1BQU0sQ0FNRixJQUFJLENBQUcsR0FBRyxDQUFDLElBQUksQ0FqRHRCLEFBaURrQixVQWpEUixDQUFHLGNBQWMsQ0FLdEIsSUFBSSxDQUFBLEFBQUEsWUFBQyxBQUFBLENBdUNQLE9BQU8sQ0FLSCxJQUFJLENBQUcsR0FBRyxDQUFDLElBQUksQUFBQSxDQUNsQixJQUFJLENBQUUsT0FBTSxDQUFzQixVQUFVLENBQzVDLEFBbkRKLEFBMkRtQyxVQTNEekIsQ0FBRyxjQUFjLENBMkR0QixJQUFJLENBQUEsQUFBQSxZQUFDLEFBQUEsQ0FBYSxVQUFXLENBQUEsQUFBQSxDQUFDLENBQUMsQ0FDbEMsVUFBVSxDQUFFLEdBQUksQ0FDaEIiLAoJIm5hbWVzIjogW10KfQ== */

View File

@ -3,7 +3,6 @@
require_once __ROOT__.'/manager/autoloader.php'; require_once __ROOT__.'/manager/autoloader.php';
use \router\Router; use \router\Router;
use \manager\ResourceDispatcher;
use \manager\ModuleRequest; use \manager\ModuleRequest;
use \manager\ModuleResponse; use \manager\ModuleResponse;
@ -32,7 +31,7 @@
/* (2) On définit la page d'accueil */ /* (2) On définit la page d'accueil */
if( $auth == 2 ) $root_page = 'dashboard'; // Connecté -> Accès if( $auth == 2 ) $root_page = 'dashboard'; // Connecté -> Accès
elseif( $auth == 1 ) $root_page = 'admin'; // Pas identifié -> Identification elseif( $auth == 1 ) $root_page = 'admin'; // Pas identifié -> Identification
else $root_page = 'warehouse'; // Pas localisé -> Localisation else $root_page = 'warehouse'; // Pas localisé -> Localisation
@ -45,9 +44,6 @@
---------------------------------------------------------*/ ---------------------------------------------------------*/
$R = new Router( $_GET['url'] ); $R = new Router( $_GET['url'] );
/* (2) Dispatcher */
$R->get('f(?:/([\w-]+))*/?', function(){ new ResourceDispatcher($_GET['url'], true); });
/* (3) On cree les regles de routage QUAND ON EST CONNECTE /* (3) On cree les regles de routage QUAND ON EST CONNECTE
---------------------------------------------------------*/ ---------------------------------------------------------*/

View File

@ -9,9 +9,6 @@
class Authentification{ class Authentification{
// Constantes
public static $config_path = 'f/json/modules/auth';
// Contiendra les erreurs // Contiendra les erreurs
public $error; public $error;

View File

@ -7,8 +7,8 @@
/* ATTRIBUTS STATIQUES */ /* ATTRIBUTS STATIQUES */
public static $config_path = [ public static $config_path = [
'local' => 'f/json/database-local/conf', 'local' => __ROOT__.'/config/database-local.json',
'remote' => 'f/json/database/conf' 'remote' => __ROOT__.'/config/database.json'
]; ];
private static $pdo; private static $pdo;
@ -49,9 +49,9 @@
// chargement de la configuration du server SQL // chargement de la configuration du server SQL
if( !checkdnsrr($_SERVER['SERVER_NAME'], 'NS') ) if( !checkdnsrr($_SERVER['SERVER_NAME'], 'NS') )
$conf = json_decode( ResourceDispatcher::getResource(self::$config_path['local']), true ); $conf = json_decode( file_get_contents(self::$config_path['local']), true );
else else
$conf = json_decode( ResourceDispatcher::getResource(self::$config_path['remote']), true ); $conf = json_decode( file_get_contents(self::$config_path['remote']), true );
// creation de l'instance en fonction des parametres // creation de l'instance en fonction des parametres
self::$instance = new DataBase($conf['host'], $conf['dbname'], $conf['user'], $conf['password']); self::$instance = new DataBase($conf['host'], $conf['dbname'], $conf['user'], $conf['password']);

View File

@ -8,7 +8,7 @@
class ModuleRequest{ class ModuleRequest{
// Constantes // Constantes
public static $config_path = 'f/json/modules/conf'; public static $config_path = __ROOT__.'/config/modules.json';
public static $default_options = [ public static $default_options = [
'download' => false 'download' => false
]; ];
@ -48,7 +48,7 @@
/* [0] On met a jour la configuration /* [0] On met a jour la configuration
=========================================================*/ =========================================================*/
// Modules specifies // Modules specifies
$this->modules = json_decode( ResourceDispatcher::getResource(self::$config_path), true ); $this->modules = json_decode( file_get_contents(self::$config_path), true );
// Gestion de l'erreur de parsage // Gestion de l'erreur de parsage
if( $this->modules == null ){ if( $this->modules == null ){

View File

@ -19,7 +19,7 @@
class Repo{ class Repo{
// Constantes // Constantes
public static $config_path = 'f/json/repositories/conf'; public static $config_path = __ROOT__.'/config/repositories.json';
// Attributs prives utiles (initialisation) // Attributs prives utiles (initialisation)
@ -56,7 +56,7 @@
/* [0] On met a jour la configuration /* [0] On met a jour la configuration
=========================================================*/ =========================================================*/
// Modules specifies // Modules specifies
$this->repositories = json_decode( ResourceDispatcher::getResource(self::$config_path), true ); $this->repositories = json_decode( file_get_contents(self::$config_path), true );
// Gestion de l'erreur de parsage // Gestion de l'erreur de parsage
if( $this->repositories == null ){ if( $this->repositories == null ){

View File

@ -1,276 +0,0 @@
<?php
namespace manager;
class ResourceDispatcher{
// Constantes
public static $extension_config_path = '/config/dispatcher-extensions.json';
public static $parents_config_path = '/config/dispatcher-tree.json';
public static $supported_extensions;
public static $supported_parents;
// Attributs prives utiles (initialisation)
private $header;
private $path;
private $flags;
private $stylesheet;
public $error;
/* CONSTRUCTEUR & AMORCAGE DU DISPATCHER
*
* @url<String> L'url courante
* @view<Boolean> Si VRAI, retourne header+contenu, sinon cree juste l'objet
*
* @return status<Boolean> Retourne si oui ou non tout s'est bien passe
*
*/
public function __construct($url, $view=false){
$this->error = ManagerError::Success;
/* [0] On met a jour la configuration
=====================================================*/
// Extensions supportees
$extensions_conf = json_decode( file_get_contents(__ROOT__.self::$extension_config_path), true );
// Gestion de l'erreur de parsage
if( $extensions_conf == null ){
$this->error = ManagerError::ParsingFailed;
return false;
}
self::$supported_extensions = $extensions_conf;
// Dossiers supportes
$parents_conf = json_decode( file_get_contents(__ROOT__.self::$parents_config_path), true );
// Gestion de l'erreur de parsage
if( $parents_conf == null ){
$this->error = ManagerError::ParsingFailed;
return false;
}
self::$supported_parents = $parents_conf;
/* [1] On recupere les donnees de l'URL
==================================================*/
$serialFlags = array_slice( explode('/',$url), 1 );
/* [2] On check/cree les drapeaux avec ces donnees
==================================================*/
if( !$this->createFlags($serialFlags) ){ // Creation des drapeaux
$this->error = ManagerError::InvalidFlags;
return false;
}
/* [3] On construit le chemin a partir des tags
==================================================*/
if( !$this->buildPath() ){ // Construction du chemin
$this->error = ManagerError::UnreachableResource;
return false;
}
/* [4] On gere l'affichage pour l'appel externe/interne
==================================================*/
if( $view ) // Appel externe
$this->view();
return true;
}
/* INCLUSION PHP D'UNE RESSOURCE UTILISANT LE DISPATCHER
*
* @route<String> Route associee a une ressource
*
* @return content<*> Retourne le contenu de la ressource
*
*/
public static function getResource($route){
$instance = new ResourceDispatcher($route);
return $instance->getContent();
}
/* FONCTION QUI VERIFIE LES DRAPEAUX
*
* @serialFlags<Array> Tableau a indice numerique
*
* @return correct<Boolean> Retourne si oui ou non les drapeaux sont corrects
*
*/
private function createFlags($serialFlags){
/* [1] Verification des flags (version serialisee)
======================================================*/
$correct = true;
// Verification du nombre de drapeaux () au moins 3
$correct = $correct && count($serialFlags) >= 3;
// Verification que l'extension est correcte
$correct = $correct && array_key_exists($serialFlags[0], self::$supported_extensions);
// Verification du filename
$correct = $correct && preg_match('/^[\w_-]+$/i', $serialFlags[1]);
// Verification du parent
$correct = $correct && array_key_exists($serialFlags[2], self::$supported_parents);
// Verification du sous-parent (optionnel)
$opt_subParent = count($serialFlags) >= 4;
if( $opt_subParent )
$correct = $correct && preg_match('/^[\w_-]+$/i', $serialFlags[3]);
// Verification de la couleur (optionnel)
$opt_color = count($serialFlags) >= 5 && preg_match('/^[\da-f]{6}+$/i', $serialFlags[4]);
if( !$correct )
return false;
/* [2] Creation (non serialisee) des flags
======================================================*/
// Si tout se deroule bien, on cree les flags
$this->flags = [
'extension' => $serialFlags[0],
'filename' => $serialFlags[1],
'parent' => $serialFlags[2]
];
// Ajout du sous-parent optionnel
if( $opt_subParent )
$this->flags['subparent'] = $serialFlags[3];
// Ajout du color optionnel
if( $opt_color )
$this->flags['color'] = '#'.$serialFlags[4];
return true;
}
/* FONCTION QUI CONSTRUIT LE CHEMIN A PARTIR DU PATH
*
* @return fileExists<Boolean> Retourne si oui ou non le fichier cible existe
*
* @format
*
* f/extension/filename/parent/:subparent:/ (:OPT:)
*
*/
private function buildPath(){
/* [1] On recupere le HEADER associe a l'extension
==========================================================*/
// Si aucun header pour cet cle, on retourne une erreur
if( !isset(self::$supported_extensions[$this->flags['extension']]) ) return false;
// On recupere le header associe
$header = self::$supported_extensions[$this->flags['extension']];
/* [2] On recupere le chemin associe au parent
==========================================================*/
// Si aucun dossier pour cet indice, on retourne une erreur
if( !isset(self::$supported_parents[$this->flags['parent']]) ) return false;
// On recupere le dossier associe
$parent = self::$supported_parents[$this->flags['parent']];
/* [3] Gestion du sous-parent optionnel
==========================================================*/
$opt_subParent = (isset($this->flags['subparent'])) ? $this->flags['subparent'].'/' : '';
/* [4] Gestion du color optionnel
=========================================================*/
$this->stylesheet = "";
// si le color est defini
if( isset($this->flags['color']) ){
$this->stylesheet = "\n<style type='text/css'>\n";
$this->stylesheet .= "\t#stylisable{\n";
$this->stylesheet .= "\t\tfill: ".$this->flags['color']." !important;\n";
$this->stylesheet .= "\t\tfill-opacity: 1 !important;\n";
$this->stylesheet .= "\t}\n";
$this->stylesheet .= "</style>";
}
/* [5] On definit le header
==========================================================*/
$this->header = $header;
/* [6] On construit le chemin
==========================================================*/
$this->path = __ROOT__.$parent.'/'.$opt_subParent.$this->flags['filename'].'.'.$this->flags['extension'];
/* [7] On retourne si le fichier existe ou non
==========================================================*/
return @file_get_contents( $this->path ) != false;
}
/* FUNCTION QUI AFFICHE LA RESSOURCE EN QUESTION
*
*/
public function view(){
// S'il y a eu une erreur en amont
if( $this->error != ManagerError::Success )
return false; // on retourne faux
// On definit le header
header('Content-Type: '.$this->header);
// On recupere le contenu
$svg_content = file_get_contents($this->path);
// On affiche tout
echo str_replace( '</svg>', $this->stylesheet.'</svg>', $svg_content );
}
/* FUNCTION QUI RETOURNE LE CONTENU DE LA RESSOURCE EN QUESTION
*
*/
public function getContent(){
// S'il y a eu une erreur en amont
if( $this->error != ManagerError::Success )
return false; // on retourne faux
// On inclut le contenu
$svg_content = file_get_contents($this->path);
// On retourne tout
return str_replace( '</svg>', $this->stylesheet.'</svg>', $svg_content );
}
}
?>

View File

@ -27,7 +27,7 @@
/* [1] Récupération de la configuration /* [1] Récupération de la configuration
=========================================================*/ =========================================================*/
// On récupère le fichier et on le parse // On récupère le fichier et on le parse
$modules = json_decode( ResourceDispatcher::getResource('f/json/modules/conf'), true ); $modules = json_decode( file_get_contents(__ROOT__/'/config/modules.json'), true );
// Gestion de l'erreur de parsage // Gestion de l'erreur de parsage
if( $modules == null ) if( $modules == null )
@ -83,7 +83,7 @@
/* [0] Récupération de la configuration /* [0] Récupération de la configuration
=========================================================*/ =========================================================*/
// On récupère le fichier et on le parse // On récupère le fichier et on le parse
$modules = json_decode( ResourceDispatcher::getResource('f/json/modules/conf'), true ); $modules = json_decode( file_get_contents(__ROOT__/'/config/modules.json'), true );
// Gestion de l'erreur de parsage // Gestion de l'erreur de parsage
if( $modules == null ) if( $modules == null )

View File

@ -1,4 +1,3 @@
<?php use \manager\ResourceDispatcher; ?>
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
@ -11,14 +10,14 @@
<meta name='desctiption' content="Système de gestion des véhicules pour STEF."> <meta name='desctiption' content="Système de gestion des véhicules pour STEF.">
<!-- Dépendences CSS --> <!-- Dépendences CSS -->
<link type='text/css' rel='stylesheet' href='/f/css/reset/css' /> <!-- Reset du css natif des browsers --> <link type='text/css' rel='stylesheet' href='/css/reset.css' /> <!-- Reset du css natif des browsers -->
<!-- Dépendences Javascript --> <!-- Dépendences Javascript -->
<script type='text/javascript' src='/f/js/input-checker/js/lib' ></script> <!-- Gestion dynamique des saisies --> <script type='text/javascript' src='/js/lib/input-checker.js' ></script> <!-- Gestion dynamique des saisies -->
<script type='text/javascript' src='/f/js/reset/js/lib' ></script> <!-- Corrections Javascript natif (ajouts) --> <script type='text/javascript' src='/js/lib/reset.js' ></script> <!-- Corrections Javascript natif (ajouts) -->
<script type='text/javascript' src='/f/js/api/js/lib' ></script> <!-- Gestion des transactions avec le serveur --> <script type='text/javascript' src='/js/lib/api.js' ></script> <!-- Gestion des transactions avec le serveur -->
<script type='text/javascript' src='/f/js/page-manager/js/lib' ></script> <!-- Gestion des transactions avec le serveur --> <script type='text/javascript' src='/js/lib/page-manager.js' ></script> <!-- Gestion des transactions avec le serveur -->
</head> </head>
<style type='text/css'> <style type='text/css'>

View File

@ -2,7 +2,6 @@
require_once __ROOT__.'/manager/autoloader.php'; require_once __ROOT__.'/manager/autoloader.php';
use \manager\ModuleRequest; use \manager\ModuleRequest;
use \manager\ManagerError; use \manager\ManagerError;
use \manager\ResourceDispatcher;
?> ?>
@ -10,22 +9,22 @@
<nav class='sub-menu-side'> <nav class='sub-menu-side'>
<span data-sublink='analytics'> <span data-sublink='analytics'>
<span class='svg'><?php echo ResourceDispatcher::getResource( 'f/svg/analytics/st/sub-menu-side' ); ?></span> <span class='svg'><?php echo file_get_contents( __ROOT__.'/src/static/sub-menu-side/analytics.svg' ); ?></span>
<span>Statistiques</span> <span>Statistiques</span>
</span> </span>
<span data-sublink='view' > <span data-sublink='view' >
<span class='svg'><?php echo ResourceDispatcher::getResource( 'f/svg/view/st/sub-menu-side' ); ?></span> <span class='svg'><?php echo file_get_contents( __ROOT__.'/src/static/sub-menu-side/view.svg' ); ?></span>
<span>Consulter le suivi</span> <span>Consulter le suivi</span>
</span> </span>
<span data-sublink='start' > <span data-sublink='start' >
<span class='svg'><?php echo ResourceDispatcher::getResource( 'f/svg/sync/st/sub-menu-side' ); ?></span> <span class='svg'><?php echo file_get_contents( __ROOT__.'/src/static/sub-menu-side/sync.svg' ); ?></span>
<span>Demarrer un suivi</span> <span>Demarrer un suivi</span>
</span> </span>
<span data-sublink='search' > <span data-sublink='search' >
<span class='svg'><?php echo ResourceDispatcher::getResource( 'f/svg/search/st/sub-menu-side' ); ?></span> <span class='svg'><?php echo file_get_contents( __ROOT__.'/src/static/sub-menu-side/search.svg' ); ?></span>
<span>Recherche</span> <span>Recherche</span>
</span> </span>
@ -132,4 +131,4 @@
?> ?>

View File

@ -2,7 +2,6 @@
require_once __ROOT__.'/manager/autoloader.php'; require_once __ROOT__.'/manager/autoloader.php';
use \manager\ModuleRequest; use \manager\ModuleRequest;
use \manager\ManagerError; use \manager\ManagerError;
use \manager\ResourceDispatcher;
use \manager\Repo; use \manager\Repo;
?> ?>
@ -10,22 +9,22 @@
<nav class='sub-menu-side'> <nav class='sub-menu-side'>
<span data-sublink='view'> <span data-sublink='view'>
<span class='svg'><?php echo ResourceDispatcher::getResource( 'f/svg/view/st/sub-menu-side' ); ?></span> <span class='svg'><?php echo file_get_contents( __ROOT__.'/src/static/sub-menu-side/view.svg' ); ?></span>
<span>Tout afficher</span> <span>Tout afficher</span>
</span> </span>
<span data-sublink='filter' > <span data-sublink='filter' >
<span class='svg'><?php echo ResourceDispatcher::getResource( 'f/svg/filter/st/sub-menu-side' ); ?></span> <span class='svg'><?php echo file_get_contents( __ROOT__.'/src/static/sub-menu-side/filter.svg' ); ?></span>
<span>Filtrer</span> <span>Filtrer</span>
</span> </span>
<span data-sublink='search' > <span data-sublink='search' >
<span class='svg'><?php echo ResourceDispatcher::getResource( 'f/svg/search/st/sub-menu-side' ); ?></span> <span class='svg'><?php echo file_get_contents( __ROOT__.'/src/static/sub-menu-side/search.svg' ); ?></span>
<span>Recherche</span> <span>Recherche</span>
</span> </span>
<span data-sublink='remove' > <span data-sublink='remove' >
<span class='svg'><?php echo ResourceDispatcher::getResource( 'f/svg/remove/st/sub-menu-side' ); ?></span> <span class='svg'><?php echo file_get_contents( __ROOT__.'/src/static/sub-menu-side/remove.svg' ); ?></span>
<span>Vider l'historique</span> <span>Vider l'historique</span>
</span> </span>
</nav> </nav>
@ -59,4 +58,3 @@
echo '</section>'; echo '</section>';

View File

@ -2,7 +2,6 @@
require_once __ROOT__.'/manager/autoloader.php'; require_once __ROOT__.'/manager/autoloader.php';
use \manager\ModuleRequest; use \manager\ModuleRequest;
use \manager\ManagerError; use \manager\ManagerError;
use \manager\ResourceDispatcher;
use \manager\Repo; use \manager\Repo;
?> ?>
@ -10,27 +9,27 @@
<nav class='sub-menu-side'> <nav class='sub-menu-side'>
<span data-sublink='view'> <span data-sublink='view'>
<span class='svg'><?php echo ResourceDispatcher::getResource( 'f/svg/view/st/sub-menu-side' ); ?></span> <span class='svg'><?php echo file_get_contents( __ROOT__.'/src/static/sub-menu-side/view.svg' ); ?></span>
<span>Tout afficher</span> <span>Tout afficher</span>
</span> </span>
<span data-sublink='create' > <span data-sublink='create' >
<span class='svg'><?php echo ResourceDispatcher::getResource( 'f/svg/create/st/sub-menu-side' ); ?></span> <span class='svg'><?php echo file_get_contents( __ROOT__.'/src/static/sub-menu-side/create.svg' ); ?></span>
<span>Creation</span> <span>Creation</span>
</span> </span>
<span data-sublink='remove' > <span data-sublink='remove' >
<span class='svg'><?php echo ResourceDispatcher::getResource( 'f/svg/remove/st/sub-menu-side' ); ?></span> <span class='svg'><?php echo file_get_contents( __ROOT__.'/src/static/sub-menu-side/remove.svg' ); ?></span>
<span>Suppression</span> <span>Suppression</span>
</span> </span>
<span data-sublink='edit' > <span data-sublink='edit' >
<span class='svg'><?php echo ResourceDispatcher::getResource( 'f/svg/edit/st/sub-menu-side' ); ?></span> <span class='svg'><?php echo file_get_contents( __ROOT__.'/src/static/sub-menu-side/edit.svg' ); ?></span>
<span>Modification</span> <span>Modification</span>
</span> </span>
<span data-sublink='filter' > <span data-sublink='filter' >
<span class='svg'><?php echo ResourceDispatcher::getResource( 'f/svg/filter/st/sub-menu-side' ); ?></span> <span class='svg'><?php echo file_get_contents( __ROOT__.'/src/static/sub-menu-side/filter.svg' ); ?></span>
<span>Filtrer</span> <span>Filtrer</span>
</span> </span>
@ -56,7 +55,7 @@
echo "<section data-sublink='view' class='list'>"; echo "<section data-sublink='view' class='list'>";
// echo 'Liste des utilisateurs: <br>'; // echo 'Liste des utilisateurs: <br>';
// si erreur, on affiche l'explicitation // si erreur, on affiche l'explicitation
if( $answer->error != ManagerError::Success ){ if( $answer->error != ManagerError::Success ){
// var_dump( ManagerError::explicit($answer->error) ); // var_dump( ManagerError::explicit($answer->error) );
@ -77,27 +76,27 @@
echo "<article class='inline-box' id='".$user['id_user']."'>"; echo "<article class='inline-box' id='".$user['id_user']."'>";
// Prenom Nom // Prenom Nom
echo "<span class='title'>".$user['firstname']." ".$user['lastname']." <span>#".$user['username']."</span></span>"; echo "<span class='title'>".$user['firstname']." ".$user['lastname']." <span>#".$user['username']."</span></span>";
// Icone vers la suppression // Icone vers la suppression
echo "<span class='link_remove' data-user='".$user['id_user']."'>"; echo "<span class='link_remove' data-user='".$user['id_user']."'>";
echo ResourceDispatcher::getResource('f/svg/remove/st/sub-menu-side'); echo file_get_contents( __ROOT__.'/src/static/sub-menu-side/remove.svg' );
echo "</span>"; echo "</span>";
// Icone vers la modification // Icone vers la modification
echo "<span class='link_edit' data-user='".$user['id_user']."'>"; echo "<span class='link_edit' data-user='".$user['id_user']."'>";
echo ResourceDispatcher::getResource('f/svg/edit/st/sub-menu-side'); echo file_get_contents( __ROOT__.'/src/static/sub-menu-side/edit.svg' );
echo "</span>"; echo "</span>";
// Code RFID // Code RFID
echo "<span class='code'>"; echo "<span class='code'>";
echo ResourceDispatcher::getResource('f/svg/card/st/container'); echo file_get_contents( __ROOT__.'/src/static/container/card.svg' );
echo "<span>"; echo "<span>";
echo $user['code']; echo $user['code'];
echo "</span>"; echo "</span>";
@ -105,8 +104,8 @@
// Adresse email // Adresse email
echo "<span class='mail'>"; echo "<span class='mail'>";
echo ResourceDispatcher::getResource('f/svg/mail/st/container'); echo file_get_contents( __ROOT__.'/src/static/container/mail.svg' );
echo "<a href='mailto:".$user['mail']."'><span>"; echo "<a href='mailto:".$user['mail']."'><span>";
echo $user['mail']; echo $user['mail'];
echo "</span></a>"; echo "</span></a>";
@ -114,8 +113,8 @@
// Groupes de la machine // Groupes de la machine
echo "<span class='groups'>"; echo "<span class='groups'>";
echo ResourceDispatcher::getResource('f/svg/group/st/container'); echo file_get_contents( __ROOT__.'/src/static/container/group.svg' );
if( $clusters != false ) if( $clusters != false )
foreach($clusters as $cluster) foreach($clusters as $cluster)
echo "<span>".$cluster['name']."</span>"; echo "<span>".$cluster['name']."</span>";
@ -180,9 +179,9 @@
echo "<span class='remove_search_view'>utilisateur <span class='remove_search_num'>0</span> sur <span class='remove_search_sum'>0</span></span><br><br>"; echo "<span class='remove_search_view'>utilisateur <span class='remove_search_num'>0</span> sur <span class='remove_search_sum'>0</span></span><br><br>";
echo "<button id='remove_search_submit' class='search'>Trouver</button><br>"; echo "<button id='remove_search_submit' class='search'>Trouver</button><br>";
echo "<br><br><hr class='OR' data-label='PUIS' /><br><br>"; echo "<br><br><hr class='OR' data-label='PUIS' /><br><br>";
// Suppression d'utilisateur // Suppression d'utilisateur
echo "<input id='remove_code' type='text' placeholder='Code'><br>"; echo "<input id='remove_code' type='text' placeholder='Code'><br>";
echo "<input id='remove_username' type='text' placeholder='Username'><br>"; echo "<input id='remove_username' type='text' placeholder='Username'><br>";
@ -212,7 +211,7 @@
// Indice du resultat // Indice du resultat
echo "<span class='edit_search_view'>utilisateur <span class='edit_search_num'>0</span> sur <span class='edit_search_sum'>0</span></span><br><br>"; echo "<span class='edit_search_view'>utilisateur <span class='edit_search_num'>0</span> sur <span class='edit_search_sum'>0</span></span><br><br>";
echo "<button id='edit_search_submit' class='search'>Trouver</button><br>"; echo "<button id='edit_search_submit' class='search'>Trouver</button><br>";
echo "<br><br><hr class='OR' data-label='PUIS' /><br><br>"; echo "<br><br><hr class='OR' data-label='PUIS' /><br><br>";
echo "<input id='edit_code' type='text' placeholder='CO-DE-RF-ID'><br>"; echo "<input id='edit_code' type='text' placeholder='CO-DE-RF-ID'><br>";
@ -243,7 +242,7 @@
echo "<section data-sublink='filter'>"; echo "<section data-sublink='filter'>";
echo "<form class='neutral'>"; echo "<form class='neutral'>";
echo "</form>"; echo "</form>";
echo '</section>'; echo '</section>';

View File

@ -2,7 +2,6 @@
require_once __ROOT__.'/manager/autoloader.php'; require_once __ROOT__.'/manager/autoloader.php';
use \manager\ModuleRequest; use \manager\ModuleRequest;
use \manager\ManagerError; use \manager\ManagerError;
use \manager\ResourceDispatcher;
use \manager\Repo; use \manager\Repo;
?> ?>
@ -10,27 +9,27 @@
<nav class='sub-menu-side'> <nav class='sub-menu-side'>
<span data-sublink='view'> <span data-sublink='view'>
<span class='svg'><?php echo ResourceDispatcher::getResource( 'f/svg/view/st/sub-menu-side' ); ?></span> <span class='svg'><?php echo file_get_contents( __ROOT__.'/src/static/sub-menu-side/view.svg' ); ?></span>
<span>Tout afficher</span> <span>Tout afficher</span>
</span> </span>
<span data-sublink='create'> <span data-sublink='create'>
<span class='svg'><?php echo ResourceDispatcher::getResource( 'f/svg/create/st/sub-menu-side' ); ?></span> <span class='svg'><?php echo file_get_contents( __ROOT__.'/src/static/sub-menu-side/create.svg' ); ?></span>
<span>Creation</span> <span>Creation</span>
</span> </span>
<span data-sublink='remove'> <span data-sublink='remove'>
<span class='svg'><?php echo ResourceDispatcher::getResource( 'f/svg/remove/st/sub-menu-side' ); ?></span> <span class='svg'><?php echo file_get_contents( __ROOT__.'/src/static/sub-menu-side/remove.svg' ); ?></span>
<span>Suppression</span> <span>Suppression</span>
</span> </span>
<span data-sublink='edit'> <span data-sublink='edit'>
<span class='svg'><?php echo ResourceDispatcher::getResource( 'f/svg/edit/st/sub-menu-side' ); ?></span> <span class='svg'><?php echo file_get_contents( __ROOT__.'/src/static/sub-menu-side/edit.svg' ); ?></span>
<span>Modification</span> <span>Modification</span>
</span> </span>
<span data-sublink='filter'> <span data-sublink='filter'>
<span class='svg'><?php echo ResourceDispatcher::getResource( 'f/svg/filter/st/sub-menu-side' ); ?></span> <span class='svg'><?php echo file_get_contents( __ROOT__.'/src/static/sub-menu-side/filter.svg' ); ?></span>
<span>Filtrer</span> <span>Filtrer</span>
</span> </span>
@ -89,12 +88,12 @@
// Icone vers la suppression // Icone vers la suppression
echo "<span class='link_remove' data-machine='".$machine['id_machine']."'>"; echo "<span class='link_remove' data-machine='".$machine['id_machine']."'>";
echo ResourceDispatcher::getResource('f/svg/remove/st/sub-menu-side'); echo file_get_contents( __ROOT__.'/src/static/sub-menu-side/remove.svg' );
echo "</span>"; echo "</span>";
// Icone vers la modification // Icone vers la modification
echo "<span class='link_edit' data-machine='".$machine['id_machine']."'>"; echo "<span class='link_edit' data-machine='".$machine['id_machine']."'>";
echo ResourceDispatcher::getResource('f/svg/edit/st/sub-menu-side'); echo file_get_contents( __ROOT__.'/src/static/sub-menu-side/edit.svg' );
echo "</span>"; echo "</span>";
@ -103,7 +102,7 @@
// Code RFID // Code RFID
echo "<span class='code'>"; echo "<span class='code'>";
echo ResourceDispatcher::getResource('f/svg/card/st/container'); echo file_get_contents( __ROOT__.'/src/static/container/card.svg' );
echo "<span>"; echo "<span>";
echo $machine['code']; echo $machine['code'];
@ -112,7 +111,7 @@
// Groupes de la machine // Groupes de la machine
echo "<span class='groups'>"; echo "<span class='groups'>";
echo ResourceDispatcher::getResource('f/svg/group/st/container'); echo file_get_contents( __ROOT__.'/src/static/container/group.svg' );
if( $clusters != false ) if( $clusters != false )
foreach($clusters as $cluster) foreach($clusters as $cluster)

View File

@ -2,7 +2,6 @@
require_once __ROOT__.'/manager/autoloader.php'; require_once __ROOT__.'/manager/autoloader.php';
use \manager\ModuleRequest; use \manager\ModuleRequest;
use \manager\ManagerError; use \manager\ManagerError;
use \manager\ResourceDispatcher;
?> ?>
@ -10,12 +9,12 @@
<nav class='sub-menu-side'> <nav class='sub-menu-side'>
<span data-sublink='view'> <span data-sublink='view'>
<span class='svg'><?php echo ResourceDispatcher::getResource( 'f/svg/view/st/sub-menu-side' ); ?></span> <span class='svg'><?php echo file_get_contents( __ROOT__.'/src/static/sub-menu-side/view.svg' ); ?></span>
<span>Mon Profil</span> <span>Mon Profil</span>
</span> </span>
<span data-sublink='password'> <span data-sublink='password'>
<span class='svg'><?php echo ResourceDispatcher::getResource( 'f/svg/password/st/sub-menu-side' ); ?></span> <span class='svg'><?php echo file_get_contents( __ROOT__.'/src/static/sub-menu-side/password.svg' ); ?></span>
<span>Mot de passe</span> <span>Mot de passe</span>
</span> </span>
@ -67,4 +66,4 @@
// } // }
?> ?>

View File

@ -2,39 +2,38 @@
require_once __ROOT__.'/manager/autoloader.php'; require_once __ROOT__.'/manager/autoloader.php';
use \manager\ModuleRequest; use \manager\ModuleRequest;
use \manager\ManagerError; use \manager\ManagerError;
use \manager\ResourceDispatcher;
?> ?>
<!-- [1] Gestion du sous-menu de gauche --> <!-- [1] Gestion du sous-menu de gauche -->
<nav class='sub-menu-side'> <nav class='sub-menu-side'>
<span data-sublink='displayall'> <span data-sublink='displayall'>
<span class='svg'><?php echo ResourceDispatcher::getResource( 'f/svg/view/st/sub-menu-side' ); ?></span> <span class='svg'><?php echo file_get_contents( __ROOT__.'/src/static/sub-menu-side/view.svg' ); ?></span>
<span>Tout afficher</span> <span>Tout afficher</span>
</span> </span>
<span data-sublink='create' > <span data-sublink='create' >
<span class='svg'><?php echo ResourceDispatcher::getResource( 'f/svg/create/st/sub-menu-side' ); ?></span> <span class='svg'><?php echo file_get_contents( __ROOT__.'/src/static/sub-menu-side/create.svg' ); ?></span>
<span>Creation</span> <span>Creation</span>
</span> </span>
<span data-sublink='remove' > <span data-sublink='remove' >
<span class='svg'><?php echo ResourceDispatcher::getResource( 'f/svg/remove/st/sub-menu-side' ); ?></span> <span class='svg'><?php echo file_get_contents( __ROOT__.'/src/static/sub-menu-side/remove.svg' ); ?></span>
<span>Suppression</span> <span>Suppression</span>
</span> </span>
<span data-sublink='edit' > <span data-sublink='edit' >
<span class='svg'><?php echo ResourceDispatcher::getResource( 'f/svg/edit/st/sub-menu-side' ); ?></span> <span class='svg'><?php echo file_get_contents( __ROOT__.'/src/static/sub-menu-side/edit.svg' ); ?></span>
<span>Modification</span> <span>Modification</span>
</span> </span>
<span data-sublink='filter' > <span data-sublink='filter' >
<span class='svg'><?php echo ResourceDispatcher::getResource( 'f/svg/filter/st/sub-menu-side' ); ?></span> <span class='svg'><?php echo file_get_contents( __ROOT__.'/src/static/sub-menu-side/filter.svg' ); ?></span>
<span>Filtrer</span> <span>Filtrer</span>
</span> </span>
<span data-sublink='search' > <span data-sublink='search' >
<span class='svg'><?php echo ResourceDispatcher::getResource( 'f/svg/search/st/sub-menu-side' ); ?></span> <span class='svg'><?php echo file_get_contents( __ROOT__.'/src/static/sub-menu-side/search.svg' ); ?></span>
<span>Recherche</span> <span>Recherche</span>
</span> </span>

View File

@ -2,7 +2,6 @@
require_once __ROOT__.'/manager/autoloader.php'; require_once __ROOT__.'/manager/autoloader.php';
use \manager\ModuleRequest; use \manager\ModuleRequest;
use \manager\ManagerError; use \manager\ManagerError;
use \manager\ResourceDispatcher;
use \manager\Repo; use \manager\Repo;
?> ?>
@ -10,27 +9,27 @@
<nav class='sub-menu-side'> <nav class='sub-menu-side'>
<span data-sublink='view'> <span data-sublink='view'>
<span class='svg'><?php echo ResourceDispatcher::getResource( 'f/svg/view/st/sub-menu-side' ); ?></span> <span class='svg'><?php echo file_get_contents( __ROOT__.'/src/static/sub-menu-side/view.svg' ); ?></span>
<span>Tout afficher</span> <span>Tout afficher</span>
</span> </span>
<span data-sublink='create' > <span data-sublink='create' >
<span class='svg'><?php echo ResourceDispatcher::getResource( 'f/svg/create/st/sub-menu-side' ); ?></span> <span class='svg'><?php echo file_get_contents( __ROOT__.'/src/static/sub-menu-side/create.svg' ); ?></span>
<span>Creation</span> <span>Creation</span>
</span> </span>
<span data-sublink='remove' > <span data-sublink='remove' >
<span class='svg'><?php echo ResourceDispatcher::getResource( 'f/svg/remove/st/sub-menu-side' ); ?></span> <span class='svg'><?php echo file_get_contents( __ROOT__.'/src/static/sub-menu-side/remove.svg' ); ?></span>
<span>Suppression</span> <span>Suppression</span>
</span> </span>
<span data-sublink='edit' > <span data-sublink='edit' >
<span class='svg'><?php echo ResourceDispatcher::getResource( 'f/svg/edit/st/sub-menu-side' ); ?></span> <span class='svg'><?php echo file_get_contents( __ROOT__.'/src/static/sub-menu-side/edit.svg' ); ?></span>
<span>Modification</span> <span>Modification</span>
</span> </span>
<span data-sublink='filter' > <span data-sublink='filter' >
<span class='svg'><?php echo ResourceDispatcher::getResource( 'f/svg/filter/st/sub-menu-side' ); ?></span> <span class='svg'><?php echo file_get_contents( __ROOT__.'/src/static/sub-menu-side/filter.svg' ); ?></span>
<span>Filtrer</span> <span>Filtrer</span>
</span> </span>
@ -92,19 +91,19 @@
// Icone vers la suppression // Icone vers la suppression
echo "<span class='link_remove' data-user='".$user['id_user']."'>"; echo "<span class='link_remove' data-user='".$user['id_user']."'>";
echo ResourceDispatcher::getResource('f/svg/remove/st/sub-menu-side'); echo file_get_contents( __ROOT__.'/src/static/sub-menu-side/remove.svg' );
echo "</span>"; echo "</span>";
// Icone vers la modification // Icone vers la modification
echo "<span class='link_edit' data-user='".$user['id_user']."'>"; echo "<span class='link_edit' data-user='".$user['id_user']."'>";
echo ResourceDispatcher::getResource('f/svg/edit/st/sub-menu-side'); echo file_get_contents( __ROOT__.'/src/static/sub-menu-side/edit.svg' );
echo "</span>"; echo "</span>";
// Code RFID // Code RFID
echo "<span class='code'>"; echo "<span class='code'>";
echo ResourceDispatcher::getResource('f/svg/card/st/container'); echo file_get_contents( __ROOT__.'/src/static/container/card.svg' );
echo "<span>"; echo "<span>";
echo $user['code']; echo $user['code'];
@ -113,7 +112,7 @@
// Adresse email // Adresse email
echo "<span class='mail'>"; echo "<span class='mail'>";
echo ResourceDispatcher::getResource('f/svg/mail/st/container'); echo file_get_contents( __ROOT__.'/src/static/container/mail.svg' );
echo "<a href='mailto:".$user['mail']."'><span>"; echo "<a href='mailto:".$user['mail']."'><span>";
echo $user['mail']; echo $user['mail'];
@ -122,7 +121,7 @@
// Groupes de la machine // Groupes de la machine
echo "<span class='groups'>"; echo "<span class='groups'>";
echo ResourceDispatcher::getResource('f/svg/group/st/container'); echo file_get_contents( __ROOT__.'/src/static/container/group.svg' );
if( $clusters != false ) if( $clusters != false )
foreach($clusters as $cluster) foreach($clusters as $cluster)

View File

@ -1,4 +1,3 @@
<?php use \manager\ResourceDispatcher; ?>
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
@ -11,21 +10,21 @@
<meta name='desctiption' content="Système de gestion des véhicules pour STEF."> <meta name='desctiption' content="Système de gestion des véhicules pour STEF.">
<!-- Dépendences CSS --> <!-- Dépendences CSS -->
<link type='text/css' rel='stylesheet' href='/f/css/reset/css' /> <!-- Reset du css natif des browsers --> <link type='text/css' rel='stylesheet' href='/css/reset/min.css' /> <!-- Reset du css natif des browsers -->
<link type='text/css' rel='stylesheet' href='/f/css/font/css' /> <!-- Positionnement global des pages --> <link type='text/css' rel='stylesheet' href='/css/font/min.css' /> <!-- Positionnement global des pages -->
<link type='text/css' rel='stylesheet' href='/f/css/layout/css' /> <!-- Positionnement global des pages --> <link type='text/css' rel='stylesheet' href='/css/layout/min.css' /> <!-- Positionnement global des pages -->
<link type='text/css' rel='stylesheet' href='/f/css/header/css' /> <!-- Gestion du header --> <link type='text/css' rel='stylesheet' href='/css/header/min.css' /> <!-- Gestion du header -->
<link type='text/css' rel='stylesheet' href='/f/css/menu-side/css' /> <!-- Gestion du menu --> <link type='text/css' rel='stylesheet' href='/css/menu-side/min.css' /> <!-- Gestion du menu -->
<link type='text/css' rel='stylesheet' href='/f/css/submenu-side/css'/> <!-- Gestion du sous-menu --> <link type='text/css' rel='stylesheet' href='/css/submenu-side/min.css'/> <!-- Gestion du sous-menu -->
<link type='text/css' rel='stylesheet' href='/f/css/container/css' /> <!-- Gestion du container --> <link type='text/css' rel='stylesheet' href='/css/container/min.css' /> <!-- Gestion du container -->
<link type='text/css' rel='stylesheet' href='/f/css/global/css' /> <!-- Style global --> <link type='text/css' rel='stylesheet' href='/css/global/min.css' /> <!-- Style global -->
<!-- Dépendences Javascript --> <!-- Dépendences Javascript -->
<script type='text/javascript' src='/f/js/input-checker/js/lib' ></script> <!-- Gestion dynamique des saisies --> <script type='text/javascript' src='/js/lib/input-checker.js' ></script> <!-- Gestion dynamique des saisies -->
<script type='text/javascript' src='/f/js/reset/js/lib' ></script> <!-- Corrections Javascript natif (ajouts) --> <script type='text/javascript' src='/js/lib/reset.js' ></script> <!-- Corrections Javascript natif (ajouts) -->
<script type='text/javascript' src='/f/js/api/js/lib' ></script> <!-- Gestion des transactions avec le serveur --> <script type='text/javascript' src='/js/lib/api.js' ></script> <!-- Gestion des transactions avec le serveur -->
<script type='text/javascript' src='/f/js/page-manager/js/lib' ></script> <!-- Gestion réseau/chargement/liens/URL --> <script type='text/javascript' src='/js/lib/page-manager.js' ></script> <!-- Gestion réseau/chargement/liens/URL -->
</head> </head>
<body> <body>
@ -43,16 +42,16 @@
<!-- MENU DE LA PAGE --> <!-- MENU DE LA PAGE -->
<nav id='MENU-SIDE'> <nav id='MENU-SIDE'>
<span data-link='profile' data-desc='Profil' class='mb' ><?php echo ResourceDispatcher::getResource('f/svg/profile/st/menu-side'); ?></span> <span data-link='profile' data-desc='Profil' class='mb' ><?= file_get_contents(__ROOT__.'/src/static/menu-side/profile.svg'); ?></span>
<span data-link='dashboard' data-desc='Tableau de bord' class='apart' ><?php echo ResourceDispatcher::getResource('f/svg/dashboard/st/menu-side/777777'); ?></span> <span data-link='dashboard' data-desc='Tableau de bord' class='apart' ><?= file_get_contents(__ROOT__.'/src/static/menu-side/dashboard.svg'); ?></span>
<span data-link='machines' data-desc='Véhicules' ><?php echo ResourceDispatcher::getResource('f/svg/machines/st/menu-side/777777' ); ?></span> <span data-link='machines' data-desc='Véhicules' ><?= file_get_contents(__ROOT__.'/src/static/menu-side/machines.svg' ); ?></span>
<span data-link='users' data-desc='Utilisateurs' ><?php echo ResourceDispatcher::getResource('f/svg/users/st/menu-side/777777' ); ?></span> <span data-link='users' data-desc='Utilisateurs' ><?= file_get_contents(__ROOT__.'/src/static/menu-side/users.svg' ); ?></span>
<span data-link='groups' data-desc='Gestion des groupes' ><?php echo ResourceDispatcher::getResource('f/svg/groups/st/menu-side/777777'); ?></span> <span data-link='groups' data-desc='Gestion des groupes' ><?= file_get_contents(__ROOT__.'/src/static/menu-side/groups.svg'); ?></span>
<span data-link='analytics' data-desc='Statistiques et suivi' ><?php echo ResourceDispatcher::getResource('f/svg/analytics/st/menu-side/777777'); ?></span> <span data-link='analytics' data-desc='Statistiques et suivi' ><?= file_get_contents(__ROOT__.'/src/static/menu-side/analytics.svg'); ?></span>
<span data-link='settings' data-desc='Paramètres' class='mt' ><?php echo ResourceDispatcher::getResource('f/svg/settings/st/menu-side/777777' ); ?></span> <span data-link='settings' data-desc='Paramètres' class='mt' ><?= file_get_contents(__ROOT__.'/src/static/menu-side/settings.svg' ); ?></span>
</nav> </nav>
@ -64,7 +63,7 @@
<!-- Dépendences Javascript après chargement des éléments --> <!-- Dépendences Javascript après chargement des éléments -->
<script type='text/javascript' src='/f/js/action-script/js'></script> <script type='text/javascript' src='/js/action-script.js'></script>
</body> </body>
</html> </html>

View File

@ -1,4 +1,3 @@
<?php use \manager\ResourceDispatcher; ?>
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
@ -11,14 +10,14 @@
<meta name='desctiption' content="Système de gestion des véhicules pour STEF."> <meta name='desctiption' content="Système de gestion des véhicules pour STEF.">
<!-- Dépendences CSS --> <!-- Dépendences CSS -->
<link type='text/css' rel='stylesheet' href='/f/css/reset/css' /> <!-- Reset du css natif des browsers --> <link type='text/css' rel='stylesheet' href='/css/reset.css' /> <!-- Reset du css natif des browsers -->
<!-- Dépendences Javascript --> <!-- Dépendences Javascript -->
<script type='text/javascript' src='/f/js/input-checker/js/lib' ></script> <!-- Gestion dynamique des saisies --> <script type='text/javascript' src='/js/lib/input-checker.js' ></script> <!-- Gestion dynamique des saisies -->
<script type='text/javascript' src='/f/js/reset/js/lib' ></script> <!-- Corrections Javascript natif (ajouts) --> <script type='text/javascript' src='/js/lib/reset.js' ></script> <!-- Corrections Javascript natif (ajouts) -->
<script type='text/javascript' src='/f/js/api/js/lib' ></script> <!-- Gestion des transactions avec le serveur --> <script type='text/javascript' src='/js/lib/api.js' ></script> <!-- Gestion des transactions avec le serveur -->
<script type='text/javascript' src='/f/js/page-manager/js/lib' ></script> <!-- Gestion des transactions avec le serveur --> <script type='text/javascript' src='/js/lib/page-manager.js' ></script> <!-- Gestion des transactions avec le serveur -->
</head> </head>
<style type='text/css'> <style type='text/css'>