restart portfolio

This commit is contained in:
Tutur33
2023-12-05 18:45:50 +01:00
parent de25e0072a
commit 40db853637
1174 changed files with 21145 additions and 107608 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
PORT=3333
HOST=0.0.0.0
NODE_ENV=development
APP_KEY=-WaTKbETBJLut7cGRKrYHRqW1tqnxDad
APP_KEY=1Ad59qH3RodlK8Py5hr2WA2VeNUXEqmL
DRIVE_DISK=local
SESSION_DRIVER=cookie
CACHE_VIEWS=false
+1 -1
View File
@@ -1,7 +1,7 @@
PORT=3333
HOST=0.0.0.0
NODE_ENV=development
APP_KEY=-WaTKbETBJLut7cGRKrYHRqW1tqnxDad
APP_KEY=1Ad59qH3RodlK8Py5hr2WA2VeNUXEqmL
DRIVE_DISK=local
SESSION_DRIVER=cookie
CACHE_VIEWS=false
+3
View File
@@ -1,4 +1,7 @@
node_modules
build
coverage
.vscode
.DS_STORE
.env
tmp
+16 -16
View File
@@ -1,34 +1,34 @@
import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
import User from 'App/Models/User'
import CreateUserValidator from 'App/Validators/CreateUserValidator'
import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext';
import User from 'App/Models/User';
import CreateUserValidator from 'App/Validators/CreateUserValidator';
export default class AuthController {
async index ({ view }: HttpContextContract) {
return view.render('auth')
async login({ view }: HttpContextContract) {
return view.render('auth/login')
}
async login ({request, auth, response, session}: HttpContextContract) {
const email = request.input('loginemail')
const password = request.input('loginpassword')
async doLogin({ request, auth, response, session }: HttpContextContract) {
const email = request.input('email')
const password = request.input('password')
try {
await auth.use('web').attempt(email, password)
response.redirect().toRoute('home')
} catch {
session.flash({error: "Identifiant ou mot de passe incorrect"})
response.redirect().back()
session.flash({error: 'Identifiants incorrects'})
response.redirect().toRoute('login')
}
}
async signup({ request, response }: HttpContextContract) {
async signup({ view }: HttpContextContract) {
return view.render('auth/signup')
}
async doSignup({ request, response }: HttpContextContract) {
const playload = await request.validate(CreateUserValidator)
await User.create(playload)
return response.redirect().toRoute('home')
}
async logout({ auth, response }:HttpContextContract) {
await auth.logout()
return response.redirect().back()
}
}
-33
View File
@@ -1,33 +0,0 @@
import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
import ModifPseudoValidator from 'App/Validators/ModifPseudoValidator'
import ModifEmailValidator from 'App/Validators/ModifEmailValidator'
export default class ComptesController {
async index({ view }: HttpContextContract) {
return view.render('compte')
}
async modifpseudo({ request, auth, session, response }: HttpContextContract) {
const user = auth.user
await request.validate(ModifPseudoValidator)
user!.pseudo = request.input('pseudo')
await user!.save()
session.flash({success: "Username updated successfully"})
response.redirect().back()
}
async modifemail({ request, auth, session, response }: HttpContextContract) {
const user = auth.user
await request.validate(ModifEmailValidator)
user!.email = request.input('email')
await user!.save()
session.flash({success: "Email updated successfully"})
response.redirect().back()
}
}
-8
View File
@@ -1,8 +0,0 @@
import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
export default class HomeController {
async index ({ view }: HttpContextContract) {
return view.render('index')
}
}
@@ -1,21 +0,0 @@
import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
export default class ProjectsController {
async nups({ view }: HttpContextContract) {
return view.render('projects/nups/project-nups')
}
async nupsWeb({ view }: HttpContextContract) {
return view.render('projects/nups/nups')
}
async myNetwork({ view }: HttpContextContract) {
return view.render('projects/myNetwork/index')
}
async journal({ view }: HttpContextContract) {
return view.render('projects/journal/index')
}
}
-9
View File
@@ -1,9 +0,0 @@
import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
export default class TermsController {
async index({ view }: HttpContextContract) {
return view.render('terms')
}
}
-46
View File
@@ -1,46 +0,0 @@
import { schema, CustomMessages, rules } from '@ioc:Adonis/Core/Validator'
import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
export default class ModifEmailValidator {
constructor(protected ctx: HttpContextContract) {}
/*
* Define schema to validate the "shape", "type", "formatting" and "integrity" of data.
*
* For example:
* 1. The username must be of data type string. But then also, it should
* not contain special characters or numbers.
* ```
* schema.string([ rules.alpha() ])
* ```
*
* 2. The email must be of data type string, formatted as a valid
* email. But also, not used by any other user.
* ```
* schema.string([
* rules.email(),
* rules.unique({ table: 'users', column: 'email' }),
* ])
* ```
*/
public schema = schema.create({
email: schema.string({}, [rules.email(), rules.unique({ table: 'users', column: 'email' }) ])
})
/**
* Custom messages for validation failures. You can make use of dot notation `(.)`
* for targeting nested fields and array expressions `(*)` for targeting all
* children of an array. For example:
*
* {
* 'profile.username.required': 'Username is required',
* 'scores.*.number': 'Define scores as valid numbers'
* }
*
*/
public messages: CustomMessages = {
required: 'The {{ field }} is required to modifie email',
'email.email': 'You must enter an email in the email field',
'email.unique': 'Email is already in use'
}
}
-45
View File
@@ -1,45 +0,0 @@
import { schema, CustomMessages, rules } from '@ioc:Adonis/Core/Validator'
import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
export default class ModifPseudoValidator {
constructor(protected ctx: HttpContextContract) {}
/*
* Define schema to validate the "shape", "type", "formatting" and "integrity" of data.
*
* For example:
* 1. The username must be of data type string. But then also, it should
* not contain special characters or numbers.
* ```
* schema.string([ rules.alpha() ])
* ```
*
* 2. The email must be of data type string, formatted as a valid
* email. But also, not used by any other user.
* ```
* schema.string([
* rules.email(),
* rules.unique({ table: 'users', column: 'email' }),
* ])
* ```
*/
public schema = schema.create({
pseudo: schema.string({}, [rules.minLength(3)])
})
/**
* Custom messages for validation failures. You can make use of dot notation `(.)`
* for targeting nested fields and array expressions `(*)` for targeting all
* children of an array. For example:
*
* {
* 'profile.username.required': 'Username is required',
* 'scores.*.number': 'Define scores as valid numbers'
* }
*
*/
public messages: CustomMessages = {
required: 'The {{ field }} is required to modifie pseudo',
'pseudo.minLength': 'The pseudo must be at least 3 characters long'
}
}
+3 -6
View File
@@ -3,8 +3,7 @@
"commands": [
"./commands",
"@adonisjs/core/build/commands/index.js",
"@adonisjs/repl/build/commands",
"@adonisjs/lucid/build/commands"
"@adonisjs/repl/build/commands"
],
"exceptionHandlerNamespace": "App/Exceptions/Handler",
"aliases": {
@@ -22,9 +21,7 @@
"@adonisjs/core",
"@adonisjs/session",
"@adonisjs/view",
"@adonisjs/shield",
"@adonisjs/lucid",
"@adonisjs/auth"
"@adonisjs/shield"
],
"metaFiles": [
{
@@ -53,5 +50,5 @@
"testProviders": [
"@japa/preset-adonis/TestsProvider"
],
"lastCompiledAt": "2023-11-26T20:24:05.841Z"
"lastCompiledAt": "2023-12-02T21:42:21.286Z"
}
+2 -3
View File
@@ -1,8 +1,7 @@
PORT=3333
HOST=0.0.0.0
NODE_ENV=development
APP_KEY=-WaTKbETBJLut7cGRKrYHRqW1tqnxDad
NODE_ENV=production
APP_KEY=1Ad59qH3RodlK8Py5hr2WA2VeNUXEqmL
DRIVE_DISK=local
SESSION_DRIVER=cookie
CACHE_VIEWS=false
DB_CONNECTION=sqlite
-474
View File
@@ -95,480 +95,6 @@
"args": [],
"aliases": [],
"flags": []
},
"db:seed": {
"settings": {
"loadApp": true
},
"commandPath": "@adonisjs/lucid/build/commands/DbSeed",
"commandName": "db:seed",
"description": "Execute database seeders",
"args": [],
"aliases": [],
"flags": [
{
"name": "connection",
"propertyName": "connection",
"type": "string",
"description": "Define a custom database connection for the seeders",
"alias": "c"
},
{
"name": "interactive",
"propertyName": "interactive",
"type": "boolean",
"description": "Run seeders in interactive mode",
"alias": "i"
},
{
"name": "files",
"propertyName": "files",
"type": "array",
"description": "Define a custom set of seeders files names to run",
"alias": "f"
},
{
"name": "compact-output",
"propertyName": "compactOutput",
"type": "boolean",
"description": "A compact single-line output"
}
]
},
"db:wipe": {
"settings": {
"loadApp": true
},
"commandPath": "@adonisjs/lucid/build/commands/DbWipe",
"commandName": "db:wipe",
"description": "Drop all tables, views and types in database",
"args": [],
"aliases": [],
"flags": [
{
"name": "connection",
"propertyName": "connection",
"type": "string",
"description": "Define a custom database connection",
"alias": "c"
},
{
"name": "drop-views",
"propertyName": "dropViews",
"type": "boolean",
"description": "Drop all views"
},
{
"name": "drop-types",
"propertyName": "dropTypes",
"type": "boolean",
"description": "Drop all custom types (Postgres only)"
},
{
"name": "force",
"propertyName": "force",
"type": "boolean",
"description": "Explicitly force command to run in production"
}
]
},
"db:truncate": {
"settings": {
"loadApp": true
},
"commandPath": "@adonisjs/lucid/build/commands/DbTruncate",
"commandName": "db:truncate",
"description": "Truncate all tables in database",
"args": [],
"aliases": [],
"flags": [
{
"name": "connection",
"propertyName": "connection",
"type": "string",
"description": "Define a custom database connection",
"alias": "c"
},
{
"name": "force",
"propertyName": "force",
"type": "boolean",
"description": "Explicitly force command to run in production"
}
]
},
"make:model": {
"settings": {
"loadApp": true
},
"commandPath": "@adonisjs/lucid/build/commands/MakeModel",
"commandName": "make:model",
"description": "Make a new Lucid model",
"args": [
{
"type": "string",
"propertyName": "name",
"name": "name",
"required": true,
"description": "Name of the model class"
}
],
"aliases": [],
"flags": [
{
"name": "migration",
"propertyName": "migration",
"type": "boolean",
"alias": "m",
"description": "Generate the migration for the model"
},
{
"name": "controller",
"propertyName": "controller",
"type": "boolean",
"alias": "c",
"description": "Generate the controller for the model"
},
{
"name": "factory",
"propertyName": "factory",
"type": "boolean",
"alias": "f",
"description": "Generate a factory for the model"
}
]
},
"make:migration": {
"settings": {
"loadApp": true
},
"commandPath": "@adonisjs/lucid/build/commands/MakeMigration",
"commandName": "make:migration",
"description": "Make a new migration file",
"args": [
{
"type": "string",
"propertyName": "name",
"name": "name",
"required": true,
"description": "Name of the migration file"
}
],
"aliases": [],
"flags": [
{
"name": "connection",
"propertyName": "connection",
"type": "string",
"description": "The connection flag is used to lookup the directory for the migration file"
},
{
"name": "folder",
"propertyName": "folder",
"type": "string",
"description": "Pre-select a migration directory"
},
{
"name": "create",
"propertyName": "create",
"type": "string",
"description": "Define the table name for creating a new table"
},
{
"name": "table",
"propertyName": "table",
"type": "string",
"description": "Define the table name for altering an existing table"
}
]
},
"make:seeder": {
"settings": {},
"commandPath": "@adonisjs/lucid/build/commands/MakeSeeder",
"commandName": "make:seeder",
"description": "Make a new Seeder file",
"args": [
{
"type": "string",
"propertyName": "name",
"name": "name",
"required": true,
"description": "Name of the seeder class"
}
],
"aliases": [],
"flags": []
},
"make:factory": {
"settings": {},
"commandPath": "@adonisjs/lucid/build/commands/MakeFactory",
"commandName": "make:factory",
"description": "Make a new factory",
"args": [
{
"type": "string",
"propertyName": "model",
"name": "model",
"required": true,
"description": "The name of the model"
}
],
"aliases": [],
"flags": [
{
"name": "model-path",
"propertyName": "modelPath",
"type": "string",
"description": "The path to the model"
},
{
"name": "exact",
"propertyName": "exact",
"type": "boolean",
"description": "Create the factory with the exact name as provided",
"alias": "e"
}
]
},
"migration:run": {
"settings": {
"loadApp": true
},
"commandPath": "@adonisjs/lucid/build/commands/Migration/Run",
"commandName": "migration:run",
"description": "Migrate database by running pending migrations",
"args": [],
"aliases": [],
"flags": [
{
"name": "connection",
"propertyName": "connection",
"type": "string",
"description": "Define a custom database connection",
"alias": "c"
},
{
"name": "force",
"propertyName": "force",
"type": "boolean",
"description": "Explicitly force to run migrations in production"
},
{
"name": "dry-run",
"propertyName": "dryRun",
"type": "boolean",
"description": "Do not run actual queries. Instead view the SQL output"
},
{
"name": "compact-output",
"propertyName": "compactOutput",
"type": "boolean",
"description": "A compact single-line output"
},
{
"name": "disable-locks",
"propertyName": "disableLocks",
"type": "boolean",
"description": "Disable locks acquired to run migrations safely"
}
]
},
"migration:rollback": {
"settings": {
"loadApp": true
},
"commandPath": "@adonisjs/lucid/build/commands/Migration/Rollback",
"commandName": "migration:rollback",
"description": "Rollback migrations to a specific batch number",
"args": [],
"aliases": [],
"flags": [
{
"name": "connection",
"propertyName": "connection",
"type": "string",
"description": "Define a custom database connection",
"alias": "c"
},
{
"name": "force",
"propertyName": "force",
"type": "boolean",
"description": "Explictly force to run migrations in production"
},
{
"name": "dry-run",
"propertyName": "dryRun",
"type": "boolean",
"description": "Do not run actual queries. Instead view the SQL output"
},
{
"name": "batch",
"propertyName": "batch",
"type": "number",
"description": "Define custom batch number for rollback. Use 0 to rollback to initial state"
},
{
"name": "compact-output",
"propertyName": "compactOutput",
"type": "boolean",
"description": "A compact single-line output"
},
{
"name": "disable-locks",
"propertyName": "disableLocks",
"type": "boolean",
"description": "Disable locks acquired to run migrations safely"
}
]
},
"migration:status": {
"settings": {
"loadApp": true
},
"commandPath": "@adonisjs/lucid/build/commands/Migration/Status",
"commandName": "migration:status",
"description": "View migrations status",
"args": [],
"aliases": [],
"flags": [
{
"name": "connection",
"propertyName": "connection",
"type": "string",
"description": "Define a custom database connection",
"alias": "c"
}
]
},
"migration:reset": {
"settings": {
"loadApp": true
},
"commandPath": "@adonisjs/lucid/build/commands/Migration/Reset",
"commandName": "migration:reset",
"description": "Rollback all migrations",
"args": [],
"aliases": [],
"flags": [
{
"name": "connection",
"propertyName": "connection",
"type": "string",
"description": "Define a custom database connection",
"alias": "c"
},
{
"name": "force",
"propertyName": "force",
"type": "boolean",
"description": "Explicitly force command to run in production"
},
{
"name": "dry-run",
"propertyName": "dryRun",
"type": "boolean",
"description": "Do not run actual queries. Instead view the SQL output"
},
{
"name": "disable-locks",
"propertyName": "disableLocks",
"type": "boolean",
"description": "Disable locks acquired to run migrations safely"
}
]
},
"migration:refresh": {
"settings": {
"loadApp": true
},
"commandPath": "@adonisjs/lucid/build/commands/Migration/Refresh",
"commandName": "migration:refresh",
"description": "Rollback and migrate database",
"args": [],
"aliases": [],
"flags": [
{
"name": "connection",
"propertyName": "connection",
"type": "string",
"description": "Define a custom database connection",
"alias": "c"
},
{
"name": "force",
"propertyName": "force",
"type": "boolean",
"description": "Explicitly force command to run in production"
},
{
"name": "dry-run",
"propertyName": "dryRun",
"type": "boolean",
"description": "Do not run actual queries. Instead view the SQL output"
},
{
"name": "seed",
"propertyName": "seed",
"type": "boolean",
"description": "Run seeders"
},
{
"name": "disable-locks",
"propertyName": "disableLocks",
"type": "boolean",
"description": "Disable locks acquired to run migrations safely"
}
]
},
"migration:fresh": {
"settings": {
"loadApp": true
},
"commandPath": "@adonisjs/lucid/build/commands/Migration/Fresh",
"commandName": "migration:fresh",
"description": "Drop all tables and re-migrate the database",
"args": [],
"aliases": [],
"flags": [
{
"name": "connection",
"propertyName": "connection",
"type": "string",
"description": "Define a custom database connection",
"alias": "c"
},
{
"name": "force",
"propertyName": "force",
"type": "boolean",
"description": "Explicitly force command to run in production"
},
{
"name": "seed",
"propertyName": "seed",
"type": "boolean",
"description": "Run seeders"
},
{
"name": "drop-views",
"propertyName": "dropViews",
"type": "boolean",
"description": "Drop all views"
},
{
"name": "drop-types",
"propertyName": "dropTypes",
"type": "boolean",
"description": "Drop all custom types (Postgres only)"
},
{
"name": "disable-locks",
"propertyName": "disableLocks",
"type": "boolean",
"description": "Disable locks acquired to run migrations safely"
}
]
}
},
"aliases": {}
@@ -1,35 +0,0 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const User_1 = __importDefault(global[Symbol.for('ioc.use')]("App/Models/User"));
const CreateUserValidator_1 = __importDefault(global[Symbol.for('ioc.use')]("App/Validators/CreateUserValidator"));
class AuthController {
async index({ view }) {
return view.render('auth');
}
async login({ request, auth, response, session }) {
const email = request.input('loginemail');
const password = request.input('loginpassword');
try {
await auth.use('web').attempt(email, password);
response.redirect().toRoute('home');
}
catch {
session.flash({ error: "Identifiant ou mot de passe incorrect" });
response.redirect().back();
}
}
async signup({ request, response }) {
const playload = await request.validate(CreateUserValidator_1.default);
await User_1.default.create(playload);
return response.redirect().toRoute('home');
}
async logout({ auth, response }) {
await auth.logout();
return response.redirect().back();
}
}
exports.default = AuthController;
//# sourceMappingURL=AuthController.js.map
@@ -1 +0,0 @@
{"version":3,"file":"AuthController.js","sourceRoot":"","sources":["../../../../app/Controllers/Http/AuthController.ts"],"names":[],"mappings":";;;;;AACA,iFAAkC;AAClC,mHAAoE;AAEpE,MAAqB,cAAc;IAEhC,KAAK,CAAC,KAAK,CAAE,EAAE,IAAI,EAAuB;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC7B,CAAC;IAED,KAAK,CAAC,KAAK,CAAE,EAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAsB;QACjE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;QAE/C,IAAI;YACD,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;YAC9C,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;SACrC;QAAC,MAAM;YACL,OAAO,CAAC,KAAK,CAAC,EAAC,KAAK,EAAE,uCAAuC,EAAC,CAAC,CAAA;YAC/D,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAA;SAC5B;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAuB;QACpD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,6BAAmB,CAAC,CAAA;QAC5D,MAAM,cAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC3B,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC7C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAsB;QAChD,MAAM,IAAI,CAAC,MAAM,EAAE,CAAA;QACnB,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAA;IACpC,CAAC;CACH;AA7BD,iCA6BC"}
@@ -1,30 +0,0 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const ModifPseudoValidator_1 = __importDefault(global[Symbol.for('ioc.use')]("App/Validators/ModifPseudoValidator"));
const ModifEmailValidator_1 = __importDefault(global[Symbol.for('ioc.use')]("App/Validators/ModifEmailValidator"));
class ComptesController {
async index({ view }) {
return view.render('compte');
}
async modifpseudo({ request, auth, session, response }) {
const user = auth.user;
await request.validate(ModifPseudoValidator_1.default);
user.pseudo = request.input('pseudo');
await user.save();
session.flash({ success: "Username updated successfully" });
response.redirect().back();
}
async modifemail({ request, auth, session, response }) {
const user = auth.user;
await request.validate(ModifEmailValidator_1.default);
user.email = request.input('email');
await user.save();
session.flash({ success: "Email updated successfully" });
response.redirect().back();
}
}
exports.default = ComptesController;
//# sourceMappingURL=ComptesController.js.map
@@ -1 +0,0 @@
{"version":3,"file":"ComptesController.js","sourceRoot":"","sources":["../../../../app/Controllers/Http/ComptesController.ts"],"names":[],"mappings":";;;;;AACA,qHAAsE;AACtE,mHAAoE;AAEpE,MAAqB,iBAAiB;IAEpC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,EAAuB;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC9B,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAuB;QACzE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QAEtB,MAAM,OAAO,CAAC,QAAQ,CAAC,8BAAoB,CAAC,CAAA;QAE5C,IAAK,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QACtC,MAAM,IAAK,CAAC,IAAI,EAAE,CAAA;QAClB,OAAO,CAAC,KAAK,CAAC,EAAC,OAAO,EAAE,+BAA+B,EAAC,CAAC,CAAA;QACzD,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAA;IAC5B,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAuB;QACxE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QAEtB,MAAM,OAAO,CAAC,QAAQ,CAAC,6BAAmB,CAAC,CAAA;QAE3C,IAAK,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACpC,MAAM,IAAK,CAAC,IAAI,EAAE,CAAA;QAClB,OAAO,CAAC,KAAK,CAAC,EAAC,OAAO,EAAE,4BAA4B,EAAC,CAAC,CAAA;QACtD,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAA;IAC5B,CAAC;CAEF;AA5BD,oCA4BC"}
@@ -1,9 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
class HomeController {
async index({ view }) {
return view.render('index');
}
}
exports.default = HomeController;
//# sourceMappingURL=HomeController.js.map
@@ -1 +0,0 @@
{"version":3,"file":"HomeController.js","sourceRoot":"","sources":["../../../../app/Controllers/Http/HomeController.ts"],"names":[],"mappings":";;AAEA,MAAqB,cAAc;IAEhC,KAAK,CAAC,KAAK,CAAE,EAAE,IAAI,EAAuB;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC9B,CAAC;CACH;AALD,iCAKC"}
@@ -1,18 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
class ProjectsController {
async nups({ view }) {
return view.render('projects/nups/project-nups');
}
async nupsWeb({ view }) {
return view.render('projects/nups/nups');
}
async myNetwork({ view }) {
return view.render('projects/myNetwork/index');
}
async journal({ view }) {
return view.render('projects/journal/index');
}
}
exports.default = ProjectsController;
//# sourceMappingURL=ProjectsController.js.map
@@ -1 +0,0 @@
{"version":3,"file":"ProjectsController.js","sourceRoot":"","sources":["../../../../app/Controllers/Http/ProjectsController.ts"],"names":[],"mappings":";;AAEA,MAAqB,kBAAkB;IAErC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAuB;QACtC,OAAO,IAAI,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAA;IAClD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAuB;QACzC,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAA;IAC1C,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,EAAE,IAAI,EAAuB;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAA;IAChD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAuB;QACzC,OAAO,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAA;IAC9C,CAAC;CAEF;AAlBD,qCAkBC"}
@@ -1,9 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
class TermsController {
async index({ view }) {
return view.render('terms');
}
}
exports.default = TermsController;
//# sourceMappingURL=TermsController.js.map
@@ -1 +0,0 @@
{"version":3,"file":"TermsController.js","sourceRoot":"","sources":["../../../../app/Controllers/Http/TermsController.ts"],"names":[],"mappings":";;AAEA,MAAqB,eAAe;IAElC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,EAAuB;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC7B,CAAC;CAEF;AAND,kCAMC"}
-26
View File
@@ -1,26 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const standalone_1 = require("@adonisjs/auth/build/standalone");
class AuthMiddleware {
constructor() {
this.redirectTo = '/login';
}
async authenticate(auth, guards) {
let guardLastAttempted;
for (let guard of guards) {
guardLastAttempted = guard;
if (await auth.use(guard).check()) {
auth.defaultGuard = guard;
return true;
}
}
throw new standalone_1.AuthenticationException('Unauthorized access', 'E_UNAUTHORIZED_ACCESS', guardLastAttempted, this.redirectTo);
}
async handle({ auth }, next, customGuards) {
const guards = customGuards.length ? customGuards : [auth.name];
await this.authenticate(auth, guards);
await next();
}
}
exports.default = AuthMiddleware;
//# sourceMappingURL=Auth.js.map
-1
View File
@@ -1 +0,0 @@
{"version":3,"file":"Auth.js","sourceRoot":"","sources":["../../../app/Middleware/Auth.ts"],"names":[],"mappings":";;AAAA,gEAAyE;AAWzE,MAAqB,cAAc;IAAnC;QAIY,eAAU,GAAG,QAAQ,CAAA;IA4DjC,CAAC;IAlDW,KAAK,CAAC,YAAY,CAAC,IAAiC,EAAE,MAA4B;QAO1F,IAAI,kBAAsC,CAAA;QAE1C,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE;YACxB,kBAAkB,GAAG,KAAK,CAAA;YAE1B,IAAI,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBAMjC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;gBACzB,OAAO,IAAI,CAAA;aACZ;SACF;QAKD,MAAM,IAAI,oCAAuB,CAC/B,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,IAAI,CAAC,UAAU,CAChB,CAAA;IACH,CAAC;IAKM,KAAK,CAAC,MAAM,CACjB,EAAE,IAAI,EAAuB,EAC7B,IAAyB,EACzB,YAAkC;QAMlC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC/D,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QACrC,MAAM,IAAI,EAAE,CAAA;IACd,CAAC;CACF;AAhED,iCAgEC"}
-10
View File
@@ -1,10 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
class SilentAuthMiddleware {
async handle({ auth }, next) {
await auth.check();
await next();
}
}
exports.default = SilentAuthMiddleware;
//# sourceMappingURL=SilentAuth.js.map
-1
View File
@@ -1 +0,0 @@
{"version":3,"file":"SilentAuth.js","sourceRoot":"","sources":["../../../app/Middleware/SilentAuth.ts"],"names":[],"mappings":";;AAQA,MAAqB,oBAAoB;IAIhC,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAuB,EAAE,IAAyB;QAK1E,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;QAClB,MAAM,IAAI,EAAE,CAAA;IACd,CAAC;CACF;AAZD,uCAYC"}
-60
View File
@@ -1,60 +0,0 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const luxon_1 = require("luxon");
const Hash_1 = __importDefault(global[Symbol.for('ioc.use')]("Adonis/Core/Hash"));
const Orm_1 = global[Symbol.for('ioc.use')]("Adonis/Lucid/Orm");
class User extends Orm_1.BaseModel {
static async hashPassword(user) {
if (user.$dirty.password) {
user.password = await Hash_1.default.make(user.password);
}
}
}
__decorate([
(0, Orm_1.column)({ isPrimary: true }),
__metadata("design:type", Number)
], User.prototype, "id", void 0);
__decorate([
(0, Orm_1.column)(),
__metadata("design:type", String)
], User.prototype, "pseudo", void 0);
__decorate([
(0, Orm_1.column)(),
__metadata("design:type", String)
], User.prototype, "email", void 0);
__decorate([
(0, Orm_1.column)({ serializeAs: null }),
__metadata("design:type", String)
], User.prototype, "password", void 0);
__decorate([
(0, Orm_1.column)(),
__metadata("design:type", Object)
], User.prototype, "rememberMeToken", void 0);
__decorate([
Orm_1.column.dateTime({ autoCreate: true }),
__metadata("design:type", luxon_1.DateTime)
], User.prototype, "createdAt", void 0);
__decorate([
Orm_1.column.dateTime({ autoCreate: true, autoUpdate: true }),
__metadata("design:type", luxon_1.DateTime)
], User.prototype, "updatedAt", void 0);
__decorate([
(0, Orm_1.beforeSave)(),
__metadata("design:type", Function),
__metadata("design:paramtypes", [User]),
__metadata("design:returntype", Promise)
], User, "hashPassword", null);
exports.default = User;
//# sourceMappingURL=User.js.map
-1
View File
@@ -1 +0,0 @@
{"version":3,"file":"User.js","sourceRoot":"","sources":["../../../app/Models/User.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,iCAAgC;AAChC,kFAAwC;AACxC,gEAAqE;AAErE,MAAqB,IAAK,SAAQ,eAAS;IAuBlC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAE,IAAU;QAC1C,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YACxB,IAAI,CAAC,QAAQ,GAAG,MAAM,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;SAC/C;IACH,CAAC;CACF;AA1BC;IADC,IAAA,YAAM,EAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;;gCACX;AAGjB;IADC,IAAA,YAAM,GAAE;;oCACY;AAGrB;IADC,IAAA,YAAM,GAAE;;mCACW;AAGpB;IADC,IAAA,YAAM,EAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;;sCACP;AAGvB;IADC,IAAA,YAAM,GAAE;;6CAC4B;AAGrC;IADC,YAAM,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;8BACpB,gBAAQ;uCAAA;AAG1B;IADC,YAAM,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;8BACtC,gBAAQ;uCAAA;AAG1B;IADC,IAAA,gBAAU,GAAE;;qCAC2B,IAAI;;8BAI3C;AA3BH,uBA4BC"}
@@ -1,21 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const Validator_1 = global[Symbol.for('ioc.use')]("Adonis/Core/Validator");
class CreateUserValidator {
constructor(ctx) {
this.ctx = ctx;
this.schema = Validator_1.schema.create({
pseudo: Validator_1.schema.string(),
email: Validator_1.schema.string({}, [Validator_1.rules.email(), Validator_1.rules.unique({ table: 'users', column: 'email' })]),
password: Validator_1.schema.string({}, [Validator_1.rules.minLength(4), Validator_1.rules.confirmed()])
});
this.messages = {
required: 'The {{ field }} is required to create a new account',
'email.email': 'Vous devez saisir un email dans le champ email',
'email.unique': 'Email is already in use',
'password.minLength': 'The password must be at least 4 characters long'
};
}
}
exports.default = CreateUserValidator;
//# sourceMappingURL=CreateUserValidator.js.map
@@ -1 +0,0 @@
{"version":3,"file":"CreateUserValidator.js","sourceRoot":"","sources":["../../../app/Validators/CreateUserValidator.ts"],"names":[],"mappings":";;AAAA,2EAA0E;AAG1E,MAAqB,mBAAmB;IACtC,YAAsB,GAAwB;QAAxB,QAAG,GAAH,GAAG,CAAqB;QAqBvC,WAAM,GAAG,kBAAM,CAAC,MAAM,CAAC;YAC5B,MAAM,EAAE,kBAAM,CAAC,MAAM,EAAE;YACvB,KAAK,EAAE,kBAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,iBAAK,CAAC,KAAK,EAAE,EAAE,iBAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAE,CAAC;YAC7F,QAAQ,EAAE,kBAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,iBAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAK,CAAC,SAAS,EAAE,CAAE,CAAC;SACtE,CAAC,CAAA;QAaK,aAAQ,GAAmB;YAChC,QAAQ,EAAE,qDAAqD;YAC/D,aAAa,EAAE,gDAAgD;YAC/D,cAAc,EAAE,yBAAyB;YACzC,oBAAoB,EAAE,iDAAiD;SACxE,CAAA;IA3CgD,CAAC;CA4CnD;AA7CD,sCA6CC"}
@@ -1,18 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const Validator_1 = global[Symbol.for('ioc.use')]("Adonis/Core/Validator");
class ModifEmailValidator {
constructor(ctx) {
this.ctx = ctx;
this.schema = Validator_1.schema.create({
email: Validator_1.schema.string({}, [Validator_1.rules.email(), Validator_1.rules.unique({ table: 'users', column: 'email' })])
});
this.messages = {
required: 'The {{ field }} is required to modifie email',
'email.email': 'You must enter an email in the email field',
'email.unique': 'Email is already in use'
};
}
}
exports.default = ModifEmailValidator;
//# sourceMappingURL=ModifEmailValidator.js.map
@@ -1 +0,0 @@
{"version":3,"file":"ModifEmailValidator.js","sourceRoot":"","sources":["../../../app/Validators/ModifEmailValidator.ts"],"names":[],"mappings":";;AAAA,2EAA0E;AAG1E,MAAqB,mBAAmB;IACtC,YAAsB,GAAwB;QAAxB,QAAG,GAAH,GAAG,CAAqB;QAqBvC,WAAM,GAAG,kBAAM,CAAC,MAAM,CAAC;YAC5B,KAAK,EAAE,kBAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,iBAAK,CAAC,KAAK,EAAE,EAAE,iBAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAE,CAAC;SAC9F,CAAC,CAAA;QAaK,aAAQ,GAAmB;YAChC,QAAQ,EAAE,8CAA8C;YACxD,aAAa,EAAE,4CAA4C;YAC3D,cAAc,EAAE,yBAAyB;SAC1C,CAAA;IAxCgD,CAAC;CAyCnD;AA1CD,sCA0CC"}
@@ -1,17 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const Validator_1 = global[Symbol.for('ioc.use')]("Adonis/Core/Validator");
class ModifPseudoValidator {
constructor(ctx) {
this.ctx = ctx;
this.schema = Validator_1.schema.create({
pseudo: Validator_1.schema.string({}, [Validator_1.rules.minLength(3)])
});
this.messages = {
required: 'The {{ field }} is required to modifie pseudo',
'pseudo.minLength': 'The pseudo must be at least 3 characters long'
};
}
}
exports.default = ModifPseudoValidator;
//# sourceMappingURL=ModifPseudoValidator.js.map
@@ -1 +0,0 @@
{"version":3,"file":"ModifPseudoValidator.js","sourceRoot":"","sources":["../../../app/Validators/ModifPseudoValidator.ts"],"names":[],"mappings":";;AAAA,2EAA0E;AAG1E,MAAqB,oBAAoB;IACvC,YAAsB,GAAwB;QAAxB,QAAG,GAAH,GAAG,CAAqB;QAqBvC,WAAM,GAAG,kBAAM,CAAC,MAAM,CAAC;YAC5B,MAAM,EAAE,kBAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,iBAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;SAChD,CAAC,CAAA;QAaK,aAAQ,GAAmB;YAChC,QAAQ,EAAE,+CAA+C;YACzD,kBAAkB,EAAE,+CAA+C;SACpE,CAAA;IAvCgD,CAAC;CAwCnD;AAzCD,uCAyCC"}
-41
View File
@@ -1,41 +0,0 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
const authConfig = {
guard: 'web',
guards: {
web: {
driver: 'session',
provider: {
driver: 'lucid',
identifierKey: 'id',
uids: ['email'],
model: () => Promise.resolve().then(() => __importStar(global[Symbol.for('ioc.use')]('App/Models/User'))),
},
},
},
};
exports.default = authConfig;
//# sourceMappingURL=auth.js.map
-1
View File
@@ -1 +0,0 @@
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../config/auth.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,MAAM,UAAU,GAAe;IAC7B,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE;QAWN,GAAG,EAAE;YACH,MAAM,EAAE,SAAS;YAEjB,QAAQ,EAAE;gBASR,MAAM,EAAE,OAAO;gBAWf,aAAa,EAAE,IAAI;gBAYnB,IAAI,EAAE,CAAC,OAAO,CAAC;gBAaf,KAAK,EAAE,GAAG,EAAE,yEAAQ,iBAAiB,GAAC;aACvC;SACF;KACF;CACF,CAAA;AAED,kBAAe,UAAU,CAAA"}
-31
View File
@@ -1,31 +0,0 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const Env_1 = __importDefault(global[Symbol.for('ioc.use')]("Adonis/Core/Env"));
const Application_1 = __importDefault(global[Symbol.for('ioc.use')]("Adonis/Core/Application"));
const databaseConfig = {
connection: Env_1.default.get('DB_CONNECTION'),
connections: {
sqlite: {
client: 'sqlite',
connection: {
filename: Application_1.default.tmpPath('db.sqlite3'),
},
pool: {
afterCreate: (conn, cb) => {
conn.run('PRAGMA foreign_keys=true', cb);
}
},
migrations: {
naturalSort: true,
},
useNullAsDefault: true,
healthCheck: false,
debug: false,
},
}
};
exports.default = databaseConfig;
//# sourceMappingURL=database.js.map
-1
View File
@@ -1 +0,0 @@
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../config/database.ts"],"names":[],"mappings":";;;;;AAOA,gFAAsC;AACtC,gGAAsD;AAGtD,MAAM,cAAc,GAAmB;IAWrC,UAAU,EAAE,aAAG,CAAC,GAAG,CAAC,eAAe,CAAC;IAEpC,WAAW,EAAE;QAYX,MAAM,EAAE;YACN,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE;gBACV,QAAQ,EAAE,qBAAW,CAAC,OAAO,CAAC,YAAY,CAAC;aAC5C;YACD,IAAI,EAAE;gBACJ,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE;oBACxB,IAAI,CAAC,GAAG,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAA;gBAC1C,CAAC;aACF;YACD,UAAU,EAAE;gBACV,WAAW,EAAE,IAAI;aAClB;YACD,gBAAgB,EAAE,IAAI;YACtB,WAAW,EAAE,KAAK;YAClB,KAAK,EAAE,KAAK;SACb;KAEF;CACF,CAAA;AAED,kBAAe,cAAc,CAAA"}
-3
View File
@@ -1,3 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=auth.js.map
-1
View File
@@ -1 +0,0 @@
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../contracts/auth.ts"],"names":[],"mappings":""}
-1
View File
@@ -1 +0,0 @@
//# sourceMappingURL=index.js.map
-1
View File
@@ -1 +0,0 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../database/factories/index.ts"],"names":[],"mappings":""}
@@ -1,28 +0,0 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const Schema_1 = __importDefault(global[Symbol.for('ioc.use')]("Adonis/Lucid/Schema"));
class default_1 extends Schema_1.default {
constructor() {
super(...arguments);
this.tableName = 'users';
}
async up() {
this.schema.createTable(this.tableName, (table) => {
table.increments('id').primary();
table.string('pseudo', 50).notNullable;
table.string('email', 255).notNullable().unique();
table.string('password', 180).notNullable();
table.string('remember_me_token').nullable();
table.timestamp('created_at', { useTz: true }).notNullable();
table.timestamp('updated_at', { useTz: true }).notNullable();
});
}
async down() {
this.schema.dropTable(this.tableName);
}
}
exports.default = default_1;
//# sourceMappingURL=1698786769334_users.js.map
@@ -1 +0,0 @@
{"version":3,"file":"1698786769334_users.js","sourceRoot":"","sources":["../../../database/migrations/1698786769334_users.ts"],"names":[],"mappings":";;;;;AAAA,uFAAiD;AAEjD,eAAqB,SAAQ,gBAAU;IAAvC;;QACY,cAAS,GAAG,OAAO,CAAA;IAiB/B,CAAC;IAfQ,KAAK,CAAC,EAAE;QACb,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YAChD,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAA;YAChC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,WAAW,CAAA;YACtC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,CAAA;YACjD,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;YAC3C,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE,CAAA;YAC5C,KAAK,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;YAC5D,KAAK,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;QAC9D,CAAC,CAAC,CAAA;IACJ,CAAC;IAEM,KAAK,CAAC,IAAI;QACf,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACvC,CAAC;CACF;AAlBD,4BAkBC"}
+1118 -1725
View File
File diff suppressed because it is too large Load Diff
+15 -16
View File
@@ -1,5 +1,5 @@
{
"name": "nups-web",
"name": "portfolio",
"version": "1.0.0",
"private": true,
"scripts": {
@@ -39,40 +39,39 @@
},
"devDependencies": {
"@adonisjs/assembler": "^5.9.6",
"@babel/core": "^7.23.2",
"@babel/preset-env": "^7.23.2",
"@babel/core": "^7.23.5",
"@babel/preset-env": "^7.23.5",
"@japa/preset-adonis": "^1.2.0",
"@japa/runner": "^2.5.1",
"@symfony/webpack-encore": "^4.1.1",
"@types/proxy-addr": "^2.0.2",
"@types/source-map-support": "^0.5.9",
"@types/proxy-addr": "^2.0.3",
"@types/source-map-support": "^0.5.10",
"adonis-preset-ts": "^2.1.0",
"eslint": "^8.52.0",
"eslint-config-prettier": "^9.0.0",
"autoprefixer": "^10.4.16",
"eslint": "^8.55.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-adonis": "^2.1.1",
"eslint-plugin-prettier": "^5.0.1",
"pino-pretty": "^10.2.3",
"prettier": "^3.0.3",
"postcss": "^8.4.32",
"postcss-loader": "^7.3.3",
"prettier": "^3.1.0",
"tailwindcss": "^3.3.5",
"typescript": "~4.6",
"webpack": "^5.89.0",
"webpack-cli": "^4.10.0",
"youch": "^3.3.2",
"youch": "^3.3.3",
"youch-terminal": "^2.2.3"
},
"dependencies": {
"@adonisjs/auth": "^8.2.3",
"@adonisjs/core": "^5.9.0",
"@adonisjs/lucid": "^18.4.2",
"@adonisjs/repl": "^3.1.11",
"@adonisjs/session": "^6.4.0",
"@adonisjs/shield": "^7.1.1",
"@adonisjs/view": "^6.2.0",
"bootstrap": "^5.3.2",
"luxon": "^3.4.3",
"phc-argon2": "^1.1.4",
"alpinejs": "^3.13.3",
"proxy-addr": "^2.0.7",
"reflect-metadata": "^0.1.13",
"source-map-support": "^0.5.21",
"sqlite3": "^5.1.6"
"source-map-support": "^0.5.21"
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 892 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 MiB

-1
View File
@@ -1 +0,0 @@
body,button,h1,h2,input,label,li,ul{border:0;margin:0;padding:0}body{background-color:#f5f5f5;color:#333;font-family:Arial,sans-serif;margin:0;padding:0}h1{font-size:24px}h1,ul{margin:20px}ul{background-color:#ffffff28;border-radius:5px;list-style:none;padding:20px}h2{font-size:20px}h2,li{margin-bottom:10px}form{align-items:center;display:flex;flex-direction:column}label{font-weight:700;margin-bottom:5px}input{border:1px solid #ccc;border-radius:5px;margin-bottom:10px;padding:5px}a,button{background-color:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;padding:10px 20px;text-decoration:none}a:hover,button:hover{background-color:#0056b3}a{margin:20px}.dark-mode-theme{background-color:#1c1c1e;color:#fefefe}
+2 -61
View File
@@ -1,67 +1,8 @@
{
"entrypoints": {
"index": {
"css": [
"/assets/index.f1f9732c.css"
],
"app": {
"js": [
"/assets/index.81737fb2.js"
]
},
"form": {
"css": [
"/assets/form.d255c0c6.css"
],
"js": [
"/assets/form.31d6cfe0.js"
]
},
"compte": {
"css": [
"/assets/compte.753baa5d.css"
],
"js": [
"/assets/compte.31d6cfe0.js"
]
},
"terms": {
"css": [
"/assets/terms.81e389a9.css"
],
"js": [
"/assets/terms.31d6cfe0.js"
]
},
"project-nups": {
"css": [
"/assets/project-nups.bc10365c.css"
],
"js": [
"/assets/project-nups.31d6cfe0.js"
]
},
"nups": {
"css": [
"/assets/nups.1cfcc6cb.css"
],
"js": [
"/assets/nups.31d6cfe0.js"
]
},
"my-network-project": {
"css": [
"/assets/my-network-project.75c72c57.css"
],
"js": [
"/assets/my-network-project.31d6cfe0.js"
]
},
"journal": {
"css": [
"/assets/journal.f506c653.css"
],
"js": [
"/assets/journal.31d6cfe0.js"
"/assets/app.31d6cfe0.js"
]
}
}
-1
View File
@@ -1 +0,0 @@
@import url(https://fonts.googleapis.com/css?family=Poppins:400,500,600,700,800,900);body{background-color:#1f2029;color:#c4c3ca;font-family:Poppins,sans-serif;font-size:15px;font-weight:300;line-height:1.7;overflow-x:hidden}a{cursor:pointer;transition:all .2s linear}a:hover{text-decoration:none}.link{color:#c4c3ca}.link:hover{color:#ffeba7}p{font-size:14px;font-weight:500;line-height:1.7}h4{font-weight:600}h6 span{font-weight:700;padding:0 20px;text-transform:uppercase}.section{display:block;position:relative;width:100%}.full-height{min-height:100vh}[type=checkbox]:checked,[type=checkbox]:not(:checked){left:-9999px;position:absolute}.checkbox:checked+label,.checkbox:not(:checked)+label{background-color:#ffeba7;border-radius:8px;cursor:pointer;display:block;height:16px;margin:10px auto;padding:0;position:relative;text-align:center;width:60px}.checkbox:checked+label:before,.checkbox:not(:checked)+label:before{background-color:#102770;border-radius:50%;color:#ffeba7;content:"\eb4f";display:block;font-family:unicons;font-size:24px;height:36px;left:-10px;line-height:36px;position:absolute;text-align:center;top:-10px;transition:all .5s ease;width:36px;z-index:20}.checkbox:checked+label:before{transform:translateX(44px) rotate(-270deg)}.card-3d-wrap{height:400px;margin-top:60px;max-width:100%;perspective:800px;position:relative;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;width:440px}.card-3d-wrapper{transition:all .6s ease-out}.card-3d-wrapper,.card-back,.card-front{height:100%;left:0;position:absolute;top:0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;width:100%}.card-back,.card-front{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-o-backface-visibility:hidden;backface-visibility:hidden;background-color:#2a2b38;background-image:url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/1462889/pat.svg);background-position:bottom;background-repeat:no-repeat;background-size:300%;border-radius:6px}.card-back,.checkbox:checked~.card-3d-wrap .card-3d-wrapper{transform:rotateY(180deg)}.center-wrap{display:block;left:0;padding:0 35px;position:absolute;top:50%;transform:translate3d(0,-50%,35px) perspective(100px);width:100%;z-index:20}.form-group{display:block;margin:0;padding:0;position:relative}.form-style{background-color:#1f2029;border-radius:4px;color:#c4c3ca;font-size:14px;font-weight:500;height:48px;letter-spacing:.5px;line-height:22px;padding:13px 20px 13px 55px;-webkit-transition:all .2s linear;transition:all .2s linear;width:100%}.form-style,.form-style:active,.form-style:focus{border:none;box-shadow:0 4px 8px 0 hsla(0,0%,8%,.2);outline:none}.input-icon{color:#ffeba7;font-size:24px;height:48px;left:18px;line-height:48px;position:absolute;text-align:left;top:0;-webkit-transition:all .2s linear;transition:all .2s linear}.form-group input:-ms-input-placeholder{color:#c4c3ca;opacity:.7;-webkit-transition:all .2s linear;transition:all .2s linear}.form-group input:-moz-placeholder,.form-group input::-moz-placeholder{color:#c4c3ca;opacity:.7;-webkit-transition:all .2s linear;transition:all .2s linear}.form-group input::-webkit-input-placeholder{color:#c4c3ca;opacity:.7;-webkit-transition:all .2s linear;transition:all .2s linear}.form-group input:focus:-ms-input-placeholder{opacity:0;-webkit-transition:all .2s linear;transition:all .2s linear}.form-group input:focus:-moz-placeholder,.form-group input:focus::-moz-placeholder{opacity:0;-webkit-transition:all .2s linear;transition:all .2s linear}.form-group input:focus::-webkit-input-placeholder{opacity:0;-webkit-transition:all .2s linear;transition:all .2s linear}.btn{-ms-flex-pack:center;-webkit-align-items:center;-moz-align-items:center;-ms-align-items:center;align-items:center;background-color:#ffeba7;border:none;border-radius:4px;box-shadow:0 8px 24px 0 rgba(255,235,167,.2);color:#102770;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:13px;font-weight:600;height:44px;-webkit-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;justify-content:center;letter-spacing:1px;padding:0 30px;text-align:center;text-transform:uppercase;-webkit-transition:all .2s linear;transition:all .2s linear}.btn:active,.btn:focus,.btn:hover{background-color:#102770;box-shadow:0 8px 24px 0 rgba(16,39,112,.2);color:#ffeba7}.logo{display:block;position:absolute;right:30px;top:30px;transition:all .25s linear;z-index:100}.logo img{display:block;height:26px;width:auto}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 MiB

-1
View File
@@ -1 +0,0 @@
(()=>{"use strict";var e=document.getElementById("toggle-btn"),t=document.querySelector("body"),a=document.getElementById("text"),d=document.getElementById("mini-nav"),s=document.getElementById("nav"),l=localStorage.getItem("dark-mode"),o=function(){t.classList.add("dark-mode-theme"),d.classList.add("nav-dark"),s.classList.add("nav-dark"),d.classList.remove("nav-light"),s.classList.remove("nav-light"),e.classList.add("dark-mode-toggle"),e.style.color="rgb(177, 177, 177)",a.innerHTML="sombre",localStorage.setItem("dark-mode","enabled")};"enabled"===l&&o(),e.onclick=function(){"enabled"===(l=localStorage.getItem("dark-mode"))?(t.classList.remove("dark-mode-theme"),d.classList.remove("nav-dark"),s.classList.remove("nav-dark"),d.classList.add("nav-light"),s.classList.add("nav-light"),e.classList.remove("dark-mode-toggle"),e.style.color="rgb(83, 83, 83)",a.innerHTML="claire",localStorage.setItem("dark-mode","disabled")):o()}})();
-1
View File
@@ -1 +0,0 @@
@import url(https://fonts.googleapis.com/css?family=Roboto:400,900);*{font-family:Roboto,sans-serif;margin:0;padding:0}html{scroll-behavior:smooth}body{justify-content:space-around;margin:auto;max-width:2500px}.fixed-navbar{backdrop-filter:blur(10px);background-color:hsla(0,0%,100%,.1);border-bottom:1px solid #535353;justify-content:space-between;left:0;padding:0 50px;position:fixed;top:0;width:calc(100% - 100px);z-index:999}.fixed-navbar,.fixed-navbar ul{align-items:center;display:flex}.fixed-navbar ul{height:70px;list-style:none}.fixed-navbar li{color:#535353;font-weight:700;margin:0 10px}.fixed-navbar a{color:#535353;padding:5px 15px;text-decoration:none}.fixed-navbar a:hover{border:1px solid #535353;border-radius:5px;padding:5px 14px}.mini-nav{align-items:center;backdrop-filter:blur(10px);background-color:hsla(0,0%,100%,.1);border-bottom:1px solid #535353;display:none;height:70px;left:0;padding:0 50px;position:fixed;top:0;width:calc(100% - 100px);z-index:999}.mini-nav img{height:30px;text-align:center;width:30px}.depli-nav{background:none;border:none;cursor:pointer}main,section{margin:100px}h1{font-size:40px;margin-bottom:30px}h1,h2{font-weight:700}h2{font-size:28px;margin-bottom:10px}.barre-verticale{border-left:5px solid #5e5e5e;margin-bottom:10px;padding-left:15px}.citation{color:#3d3d3d;font-style:italic}.citation-auth{color:#3d3d3d;margin-bottom:40px}main{display:flex}.main-left{margin-right:40px}.main-right{margin-left:40px;min-width:40%}.div-lien div{align-items:center;background-color:#d8d8d8;border-radius:5px;color:#555;cursor:pointer;display:flex;flex-direction:row;font-weight:700;margin:5px 0;padding:20px 40px;text-align:left;text-decoration:none}.div-lien div:hover{background-color:#b1b1b1}.div-lien a{text-decoration:none}.div-lien img{padding-right:15px;width:50px}@media (max-width:800px){.main-right{display:none}main,section{margin:20px}.fixed-navbar{display:none;flex-direction:column;margin-top:70px}.mini-nav{display:flex}h1{margin-top:80px}.mini-nav{justify-content:space-between}#nav a{padding:5px 15px}#nav a:hover{padding:5px 14px}#nav ul{display:flex;justify-content:space-between;width:300px}.nav-dark{background-color:#1c1c1e}.nav-light{background-color:#fefefe}}@media (max-width:940px){.fixed-navbar li{margin:0}.fixed-navbar a{padding:5px}}.pp{border-radius:50%;margin:auto;max-width:500px;width:100%}.formContact{background-color:#ffffff28;border:1px solid #ddd;border-radius:5px;margin:0 auto;padding:20px;width:60%}.formContact label{display:block;margin-top:10px}.formContact input[type=email],.formContact input[type=text],.formContact textarea{border:1px solid #ddd;border-radius:5px;margin-top:5px;max-width:calc(100% - 20px);min-width:calc(100% - 20px);padding:10px;width:calc(100% - 20px)}.formContact input[type=submit]{background-color:#333;border:none;border-radius:5px;color:#fff;cursor:pointer;margin-top:10px;padding:10px 20px}.formContact input[type=submit]:hover{background-color:#555}.all_projects{display:flex;flex-wrap:wrap;justify-content:center}.all_projects div{border:2px solid #000;border-radius:10px;height:300px;margin:10px;transition:transform .3s;width:300px}.all_projects div:hover{transform:scale(1.2)}.all_projects img{border-radius:7px;height:100%;width:100%}.btn_theme{background-color:hsla(0,0%,100%,0);border:none;color:#535353;cursor:pointer;display:flex;font-weight:700;padding:5px 15px;text-transform:uppercase}.btn_theme:hover{border:1px solid #535353;border-radius:5px;padding:4px 14px}#text{margin:0 0 0 8px}.dark-mode-theme{background-color:#1c1c1e;color:#fefefe}.dark-mode-theme .fixed-navbar a,.dark-mode-theme .fixed-navbar li,.dark-mode-theme .fixed-navbar ul{color:#b1b1b1}
-1
View File
@@ -1 +0,0 @@
@import url(https://fonts.googleapis.com/css?family=Montserrat:700);*{box-sizing:border-box;font-family:Inter,sans-serif;margin:0;padding:0;scroll-behavior:smooth}body{background-color:#f0f0f0}.btn{align-items:center;background-color:gray;background-image:url("data:image/svg+xml;utf8,<?xml%20version=%221.0%22%20encoding=%22utf-8%22?%3E%3Csvg%20version=%221.1%22%20id=%22Livello_1%22%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20x=%220px%22%20y=%220px%22%20width=%221296px%22%20height=%22768px%22%20viewBox=%220%200%201296%20768%22%20enable-background=%22new%200%200%201296%20768%22%20xml:space=%22preserve%22%3E%3Cg%3E%3Cpolygon%20fill=%22#8694D1%22%20points=%22766.6,1.2%20-0.2,768%20200.7,768%20967.5,1.2%20%22/%3E%3C/g%3E%3Cg%3E%3Cpolygon%20fill=%22#8694D1%22%20points=%221094.8,1.2%20328,768%20528.9,768%201295.7,1.2%20%22/%3E%3C/g%3E%3C/svg%3E");background-position:-200px;background-repeat:no-repeat;background-size:contain;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);color:#fff;display:flex;font-size:1em;font-weight:700;padding:10px;text-decoration:none;text-transform:uppercase;transition:transform .5s cubic-bezier(.68,-.55,.265,1.55),background-position .8s cubic-bezier(.68,-.55,.265,1.55),box-shadow .5s linear;width:100%}.btn:hover{background-position:-60px;box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);transform:scale(1.04)}.btn:active{background-position:500px;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);transform:scale(.5)}.txt_lien{text-align:center;width:100%}.header{align-items:center;background-color:#fff;display:flex;flex-direction:column}.div_big_title{padding:40px;text-align:center}.big_title{color:#000;font-size:40px;font-weight:900}.sous_big_title{font-size:20px}.div_btn{position:fixed}.div_btn,.div_btn_2{align-items:center;display:flex;flex-direction:row;width:100%}.sous_title{color:#000;font-size:17px;font-weight:900;padding:25px;text-align:center}.corps{background-color:#fff;box-shadow:0 0 10px 1px gray;margin:0 150px}.inter_corps,.inter_corps_contact{padding:15px}.def_pv1_1,.def_pv1_2{padding:0 0 25px}.img_1,.img_3{border:none;border-radius:25% 10% 25% 15%;float:right;padding:0 0 15px 15px;width:30%}.img_2{border:none;border-radius:10% 25% 15% 25%;float:left;padding:0 15px 15px 0;width:30%}.id2_pv1,.id2_pv2,.id2_pv3,.id2_pv4{padding:0 0 25px}.img_carte{border:none;border-radius:5%/10%;width:100%}.clear{clear:both}.inter_corps_contact{margin-bottom:30px}.p_contact{padding:10px 0}form{display:flex;flex-direction:column}label{margin-bottom:5px}input[type=email],input[type=text],textarea{border:1px solid #ccc;margin-bottom:10px;padding:10px}.footer{background-color:#33323a;margin-top:50px}.footer2{align-items:center;display:flex;height:100px;padding:0 10%}.sources,.sources a{color:#fff;text-decoration:none}.line{border-bottom:1px solid gray;margin:0 100px}.footer1{height:100px;padding-top:40px;width:100%}.copyrights{color:#fff;float:left;margin-left:10%;text-align:left;width:40%}.conditions_generale{color:#fff;float:right;font-weight:600;margin-right:10%;text-align:right;text-decoration:none;width:40%}.id3_pv1,.id3_pv2,.id3_pv3,.id3_pv4,.id3_pv5{padding:0 0 25px}
+1 -17
View File
@@ -1,19 +1,3 @@
{
"assets/index.css": "/assets/index.f1f9732c.css",
"assets/index.js": "/assets/index.81737fb2.js",
"assets/form.css": "/assets/form.d255c0c6.css",
"assets/form.js": "/assets/form.31d6cfe0.js",
"assets/compte.css": "/assets/compte.753baa5d.css",
"assets/compte.js": "/assets/compte.31d6cfe0.js",
"assets/terms.css": "/assets/terms.81e389a9.css",
"assets/terms.js": "/assets/terms.31d6cfe0.js",
"assets/project-nups.css": "/assets/project-nups.bc10365c.css",
"assets/project-nups.js": "/assets/project-nups.31d6cfe0.js",
"assets/nups.css": "/assets/nups.1cfcc6cb.css",
"assets/nups.js": "/assets/nups.31d6cfe0.js",
"assets/my-network-project.css": "/assets/my-network-project.75c72c57.css",
"assets/my-network-project.js": "/assets/my-network-project.31d6cfe0.js",
"assets/journal.css": "/assets/journal.f506c653.css",
"assets/journal.js": "/assets/journal.31d6cfe0.js",
"assets/images/landing.jpg": "/assets/images/landing.6d6841c3.jpg"
"assets/app.js": "/assets/app.31d6cfe0.js"
}
@@ -1 +0,0 @@
@import url(https://fonts.googleapis.com/css?family=Montserrat:700);.btn{align-items:center;background-color:#222;background-image:url("data:image/svg+xml;utf8,<?xml%20version=%221.0%22%20encoding=%22utf-8%22?%3E%3Csvg%20version=%221.1%22%20id=%22Livello_1%22%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20x=%220px%22%20y=%220px%22%20width=%221296px%22%20height=%22768px%22%20viewBox=%220%200%201296%20768%22%20enable-background=%22new%200%200%201296%20768%22%20xml:space=%22preserve%22%3E%3Cg%3E%3Cpolygon%20fill=%22#8694D1%22%20points=%22766.6,1.2%20-0.2,768%20200.7,768%20967.5,1.2%20%22/%3E%3C/g%3E%3Cg%3E%3Cpolygon%20fill=%22#8694D1%22%20points=%221094.8,1.2%20328,768%20528.9,768%201295.7,1.2%20%22/%3E%3C/g%3E%3C/svg%3E");background-position:-200px;background-repeat:no-repeat;background-size:contain;border-radius:10px;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);color:#fff;display:flex;font-family:Inter,sans-serif;font-size:1em;font-weight:700;padding:4px;text-decoration:none;text-transform:uppercase;transition:transform .5s cubic-bezier(.68,-.55,.265,1.55),background-position .8s cubic-bezier(.68,-.55,.265,1.55),box-shadow .5s linear}.btn:hover{background-position:-60px;box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);transform:scale(1.04)}.btn:active{background-position:500px;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);transform:scale(.5)}.txt_lien{padding-right:48px;text-align:center;width:100%}*{margin:0;padding:0;scroll-behavior:smooth}body{background-color:#000}section{-webkit-box-pack:justify;display:flex;flex-direction:column;justify-content:space-between}div{padding:8px}.accueil{-webkit-box-align:center;align-items:center;padding:64px 16px 32px}.profil_img{border-radius:50%;height:100px;width:100px}h1{color:#fff;font-size:20px;margin-left:12px;margin-right:12px;margin-top:15px;max-width:100%}h1,h2{font-family:Inter,sans-serif;font-weight:900}h2{color:hsla(0,0%,100%,.6);font-size:16px;margin-top:8px;padding-left:40px;padding-right:40px}.liste_btn{margin:0 auto;max-width:680px}.lien_img{border-radius:9px;height:48px;width:48px}
-1
View File
@@ -1 +0,0 @@
*{font-family:arial,sans-serif;margin:0;padding:0;user-select:none}img{pointer-events:none}body{background:#202124}a{color:#fff;text-decoration:none}nav a:active,nav a:hover{text-decoration:underline}nav{align-items:center;display:flex;justify-content:right;width:100%}.lien_nav{margin:10px;padding:5px}.img_nav{display:flex;height:30px}.img_compte{border-radius:50%}header{align-items:center;display:flex;flex-direction:column;height:80vh;justify-content:center}.logo{max-height:400px;max-width:400px;padding:30px}.bar_recherche{align-items:center;background:#303134;border:1px solid rgba(223,225,229,0);border-radius:50px;box-shadow:0 1px 6px 0 #171717;display:flex;height:44px;margin:0 20px;max-width:600px;padding:0 10px;width:80%}.bar_recherche input{background:transparent;border:0;color:snow;flex:1;font-size:16px;outline:none;padding:10px}::placeholder{color:snow}.bar_recherche button img{width:25px}.bar_recherche button{background:#303134;border:0;border-radius:50%;cursor:pointer;height:30px;width:30px}.footer{align-items:center;background-color:#171717;bottom:0;display:flex;flex-wrap:wrap;justify-content:space-between;left:0;margin-top:50px;min-height:100px;padding:0 100px;position:fixed;right:420px}#year,.copyrights{color:#9aa0a6;display:inline;padding:0}.conditions_generale{color:#9aa0a6;font-weight:600;text-decoration:none}main{display:flex}.section_gauche{bottom:0;flex:0 0 auto;left:0;position:fixed;top:0;width:calc(100% - 420px)}.separator{background-color:#303134;height:100%;position:fixed;width:2px}.section_droite,.separator{margin-left:calc(100% - 420px)}.section_droite{width:420px}.liste_favori{display:flex;justify-content:space-between;padding-top:50px}.liste_favori a{margin:0 10px;text-align:center}.liste_favori a img{border-radius:15px;height:80px;width:150px}.liste_app{display:flex;flex-wrap:wrap}.liste_app a{margin:0 20px 20px;text-align:center}.liste_app a img{border-radius:15px;height:100px;width:100px}::-webkit-scrollbar{width:16px}::-webkit-scrollbar-thumb{background:#dadce0;background-clip:padding-box;background-color:#5f6368;border:4px solid transparent;border-radius:8px;box-shadow:none;min-height:50px}::-webkit-scrollbar-track,::-webkit-scrollbar-track:hover{background:none;border:none}
@@ -1 +0,0 @@
@import url(https://fonts.googleapis.com/css?family=Roboto:400,900);*{margin:0;padding:0}*,html{scroll-behavior:smooth}.titre_section{font-family:Roboto,sans-serif;font-size:50px;padding:50px 0 0 60px;position:relative}.titre_section:before{background:#969696;bottom:0;box-shadow:0 2px 2px #0000001f;content:"";height:7px;position:absolute;width:50px}header{background:url(/assets/images/landing.6d6841c3.jpg);background-size:cover;min-height:100vh}nav{display:flex;list-style:none}nav li{margin:30px;overflow:hidden}nav a{color:#fff;display:block;font-family:Roboto,sans-serif;font-size:20px;font-weight:600;position:relative;text-decoration:none;transition:transform .4s}.logo{width:60px}.big_title{color:#fff;font-family:Roboto,sans-serif;font-size:150px;left:10%;position:absolute;top:40%}.explication_contenaire{padding:0 100px}.partie_1,.partie_2{box-sizing:border-box;font-family:sans-serif;font-size:1em;margin:10px auto;min-height:220px;padding:10px;width:80%}.image_parragraphe_1{border:none;border-radius:10%;float:left;width:150px}.image_parragraphe_2{border:none;border-radius:10%;float:right;width:200px}.space{height:0;margin:0,padding 0;width:0}.download_link{align-items:center;display:flex;flex-direction:column}.btn_download{background-color:#0070c0;border:2px solid #00b0f0;border-radius:10px;-webkit-border-radius:10px;-moz-border-radius:10px;box-shadow:3px 3px 4px #444;-webkit-box-shadow:3px 3px 4px #444;-moz-box-shadow:3px 3px 4px #444;color:#fff;cursor:pointer;font-family:arial;font-size:1em;margin-bottom:10px;padding:8px;text-decoration:none;transition:transform .2s ease;width:70%}.btn_download:active{transform:scale(1.05)}.logo_download{width:30px}#version_web p{font-family:sans-serif;font-size:1em;padding:0 100px}.btn_version_web{background-color:#0070c0;border:2px solid #00b0f0;border-radius:10px;-webkit-border-radius:10px;-moz-border-radius:10px;box-shadow:3px 3px 4px #444;-webkit-box-shadow:3px 3px 4px #444;-moz-box-shadow:3px 3px 4px #444;color:#fff;cursor:pointer;font-family:arial;font-size:1em;margin-bottom:10px;padding:8px;text-decoration:none;transition:transform .2s ease;width:40%}.btn_version_web:active{transform:scale(1.05)}.btn_version_web_contenaire{align-items:center;display:flex;height:50px;justify-content:center}#autre p{font-family:sans-serif;font-size:1em;padding:0 100px}#autre iframe{padding:20px 0 0 100px}.dark-mode-theme{background-color:#1c1c1e;color:#fefefe}
-1
View File
@@ -1 +0,0 @@
*{font-family:arial,sans-serif;margin:0;padding:0}main{margin:0 100px}h1{padding:50px}h2{padding-top:20px}.dark-mode-theme{background-color:#1c1c1e;color:#fefefe}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 684 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 407 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 185 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

-48
View File
@@ -1,48 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="100mm"
height="100mm"
viewBox="0 0 100 100"
version="1.1"
id="svg5"
xml:space="preserve"
inkscape:version="1.2.2 (732a01da63, 2022-12-09)"
sodipodi:docname="logo.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
id="namedview7"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#505050"
inkscape:document-units="mm"
showgrid="false"
showguides="true"
inkscape:zoom="1"
inkscape:cx="195"
inkscape:cy="202"
inkscape:window-width="1280"
inkscape:window-height="971"
inkscape:window-x="1272"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" /><defs
id="defs2" /><g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1"><path
style="fill:#ffffff;stroke-width:0.235958"
d="M 0,0 V 100 H 36 V 85 H 15 V 13.9 L 64,48.5 V 30 L 21.5,0 Z"
id="path992"
sodipodi:nodetypes="cccccccccc" /><path
style="fill:#ffffff;stroke-width:0.235958"
d="M 100,100 V 0 H 64 V 15 H 85 V 86.1 L 36,51.5 V 70 l 42.5,30 z"
id="path1046"
sodipodi:nodetypes="cccccccccc" /></g></svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

-164
View File
@@ -1,164 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 1600 853.33333"
width="300"
height="160"
fill-rule="nonzero"
version="1.1"
id="svg353"
sodipodi:docname="icons8-microsoft-onedrive-2019 (1).svg"
inkscape:version="1.2.2 (732a01da63, 2022-12-09)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview355"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#505050"
showgrid="false"
inkscape:zoom="4"
inkscape:cx="118"
inkscape:cy="98.5"
inkscape:window-width="1280"
inkscape:window-height="971"
inkscape:window-x="1272"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg353" />
<defs
id="defs336">
<linearGradient
x1="24.5"
y1="7.0320001"
x2="24.5"
y2="22.851999"
gradientUnits="userSpaceOnUse"
id="color-1">
<stop
offset="0"
stop-color="#0571bf"
id="stop316" />
<stop
offset="1"
stop-color="#0268ba"
id="stop318" />
</linearGradient>
<linearGradient
x1="14.228"
y1="14.219"
x2="14.228"
y2="32.761002"
gradientUnits="userSpaceOnUse"
id="color-2">
<stop
offset="0"
stop-color="#1684da"
id="stop321" />
<stop
offset="1"
stop-color="#107cd4"
id="stop323" />
</linearGradient>
<linearGradient
x1="38.228001"
y1="18.746"
x2="38.228001"
y2="34.097"
gradientUnits="userSpaceOnUse"
id="color-3">
<stop
offset="0"
stop-color="#138cdd"
id="stop326" />
<stop
offset="1"
stop-color="#0c7dd4"
id="stop328" />
</linearGradient>
<linearGradient
x1="17.129999"
y1="24.083"
x2="31.145"
y2="41.333"
gradientUnits="userSpaceOnUse"
id="color-4">
<stop
offset="0"
stop-color="#27a7ea"
id="stop331" />
<stop
offset="1"
stop-color="#1c94e3"
id="stop333" />
</linearGradient>
</defs>
<g
fill="#ffffff"
fill-rule="nonzero"
stroke="none"
stroke-width="1"
stroke-linecap="butt"
stroke-linejoin="miter"
stroke-miterlimit="10"
stroke-dasharray="none"
stroke-dashoffset="0"
font-family="none"
font-weight="none"
font-size="none"
text-anchor="none"
style="mix-blend-mode:normal"
id="g339"
transform="scale(6.25,3.3333333)">
<path
d="M 0,256 V 0 h 256 v 256 z"
id="bgRectangle" />
</g>
<g
fill="none"
fill-rule="nonzero"
stroke="none"
stroke-width="1"
stroke-linecap="butt"
stroke-linejoin="miter"
stroke-miterlimit="10"
stroke-dasharray="none"
stroke-dashoffset="0"
font-family="none"
font-weight="none"
font-size="none"
text-anchor="none"
style="mix-blend-mode:normal"
id="g351"
transform="matrix(3.3333247,0,0,3.3333247,387.51971,22.159094)">
<g
transform="scale(5.33333)"
id="g349">
<path
d="M 24.5,7 C 16.492,7 10,13.492 10,21.5 10,29.508 16.492,36 24.5,36 32.508,36 39,29.508 39,21.5 39,13.492 32.508,7 24.5,7 Z"
fill="url(#color-1)"
id="path341"
style="fill:url(#color-1)" />
<path
d="M 16.155,14.972 C 14.835,14.467 13.402,14.191 11.905,14.191 5.33,14.191 0,19.521 0,26.096 0,28.572 0.757,30.87 2.05,32.774 2.111,32.748 18.495,25.885 28.456,21.886 22.952,18.568 17.903,15.641 16.155,14.972 Z"
fill="url(#color-2)"
id="path343"
style="fill:url(#color-2)" />
<path
d="m 48,28.373 c 0,-5.317 -4.31,-9.627 -9.627,-9.627 -0.997,0 -1.958,0.152 -2.863,0.433 -0.996,0.31 -3.652,1.342 -7.054,2.708 8.377,5.05 17.79,10.996 18.252,11.288 C 47.525,31.76 48,30.123 48,28.373 Z"
fill="url(#color-3)"
id="path345"
style="fill:url(#color-3)" />
<path
d="M 46.709,33.175 C 46.246,32.883 36.834,26.937 28.457,21.887 18.495,25.885 2.111,32.748 2.05,32.774 2.467,33.388 5.627,38 11.904,38 c 5.03,0 16.176,0 26.354,0 5.411,0 7.89,-3.854 8.451,-4.825 z"
fill="url(#color-4)"
id="path347"
style="fill:url(#color-4)" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 310 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 187 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 536 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 290 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 185 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 426 B

-82
View File
@@ -1,82 +0,0 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Login</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
<link rel="stylesheet" href="https://unicons.iconscout.com/release/v2.1.9/css/unicons.css">
@entryPointStyles('form')
@entryPointScripts('form')
</head>
<body>
<a href="{{ route('home') }}" class="logo">
<img src="/logo.png" alt="">
</a>
<div class="section">
<div class="container">
<div class="row full-height justify-content-center">
<div class="col-12 text-center align-self-center py-5">
<div class="section pb-5 pt-5 pt-sm-2 text-center">
<h6 class="mb-0 pb-3"><span>Log In </span><span>Sign Up</span></h6>
<input class="checkbox" type="checkbox" id="reg-log" name="reg-log"/>
<label for="reg-log"></label>
@!component('components/flash')
<div class="card-3d-wrap mx-auto">
<div class="card-3d-wrapper">
<div class="card-front">
<div class="center-wrap">
<div class="section text-center">
<h4 class="mb-4 pb-3">Log In</h4>
<form action="{{ route('login') }}" method="post">
<div class="form-group">
<input type="email" name="loginemail" class="form-style" placeholder="Your Email" id="logemail" autocomplete="off">
<i class="input-icon uil uil-at"></i>
</div>
<div class="form-group mt-2">
<input type="password" name="loginpassword" class="form-style" placeholder="Your Password" id="logpass" autocomplete="off">
<i class="input-icon uil uil-lock-alt"></i>
</div>
<button class="btn mt-4">submit</button>
</form>
<p class="mb-0 mt-4 text-center"><a href="#0" class="link">Forgot your password?</a></p>
</div>
</div>
</div>
<div class="card-back">
<div class="center-wrap">
<div class="section text-center">
<h4 class="mb-4 pb-3">Sign Up</h4>
<form action="{{ route('signup') }}" method="post">
<div class="form-group">
<input type="text" name="pseudo" class="form-style" placeholder="Your Full Name" id="logname" autocomplete="off">
<i class="input-icon uil uil-user"></i>
</div>
<div class="form-group mt-2">
<input type="email" name="email" class="form-style" placeholder="Your Email" id="logemail" autocomplete="off">
<i class="input-icon uil uil-at"></i>
</div>
<div class="form-group mt-2">
<input type="password" name="password" class="form-style" placeholder="Your Password" id="logpass" autocomplete="off">
<i class="input-icon uil uil-lock-alt"></i>
</div>
<div class="form-group mt-2">
<input type="password" name="password_confirmation" class="form-style" placeholder="Confirm Your Password" id="logpass" autocomplete="off">
<i class="input-icon uil uil-lock-alt"></i>
</div>
<button class="btn mt-4">submit</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
@include('components/foother')
</body>
</html>
@@ -1,71 +0,0 @@
@if(flashMessages.has('success'))
<div class="flash-success">
{{ flashMessages.get('success') }}
</div>
@end
@if(flashMessages.has('error'))
<div class="flash-error">
{{ flashMessages.get('error') }}
</div>
@end
<style>
.flash-success {
color: #155724; /* Couleur du texte */
background-color: #d4edda; /* Couleur de l'arrière-plan */
border-color: #c3e6cb; /* Couleur de la bordure */
/* Style de la bordure */
border: 1px solid transparent;
border-radius: 0.25rem;
padding: 0.75rem 1.25rem; /* Espacement interne */
/* Styles supplémentaires pour le texte et les liens */
font-weight: bold;
text-align: center;
text-decoration: none;
/* Ombre légère */
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.flash-error {
color: #721c24; /* Couleur du texte */
background-color: #f8d7da; /* Couleur de l'arrière-plan */
border-color: #f5c6cb; /* Couleur de la bordure */
/* Style de la bordure */
border: 1px solid transparent;
border-radius: 0.25rem;
padding: 0.75rem 1.25rem; /* Espacement interne */
/* Styles supplémentaires pour le texte et les liens */
font-weight: bold;
text-align: center;
text-decoration: none;
/* Ombre légère */
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
</style>
@if(flashMessages.has('errors.pseudo'))
<div class="flash-error">
{{ flashMessages.get('errors.pseudo') }}
</div>
@end
@if(flashMessages.has('errors.email'))
<div class="flash-error">
{{ flashMessages.get('errors.email') }}
</div>
@end
@if(flashMessages.has('errors.password'))
<div class="flash-error">
{{ flashMessages.get('errors.password') }}
</div>
@end
@@ -1,52 +0,0 @@
<footer id="footer" class="footer">
<span class="copyrights">&copy; <div id="year"></div> - Arthur Puechberty</span>
<a href="{{ route('terms') }}" class="conditions_generale" target="_blank">Terms and Conditions</a>
</footer>
<script>
var year = new Date().getFullYear();
document.getElementById("year").innerHTML = year;
document.getElementById('myForm').addEventListener('submit', function(event) {
var input = document.getElementById('myInput');
if (input.value.trim() === '') {
event.preventDefault(); // Empêche la soumission du formulaire
} else {
this.action = "https://www.google.fr/search";
}
});
</script>
<style>
@import url('https://fonts.googleapis.com/css?family=Roboto:400,900');
.footer{
font-family: 'Roboto', sans-serif;
font-weight: 600;
min-height: 100px;
display: flex;
align-items: center;
margin-top: 50px;
justify-content: space-between;
padding: 0 100px;
flex-wrap: wrap;
background-color: rgb(50, 50, 50);
}
.copyrights{
padding-right: 20px;
color: white;
}
.copyrights,
#year {
padding-right: 20px;
color: #9aa0a6;
display: inline;
padding: 0;
}
.conditions_generale {
text-decoration: none;
font-weight: 600;
color: #9aa0a6;
}
</style>

Some files were not shown because too many files have changed in this diff Show More