Maj de bootstrap en V4 finale

Création d'un module à part pour gérer les applications
 - Ajout de VautMeUp
 - Préparation de l'appli karting
Ajout d'un bloc "Projets personnels"
This commit is contained in:
bglacial 2018-06-27 00:46:00 +02:00
parent 2cdbbadcc2
commit 5659eb6309
35 changed files with 14681 additions and 9663 deletions

View File

@ -24,7 +24,8 @@
},
"autoload": {
"psr-4": {
"Application\\": "module/Application/src/"
"Application\\": "module/Application/src/",
"CV\\": "module/CV/src/"
}
},
"autoload-dev": {

456
composer.lock generated
View File

@ -339,16 +339,16 @@
},
{
"name": "zendframework/zend-component-installer",
"version": "0.7.0",
"version": "1.1.1",
"source": {
"type": "git",
"url": "https://github.com/zendframework/zend-component-installer.git",
"reference": "aa05b53a29af282258df3cd27bb6618aa16f4047"
"reference": "5e9beda3b81d29d4d080b110d67f8c8c44d93605"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/zendframework/zend-component-installer/zipball/aa05b53a29af282258df3cd27bb6618aa16f4047",
"reference": "aa05b53a29af282258df3cd27bb6618aa16f4047",
"url": "https://api.github.com/repos/zendframework/zend-component-installer/zipball/5e9beda3b81d29d4d080b110d67f8c8c44d93605",
"reference": "5e9beda3b81d29d4d080b110d67f8c8c44d93605",
"shasum": ""
},
"require": {
@ -356,16 +356,17 @@
"php": "^5.6 || ^7.0"
},
"require-dev": {
"composer/composer": "^1.3.2",
"malukenho/docheader": "^0.1.5",
"mikey179/vfsstream": "^1.6",
"phpunit/phpunit": "^6.0.7 || ^5.7.14",
"composer/composer": "^1.5.2",
"malukenho/docheader": "^0.1.6",
"mikey179/vfsstream": "^1.6.5",
"phpunit/phpunit": "^5.7.23 || ^6.4.3",
"zendframework/zend-coding-standard": "~1.0.0"
},
"type": "composer-plugin",
"extra": {
"branch-alias": {
"dev-master": "1.0-dev"
"dev-master": "1.1-dev",
"dev-develop": "1.2-dev"
},
"class": "Zend\\ComponentInstaller\\ComponentInstaller"
},
@ -379,45 +380,56 @@
"BSD-3-Clause"
],
"description": "Composer plugin for automating component registration in zend-mvc and Expressive applications",
"time": "2017-02-22T17:44:09+00:00"
"keywords": [
"ZendFramework",
"component installer",
"composer",
"plugin",
"zf"
],
"time": "2018-01-11T15:03:06+00:00"
},
{
"name": "zendframework/zend-config",
"version": "2.6.0",
"version": "3.2.0",
"source": {
"type": "git",
"url": "https://github.com/zendframework/zend-config.git",
"reference": "2920e877a9f6dca9fa8f6bd3b1ffc2e19bb1e30d"
"reference": "6796f5dcba52c84ef2501d7313618989b5ef3023"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/zendframework/zend-config/zipball/2920e877a9f6dca9fa8f6bd3b1ffc2e19bb1e30d",
"reference": "2920e877a9f6dca9fa8f6bd3b1ffc2e19bb1e30d",
"url": "https://api.github.com/repos/zendframework/zend-config/zipball/6796f5dcba52c84ef2501d7313618989b5ef3023",
"reference": "6796f5dcba52c84ef2501d7313618989b5ef3023",
"shasum": ""
},
"require": {
"php": "^5.5 || ^7.0",
"zendframework/zend-stdlib": "^2.7 || ^3.0"
"ext-json": "*",
"php": "^5.6 || ^7.0",
"psr/container": "^1.0",
"zendframework/zend-stdlib": "^2.7.7 || ^3.1"
},
"conflict": {
"container-interop/container-interop": "<1.2.0"
},
"require-dev": {
"fabpot/php-cs-fixer": "1.7.*",
"phpunit/phpunit": "~4.0",
"zendframework/zend-filter": "^2.6",
"zendframework/zend-i18n": "^2.5",
"zendframework/zend-json": "^2.6.1",
"zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3"
"malukenho/docheader": "^0.1.6",
"phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2",
"zendframework/zend-coding-standard": "~1.0.0",
"zendframework/zend-filter": "^2.7.2",
"zendframework/zend-i18n": "^2.7.4",
"zendframework/zend-servicemanager": "^2.7.8 || ^3.3"
},
"suggest": {
"zendframework/zend-filter": "Zend\\Filter component",
"zendframework/zend-i18n": "Zend\\I18n component",
"zendframework/zend-json": "Zend\\Json to use the Json reader or writer classes",
"zendframework/zend-servicemanager": "Zend\\ServiceManager for use with the Config Factory to retrieve reader and writer instances"
"zendframework/zend-filter": "^2.7.2; install if you want to use the Filter processor",
"zendframework/zend-i18n": "^2.7.4; install if you want to use the Translator processor",
"zendframework/zend-servicemanager": "^2.7.8 || ^3.3; if you need an extensible plugin manager for use with the Config Factory"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.6-dev",
"dev-develop": "2.7-dev"
"dev-master": "3.2.x-dev",
"dev-develop": "3.3.x-dev"
}
},
"autoload": {
@ -430,39 +442,39 @@
"BSD-3-Clause"
],
"description": "provides a nested object property based user interface for accessing this configuration data within application code",
"homepage": "https://github.com/zendframework/zend-config",
"keywords": [
"ZendFramework",
"config",
"zf2"
"zf"
],
"time": "2016-02-04T23:01:10+00:00"
"time": "2018-04-24T19:26:44+00:00"
},
{
"name": "zendframework/zend-escaper",
"version": "2.5.2",
"version": "2.6.0",
"source": {
"type": "git",
"url": "https://github.com/zendframework/zend-escaper.git",
"reference": "2dcd14b61a72d8b8e27d579c6344e12c26141d4e"
"reference": "31d8aafae982f9568287cb4dce987e6aff8fd074"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/zendframework/zend-escaper/zipball/2dcd14b61a72d8b8e27d579c6344e12c26141d4e",
"reference": "2dcd14b61a72d8b8e27d579c6344e12c26141d4e",
"url": "https://api.github.com/repos/zendframework/zend-escaper/zipball/31d8aafae982f9568287cb4dce987e6aff8fd074",
"reference": "31d8aafae982f9568287cb4dce987e6aff8fd074",
"shasum": ""
},
"require": {
"php": ">=5.5"
"php": "^5.6 || ^7.0"
},
"require-dev": {
"fabpot/php-cs-fixer": "1.7.*",
"phpunit/phpunit": "~4.0"
"phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2",
"zendframework/zend-coding-standard": "~1.0.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.5-dev",
"dev-develop": "2.6-dev"
"dev-master": "2.6.x-dev",
"dev-develop": "2.7.x-dev"
}
},
"autoload": {
@ -474,25 +486,26 @@
"license": [
"BSD-3-Clause"
],
"homepage": "https://github.com/zendframework/zend-escaper",
"description": "Securely and safely escape HTML, HTML attributes, JavaScript, CSS, and URLs",
"keywords": [
"ZendFramework",
"escaper",
"zf2"
"zf"
],
"time": "2016-06-30T19:48:38+00:00"
"time": "2018-04-25T15:48:53+00:00"
},
{
"name": "zendframework/zend-eventmanager",
"version": "3.1.0",
"version": "3.2.1",
"source": {
"type": "git",
"url": "https://github.com/zendframework/zend-eventmanager.git",
"reference": "c3bce7b7d47c54040b9ae51bc55491c72513b75d"
"reference": "a5e2583a211f73604691586b8406ff7296a946dd"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/zendframework/zend-eventmanager/zipball/c3bce7b7d47c54040b9ae51bc55491c72513b75d",
"reference": "c3bce7b7d47c54040b9ae51bc55491c72513b75d",
"url": "https://api.github.com/repos/zendframework/zend-eventmanager/zipball/a5e2583a211f73604691586b8406ff7296a946dd",
"reference": "a5e2583a211f73604691586b8406ff7296a946dd",
"shasum": ""
},
"require": {
@ -501,7 +514,7 @@
"require-dev": {
"athletic/athletic": "^0.1",
"container-interop/container-interop": "^1.1.0",
"phpunit/phpunit": "^5.6",
"phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2",
"zendframework/zend-coding-standard": "~1.0.0",
"zendframework/zend-stdlib": "^2.7.3 || ^3.0"
},
@ -512,8 +525,8 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.1-dev",
"dev-develop": "3.2-dev"
"dev-master": "3.2-dev",
"dev-develop": "3.3-dev"
}
},
"autoload": {
@ -533,39 +546,42 @@
"events",
"zf2"
],
"time": "2016-12-19T21:47:12+00:00"
"time": "2018-04-25T15:33:34+00:00"
},
{
"name": "zendframework/zend-http",
"version": "2.6.0",
"version": "2.8.0",
"source": {
"type": "git",
"url": "https://github.com/zendframework/zend-http.git",
"reference": "09f4d279f46d86be63171ff62ee0f79eca878678"
"reference": "f48b276ffa11b48dd1ae3c6bc306d6ed7958ef51"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/zendframework/zend-http/zipball/09f4d279f46d86be63171ff62ee0f79eca878678",
"reference": "09f4d279f46d86be63171ff62ee0f79eca878678",
"url": "https://api.github.com/repos/zendframework/zend-http/zipball/f48b276ffa11b48dd1ae3c6bc306d6ed7958ef51",
"reference": "f48b276ffa11b48dd1ae3c6bc306d6ed7958ef51",
"shasum": ""
},
"require": {
"php": "^5.5 || ^7.0",
"zendframework/zend-loader": "^2.5",
"zendframework/zend-stdlib": "^2.5 || ^3.0",
"zendframework/zend-uri": "^2.5",
"zendframework/zend-validator": "^2.5"
"php": "^5.6 || ^7.0",
"zendframework/zend-loader": "^2.5.1",
"zendframework/zend-stdlib": "^3.1 || ^2.7.7",
"zendframework/zend-uri": "^2.5.2",
"zendframework/zend-validator": "^2.10.1"
},
"require-dev": {
"phpunit/phpunit": "^4.0",
"phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.3",
"zendframework/zend-coding-standard": "~1.0.0",
"zendframework/zend-config": "^2.5"
"zendframework/zend-config": "^3.1 || ^2.6"
},
"suggest": {
"paragonie/certainty": "For automated management of cacert.pem"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.6-dev",
"dev-develop": "2.7-dev"
"dev-master": "2.8.x-dev",
"dev-develop": "2.9.x-dev"
}
},
"autoload": {
@ -577,40 +593,42 @@
"license": [
"BSD-3-Clause"
],
"description": "provides an easy interface for performing Hyper-Text Transfer Protocol (HTTP) requests",
"homepage": "https://github.com/zendframework/zend-http",
"description": "Provides an easy interface for performing Hyper-Text Transfer Protocol (HTTP) requests",
"keywords": [
"ZendFramework",
"http",
"zf2"
"http client",
"zend",
"zf"
],
"time": "2017-01-31T14:41:02+00:00"
"time": "2018-04-26T21:04:50+00:00"
},
{
"name": "zendframework/zend-loader",
"version": "2.5.1",
"version": "2.6.0",
"source": {
"type": "git",
"url": "https://github.com/zendframework/zend-loader.git",
"reference": "c5fd2f071bde071f4363def7dea8dec7393e135c"
"reference": "78f11749ea340f6ca316bca5958eef80b38f9b6c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/zendframework/zend-loader/zipball/c5fd2f071bde071f4363def7dea8dec7393e135c",
"reference": "c5fd2f071bde071f4363def7dea8dec7393e135c",
"url": "https://api.github.com/repos/zendframework/zend-loader/zipball/78f11749ea340f6ca316bca5958eef80b38f9b6c",
"reference": "78f11749ea340f6ca316bca5958eef80b38f9b6c",
"shasum": ""
},
"require": {
"php": ">=5.3.23"
"php": "^5.6 || ^7.0"
},
"require-dev": {
"fabpot/php-cs-fixer": "1.7.*",
"phpunit/phpunit": "~4.0"
"phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.4",
"zendframework/zend-coding-standard": "~1.0.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.5-dev",
"dev-develop": "2.6-dev"
"dev-master": "2.6.x-dev",
"dev-develop": "2.7.x-dev"
}
},
"autoload": {
@ -622,46 +640,46 @@
"license": [
"BSD-3-Clause"
],
"homepage": "https://github.com/zendframework/zend-loader",
"description": "Autoloading and plugin loading strategies",
"keywords": [
"ZendFramework",
"loader",
"zf2"
"zf"
],
"time": "2015-06-03T14:05:47+00:00"
"time": "2018-04-30T15:20:54+00:00"
},
{
"name": "zendframework/zend-modulemanager",
"version": "2.7.2",
"version": "2.8.2",
"source": {
"type": "git",
"url": "https://github.com/zendframework/zend-modulemanager.git",
"reference": "2a59ab9a0dd7699a55050dff659ab0f28272b46e"
"reference": "394df6e12248ac430a312d4693f793ee7120baa6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/zendframework/zend-modulemanager/zipball/2a59ab9a0dd7699a55050dff659ab0f28272b46e",
"reference": "2a59ab9a0dd7699a55050dff659ab0f28272b46e",
"url": "https://api.github.com/repos/zendframework/zend-modulemanager/zipball/394df6e12248ac430a312d4693f793ee7120baa6",
"reference": "394df6e12248ac430a312d4693f793ee7120baa6",
"shasum": ""
},
"require": {
"php": "^5.5 || ^7.0",
"zendframework/zend-config": "^2.6",
"zendframework/zend-eventmanager": "^2.6.2 || ^3.0",
"zendframework/zend-stdlib": "^2.7 || ^3.0"
"php": "^5.6 || ^7.0",
"zendframework/zend-config": "^3.1 || ^2.6",
"zendframework/zend-eventmanager": "^3.2 || ^2.6.3",
"zendframework/zend-stdlib": "^3.1 || ^2.7"
},
"require-dev": {
"fabpot/php-cs-fixer": "1.7.*",
"phpunit/phpunit": "~4.0",
"phpunit/phpunit": "^6.0.8 || ^5.7.15",
"zendframework/zend-coding-standard": "~1.0.0",
"zendframework/zend-console": "^2.6",
"zendframework/zend-di": "^2.6",
"zendframework/zend-loader": "^2.5",
"zendframework/zend-mvc": "^2.7",
"zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3"
"zendframework/zend-mvc": "^3.0 || ^2.7",
"zendframework/zend-servicemanager": "^3.0.3 || ^2.7.5"
},
"suggest": {
"zendframework/zend-config": "Zend\\Config component",
"zendframework/zend-console": "Zend\\Console component",
"zendframework/zend-loader": "Zend\\Loader component",
"zendframework/zend-loader": "Zend\\Loader component if you are not using Composer autoloading for your modules",
"zendframework/zend-mvc": "Zend\\Mvc component",
"zendframework/zend-servicemanager": "Zend\\ServiceManager component"
},
@ -681,60 +699,68 @@
"license": [
"BSD-3-Clause"
],
"description": "Modular application system for zend-mvc applications",
"homepage": "https://github.com/zendframework/zend-modulemanager",
"keywords": [
"ZendFramework",
"modulemanager",
"zf2"
"zf"
],
"time": "2016-05-16T21:21:11+00:00"
"time": "2017-12-02T06:11:18+00:00"
},
{
"name": "zendframework/zend-mvc",
"version": "3.0.4",
"version": "3.1.1",
"source": {
"type": "git",
"url": "https://github.com/zendframework/zend-mvc.git",
"reference": "e25f04a71b70985620f5ff3e762475848d049025"
"reference": "236e7e1e3757e988fa06530c0a3f96a148858ae8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/zendframework/zend-mvc/zipball/e25f04a71b70985620f5ff3e762475848d049025",
"reference": "e25f04a71b70985620f5ff3e762475848d049025",
"url": "https://api.github.com/repos/zendframework/zend-mvc/zipball/236e7e1e3757e988fa06530c0a3f96a148858ae8",
"reference": "236e7e1e3757e988fa06530c0a3f96a148858ae8",
"shasum": ""
},
"require": {
"container-interop/container-interop": "^1.1",
"container-interop/container-interop": "^1.2",
"php": "^5.6 || ^7.0",
"zendframework/zend-eventmanager": "^3.0",
"zendframework/zend-http": "^2.5.4",
"zendframework/zend-modulemanager": "^2.7.1",
"zendframework/zend-router": "^3.0.1",
"zendframework/zend-servicemanager": "^3.0.3",
"zendframework/zend-stdlib": "^3.0",
"zendframework/zend-view": "^2.6.7"
"zendframework/zend-eventmanager": "^3.2",
"zendframework/zend-http": "^2.7",
"zendframework/zend-modulemanager": "^2.8",
"zendframework/zend-router": "^3.0.2",
"zendframework/zend-servicemanager": "^3.3",
"zendframework/zend-stdlib": "^3.1",
"zendframework/zend-view": "^2.9"
},
"require-dev": {
"fabpot/php-cs-fixer": "1.7.*",
"phpunit/phpunit": "^4.5",
"http-interop/http-middleware": "^0.4.1",
"phpunit/phpunit": "^6.4.4 || ^5.7.14",
"zendframework/zend-coding-standard": "~1.0.0",
"zendframework/zend-json": "^2.6.1 || ^3.0",
"zendframework/zend-psr7bridge": "^0.2"
"zendframework/zend-psr7bridge": "^1.0",
"zendframework/zend-stratigility": "^2.0.1"
},
"suggest": {
"http-interop/http-middleware": "^0.4.1 to be used together with zend-stratigility",
"zendframework/zend-json": "(^2.6.1 || ^3.0) To auto-deserialize JSON body content in AbstractRestfulController extensions, when json_decode is unavailable",
"zendframework/zend-log": "^2.9.1 To provide log functionality via LogFilterManager, LogFormatterManager, and LogProcessorManager",
"zendframework/zend-mvc-console": "zend-mvc-console provides the ability to expose zend-mvc as a console application",
"zendframework/zend-mvc-i18n": "zend-mvc-i18n provides integration with zend-i18n, including a translation bridge and translatable route segments",
"zendframework/zend-mvc-plugin-fileprg": "To provide Post/Redirect/Get functionality around forms that container file uploads",
"zendframework/zend-mvc-plugin-flashmessenger": "To provide flash messaging capabilities between requests",
"zendframework/zend-mvc-plugin-identity": "To access the authenticated identity (per zend-authentication) in controllers",
"zendframework/zend-mvc-plugin-prg": "To provide Post/Redirect/Get functionality within controllers",
"zendframework/zend-paginator": "^2.7 To provide pagination functionality via PaginatorPluginManager",
"zendframework/zend-psr7bridge": "(^0.2) To consume PSR-7 middleware within the MVC workflow",
"zendframework/zend-servicemanager-di": "zend-servicemanager-di provides utilities for integrating zend-di and zend-servicemanager in your zend-mvc application"
"zendframework/zend-servicemanager-di": "zend-servicemanager-di provides utilities for integrating zend-di and zend-servicemanager in your zend-mvc application",
"zendframework/zend-stratigility": "zend-stratigility is required to use middleware pipes in the MiddlewareListener"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.0-dev",
"dev-develop": "3.1-dev"
"dev-master": "3.1-dev",
"dev-develop": "3.2-dev"
}
},
"autoload": {
@ -746,51 +772,51 @@
"license": [
"BSD-3-Clause"
],
"homepage": "https://github.com/zendframework/zend-mvc",
"description": "Zend Framework's event-driven MVC layer, including MVC Applications, Controllers, and Plugins",
"keywords": [
"ZendFramework",
"mvc",
"zf2"
"zf"
],
"time": "2016-12-20T15:33:49+00:00"
"time": "2017-11-24T06:32:07+00:00"
},
{
"name": "zendframework/zend-router",
"version": "3.0.2",
"version": "3.1.0",
"source": {
"type": "git",
"url": "https://github.com/zendframework/zend-router.git",
"reference": "03763610632a9022aff22a0e8f340852e68392a1"
"reference": "f5dbec5398ca98b35170716ec5146029197fe249"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/zendframework/zend-router/zipball/03763610632a9022aff22a0e8f340852e68392a1",
"reference": "03763610632a9022aff22a0e8f340852e68392a1",
"url": "https://api.github.com/repos/zendframework/zend-router/zipball/f5dbec5398ca98b35170716ec5146029197fe249",
"reference": "f5dbec5398ca98b35170716ec5146029197fe249",
"shasum": ""
},
"require": {
"container-interop/container-interop": "^1.1",
"php": "^5.5 || ^7.0",
"zendframework/zend-http": "^2.5",
"zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3",
"zendframework/zend-stdlib": "^2.7.5 || ^3.0"
"container-interop/container-interop": "^1.2",
"php": "^5.6 || ^7.0",
"zendframework/zend-http": "^2.6",
"zendframework/zend-servicemanager": "^2.7.8 || ^3.3",
"zendframework/zend-stdlib": "^2.7.7 || ^3.1"
},
"conflict": {
"zendframework/zend-mvc": "<3.0.0"
},
"require-dev": {
"phpunit/phpunit": "^4.5",
"sebastian/version": "^1.0.4",
"squizlabs/php_codesniffer": "^2.3",
"zendframework/zend-i18n": "^2.6"
"phpunit/phpunit": "^5.7.22 || ^6.4.1",
"zendframework/zend-coding-standard": "~1.0.0",
"zendframework/zend-i18n": "^2.7.4"
},
"suggest": {
"zendframework/zend-i18n": "^2.6, if defining translatable HTTP path segments"
"zendframework/zend-i18n": "^2.7.4, if defining translatable HTTP path segments"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.0-dev",
"dev-develop": "3.1-dev"
"dev-master": "3.1.x-dev",
"dev-develop": "3.2.x-dev"
},
"zf": {
"component": "Zend\\Router",
@ -806,26 +832,28 @@
"license": [
"BSD-3-Clause"
],
"homepage": "https://github.com/zendframework/zend-router",
"description": "Flexible routing system for HTTP and console applications",
"keywords": [
"ZendFramework",
"mvc",
"routing",
"zf2"
"zend",
"zf"
],
"time": "2016-05-31T20:47:48+00:00"
"time": "2018-06-18T21:10:59+00:00"
},
{
"name": "zendframework/zend-servicemanager",
"version": "3.3.0",
"version": "3.3.2",
"source": {
"type": "git",
"url": "https://github.com/zendframework/zend-servicemanager.git",
"reference": "c3036efb81f71bfa36cc9962ee5d4474f36581d0"
"reference": "9f35a104b8d4d3b32da5f4a3b6efc0dd62e5af42"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/zendframework/zend-servicemanager/zipball/c3036efb81f71bfa36cc9962ee5d4474f36581d0",
"reference": "c3036efb81f71bfa36cc9962ee5d4474f36581d0",
"url": "https://api.github.com/repos/zendframework/zend-servicemanager/zipball/9f35a104b8d4d3b32da5f4a3b6efc0dd62e5af42",
"reference": "9f35a104b8d4d3b32da5f4a3b6efc0dd62e5af42",
"shasum": ""
},
"require": {
@ -839,10 +867,10 @@
"psr/container-implementation": "^1.0"
},
"require-dev": {
"mikey179/vfsstream": "^1.6",
"mikey179/vfsstream": "^1.6.5",
"ocramius/proxy-manager": "^1.0 || ^2.0",
"phpbench/phpbench": "^0.10.0",
"phpunit/phpunit": "^5.7 || ^6.0.6",
"phpbench/phpbench": "^0.13.0",
"phpunit/phpunit": "^5.7.25 || ^6.4.4",
"zendframework/zend-coding-standard": "~1.0.0"
},
"suggest": {
@ -857,7 +885,7 @@
"extra": {
"branch-alias": {
"dev-master": "3.3-dev",
"dev-develop": "3.4-dev"
"dev-develop": "4.0-dev"
}
},
"autoload": {
@ -869,41 +897,46 @@
"license": [
"BSD-3-Clause"
],
"homepage": "https://github.com/zendframework/zend-servicemanager",
"description": "Factory-Driven Dependency Injection Container",
"keywords": [
"PSR-11",
"ZendFramework",
"dependency-injection",
"di",
"dic",
"service-manager",
"servicemanager",
"zf"
],
"time": "2017-03-01T22:08:02+00:00"
"time": "2018-01-29T16:48:37+00:00"
},
{
"name": "zendframework/zend-stdlib",
"version": "3.1.0",
"version": "3.2.0",
"source": {
"type": "git",
"url": "https://github.com/zendframework/zend-stdlib.git",
"reference": "debedcfc373a293f9250cc9aa03cf121428c8e78"
"reference": "cd164b4a18b5d1aeb69be2c26db035b5ed6925ae"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/debedcfc373a293f9250cc9aa03cf121428c8e78",
"reference": "debedcfc373a293f9250cc9aa03cf121428c8e78",
"url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/cd164b4a18b5d1aeb69be2c26db035b5ed6925ae",
"reference": "cd164b4a18b5d1aeb69be2c26db035b5ed6925ae",
"shasum": ""
},
"require": {
"php": "^5.6 || ^7.0"
},
"require-dev": {
"athletic/athletic": "~0.1",
"phpunit/phpunit": "~4.0",
"squizlabs/php_codesniffer": "^2.6.2"
"phpbench/phpbench": "^0.13",
"phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2",
"zendframework/zend-coding-standard": "~1.0.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.1-dev",
"dev-develop": "3.2-dev"
"dev-master": "3.2.x-dev",
"dev-develop": "3.3.x-dev"
}
},
"autoload": {
@ -915,41 +948,42 @@
"license": [
"BSD-3-Clause"
],
"homepage": "https://github.com/zendframework/zend-stdlib",
"description": "SPL extensions, array utilities, error handlers, and more",
"keywords": [
"ZendFramework",
"stdlib",
"zf2"
"zf"
],
"time": "2016-09-13T14:38:50+00:00"
"time": "2018-04-30T13:50:40+00:00"
},
{
"name": "zendframework/zend-uri",
"version": "2.5.2",
"version": "2.6.1",
"source": {
"type": "git",
"url": "https://github.com/zendframework/zend-uri.git",
"reference": "0bf717a239432b1a1675ae314f7c4acd742749ed"
"reference": "3b6463645c6766f78ce537c70cb4fdabee1e725f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/zendframework/zend-uri/zipball/0bf717a239432b1a1675ae314f7c4acd742749ed",
"reference": "0bf717a239432b1a1675ae314f7c4acd742749ed",
"url": "https://api.github.com/repos/zendframework/zend-uri/zipball/3b6463645c6766f78ce537c70cb4fdabee1e725f",
"reference": "3b6463645c6766f78ce537c70cb4fdabee1e725f",
"shasum": ""
},
"require": {
"php": "^5.5 || ^7.0",
"php": "^5.6 || ^7.0",
"zendframework/zend-escaper": "^2.5",
"zendframework/zend-validator": "^2.5"
"zendframework/zend-validator": "^2.10"
},
"require-dev": {
"fabpot/php-cs-fixer": "1.7.*",
"phpunit/phpunit": "~4.0"
"phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.4",
"zendframework/zend-coding-standard": "~1.0.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.5-dev",
"dev-develop": "2.6-dev"
"dev-master": "2.6.x-dev",
"dev-develop": "2.7.x-dev"
}
},
"autoload": {
@ -961,37 +995,37 @@
"license": [
"BSD-3-Clause"
],
"description": "a component that aids in manipulating and validating » Uniform Resource Identifiers (URIs)",
"homepage": "https://github.com/zendframework/zend-uri",
"description": "A component that aids in manipulating and validating » Uniform Resource Identifiers (URIs)",
"keywords": [
"ZendFramework",
"uri",
"zf2"
"zf"
],
"time": "2016-02-17T22:38:51+00:00"
"time": "2018-04-30T13:40:08+00:00"
},
{
"name": "zendframework/zend-validator",
"version": "2.8.2",
"version": "2.10.2",
"source": {
"type": "git",
"url": "https://github.com/zendframework/zend-validator.git",
"reference": "99b528e01276054458da9553b587cfb959dfa436"
"reference": "38109ed7d8e46cfa71bccbe7e6ca80cdd035f8c9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/zendframework/zend-validator/zipball/99b528e01276054458da9553b587cfb959dfa436",
"reference": "99b528e01276054458da9553b587cfb959dfa436",
"url": "https://api.github.com/repos/zendframework/zend-validator/zipball/38109ed7d8e46cfa71bccbe7e6ca80cdd035f8c9",
"reference": "38109ed7d8e46cfa71bccbe7e6ca80cdd035f8c9",
"shasum": ""
},
"require": {
"container-interop/container-interop": "^1.1",
"php": "^5.5 || ^7.0",
"zendframework/zend-stdlib": "^2.7 || ^3.0"
"php": "^5.6 || ^7.0",
"zendframework/zend-stdlib": "^2.7.6 || ^3.1"
},
"require-dev": {
"fabpot/php-cs-fixer": "1.7.*",
"phpunit/phpunit": "^4.0",
"phpunit/phpunit": "^6.0.8 || ^5.7.15",
"zendframework/zend-cache": "^2.6.1",
"zendframework/zend-coding-standard": "~1.0.0",
"zendframework/zend-config": "^2.6",
"zendframework/zend-db": "^2.7",
"zendframework/zend-filter": "^2.6",
@ -999,24 +1033,24 @@
"zendframework/zend-i18n": "^2.6",
"zendframework/zend-math": "^2.6",
"zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3",
"zendframework/zend-session": "^2.6.2",
"zendframework/zend-session": "^2.8",
"zendframework/zend-uri": "^2.5"
},
"suggest": {
"zendframework/zend-db": "Zend\\Db component",
"zendframework/zend-db": "Zend\\Db component, required by the (No)RecordExists validator",
"zendframework/zend-filter": "Zend\\Filter component, required by the Digits validator",
"zendframework/zend-i18n": "Zend\\I18n component to allow translation of validation error messages as well as to use the various Date validators",
"zendframework/zend-i18n": "Zend\\I18n component to allow translation of validation error messages",
"zendframework/zend-i18n-resources": "Translations of validator messages",
"zendframework/zend-math": "Zend\\Math component",
"zendframework/zend-math": "Zend\\Math component, required by the Csrf validator",
"zendframework/zend-servicemanager": "Zend\\ServiceManager component to allow using the ValidatorPluginManager and validator chains",
"zendframework/zend-session": "Zend\\Session component",
"zendframework/zend-session": "Zend\\Session component, ^2.8; required by the Csrf validator",
"zendframework/zend-uri": "Zend\\Uri component, required by the Uri and Sitemap\\Loc validators"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.8-dev",
"dev-develop": "2.9-dev"
"dev-master": "2.10.x-dev",
"dev-develop": "2.11.x-dev"
},
"zf": {
"component": "Zend\\Validator",
@ -1038,33 +1072,33 @@
"validator",
"zf2"
],
"time": "2017-01-29T17:24:24+00:00"
"time": "2018-02-01T17:05:33+00:00"
},
{
"name": "zendframework/zend-view",
"version": "2.8.1",
"version": "2.10.0",
"source": {
"type": "git",
"url": "https://github.com/zendframework/zend-view.git",
"reference": "71b4ebd0c4c9a2d0e0438f9d3a435e08dd769ff8"
"reference": "4478cc5dd960e2339d88b363ef99fa278700e80e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/zendframework/zend-view/zipball/71b4ebd0c4c9a2d0e0438f9d3a435e08dd769ff8",
"reference": "71b4ebd0c4c9a2d0e0438f9d3a435e08dd769ff8",
"url": "https://api.github.com/repos/zendframework/zend-view/zipball/4478cc5dd960e2339d88b363ef99fa278700e80e",
"reference": "4478cc5dd960e2339d88b363ef99fa278700e80e",
"shasum": ""
},
"require": {
"php": "^5.5 || ^7.0",
"php": "^5.6 || ^7.0",
"zendframework/zend-eventmanager": "^2.6.2 || ^3.0",
"zendframework/zend-loader": "^2.5",
"zendframework/zend-stdlib": "^2.7 || ^3.0"
},
"require-dev": {
"fabpot/php-cs-fixer": "1.7.*",
"phpunit/phpunit": "^4.5",
"phpunit/phpunit": "^5.7.15 || ^6.0.8",
"zendframework/zend-authentication": "^2.5",
"zendframework/zend-cache": "^2.6.1",
"zendframework/zend-coding-standard": "~1.0.0",
"zendframework/zend-config": "^2.6",
"zendframework/zend-console": "^2.6",
"zendframework/zend-escaper": "^2.5",
@ -1082,7 +1116,7 @@
"zendframework/zend-router": "^3.0.1",
"zendframework/zend-serializer": "^2.6.1",
"zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3",
"zendframework/zend-session": "^2.6.2",
"zendframework/zend-session": "^2.8.1",
"zendframework/zend-uri": "^2.5"
},
"suggest": {
@ -1106,8 +1140,8 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.8-dev",
"dev-develop": "2.9-dev"
"dev-master": "2.10.x-dev",
"dev-develop": "2.11.x-dev"
}
},
"autoload": {
@ -1125,29 +1159,29 @@
"view",
"zf2"
],
"time": "2016-06-30T22:28:07+00:00"
"time": "2018-01-17T22:21:50+00:00"
},
{
"name": "zfcampus/zf-development-mode",
"version": "3.1.0",
"version": "3.2.0",
"source": {
"type": "git",
"url": "https://github.com/zfcampus/zf-development-mode.git",
"reference": "ffef6ab8cf84ee1d1a77a2b51ba2240d2707c05d"
"reference": "419004a320bab017d28f2bc5e7857dde7e19aecf"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/zfcampus/zf-development-mode/zipball/ffef6ab8cf84ee1d1a77a2b51ba2240d2707c05d",
"reference": "ffef6ab8cf84ee1d1a77a2b51ba2240d2707c05d",
"url": "https://api.github.com/repos/zfcampus/zf-development-mode/zipball/419004a320bab017d28f2bc5e7857dde7e19aecf",
"reference": "419004a320bab017d28f2bc5e7857dde7e19aecf",
"shasum": ""
},
"require": {
"php": "^5.6 || ^7.0"
},
"require-dev": {
"mikey179/vfsstream": "^1.6",
"phpunit/phpunit": "^5.4",
"squizlabs/php_codesniffer": "^2.3.1"
"mikey179/vfsstream": "^1.6.5",
"phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.5",
"zendframework/zend-coding-standard": "~1.0.0"
},
"bin": [
"bin/zf-development-mode"
@ -1155,8 +1189,8 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.1-dev",
"dev-develop": "3.2-dev"
"dev-master": "3.2.x-dev",
"dev-develop": "3.3.x-dev"
}
},
"autoload": {
@ -1169,12 +1203,12 @@
"BSD-3-Clause"
],
"description": "Zend Framework development mode script",
"homepage": "http://github.com/zfcampus/zf-development-mode",
"keywords": [
"ZendFramework",
"framework",
"zf2"
"zf"
],
"time": "2017-01-09T23:34:49+00:00"
"time": "2018-05-07T15:44:42+00:00"
}
],
"packages-dev": [],

View File

@ -15,4 +15,5 @@ return [
'Zend\Validator',
'Application',
'Smarty',
'CV',
];

View File

@ -1,20 +0,0 @@
<?php
if(isset($_POST['name']) && isset($_POST['email']) && isset($_POST['subject']) && isset($_POST['message'])){
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = nl2br($_POST['message']);
$to = "your@gmail.com";
$from = $email;
$message_format = '<b>Name:</b> '.$name.' <br><b>Email:</b> '.$email.' <p>'.$message.'</p>';
$headers = "From: $from\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "content-type: text/html; charset=iso-8859-1\n";
if(mail($to, $subject, $message_format, $headers)){
echo "success";
}else{
echo "The server failed to send teh message. Please try again later.";
}
}
?>

View File

@ -34,21 +34,12 @@ return [
],
],
],
'application' => [
'type' => Segment::class,
'options' => [
'route' => '/application[/:action]',
'defaults' => [
'controller' => Controller\IndexController::class,
'action' => 'index',
],
],
],
],
],
'controllers' => [
'factories' => [
Controller\IndexController::class => InvokableFactory::class,
Controller\VaultController::class => InvokableFactory::class,
],
],
'view_manager' => [

View File

@ -17,6 +17,7 @@ class IndexController extends AbstractActionController
{
public function indexAction()
{ $view = new ViewModel();
$view->setTerminal(true);
return $view;
}

View File

@ -1,4 +1,5 @@
{extends '../../../../../module/Application/view/layout/layout.tpl'}
{block 'content'}
<!--------------------------------------HEADER-------------------------------------->
@ -19,7 +20,8 @@
<li><a id="about-link" href="#about">À propos </a></li>
<li><a id="competences-link" href="#competences">Competences</a></li>
<li><a id="experiences-link" href="#experiences">Experiences</a></li>
<li><a id="engagement-link" href="#engagement">Engagements</a></li>
{*<li><a id="engagement-link" href="#engagement">Engagements</a></li>*}
<li><a id="projets-link" href="#projets">Projets</a></li>
<li><a id="contact-link" href="#contact">Contact</a></li>
</ul>
</nav>
@ -331,7 +333,7 @@
</section>
<!--------------------------------------ENGAGEMENT SECTION-------------------------------------->
{*
<section id="engagement">
<div class="container">
<div class="section-title">
@ -355,7 +357,7 @@
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-4 hb vb">
<div class="service-block">
<i class="icon fas fa-mobile-alt"></i>
<h3>Fully Responsive</h3>
<h3>Responsif</h3>
</div>
</div>
@ -394,7 +396,74 @@
</div>
</section>
*}
<!--------------------------------------PROJETS PERSONELS SECTION-------------------------------------->
<section id="projets">
<div class="container">
<div class="section-title">
<h1>Mes projets <span class="accent-text">Personels</span></h1>
</div>
<div class="row center-xs center-sm center-md center-lg">
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
<div id="carousel-projets" class="carousel slide" data-ride="carousel">
<!-- Indicators -->
<ul class="carousel-indicators">
<li data-target="#carousel-projets" data-slide-to="0" class="active"></li>
<li data-target="#carousel-projets" data-slide-to="1"></li>
<li data-target="#carousel-projets" data-slide-to="2"></li>
</ul>
<!-- The slideshow -->
<div class="carousel-inner">
<div class="carousel-item active">
<img src="img/illust_TimeLaps.JPG">
<div class="carousel-caption d-none d-md-block">
<h5>TimeLaps</h5>
<p>
Application de gestion de relai de course d'endurance.
Permet entre autre de gérer les relais, le panneautage, l'autonomie et la durée dans les stands.
</p>
</div>
</div>
<div class="carousel-item">
<img src="img/illust_VaultMeUp.JPG">
<div class="carousel-caption d-none d-md-block">
<h5>VaultMeUp</h5>
<p>
Application permettant de générer un mot de passe complèxe à partir d'une url et d'une clé de génération (Mot de passe qu'on utilise régulièrement).
Le mot de passe généré est unique pour chaque couple url/clé ce qui permet de retrouver le mot de passe d'origine en cas d'oubli.
</p>
<a class="btn btn-outline-light" href="/vault" target="_blank">Ouvrir l'application</a>
</div>
</div>
<div class="carousel-item">
<img src="img/illust_FlatWeather.JPG">
<div class="carousel-caption d-none d-md-block">
<h5>FlatWeather</h5>
<p>
Application mobile permetant d'obtenir la météo de de manière géolocalisée, à la demande et via carte.
Cette application à été réalisée pour monter en compétence sur IonicFramefork et AngularJs.
</p>
</div>
</div>
</div>
<!-- Left and right controls -->
<a class="carousel-control-prev hover-dark" href="#carousel-projets" data-slide="prev">
<i class="fas fa-2x fa-chevron-left hover-dark"></i>
</a>
<a class="carousel-control-next hover-dark" href="#carousel-projets" data-slide="next">
<i class="fas fa-2x fa-chevron-right "></i>
</a>
</div>
</div>
</div>
</section>
<!--------------------------------------CONTACT SECTION-------------------------------------->
<section id="contact">
@ -530,8 +599,6 @@
</div>
</div>
</div>
<!--------------------------------------FOOTER SECTION-------------------------------------->
<footer>
<p>Copyright &#169; 2018 bricho.com And Made With Love All Rights Reserved.</p>
</footer>
<script src="js/libs/particles-conf.js"></script>
{/block}

View File

@ -3,6 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="img/favicon.ico"/>
<title>Nicolas Riault</title>
<!--------------------------------------CSS-------------------------------------->
@ -22,10 +23,9 @@
<link href="css/timeline.css" type="text/css" rel="stylesheet"/>
<!--------------------------------------JS-------------------------------------->
<script src="js/form.js"></script>
<script src="js/libs/jquery.min.js"></script>
</head>
<body>
<!--------------------------------------PRELOAD PAGE-------------------------------------->
<div id="preload-overlay">
@ -35,546 +35,14 @@
</div>
</div>
<body>
{block 'content'}{/block}
<!--------------------------------------HEADER-------------------------------------->
<header id="main-header">
<div class="header-wrapper">
<a class="logo" href="#">Nicolas</a>
<div class="mobile-toggle">
<span></span>
<span></span>
<span></span>
</div>
<nav>
<ul>
<!--Main nav to navigate to different parts of the page-->
<li><a id="hero-link" href="#hero">Accueil</a></li>
<li><a id="about-link" href="#about">À propos </a></li>
<li><a id="competences-link" href="#competences">Competences</a></li>
<li><a id="experiences-link" href="#experiences">Experiences</a></li>
{*<li><a id="engagement-link" href="#engagement">Engagements</a></li>*}
<li><a id="contact-link" href="#contact">Contact</a></li>
</ul>
</nav>
</div>
</header>
<!--------------------------------------HERO IMAGE-------------------------------------->
<section id="hero">
<div id="particles-js">
<div class="row center-xs center-sm center-md center-lg middle-xs middle-sm middle-md middle-lg">
<div class="static col-xs-10 col-sm-10 col-md-10 col-lg-10">
<div class="hero-content">
<img src="img/profile-pic2.jpg">
<h1>Nicolas Riault</h1>
<h2 id="hero-text-animation">Web Developer Full Stack, Consultant IT</h2>
<button class="download"><a download href="downloads/example.txt">Télécharger mon CV</a></button>
<!--To add your file simply replace example.txt with whatever file you want-->
</div>
</div>
</div>
</div>
</section>
<!--------------------------------------ABOUT SECTION-------------------------------------->
<section id="about">
<div class="container">
<div class="row left-xs left-sm left-md left-lg">
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-6">
<div class="about-text">
<h2>Bonjour, je m'appelle <span class="accent-text">Nicolas</span></h2>
<p>
Ouvert et curieux de caractère, je suis à laise dans la relation client et apprécie le travail
en équipe.
Jaime ce travail de développeur qui nécessite une capacité dadaptation et découte au service
dun projet.
<br>
Du point de vue technique, je développe principalement en PHP, C#. Je suis également a l'aise
avec SQL Server et la solution MSBI.
<br>
Sur mon temps libre je travaille sur des projets personnels que j'autilise au quotidien en
utilisant de nouvelles technologies (AngularJs, Ionic ... ).
</p>
<ul class="about-social">
<!--Social icons for the about section-->
<!--These icons are font-awesome icons and more can be looked up at https://fontawesome.com/icons?d=gallery-->
<li><a href="http://www.google.com"><i class="fab fa-facebook-f"></i></a></li>
<!--Simply replace the google link with your social media link-->
<li><a href="http://www.google.com"><i class="fab fa-twitter"></i></a></li>
<li><a href="http://www.google.com"><i class="far fa-envelope"></i></a></li>
<li><a href="http://www.google.com"><i class="fab fa-google-plus-g"></i></a></li>
<li><a href="http://www.google.com"><i class="fab fa-youtube"></i></a></li>
</ul>
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-6">
<div class="about-resume">
<div class="education">
<h2>Cursus et certifications</h2>
<div class="eduction-block">
<h4>SQL Server 2014 Performance Tuning and Optimization</h4>
<p>2017 - IB Formation - Paris</p>
</div>
<div class="eduction-block">
<h4>Licence Professionelle logiciel libre et propriétaire</h4>
<p>2012 - UFR Des Sciences - Angers</p>
</div>
<div class="eduction-block">
<h4>BTS Informatique de Gestion</h4>
<p>2011 - Lycée Chevrollier - Angers</p>
</div>
<div class="eduction-block">
<h4>Lycée Notre Dame</h4>
<p>2009 - Baccalauréat Scientifique - La Flèche</p>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!--------------------------------------COMPETENCES SECTION-------------------------------------->
<section id="competences">
<div class="container">
<div class="section-title">
<h1>Mes <span class="accent-text">Compétences</span></h1>
</div>
<div class="row left-xs left-sm left-md left-lg">
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-6">
<div class="about-resume">
<div class="skills">
<h2>Développement</h2>
<div class="skill-progress-container">
<p>PHP</p>
<div class="skill-bar">
<div class="bar-percent php">
<div class="inner-percent"></div>
</div>
</div>
</div>
<div class="skill-progress-container">
<p>Javascript</p>
<div class="skill-bar">
<div class="bar-percent php">
<div class="inner-percent"></div>
</div>
</div>
</div>
<div class="skill-progress-container">
<p>HTML / CSS</p>
<div class="skill-bar">
<div class="bar-percent html">
<div class="inner-percent"></div>
</div>
</div>
</div>
<div class="skill-progress-container">
<p>.NET / C#</p>
<div class="skill-bar">
<div class="bar-percent net">
<div class="inner-percent"></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-6">
<div class="about-resume">
<div class="skills">
<h2>SGBD / Business intelligence</h2>
<div class="skill-progress-container">
<p>SQL Server</p>
<div class="skill-bar">
<div class="bar-percent php">
<div class="inner-percent"></div>
</div>
</div>
</div>
<div class="skill-progress-container">
<p>Microsoft BI</p>
<div class="skill-bar">
<div class="bar-percent msbi">
<div class="inner-percent"></div>
</div>
</div>
</div>
<div class="skill-progress-container">
<p>MySQL</p>
<div class="skill-bar">
<div class="bar-percent mysql">
<div class="inner-percent"></div>
</div>
</div>
</div>
<div class="skill-progress-container">
<p>PostgreSQL</p>
<div class="skill-bar">
<div class="bar-percent postgresql">
<div class="inner-percent"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row left-xs left-sm left-md left-lg">
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-6">
<div class="about-resume">
<div class="skills">
<h2>Autres</h2>
<div class="skill-progress-container">
<p>MongoDb / CassandraDb</p>
<div class="skill-bar">
<div class="bar-percent msbi">
<div class="inner-percent"></div>
</div>
</div>
</div>
<div class="skill-progress-container">
<p>Python</p>
<div class="skill-bar">
<div class="bar-percent msbi">
<div class="inner-percent"></div>
</div>
</div>
</div>
<div class="skill-progress-container">
<p>NodeJs</p>
<div class="skill-bar">
<div class="bar-percent mysql">
<div class="inner-percent"></div>
</div>
</div>
</div>
<div class="skill-progress-container">
<p>AngularJS</p>
<div class="skill-bar">
<div class="bar-percent mysql">
<div class="inner-percent"></div>
</div>
</div>
</div>
<div class="skill-progress-container">
<p>Ionic Framework</p>
<div class="skill-bar">
<div class="bar-percent postgresql">
<div class="inner-percent"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!--------------------------------------EXPERIENCES SECTION-------------------------------------->
<section id="experiences" class="timeline">
<div class="container">
<div class="section-title">
<h1>Mes <span class="accent-text">Experiences</span></h1>
</div>
<div class="timeline-item">
<div class="timeline-img"></div>
<div class="timeline-content js--fadeInLeft">
<h3>Développeur Full Stack - Serveurcom</h3>
<div class="date">12/2015 - Actuel</div>
<p>
Maintenance évolutive d'une application de facturation pour les télécoms.
<br>
Macro gestion de l'équipe de développement.
<br>
Formation Microsoft 55144B.
</p>
<a class="bnt-more" onclick="launchModale('#modalServeurcom')">Détail</a>
</div>
</div>
<div class="timeline-item">
<div class="timeline-img"></div>
<div class="timeline-content js--fadeInRight">
<h3>Consultant SI - Capgémini</h3>
<div class="date">02/2013 - 11/2015</div>
<p>
Développeur référent pour une TMA pour le groupe La Poste.
<br>
<small><i>PHP(CakePhp), MSBI/Asp.NET ( SSAS, SSRS, SSIS)</i></small>
<br>
TMA pour le ministère des sports.
<br>
<small><i>.NET/MSBI</i></small>
<br>
TMA pour l'Agence nationale de la recherche.
<br>
<small><i>C#, ASP, Sharepoint</i></small>
<br>
</p>
<a class="bnt-more" onclick="launchModale('#modalCapgemini')">Détail</a>
</div>
</div>
<div class="timeline-item">
<div class="timeline-img"></div>
<div class="timeline-content js--fadeInLeft">
<div class="date">04/2012 - 11/2012</div>
<h3>Développeur - INRA</h3>
<p>
Développement d'une application web pour informatiser le métier des chercheurs.
<br>
<small><i>Qooxdoo, Python, PostgreSQL</i></small>
</p>
</div>
</div>
<div class="timeline-item">
<div class="timeline-img"></div>
<div class="timeline-content js--fadeInRight">
<h3>Développeur Web - Archimède</h3>
<div class="date">06/2011 - 07/2011</div>
<p>Developpement d'un site vitrine sous Joomla</p>
</div>
</div>
</div>
</section>
<!--------------------------------------ENGAGEMENT SECTION-------------------------------------->
{*
<section id="engagement">
<div class="container">
<div class="section-title">
<h1>Mes <span class="accent-text">Engagements</span></h1>
</div>
<div class="row center-xs center-sm center-md center-lg trigger"><!--Row 1-->
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-4 hb vb">
<div class="service-block">
<i class="icon fas fa-code"></i>
<h3>Web Development</h3>
</div>
</div>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-4 hb vb">
<div class="service-block">
<i class="icon fas fa-laptop"></i>
<h3>Web Design</h3>
</div>
</div>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-4 hb vb">
<div class="service-block">
<i class="icon fas fa-mobile-alt"></i>
<h3>Responsif</h3>
</div>
</div>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-4 hb vb">
<div class="service-block">
<i class="icon far fa-file-alt"></i>
<h3>Documentation</h3>
<p>
Analyse du besoin, qualification, chiffrage, rédaction des spécifications et des cahiers de
test.
</p>
</div>
</div>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-4 hb vb">
<div class="service-block">
<i class="icon far fa-copy"></i>
<h3>Clean Coder</h3>
<p>
Adepte du manifeste "Software craftsmanship manifesto".
<br>
<small>
<i>Pas seulement une application qui marche, mais une application bien faite, perreine,
robuste, maintenable et évolutive. </i>
</small>
</p>
</div>
</div>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-4 hb vb">
<div class="service-block">
<i class="icon fas fa-cogs"></i>
<h3>Support</h3>
<p>Gestion du SAV, priorisation des tickets.</p>
</div>
</div>
</div>
</div>
</section>
*}
<!--------------------------------------CONTACT SECTION-------------------------------------->
<section id="contact">
<div class="container">
<div class="section-title">
<h1>Contactez <span class="accent-text">Moi</span></h1>
</div>
<div class="row center-xs center-sm center-md center-lg">
<div class="col-xs-12 col-sm-4 col-md-4 col-lg-4">
<div class="contact-info">
<div class="contact-block">
<i class="fas fa-mobile-alt"></i>
<div class="contact-text">
<p>Numéro :</p>
<p>+33637290170</p>
</div>
</div>
<div class="contact-block">
<i class="far fa-envelope"></i>
<div class="contact-text">
<p>Email : </p>
<p>nicolas.riault@gmail.com</p>
</div>
</div>
<div class="contact-block">
<i class="fas fa-location-arrow"></i>
<div class="contact-text">
<p>
Addresse :
</p>
<p>
90 boulevard de la butte
72230 - Mulsanne
</p>
</div>
</div>
</div>
</div>
<div class="col-xs-12 col-sm-8 col-md-8 col-lg-8">
<form id="contact-form" onsubmit="submitForm(); return false;">
<div class="field">
Nom<br>
<input type="text" id="name" value="" required>
</div>
<div class="field">
Email<br>
<input type="text" id="email" value="" required>
</div>
<div class="field">
Sujet<br>
<input type="text" id="subject" value="" required>
</div>
<div class="field">
Message<br>
<textarea id="message" rows="10" cols="75"
required></textarea>
</div>
<div class="field">
<input type="submit" id="contact-submit" value="Envoyer"><span id="status"></span>
</div>
</form>
</div>
</div>
</div>
</section>
<!--------------------------------------MODALES LIST-------------------------------------->
<div class="modal fade" id="modalServeurcom" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Développeur Full Stack - Serveurcom</h5>
</div>
<div class="modal-body">
<p>
Reprise en interne puis maintenance évolutive d'une application de facturation
Télécom développée par un prestataire externe.<br>
Développements de plusieurs briques dont une refonte visuelle complète de
l'application et la création de tableaux de bords complets dans le but de suivre
l'activité de l'entreprise mais aussi permettre aux revendeurs de suivre leur
activité.<br>
Responsable de la tenue des performances et de l'optimisation des traitements de
facturation sous SQL Server 2014.<br>
Rédaction de spécifications fonctionnelles pour les évolutions, définition de
roadmap pour planifier les besoins, macro gestion de l'équipe de développeurs et
organisation de daily meetings pour gérer lactivité de l'équipe de développement.<br>
Mise en place de JIRA pour gérer les taches de l'équipe.<br>
<br>
Formation Microsoft 55144B : "SQL Server 2014 Performance Tuning and
Optimization"
</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Fermer</button>
</div>
</div>
</div>
</div>
<div class="modal fade" id="modalCapgemini" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Consultant SI - Capgémini</h5>
</div>
<div class="modal-body">
<p>
Projet de TMA pour le groupe La Poste, Développeur référent <br>
- 6 applications php, sous framework CakePhp<br>
- 3 applications MSBI/Asp.NET ( SSAS, SSRS, SSIS)<br>
- Outre le développement pur, j'ai régulièrement réalisé les conceptions techniques, la mise à jour
des spécifications fonctionnelles, mais aussi la rédaction et le passage des campagnes de tests sous
quality center.<br>
-Communication régulière avec le client<br><br>
TMA pour le ministère des sports.<br>
- Développeur en support pour 2 applications .NET/MSBI pour le ministère des sports.<br>
- Réalisation de conception techniques, mise à jour des spécifications fonctionnelles, rédaction et
passage des campagnes de tests sous quality center.<br><br>
Développeur - Projet de TMA pour l'ANR.<br>
- Maintenance et évolution d'une application de gestion des demandes
</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Fermer</button>
</div>
</div>
</div>
</div>
<!--------------------------------------FOOTER SECTION-------------------------------------->
<script src="js/libs/jquery.min.js"></script>
<script src="js/libs/isotope.pkgd.min.js"></script>
<script src="js/libs/particles.min.js"></script>
<script src="js/libs/particles-conf.js"></script>
<script src="js/libs/owl.carousel.min.js"></script>
<script src="js/libs/scrollmagic/minified/ScrollMagic.min.js"></script>
<script src="js/libs/scrollmagic/uncompressed/plugins/debug.addIndicators.js"></script>
@ -584,4 +52,4 @@
<script src="js/libs/jscrollreveal.min.js"></script>
</body>
</html>
</html>

5
module/CV/.gitignore vendored Normal file
View File

@ -0,0 +1,5 @@
.buildpath
.project
.settings/
.DS_Store
vendor/

28
module/CV/LICENSE.md Normal file
View File

@ -0,0 +1,28 @@
Copyright (c) 2005-2015, Zend Technologies USA, Inc.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
- Neither the name of Zend Technologies USA, Inc. nor the names of its
contributors may be used to endorse or promote products derived from this
software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

86
module/CV/README.md Normal file
View File

@ -0,0 +1,86 @@
# Zend Framework Skeleton Module
This is a sample skeleton module for use with
[zend-mvc](https://docs.zendframework.com/zend-mvc) applications.
## Installation
First, decide on a namespace for your new module. For purposes of this README,
we will use `MyNewModule`.
Clone this repository into your application:
```bash
$ cd module
$ git clone https://github.com/zendframework/ZendSkeletonModule MyNewModule
$ cd MyNewModule
```
If you wish to version the new module with your application, and not as a
separate project, remove the various Git artifacts within it:
```bash
$ rm -Rf .git .gitignore
```
If you want to version it separately, remove the origin remote so you can
specify a new one later:
```bash
$ git remote remove origin
```
The next step will be to change the namespace in the various files. Open each
of `config/module.config.php`, `src/Module.php`, and
`src/Controller/SkeletonController.php`, and replace any occurence of
`ZendSkeletonModule` with your new namespace.
> ### find and sed
>
> You can also do this with the Unix utilties `find` and `sed`:
>
> ```bash
> $ for php in $(find . -name '*.php');do
> > sed --in-place -e 's/ZendSkeletonModule/MyNewModule/g' $php
> > done
> ```
Next, we need to setup autoloading in your application. Open the `composer.json`
file in your application root, and add an entry under the `autoload.psr-4` key:
```json
"autoload": {
"psr-4": {
"MyNewModule\\": "module/MyNewModule/src/"
}
}
```
When done adding the entry:
```bash
$ composer dump-autoload
```
Finally, notify your application of the module. Open
`config/modules.config.php`, and add it to the bottom of the list:
```php
return [
/* ... */
'MyNewModule',
]
```
> ### application.config.php
>
> If you are using an older version of the skeleton application, you may not
> have a `modules.config.php` file. If that is the case, open `config/application.config.php`
> instead, and add your module under the `modules` key:
>
> ```php
> 'modules' => [
> /* ... */
> 'MyNewModule',
> ],
> ```

View File

@ -0,0 +1,53 @@
<?php
namespace CV;
use Zend\ServiceManager\Factory\InvokableFactory;
return [
'controllers' => [
'factories' => [
Controller\IndexController::class => InvokableFactory::class,
],
],
'router' => [
'routes' => [
'CV' => [
'type' => 'Literal',
'options' => [
// Change this to something specific to your module
'route' => '/cv',
'defaults' => [
'controller' => Controller\IndexController::class,
'action' => 'index',
],
],
'may_terminate' => true,
'child_routes' => [
// You can place additional routes that match under the
// route defined above here.
],
],
'Vault' => [
'type' => 'Literal',
'options' => [
// Change this to something specific to your module
'route' => '/vault',
'defaults' => [
'controller' => Controller\IndexController::class,
'action' => 'vault',
],
],
'may_terminate' => true,
'child_routes' => [
// You can place additional routes that match under the
// route defined above here.
],
],
],
],
'view_manager' => [
'template_path_stack' => [
'CV' => __DIR__ . '/../view',
],
],
];

View File

@ -1,11 +1,11 @@
<?php
/**
* @link http://github.com/zendframework/ZendSkeletonApplication for the canonical source repository
* @link http://github.com/zendframework/ZendSkeletonModule for the canonical source repository
* @copyright Copyright (c) 2005-2016 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
namespace Karting\Controller;
namespace CV\Controller;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\JsonModel;
@ -14,7 +14,14 @@ use Zend\View\Model\ViewModel;
class IndexController extends AbstractActionController
{
public function indexAction()
{
return new ViewModel();
{ $view = new ViewModel();
$view->setTerminal(true);
return $view;
}
public function vaultAction()
{ $view = new ViewModel();
$view->setTerminal(true);
return $view;
}
}

View File

@ -1,16 +1,14 @@
<?php
/**
* @link http://github.com/zendframework/ZendSkeletonApplication for the canonical source repository
* @link http://github.com/zendframework/ZendSkeletonModule for the canonical source repository
* @copyright Copyright (c) 2005-2016 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
namespace Karting;
namespace CV;
class Module
{
const VERSION = '3.0.3-dev';
public function getConfig()
{
return include __DIR__ . '/../config/module.config.php';

View File

@ -0,0 +1,582 @@
{extends '../../../../../module/Application/view/layout/layout.tpl'}
{block 'content'}
<!--------------------------------------HEADER-------------------------------------->
<header id="main-header">
<div class="header-wrapper">
<a class="logo" href="#">Nicolas</a>
<div class="mobile-toggle">
<span></span>
<span></span>
<span></span>
</div>
<nav>
<ul>
<!--Main nav to navigate to different parts of the page-->
<li><a id="hero-link" href="#hero">Accueil</a></li>
<li><a id="about-link" href="#about">À propos </a></li>
<li><a id="competences-link" href="#competences">Competences</a></li>
<li><a id="experiences-link" href="#experiences">Experiences</a></li>
{*<li><a id="engagement-link" href="#engagement">Engagements</a></li>*}
<li><a id="projets-link" href="#projets">Projets</a></li>
<li><a id="contact-link" href="#contact">Contact</a></li>
</ul>
</nav>
</div>
</header>
<!--------------------------------------HERO IMAGE-------------------------------------->
<section id="hero">
<div id="particles-js">
<div class="row center-xs center-sm center-md center-lg middle-xs middle-sm middle-md middle-lg">
<div class="static col-xs-10 col-sm-10 col-md-10 col-lg-10">
<div class="hero-content">
<img src="img/profile-pic2.jpg">
<h1>Nicolas Riault</h1>
<h2 id="hero-text-animation">Web Developer Full Stack, Consultant IT</h2>
<button class="download"><a download href="downloads/example.txt">Télécharger mon CV</a></button>
<!--To add your file simply replace example.txt with whatever file you want-->
</div>
</div>
</div>
</div>
</section>
<!--------------------------------------ABOUT SECTION-------------------------------------->
<section id="about">
<div class="container">
<div class="row left-xs left-sm left-md left-lg">
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-6">
<div class="about-text">
<h2>Bonjour, je m'appelle <span class="accent-text">Nicolas</span></h2>
<p>
Ouvert et curieux de caractère, je suis à laise dans la relation client et apprécie le travail
en équipe.
Jaime ce travail de développeur qui nécessite une capacité dadaptation et découte au service
dun projet.
<br>
Du point de vue technique, je développe principalement en PHP, C#. Je suis également a l'aise
avec SQL Server et la solution MSBI.
<br>
Sur mon temps libre je travaille sur des projets personnels que j'autilise au quotidien en
utilisant de nouvelles technologies (AngularJs, Ionic ... ).
</p>
<ul class="about-social">
<!--Social icons for the about section-->
<!--These icons are font-awesome icons and more can be looked up at https://fontawesome.com/icons?d=gallery-->
<li><a href="http://www.google.com"><i class="fab fa-facebook-f"></i></a></li>
<!--Simply replace the google link with your social media link-->
<li><a href="http://www.google.com"><i class="fab fa-twitter"></i></a></li>
<li><a href="http://www.google.com"><i class="far fa-envelope"></i></a></li>
<li><a href="http://www.google.com"><i class="fab fa-google-plus-g"></i></a></li>
<li><a href="http://www.google.com"><i class="fab fa-youtube"></i></a></li>
</ul>
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-6">
<div class="about-resume">
<div class="education">
<h2>Cursus et certifications</h2>
<div class="eduction-block">
<h4>SQL Server 2014 Performance Tuning and Optimization</h4>
<p>2017 - IB Formation - Paris</p>
</div>
<div class="eduction-block">
<h4>Licence Professionelle logiciel libre et propriétaire</h4>
<p>2012 - UFR Des Sciences - Angers</p>
</div>
<div class="eduction-block">
<h4>BTS Informatique de Gestion</h4>
<p>2011 - Lycée Chevrollier - Angers</p>
</div>
<div class="eduction-block">
<h4>Lycée Notre Dame</h4>
<p>2009 - Baccalauréat Scientifique - La Flèche</p>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!--------------------------------------COMPETENCES SECTION-------------------------------------->
<section id="competences">
<div class="container">
<div class="section-title">
<h1>Mes <span class="accent-text">Compétences</span></h1>
</div>
<div class="row left-xs left-sm left-md left-lg">
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-6">
<div class="about-resume">
<div class="skills">
<h2>Développement</h2>
<div class="skill-progress-container">
<p>PHP</p>
<div class="skill-bar">
<div class="bar-percent php">
<div class="inner-percent"></div>
</div>
</div>
</div>
<div class="skill-progress-container">
<p>Javascript</p>
<div class="skill-bar">
<div class="bar-percent php">
<div class="inner-percent"></div>
</div>
</div>
</div>
<div class="skill-progress-container">
<p>HTML / CSS</p>
<div class="skill-bar">
<div class="bar-percent html">
<div class="inner-percent"></div>
</div>
</div>
</div>
<div class="skill-progress-container">
<p>.NET / C#</p>
<div class="skill-bar">
<div class="bar-percent net">
<div class="inner-percent"></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-6">
<div class="about-resume">
<div class="skills">
<h2>SGBD / Business intelligence</h2>
<div class="skill-progress-container">
<p>SQL Server</p>
<div class="skill-bar">
<div class="bar-percent php">
<div class="inner-percent"></div>
</div>
</div>
</div>
<div class="skill-progress-container">
<p>Microsoft BI</p>
<div class="skill-bar">
<div class="bar-percent msbi">
<div class="inner-percent"></div>
</div>
</div>
</div>
<div class="skill-progress-container">
<p>MySQL</p>
<div class="skill-bar">
<div class="bar-percent mysql">
<div class="inner-percent"></div>
</div>
</div>
</div>
<div class="skill-progress-container">
<p>PostgreSQL</p>
<div class="skill-bar">
<div class="bar-percent postgresql">
<div class="inner-percent"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row left-xs left-sm left-md left-lg">
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-6">
<div class="about-resume">
<div class="skills">
<h2>Autres</h2>
<div class="skill-progress-container">
<p>MongoDb / CassandraDb</p>
<div class="skill-bar">
<div class="bar-percent msbi">
<div class="inner-percent"></div>
</div>
</div>
</div>
<div class="skill-progress-container">
<p>Python</p>
<div class="skill-bar">
<div class="bar-percent msbi">
<div class="inner-percent"></div>
</div>
</div>
</div>
<div class="skill-progress-container">
<p>NodeJs</p>
<div class="skill-bar">
<div class="bar-percent mysql">
<div class="inner-percent"></div>
</div>
</div>
</div>
<div class="skill-progress-container">
<p>AngularJS</p>
<div class="skill-bar">
<div class="bar-percent mysql">
<div class="inner-percent"></div>
</div>
</div>
</div>
<div class="skill-progress-container">
<p>Ionic Framework</p>
<div class="skill-bar">
<div class="bar-percent postgresql">
<div class="inner-percent"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!--------------------------------------EXPERIENCES SECTION-------------------------------------->
<section id="experiences" class="timeline">
<div class="container">
<div class="section-title">
<h1>Mes <span class="accent-text">Experiences</span></h1>
</div>
<div class="timeline-item">
<div class="timeline-img"></div>
<div class="timeline-content js--fadeInLeft">
<h3>Développeur Full Stack - Serveurcom</h3>
<div class="date">12/2015 - Actuel</div>
<p>
Maintenance évolutive d'une application de facturation pour les télécoms.
<br>
Macro gestion de l'équipe de développement.
<br>
Formation Microsoft 55144B.
</p>
<a class="bnt-more" onclick="launchModale('#modalServeurcom')">Détail</a>
</div>
</div>
<div class="timeline-item">
<div class="timeline-img"></div>
<div class="timeline-content js--fadeInRight">
<h3>Consultant SI - Capgémini</h3>
<div class="date">02/2013 - 11/2015</div>
<p>
Développeur référent pour une TMA pour le groupe La Poste.
<br>
<small><i>PHP(CakePhp), MSBI/Asp.NET ( SSAS, SSRS, SSIS)</i></small>
<br>
TMA pour le ministère des sports.
<br>
<small><i>.NET/MSBI</i></small>
<br>
TMA pour l'Agence nationale de la recherche.
<br>
<small><i>C#, ASP, Sharepoint</i></small>
<br>
</p>
<a class="bnt-more" onclick="launchModale('#modalCapgemini')">Détail</a>
</div>
</div>
<div class="timeline-item">
<div class="timeline-img"></div>
<div class="timeline-content js--fadeInLeft">
<div class="date">04/2012 - 11/2012</div>
<h3>Développeur - INRA</h3>
<p>
Développement d'une application web pour informatiser le métier des chercheurs.
<br>
<small><i>Qooxdoo, Python, PostgreSQL</i></small>
</p>
</div>
</div>
<div class="timeline-item">
<div class="timeline-img"></div>
<div class="timeline-content js--fadeInRight">
<h3>Développeur Web - Archimède</h3>
<div class="date">06/2011 - 07/2011</div>
<p>Developpement d'un site vitrine sous Joomla</p>
</div>
</div>
</div>
</section>
<!--------------------------------------ENGAGEMENT SECTION-------------------------------------->
{*
<section id="engagement">
<div class="container">
<div class="section-title">
<h1>Mes <span class="accent-text">Engagements</span></h1>
</div>
<div class="row center-xs center-sm center-md center-lg trigger"><!--Row 1-->
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-4 hb vb">
<div class="service-block">
<i class="icon fas fa-code"></i>
<h3>Web Development</h3>
</div>
</div>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-4 hb vb">
<div class="service-block">
<i class="icon fas fa-laptop"></i>
<h3>Web Design</h3>
</div>
</div>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-4 hb vb">
<div class="service-block">
<i class="icon fas fa-mobile-alt"></i>
<h3>Responsif</h3>
</div>
</div>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-4 hb vb">
<div class="service-block">
<i class="icon far fa-file-alt"></i>
<h3>Documentation</h3>
<p>
Analyse du besoin, qualification, chiffrage, rédaction des spécifications et des cahiers de
test.
</p>
</div>
</div>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-4 hb vb">
<div class="service-block">
<i class="icon far fa-copy"></i>
<h3>Clean Coder</h3>
<p>
Adepte du manifeste "Software craftsmanship manifesto".
<br>
<small>
<i>Pas seulement une application qui marche, mais une application bien faite, perreine,
robuste, maintenable et évolutive. </i>
</small>
</p>
</div>
</div>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-4 hb vb">
<div class="service-block">
<i class="icon fas fa-cogs"></i>
<h3>Support</h3>
<p>Gestion du SAV, priorisation des tickets.</p>
</div>
</div>
</div>
</div>
</section>
*}
<!--------------------------------------PROJETS PERSONELS SECTION-------------------------------------->
<section id="projets">
<div class="container">
<div class="section-title">
<h1>Mes projets <span class="accent-text">Personels</span></h1>
</div>
<div class="row center-xs center-sm center-md center-lg">
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
<div id="carousel-projets" class="carousel slide" data-ride="carousel">
<!-- Indicators -->
<ul class="carousel-indicators">
<li data-target="#carousel-projets" data-slide-to="0" class="active"></li>
<li data-target="#carousel-projets" data-slide-to="1"></li>
<li data-target="#carousel-projets" data-slide-to="2"></li>
</ul>
<!-- The slideshow -->
<div class="carousel-inner">
<div class="carousel-item active">
<img src="img/hero8.jpg" alt="Los Angeles">
</div>
<div class="carousel-item">
<img src="img/hero9.jpg" alt="Chicago">
</div>
<div class="carousel-item">
<img src="img/hero10.jpg" alt="New York">
</div>
</div>
<!-- Left and right controls -->
<a class="carousel-control-prev" href="#carousel-projets" data-slide="prev">
<span class="carousel-control-prev-icon"><i class="fas fa-chevron-left"></i></span>
</a>
<a class="carousel-control-next" href="#carousel-projets" data-slide="next">
<span class="carousel-control-next-icon"><i class="fas fa-chevron-right"></i></span>
</a>
</div>
</div>
</div>
</section>
<!--------------------------------------CONTACT SECTION-------------------------------------->
<section id="contact">
<div class="container">
<div class="section-title">
<h1>Contactez <span class="accent-text">Moi</span></h1>
</div>
<div class="row center-xs center-sm center-md center-lg">
<div class="col-xs-12 col-sm-4 col-md-4 col-lg-4">
<div class="contact-info">
<div class="contact-block">
<i class="fas fa-mobile-alt"></i>
<div class="contact-text">
<p>Numéro :</p>
<p>+33637290170</p>
</div>
</div>
<div class="contact-block">
<i class="far fa-envelope"></i>
<div class="contact-text">
<p>Email : </p>
<p>nicolas.riault@gmail.com</p>
</div>
</div>
<div class="contact-block">
<i class="fas fa-location-arrow"></i>
<div class="contact-text">
<p>
Addresse :
</p>
<p>
90 boulevard de la butte
72230 - Mulsanne
</p>
</div>
</div>
</div>
</div>
<div class="col-xs-12 col-sm-8 col-md-8 col-lg-8">
<form id="contact-form" onsubmit="submitForm(); return false;">
<div class="field">
Nom<br>
<input type="text" id="name" value="" required>
</div>
<div class="field">
Email<br>
<input type="text" id="email" value="" required>
</div>
<div class="field">
Sujet<br>
<input type="text" id="subject" value="" required>
</div>
<div class="field">
Message<br>
<textarea id="message" rows="10" cols="75"
required></textarea>
</div>
<div class="field">
<input type="submit" id="contact-submit" value="Envoyer"><span id="status"></span>
</div>
</form>
</div>
</div>
</div>
</section>
<!--------------------------------------MODALES LIST-------------------------------------->
<div class="modal fade" id="modalServeurcom" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Développeur Full Stack - Serveurcom</h5>
</div>
<div class="modal-body">
<p>
Reprise en interne puis maintenance évolutive d'une application de facturation
Télécom développée par un prestataire externe.<br>
Développements de plusieurs briques dont une refonte visuelle complète de
l'application et la création de tableaux de bords complets dans le but de suivre
l'activité de l'entreprise mais aussi permettre aux revendeurs de suivre leur
activité.<br>
Responsable de la tenue des performances et de l'optimisation des traitements de
facturation sous SQL Server 2014.<br>
Rédaction de spécifications fonctionnelles pour les évolutions, définition de
roadmap pour planifier les besoins, macro gestion de l'équipe de développeurs et
organisation de daily meetings pour gérer lactivité de l'équipe de développement.<br>
Mise en place de JIRA pour gérer les taches de l'équipe.<br>
<br>
Formation Microsoft 55144B : "SQL Server 2014 Performance Tuning and
Optimization"
</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Fermer</button>
</div>
</div>
</div>
</div>
<div class="modal fade" id="modalCapgemini" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Consultant SI - Capgémini</h5>
</div>
<div class="modal-body">
<p>
Projet de TMA pour le groupe La Poste, Développeur référent <br>
- 6 applications php, sous framework CakePhp<br>
- 3 applications MSBI/Asp.NET ( SSAS, SSRS, SSIS)<br>
- Outre le développement pur, j'ai régulièrement réalisé les conceptions techniques, la mise à jour
des spécifications fonctionnelles, mais aussi la rédaction et le passage des campagnes de tests sous
quality center.<br>
-Communication régulière avec le client<br><br>
TMA pour le ministère des sports.<br>
- Développeur en support pour 2 applications .NET/MSBI pour le ministère des sports.<br>
- Réalisation de conception techniques, mise à jour des spécifications fonctionnelles, rédaction et
passage des campagnes de tests sous quality center.<br><br>
Développeur - Projet de TMA pour l'ANR.<br>
- Maintenance et évolution d'une application de gestion des demandes
</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Fermer</button>
</div>
</div>
</div>
</div>
<script src="js/libs/particles-conf.js"></script>
{/block}

View File

@ -0,0 +1,40 @@
{extends '../../../../../module/Application/view/layout/layout.tpl'}
{block 'content'}
<header id="vault-header">
<div class="header-wrapper">
<a class="navbar-brand" href="/vault">
<img src="img/texte-logo.png">
</a>
</div>
</header>
<link href="css/vault.css" type="text/css" rel="stylesheet"/>
<section class="contact-wrap">
<form class="material-form" onsubmit="return genpass();">
<div class="input-block floating-field">
<label>Url du site</label>
<input value="" class="form-control" name="url" type="url" id="url" required>
</div>
<div class="input-block floating-field">
<label>Votre mot de passe pour encoder</label>
<input name="salt" type="password" class="form-control" id="salt" required/>
</div>
<div class="input-block floating-field">
<label>Taille</label>
<input name="maxchars" type="number" class="form-control" value="10" id="maxchars" required/>
</div>
<button class="btn square-button material-btn d-sm-none">Générer</button>
<button class="btn square-button material-btn d-none d-sm-block">Générer votre mot de passe sécurisé</button>
<p class="result">
<label for="resAlNum">Alphanumérique</label>
<input name="resAlNum" class="feedback-input" type="text" class="" id="resAlNum" disabled/>
<label for="resAlNumSpe">Alphanumérique + Spé</label>
<input name="resAlNumSpe" class="feedback-input" type="text" class="" id="resAlNumSpe" disabled/>
</p>
</form>
</section>
<script src="js/libs/sha512.js"></script>
<script src="js/vault.js"></script>
{/block}

View File

@ -1,51 +0,0 @@
<?php
/**
* @link http://github.com/zendframework/ZendSkeletonApplication for the canonical source repository
* @copyright Copyright (c) 2005-2016 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
namespace Application;
use Zend\Router\Http\Literal;
use Zend\Router\Http\Segment;
use Zend\ServiceManager\Factory\InvokableFactory;
return [
'router' => [
'routes' => [
'karting' => [
'type' => Literal::class,
'options' => [
'route' => '/karting',
'defaults' => [
'controller' => Controller\IndexController::class,
'action' => 'index',
],
],
],
],
],
'controllers' => [
'factories' => [
Controller\IndexController::class => InvokableFactory::class,
],
],
'view_manager' => [
'display_not_found_reason' => true,
'display_exceptions' => true,
'doctype' => 'HTML5',
'not_found_template' => 'error/404',
'exception_template' => 'error/index',
'template_map' => [
'layout/layout' => __DIR__ . '/../view/layout/layout.tpl',
'application/index/index' => __DIR__ . '/../view/application/index/index.tpl',
'error/404' => __DIR__ . '/../view/error/404.tpl',
'error/index' => __DIR__ . '/../view/error/index.tpl',
],
'template_path_stack' => [
__DIR__ . '/../view',
],
],
];

View File

@ -1,53 +0,0 @@
<?php
/**
* @link http://github.com/zendframework/ZendSkeletonApplication for the canonical source repository
* @copyright Copyright (c) 2005-2016 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
namespace ApplicationTest\Controller;
use Application\Controller\IndexController;
use Zend\Stdlib\ArrayUtils;
use Zend\Test\PHPUnit\Controller\AbstractHttpControllerTestCase;
class IndexControllerTest extends AbstractHttpControllerTestCase
{
public function setUp()
{
// The module configuration should still be applicable for tests.
// You can override configuration here with test case specific values,
// such as sample view templates, path stacks, module_listener_options,
// etc.
$configOverrides = [];
$this->setApplicationConfig(ArrayUtils::merge(
include __DIR__ . '/../../../../config/application.config.php',
$configOverrides
));
parent::setUp();
}
public function testIndexActionCanBeAccessed()
{
$this->dispatch('/', 'GET');
$this->assertResponseStatusCode(200);
$this->assertModuleName('application');
$this->assertControllerName(IndexController::class); // as specified in router's controller name alias
$this->assertControllerClass('IndexController');
$this->assertMatchedRouteName('home');
}
public function testIndexActionViewModelTemplateRenderedWithinLayout()
{
$this->dispatch('/', 'GET');
$this->assertQuery('.container .jumbotron');
}
public function testInvalidRouteDoesNotCrash()
{
$this->dispatch('/invalid/route', 'GET');
$this->assertResponseStatusCode(404);
}
}

View File

@ -1,5 +0,0 @@
<meta name="viewport" content="initial-scale=1, maximum-scale=1">
<section class="signin-container col-lg-6 col-md-6 col-xs-12" style="position: absolute; top: 0;bottom: 0;left: 0;">
</section>

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -12,10 +12,6 @@ body, html {
height: 100%;
}
img {
width: 100%;
}
.container {
margin: auto;
padding-top: 80px;
@ -728,10 +724,17 @@ a:hover, a:focus{
/***********************************experiences STYLES***********************************/
#experiences {
background: #f8f9fa;
background: #fff;
overflow: hidden;
}
/***********************************Projets personnels STYLES***********************************/
#projets {
background: #f8f9fa;
}
/***********************************CONTACT STYLES***********************************/
#contact {
background: #fff;
@ -817,4 +820,19 @@ footer {
.static {
position: static;
}
.hover-dark:hover{
color: #0f0f0f;
}
.carousel-caption{
background-color: rgba(0,0,0,0.5);
}
.carousel-caption p{
color: #fff;
}
.carousel-item{
height: 650px;
}

438
public/css/vault.css Normal file
View File

@ -0,0 +1,438 @@
#vault-header{
background-color: #222;
border-color: #222;
}
@charset "UTF-8";
@import url(https://fonts.googleapis.com/css?family=Roboto:400,300,100,500,700,900);
.material-form {
padding: 15px;
background-color: #fff;
}
.material-form .input-block {
background-color: #fff;
border-bottom: solid 1px #c8c8c8;
width: 100%;
height: 50px;
padding: 0;
position: relative;
margin-bottom: 20px;
-moz-transition: all 0.3s ease-out;
-o-transition: all 0.3s ease-out;
-webkit-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}
.material-form .input-block::before {
content: '';
position: absolute;
left: 50%;
width: 0%;
bottom: 0;
height: 2px;
-moz-transition: all 0.3s ease-out;
-o-transition: all 0.3s ease-out;
-webkit-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
background-color: #2196f3;
}
.material-form .input-block.focus {
border-color: #fff;
}
.material-form .input-block.focus label {
color: #2196f3;
top: 0;
font-size: 13px;
}
.material-form .input-block.focus::before {
left: 0%;
width: 100%;
}
.material-form .input-block.has-value {
background-color: #fff;
}
.material-form .input-block.has-value label {
top: 0;
font-size: 13px;
}
.material-form .input-block.error {
border-color: #fff;
}
.material-form .input-block.error::before {
left: 0%;
width: 100%;
background-color: #d50000;
}
.material-form .input-block.textarea {
height: auto;
}
.material-form .input-block.textarea .form-control {
height: auto;
resize: none;
padding-top: 20px;
font-family: 'Roboto', sans-serif;
}
.material-form .input-block.floating-field {
padding: 2px 0 0;
height: 62px;
}
.material-form .input-block.floating-field.textarea {
height: auto;
}
.material-form .input-block label {
position: absolute;
left: 0;
top: 29px;
width: 100%;
height: 20px;
margin: 0;
font-weight: 500;
z-index: 1;
color: #939393;
font-size: 13px;
-moz-transition: all 0.3s ease-out;
-o-transition: all 0.3s ease-out;
-webkit-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
line-height: 16px;
white-space: nowrap;
overflow: hidden;
}
.material-form .input-block .form-control {
background-color: transparent;
padding: 4px 0 0;
border: none;
-moz-border-radius: 0;
-webkit-border-radius: 0;
border-radius: 0;
-moz-box-shadow: none;
-webkit-box-shadow: none;
box-shadow: none;
height: 100%;
width: 100%;
position: relative;
z-index: 2;
font-size: 14px;
font-weight: 500;
color: #3c3c3c;
}
.material-form .input-block .form-control:focus {
outline: none;
}
.material-form .input-block .form-control:focus label {
top: 0;
}
.material-form .error-label {
color: #d50000;
margin-top: -15px;
font-size: 14px;
margin-bottom: 10px;
}
.material-form .form-note {
font-size: 13px;
color: #939393;
margin-top: -15px;
margin-bottom: 15px;
}
.material-form .square-button {
background-color: #39a1f4;
color: #fff;
font-size: 20px;
text-transform: uppercase;
font-weight: 700;
text-align: center;
-moz-border-radius: 0;
-webkit-border-radius: 0;
border-radius: 0;
-moz-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
-webkit-transition: all 0.3s ease;
transition: all 0.3s ease;
padding: 0;
height: 60px;
border: none;
cursor: pointer;
width: 100%;
}
.material-form .square-button:hover, .material-form .square-button:focus {
background-color: #0d8aee;
}
/*dropdown list as ul li method*/
.select-block {
background-color: #fff;
width: 100%;
padding: 12px 0 0;
position: relative;
margin-bottom: 20px;
-moz-transition: all 0.3s ease-out;
-o-transition: all 0.3s ease-out;
-webkit-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}
.select-block label {
position: absolute;
left: 0;
top: 32px;
height: 20px;
width: 100%;
-moz-transition: all 0.3s ease-out;
-o-transition: all 0.3s ease-out;
-webkit-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
margin: 0;
font-weight: 500;
z-index: 1;
color: #939393;
font-size: 12px;
line-height: 10px;
white-space: nowrap;
overflow: hidden;
}
.select-block .active-list {
width: 100%;
height: 52px;
padding: 0;
color: #c9c9c9;
position: relative;
z-index: 2;
font-weight: 500;
cursor: pointer;
font-size: 0;
white-space: nowrap;
overflow: hidden;
padding-right: 20px;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.select-block .active-list:after {
content: "▼";
position: absolute;
right: 0;
background-color: #fff;
top: 50%;
width: 20px;
padding-left: 5px;
text-align: left;
height: 52px;
line-height: 52px;
color: #939393;
font-size: 14px;
margin-top: -26px;
}
.select-block.added label {
top: 0;
font-size: 13px;
}
.select-block.added .active-list {
color: #3c3c3c;
font-size: 12px;
}
.select-block.added.focus label {
top: 0;
}
.select-block.focus label {
top: 0;
font-size: 13px;
color: #2196f3;
}
.select-block.focus .active-list {
font-size: 12px;
}
.select-block.focus .custom-select {
border-color: #fff;
}
.select-block.focus .active-list:after {
content: "▲";
color: #3c3c3c;
}
.select-block.focus .custom-select::before {
left: 0%;
width: 100%;
}
.select-block .custom-select {
border-bottom: solid 1px #c8c8c8;
display: inline-block;
height: 52px;
position: relative;
padding: 0;
width: 100%;
line-height: 52px;
}
.select-block .custom-select::before {
content: '';
position: absolute;
left: 50%;
width: 0%;
bottom: 0;
height: 2px;
-moz-transition: all 0.3s ease-out;
-o-transition: all 0.3s ease-out;
-webkit-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
background-color: #2196f3;
}
.select-block .custom-select .list-field {
width: 100%;
height: 52px;
padding: 0 15px;
position: absolute;
top: 0;
left: 0;
display: none;
}
.select-block .custom-select .drop-down-list {
width: 100%;
height: auto;
max-height: 250px;
overflow-x: auto;
z-index: 99;
padding: 0;
margin: 0;
position: absolute;
top: 100%;
margin-top: 2px;
left: 0;
background-color: white;
display: none;
-moz-box-shadow: rgba(0, 0, 0, 0.11765) 0px 1px 6px, rgba(0, 0, 0, 0.11765) 0px 1px 4px;
-webkit-box-shadow: rgba(0, 0, 0, 0.11765) 0px 1px 6px, rgba(0, 0, 0, 0.11765) 0px 1px 4px;
box-shadow: rgba(0, 0, 0, 0.11765) 0px 1px 6px, rgba(0, 0, 0, 0.11765) 0px 1px 4px;
}
.select-block .custom-select .drop-down-list li {
padding: 10.5px 15px;
cursor: pointer;
font-size: 12px;
line-height: normal;
background-color: #fafafa;
background-color: #fff;
-moz-transition: all 0.3s ease-out;
-o-transition: all 0.3s ease-out;
-webkit-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}
.select-block .custom-select .drop-down-list li input[type="checkbox"] {
margin: 0;
margin-right: 8px;
position: relative;
top: 1px;
}
.select-block .custom-select .drop-down-list li label {
font-weight: normal;
cursor: pointer;
display: block;
}
.select-block .custom-select .drop-down-list li:hover {
color: #3c3c3c;
background-color: rgba(0, 0, 0, 0.05);
}
.select-block .custom-select .drop-down-list .add-new {
border-top: solid 1px #c8c8c8;
padding: 15px;
color: #3c3c3c;
}
.select-block .custom-select .drop-down-list .add-new i {
font-size: 16px;
margin-top: 3px;
color: #939393;
}
@media (min-width: 768px) {
.contact-wrap {
width: 600px;
margin: auto;
}
.material-form .input-block label {
font-size: 18px;
line-height: 14px;
}
.material-form .input-block .form-control {
font-size: 18px;
}
.select-block label {
font-size: 18px;
line-height: 14px;
}
.select-block.added .active-list {
font-size: 18px;
}
.select-block.focus .active-list {
font-size: 18px;
}
.select-block .custom-select .drop-down-list li {
font-size: 15px;
}
.material-form {
padding: 30px;
}
}
/*----page styles---*/
*,
html {
margin: 0;
padding: 0;
}
body {
/*
background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2UyMDAxYSIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2RkMjQ3NiIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');
*/
background-size: 100%;
/*
background-image: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, #FF2727), color-stop(100%, #dd2476));
background-image: -moz-linear-gradient(left, #FF2727, #dd2476);
background-image: -webkit-linear-gradient(left, #e2001a, #dd2476);
background-image: linear-gradient(to right, #e2001a, #dd2476);
*/
background-color: #e9e9e9;
font-family: 'Roboto', sans-serif;
}
.contact-wrap {
padding: 15px;
}
h1 {
color: #39a1f4;
padding: 40px 0 0;
margin: 0;
font-size: 30px;
text-transform: uppercase;
font-weight: 700;
text-align: center;
}
h1 small {
font-size: 18px;
display: block;
text-transform: none;
font-weight: 300;
margin-top: 10px;
color: rgba(255, 39, 39,0.7);
}
.made-with-love {
margin-top: 40px;
padding: 10px;
clear: left;
text-align: center;
font-size: 10px;
font-family: arial;
color: #fff;
}
.made-with-love i {
font-style: normal;
color: #fff;
font-size: 14px;
position: relative;
top: 2px;
}
.made-with-love a {
color: #fff;
text-decoration: none;
}
.made-with-love a:hover {
text-decoration: underline;
}

BIN
public/img/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

BIN
public/img/texte-logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

496
public/js/libs/sha512.js Normal file
View File

@ -0,0 +1,496 @@
/*
* A JavaScript implementation of the Secure Hash Algorithm, SHA-512, as defined
* in FIPS 180-2
* Version 2.2 Copyright Anonymous Contributor, Paul Johnston 2000 - 2009.
* Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
* Distributed under the BSD License
* See http://pajhome.org.uk/crypt/md5 for details.
*/
/*
* Configurable variables. You may need to tweak these to be compatible with
* the server-side, but the defaults work in most cases.
*/
var hexcase = 0; /* hex output format. 0 - lowercase; 1 - uppercase */
var b64pad = ""; /* base-64 pad character. "=" for strict RFC compliance */
/*
* These are the functions you'll usually want to call
* They take string arguments and return either hex or base-64 encoded strings
*/
function hex_sha512(s) { return rstr2hex(rstr_sha512(str2rstr_utf8(s))); }
function b64_sha512(s) { return rstr2b64(rstr_sha512(str2rstr_utf8(s))); }
function any_sha512(s, e) { return rstr2any(rstr_sha512(str2rstr_utf8(s)), e);}
function hex_hmac_sha512(k, d)
{ return rstr2hex(rstr_hmac_sha512(str2rstr_utf8(k), str2rstr_utf8(d))); }
function b64_hmac_sha512(k, d)
{ return rstr2b64(rstr_hmac_sha512(str2rstr_utf8(k), str2rstr_utf8(d))); }
function any_hmac_sha512(k, d, e)
{ return rstr2any(rstr_hmac_sha512(str2rstr_utf8(k), str2rstr_utf8(d)), e);}
/*
* Perform a simple self-test to see if the VM is working
*/
function sha512_vm_test()
{
return hex_sha512("abc").toLowerCase() ==
"ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a" +
"2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f";
}
/*
* Calculate the SHA-512 of a raw string
*/
function rstr_sha512(s)
{
return binb2rstr(binb_sha512(rstr2binb(s), s.length * 8));
}
/*
* Calculate the HMAC-SHA-512 of a key and some data (raw strings)
*/
function rstr_hmac_sha512(key, data)
{
var bkey = rstr2binb(key);
if(bkey.length > 32) bkey = binb_sha512(bkey, key.length * 8);
var ipad = Array(32), opad = Array(32);
for(var i = 0; i < 32; i++)
{
ipad[i] = bkey[i] ^ 0x36363636;
opad[i] = bkey[i] ^ 0x5C5C5C5C;
}
var hash = binb_sha512(ipad.concat(rstr2binb(data)), 1024 + data.length * 8);
return binb2rstr(binb_sha512(opad.concat(hash), 1024 + 512));
}
/*
* Convert a raw string to a hex string
*/
function rstr2hex(input)
{
try { hexcase } catch(e) { hexcase=0; }
var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef";
var output = "";
var x;
for(var i = 0; i < input.length; i++)
{
x = input.charCodeAt(i);
output += hex_tab.charAt((x >>> 4) & 0x0F)
+ hex_tab.charAt( x & 0x0F);
}
return output;
}
/*
* Convert a raw string to a base-64 string
*/
function rstr2b64(input)
{
try { b64pad } catch(e) { b64pad=''; }
var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
var output = "";
var len = input.length;
for(var i = 0; i < len; i += 3)
{
var triplet = (input.charCodeAt(i) << 16)
| (i + 1 < len ? input.charCodeAt(i+1) << 8 : 0)
| (i + 2 < len ? input.charCodeAt(i+2) : 0);
for(var j = 0; j < 4; j++)
{
if(i * 8 + j * 6 > input.length * 8) output += b64pad;
else output += tab.charAt((triplet >>> 6*(3-j)) & 0x3F);
}
}
return output;
}
/*
* Convert a raw string to an arbitrary string encoding
*/
function rstr2any(input, encoding)
{
var divisor = encoding.length;
var i, j, q, x, quotient;
/* Convert to an array of 16-bit big-endian values, forming the dividend */
var dividend = Array(Math.ceil(input.length / 2));
for(i = 0; i < dividend.length; i++)
{
dividend[i] = (input.charCodeAt(i * 2) << 8) | input.charCodeAt(i * 2 + 1);
}
/*
* Repeatedly perform a long division. The binary array forms the dividend,
* the length of the encoding is the divisor. Once computed, the quotient
* forms the dividend for the next step. All remainders are stored for later
* use.
*/
var full_length = Math.ceil(input.length * 8 /
(Math.log(encoding.length) / Math.log(2)));
var remainders = Array(full_length);
for(j = 0; j < full_length; j++)
{
quotient = Array();
x = 0;
for(i = 0; i < dividend.length; i++)
{
x = (x << 16) + dividend[i];
q = Math.floor(x / divisor);
x -= q * divisor;
if(quotient.length > 0 || q > 0)
quotient[quotient.length] = q;
}
remainders[j] = x;
dividend = quotient;
}
/* Convert the remainders to the output string */
var output = "";
for(i = remainders.length - 1; i >= 0; i--)
output += encoding.charAt(remainders[i]);
return output;
}
/*
* Encode a string as utf-8.
* For efficiency, this assumes the input is valid utf-16.
*/
function str2rstr_utf8(input)
{
var output = "";
var i = -1;
var x, y;
while(++i < input.length)
{
/* Decode utf-16 surrogate pairs */
x = input.charCodeAt(i);
y = i + 1 < input.length ? input.charCodeAt(i + 1) : 0;
if(0xD800 <= x && x <= 0xDBFF && 0xDC00 <= y && y <= 0xDFFF)
{
x = 0x10000 + ((x & 0x03FF) << 10) + (y & 0x03FF);
i++;
}
/* Encode output as utf-8 */
if(x <= 0x7F)
output += String.fromCharCode(x);
else if(x <= 0x7FF)
output += String.fromCharCode(0xC0 | ((x >>> 6 ) & 0x1F),
0x80 | ( x & 0x3F));
else if(x <= 0xFFFF)
output += String.fromCharCode(0xE0 | ((x >>> 12) & 0x0F),
0x80 | ((x >>> 6 ) & 0x3F),
0x80 | ( x & 0x3F));
else if(x <= 0x1FFFFF)
output += String.fromCharCode(0xF0 | ((x >>> 18) & 0x07),
0x80 | ((x >>> 12) & 0x3F),
0x80 | ((x >>> 6 ) & 0x3F),
0x80 | ( x & 0x3F));
}
return output;
}
/*
* Encode a string as utf-16
*/
function str2rstr_utf16le(input)
{
var output = "";
for(var i = 0; i < input.length; i++)
output += String.fromCharCode( input.charCodeAt(i) & 0xFF,
(input.charCodeAt(i) >>> 8) & 0xFF);
return output;
}
function str2rstr_utf16be(input)
{
var output = "";
for(var i = 0; i < input.length; i++)
output += String.fromCharCode((input.charCodeAt(i) >>> 8) & 0xFF,
input.charCodeAt(i) & 0xFF);
return output;
}
/*
* Convert a raw string to an array of big-endian words
* Characters >255 have their high-byte silently ignored.
*/
function rstr2binb(input)
{
var output = Array(input.length >> 2);
for(var i = 0; i < output.length; i++)
output[i] = 0;
for(var i = 0; i < input.length * 8; i += 8)
output[i>>5] |= (input.charCodeAt(i / 8) & 0xFF) << (24 - i % 32);
return output;
}
/*
* Convert an array of big-endian words to a string
*/
function binb2rstr(input)
{
var output = "";
for(var i = 0; i < input.length * 32; i += 8)
output += String.fromCharCode((input[i>>5] >>> (24 - i % 32)) & 0xFF);
return output;
}
/*
* Calculate the SHA-512 of an array of big-endian dwords, and a bit length
*/
var sha512_k;
function binb_sha512(x, len)
{
if(sha512_k == undefined)
{
//SHA512 constants
sha512_k = new Array(
new int64(0x428a2f98, -685199838), new int64(0x71374491, 0x23ef65cd),
new int64(-1245643825, -330482897), new int64(-373957723, -2121671748),
new int64(0x3956c25b, -213338824), new int64(0x59f111f1, -1241133031),
new int64(-1841331548, -1357295717), new int64(-1424204075, -630357736),
new int64(-670586216, -1560083902), new int64(0x12835b01, 0x45706fbe),
new int64(0x243185be, 0x4ee4b28c), new int64(0x550c7dc3, -704662302),
new int64(0x72be5d74, -226784913), new int64(-2132889090, 0x3b1696b1),
new int64(-1680079193, 0x25c71235), new int64(-1046744716, -815192428),
new int64(-459576895, -1628353838), new int64(-272742522, 0x384f25e3),
new int64(0xfc19dc6, -1953704523), new int64(0x240ca1cc, 0x77ac9c65),
new int64(0x2de92c6f, 0x592b0275), new int64(0x4a7484aa, 0x6ea6e483),
new int64(0x5cb0a9dc, -1119749164), new int64(0x76f988da, -2096016459),
new int64(-1740746414, -295247957), new int64(-1473132947, 0x2db43210),
new int64(-1341970488, -1728372417), new int64(-1084653625, -1091629340),
new int64(-958395405, 0x3da88fc2), new int64(-710438585, -1828018395),
new int64(0x6ca6351, -536640913), new int64(0x14292967, 0xa0e6e70),
new int64(0x27b70a85, 0x46d22ffc), new int64(0x2e1b2138, 0x5c26c926),
new int64(0x4d2c6dfc, 0x5ac42aed), new int64(0x53380d13, -1651133473),
new int64(0x650a7354, -1951439906), new int64(0x766a0abb, 0x3c77b2a8),
new int64(-2117940946, 0x47edaee6), new int64(-1838011259, 0x1482353b),
new int64(-1564481375, 0x4cf10364), new int64(-1474664885, -1136513023),
new int64(-1035236496, -789014639), new int64(-949202525, 0x654be30),
new int64(-778901479, -688958952), new int64(-694614492, 0x5565a910),
new int64(-200395387, 0x5771202a), new int64(0x106aa070, 0x32bbd1b8),
new int64(0x19a4c116, -1194143544), new int64(0x1e376c08, 0x5141ab53),
new int64(0x2748774c, -544281703), new int64(0x34b0bcb5, -509917016),
new int64(0x391c0cb3, -976659869), new int64(0x4ed8aa4a, -482243893),
new int64(0x5b9cca4f, 0x7763e373), new int64(0x682e6ff3, -692930397),
new int64(0x748f82ee, 0x5defb2fc), new int64(0x78a5636f, 0x43172f60),
new int64(-2067236844, -1578062990), new int64(-1933114872, 0x1a6439ec),
new int64(-1866530822, 0x23631e28), new int64(-1538233109, -561857047),
new int64(-1090935817, -1295615723), new int64(-965641998, -479046869),
new int64(-903397682, -366583396), new int64(-779700025, 0x21c0c207),
new int64(-354779690, -840897762), new int64(-176337025, -294727304),
new int64(0x6f067aa, 0x72176fba), new int64(0xa637dc5, -1563912026),
new int64(0x113f9804, -1090974290), new int64(0x1b710b35, 0x131c471b),
new int64(0x28db77f5, 0x23047d84), new int64(0x32caab7b, 0x40c72493),
new int64(0x3c9ebe0a, 0x15c9bebc), new int64(0x431d67c4, -1676669620),
new int64(0x4cc5d4be, -885112138), new int64(0x597f299c, -60457430),
new int64(0x5fcb6fab, 0x3ad6faec), new int64(0x6c44198c, 0x4a475817));
}
//Initial hash values
var H = new Array(
new int64(0x6a09e667, -205731576),
new int64(-1150833019, -2067093701),
new int64(0x3c6ef372, -23791573),
new int64(-1521486534, 0x5f1d36f1),
new int64(0x510e527f, -1377402159),
new int64(-1694144372, 0x2b3e6c1f),
new int64(0x1f83d9ab, -79577749),
new int64(0x5be0cd19, 0x137e2179));
var T1 = new int64(0, 0),
T2 = new int64(0, 0),
a = new int64(0,0),
b = new int64(0,0),
c = new int64(0,0),
d = new int64(0,0),
e = new int64(0,0),
f = new int64(0,0),
g = new int64(0,0),
h = new int64(0,0),
//Temporary variables not specified by the document
s0 = new int64(0, 0),
s1 = new int64(0, 0),
Ch = new int64(0, 0),
Maj = new int64(0, 0),
r1 = new int64(0, 0),
r2 = new int64(0, 0),
r3 = new int64(0, 0);
var j, i;
var W = new Array(80);
for(i=0; i<80; i++)
W[i] = new int64(0, 0);
// append padding to the source string. The format is described in the FIPS.
x[len >> 5] |= 0x80 << (24 - (len & 0x1f));
x[((len + 128 >> 10)<< 5) + 31] = len;
for(i = 0; i<x.length; i+=32) //32 dwords is the block size
{
int64copy(a, H[0]);
int64copy(b, H[1]);
int64copy(c, H[2]);
int64copy(d, H[3]);
int64copy(e, H[4]);
int64copy(f, H[5]);
int64copy(g, H[6]);
int64copy(h, H[7]);
for(j=0; j<16; j++)
{
W[j].h = x[i + 2*j];
W[j].l = x[i + 2*j + 1];
}
for(j=16; j<80; j++)
{
//sigma1
int64rrot(r1, W[j-2], 19);
int64revrrot(r2, W[j-2], 29);
int64shr(r3, W[j-2], 6);
s1.l = r1.l ^ r2.l ^ r3.l;
s1.h = r1.h ^ r2.h ^ r3.h;
//sigma0
int64rrot(r1, W[j-15], 1);
int64rrot(r2, W[j-15], 8);
int64shr(r3, W[j-15], 7);
s0.l = r1.l ^ r2.l ^ r3.l;
s0.h = r1.h ^ r2.h ^ r3.h;
int64add4(W[j], s1, W[j-7], s0, W[j-16]);
}
for(j = 0; j < 80; j++)
{
//Ch
Ch.l = (e.l & f.l) ^ (~e.l & g.l);
Ch.h = (e.h & f.h) ^ (~e.h & g.h);
//Sigma1
int64rrot(r1, e, 14);
int64rrot(r2, e, 18);
int64revrrot(r3, e, 9);
s1.l = r1.l ^ r2.l ^ r3.l;
s1.h = r1.h ^ r2.h ^ r3.h;
//Sigma0
int64rrot(r1, a, 28);
int64revrrot(r2, a, 2);
int64revrrot(r3, a, 7);
s0.l = r1.l ^ r2.l ^ r3.l;
s0.h = r1.h ^ r2.h ^ r3.h;
//Maj
Maj.l = (a.l & b.l) ^ (a.l & c.l) ^ (b.l & c.l);
Maj.h = (a.h & b.h) ^ (a.h & c.h) ^ (b.h & c.h);
int64add5(T1, h, s1, Ch, sha512_k[j], W[j]);
int64add(T2, s0, Maj);
int64copy(h, g);
int64copy(g, f);
int64copy(f, e);
int64add(e, d, T1);
int64copy(d, c);
int64copy(c, b);
int64copy(b, a);
int64add(a, T1, T2);
}
int64add(H[0], H[0], a);
int64add(H[1], H[1], b);
int64add(H[2], H[2], c);
int64add(H[3], H[3], d);
int64add(H[4], H[4], e);
int64add(H[5], H[5], f);
int64add(H[6], H[6], g);
int64add(H[7], H[7], h);
}
//represent the hash as an array of 32-bit dwords
var hash = new Array(16);
for(i=0; i<8; i++)
{
hash[2*i] = H[i].h;
hash[2*i + 1] = H[i].l;
}
return hash;
}
//A constructor for 64-bit numbers
function int64(h, l)
{
this.h = h;
this.l = l;
//this.toString = int64toString;
}
//Copies src into dst, assuming both are 64-bit numbers
function int64copy(dst, src)
{
dst.h = src.h;
dst.l = src.l;
}
//Right-rotates a 64-bit number by shift
//Won't handle cases of shift>=32
//The function revrrot() is for that
function int64rrot(dst, x, shift)
{
dst.l = (x.l >>> shift) | (x.h << (32-shift));
dst.h = (x.h >>> shift) | (x.l << (32-shift));
}
//Reverses the dwords of the source and then rotates right by shift.
//This is equivalent to rotation by 32+shift
function int64revrrot(dst, x, shift)
{
dst.l = (x.h >>> shift) | (x.l << (32-shift));
dst.h = (x.l >>> shift) | (x.h << (32-shift));
}
//Bitwise-shifts right a 64-bit number by shift
//Won't handle shift>=32, but it's never needed in SHA512
function int64shr(dst, x, shift)
{
dst.l = (x.l >>> shift) | (x.h << (32-shift));
dst.h = (x.h >>> shift);
}
//Adds two 64-bit numbers
//Like the original implementation, does not rely on 32-bit operations
function int64add(dst, x, y)
{
var w0 = (x.l & 0xffff) + (y.l & 0xffff);
var w1 = (x.l >>> 16) + (y.l >>> 16) + (w0 >>> 16);
var w2 = (x.h & 0xffff) + (y.h & 0xffff) + (w1 >>> 16);
var w3 = (x.h >>> 16) + (y.h >>> 16) + (w2 >>> 16);
dst.l = (w0 & 0xffff) | (w1 << 16);
dst.h = (w2 & 0xffff) | (w3 << 16);
}
//Same, except with 4 addends. Works faster than adding them one by one.
function int64add4(dst, a, b, c, d)
{
var w0 = (a.l & 0xffff) + (b.l & 0xffff) + (c.l & 0xffff) + (d.l & 0xffff);
var w1 = (a.l >>> 16) + (b.l >>> 16) + (c.l >>> 16) + (d.l >>> 16) + (w0 >>> 16);
var w2 = (a.h & 0xffff) + (b.h & 0xffff) + (c.h & 0xffff) + (d.h & 0xffff) + (w1 >>> 16);
var w3 = (a.h >>> 16) + (b.h >>> 16) + (c.h >>> 16) + (d.h >>> 16) + (w2 >>> 16);
dst.l = (w0 & 0xffff) | (w1 << 16);
dst.h = (w2 & 0xffff) | (w3 << 16);
}
//Same, except with 5 addends
function int64add5(dst, a, b, c, d, e)
{
var w0 = (a.l & 0xffff) + (b.l & 0xffff) + (c.l & 0xffff) + (d.l & 0xffff) + (e.l & 0xffff);
var w1 = (a.l >>> 16) + (b.l >>> 16) + (c.l >>> 16) + (d.l >>> 16) + (e.l >>> 16) + (w0 >>> 16);
var w2 = (a.h & 0xffff) + (b.h & 0xffff) + (c.h & 0xffff) + (d.h & 0xffff) + (e.h & 0xffff) + (w1 >>> 16);
var w3 = (a.h >>> 16) + (b.h >>> 16) + (c.h >>> 16) + (d.h >>> 16) + (e.h >>> 16) + (w2 >>> 16);
dst.l = (w0 & 0xffff) | (w1 << 16);
dst.h = (w2 & 0xffff) | (w3 << 16);
}

View File

@ -59,22 +59,32 @@ new ScrollMagic.Scene({
triggerElement: "#hero",
duration: $("#hero").height()
}).setClassToggle("#hero-link", "active").addTo(controller);
new ScrollMagic.Scene({
triggerElement: "#about",
duration: $("#about").height() + 100
}).setClassToggle("#about-link", "active").addTo(controller);
new ScrollMagic.Scene({
triggerElement: "#competences",
duration: $("#competences").height()
}).setClassToggle("#competences-link", "active").addTo(controller);
new ScrollMagic.Scene({
triggerElement: "#engagement",
duration: $("#engagement").height()
}).setClassToggle("#engagement-link", "active").addTo(controller);
new ScrollMagic.Scene({
triggerElement: "#experiences",
duration: $("#experiences").height()
}).setClassToggle("#experiences-link", "active").addTo(controller);
new ScrollMagic.Scene({
triggerElement: "#projets",
duration: $("#experiences").height()
}).setClassToggle("#projets-link", "active").addTo(controller);
new ScrollMagic.Scene({
triggerElement: "#contact",
duration: $("#contact").height()

87
public/js/vault.js Normal file
View File

@ -0,0 +1,87 @@
function extractDomain(url) {
var domain;
//find & remove protocol (http, ftp, etc.) and get domain
if (url.indexOf("://") > -1) {
domain = url.split('/')[2];
} else {
domain = url.split('/')[0];
}
domain = domain.split(':')[0];
return domain;
}
function genpass() {
url = document.getElementById("url").value;
url = extractDomain(url);
maxchars = document.getElementById("maxchars").value;
maxchars = parseInt(maxchars, 10);
if (!(maxchars > 0)) maxchars = 512;
salt = document.getElementById("salt").value;
line = any_sha512(salt + url, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");
document.getElementById("resAlNum").value = line.substr(0, maxchars);
line = any_sha512(salt + url, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789,;:!?./*+§#{([-|_@)]=}");
document.getElementById("resAlNumSpe").value = line.substr(0, maxchars);
delete line
url = "";
salt = "";
return false;
}
$(document).ready(function () {
console.log("ready!");
//material contact form animation
var floatingField = $('.material-form .floating-field').find('.form-control');
var formItem = $('.material-form .input-block').find('.form-control');
//##case 1 for default style
//on focus
formItem.focus(function () {
$(this).parent('.input-block').addClass('focus');
});
//removing focusing
formItem.blur(function () {
$(this).parent('.input-block').removeClass('focus');
});
//##case 2 for floating style
//initiating field
floatingField.each(function () {
var targetItem = $(this).parent();
if ($(this).val()) {
$(targetItem).addClass('has-value');
}
});
//on typing
floatingField.blur(function () {
$(this).parent('.input-block').removeClass('focus');
//if value is not exists
if ($(this).val().length == 0) {
$(this).parent('.input-block').removeClass('has-value');
} else {
$(this).parent('.input-block').addClass('has-value');
}
});
//dropdown list
$('body').click(function () {
if ($('.custom-select .drop-down-list').is(':visible')) {
$('.custom-select').parent().removeClass('focus');
}
$('.custom-select .drop-down-list:visible').slideUp();
});
$('.custom-select .active-list').click(function () {
$(this).parent().parent().addClass('focus');
$(this).parent().find('.drop-down-list').stop(true, true).delay(10).slideToggle(300);
});
$('.custom-select .drop-down-list li').click(function () {
var listParent = $(this).parent().parent();
//listParent.find('.active-list').trigger("click");
listParent.parent('.select-block').removeClass('focus').addClass('added');
listParent.find('.active-list').text($(this).text());
listParent.find('input.list-field').attr('value', $(this).text());
});
});