Merge remote-tracking branch 'origin/dev' into dev

# Conflicts:
#	src/img/schema.png
dev
Leo TUAILLON 2 years ago
commit ee5b243c0b

29
.gitignore vendored

@ -1,12 +1,25 @@
.DS_Store # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
# Generated by package manager # dependencies
node_modules/ /node_modules
*ionicons /.pnp
# Generated by Cordova .pnp.js
/plugins/
/platforms/
# testing
/coverage
.idea # production
/build
# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.idea

@ -1 +0,0 @@
/home/maxime/Projects/WebstormProjects/tactique-basket-app/platforms/browser

@ -1,15 +0,0 @@
<?xml version='1.0' encoding='utf-8'?>
<widget id="org.tbasket.app" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>TactiqueBasketApplication</name>
<description>Sample Apache Cordova App</description>
<author email="dev@cordova.apache.org" href="https://cordova.apache.org">
Apache Cordova Team
</author>
<content src="index.html" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<platform name="android">
<preference name="Scheme" value="http" />
</platform>
</widget>

22790
package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -1,28 +1,47 @@
{ {
"name": "org.tbasket.app", "name": "tbasket",
"displayName": "TactiqueBasketApplication", "version": "0.1.0",
"version": "1.0.0", "private": true,
"description": "A sample Apache Cordova application that responds to the deviceready event.", "main": "public/electron.js",
"main": "index.js", "dependencies": {
"@testing-library/jest-dom": "^5.16.5",
"@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^13.5.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-scripts": "^5.0.1",
"web-vitals": "^2.1.4"
},
"scripts": { "scripts": {
"test": "echo \"Error: no test specified\" && exit 1" "start": "react-scripts start --openssl-legacy-provider",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject",
"dev": "concurrently -k \"BROWSER=none npm start\" \"npm:electron\"",
"electron": "wait-on tcp:3000 && electron ."
}, },
"keywords": [ "eslintConfig": {
"ecosystem:cordova" "extends": [
], "react-app",
"author": "Apache Cordova Team", "react-app/jest"
"license": "Apache-2.0", ]
"devDependencies": {
"cordova-android": "^11.0.0",
"cordova-browser": "^6.0.0",
"cordova-electron": "^3.1.0"
}, },
"cordova": { "browserslist": {
"platforms": [ "production": [
"electron", ">0.2%",
"browser", "not dead",
"android" "not op_mini all"
], ],
"plugins": {} "development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"devDependencies": {
"concurrently": "^7.6.0",
"electron": "^23.0.0",
"electron-is-dev": "^2.0.0",
"wait-on": "^7.0.1"
} }
} }

@ -0,0 +1,47 @@
const path = require('path');
const { app, BrowserWindow } = require('electron');
const isDev = require('electron-is-dev');
function createWindow() {
// Create the browser window.
const win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: true,
},
});
// and load the index.html of the app.
// win.loadFile("index.html");
win.loadURL(
isDev
? 'http://localhost:3000'
: `file://${path.join(__dirname, '../build/index.html')}`
);
// Open the DevTools.
if (isDev) {
win.webContents.openDevTools({ mode: 'detach' });
}
}
// This method will be called when Electron has finished
// initialization and is ready to create browser windows.
// Some APIs can only be used after this event occurs.
app.whenReady().then(createWindow);
// Quit when all windows are closed, except on macOS. There, it's common
// for applications and their menu bar to stay active until the user quits
// explicitly with Cmd + Q.
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit();
}
});
app.on('activate', () => {
if (BrowserWindow.getAllWindows().length === 0) {
createWindow();
}
});

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

@ -0,0 +1,43 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<meta
name="description"
content="Web site created using create-react-app"
/>
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
<!--
manifest.json provides metadata used when your web app is installed on a
user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
-->
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
<!--
Notice the use of %PUBLIC_URL% in the tags above.
It will be replaced with the URL of the `public` folder during the build.
Only files inside the `public` folder can be referenced from the HTML.
Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
work correctly both with client-side routing and a non-root public URL.
Learn how to configure a non-root public URL by running `npm run build`.
-->
<title>React App</title>
</head>
<body style="display: block">
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root" style="width: 100%; height: 100%"></div>
<!--
This HTML file is a template.
If you open it directly in the browser, you will see an empty page.
You can add webfonts, meta tags, or analytics to this file.
The build step will place the bundled scripts into the <body> tag.
To begin the development, run `npm start` or `yarn start`.
To create a production bundle, use `npm run build` or `yarn build`.
-->
</body>
</html>

@ -0,0 +1,13 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Connection</title>
<link rel="stylesheet" href="../../src/css/login.css">
<script type="module" src="https://unpkg.com/ionicons@5.5.2/dist/ionicons/ionicons.esm.js"></script>
<script nomodule src="https://unpkg.com/ionicons@5.5.2/dist/ionicons/ionicons.js"></script>
</head>
<body>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

@ -3,7 +3,7 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>Accueil</title> <title>Accueil</title>
<link rel="stylesheet" type="text/css" href="css/main.css"> <link rel="stylesheet" type="text/css" href="../src/css/main.css">
</head> </head>
<body> <body>
<header> <header>
@ -29,27 +29,27 @@
<div id="teams-list"> <div id="teams-list">
<!-- afficher la liste des équipes --> <!-- afficher la liste des équipes -->
<div class="team-item"> <div class="team-item">
<img src="img/logo2.png"> <img src="../src/img/logo2.png">
<p class="team-name">Equipe 1</p> <p class="team-name">Equipe 1</p>
</div> </div>
<div class="team-item"> <div class="team-item">
<img src="img/logo2.png"> <img src="../src/img/logo2.png">
<p class="team-name">Equipe 2</p> <p class="team-name">Equipe 2</p>
</div> </div>
<div class="team-item"> <div class="team-item">
<img src="img/logo2.png"> <img src="../src/img/logo2.png">
<p class="team-name">Equipe 3</p> <p class="team-name">Equipe 3</p>
</div> </div>
<div class="team-item"> <div class="team-item">
<img src="img/logo2.png"> <img src="../src/img/logo2.png">
<p class="team-name">Equipe 3</p> <p class="team-name">Equipe 3</p>
</div> </div>
<div class="team-item"> <div class="team-item">
<img src="img/logo2.png"> <img src="../src/img/logo2.png">
<p class="team-name">Equipe 3</p> <p class="team-name">Equipe 3</p>
</div> </div>
<div class="team-item"> <div class="team-item">
<img src="img/logo2.png"> <img src="../src/img/logo2.png">
<p class="team-name">Equipe 3</p> <p class="team-name">Equipe 3</p>
</div> </div>
</div> </div>

@ -0,0 +1,25 @@
{
"short_name": "React App",
"name": "Create React App Sample",
"icons": [
{
"src": "favicon.ico",
"sizes": "64x64 32x32 24x24 16x16",
"type": "image/x-icon"
},
{
"src": "logo192.png",
"type": "image/png",
"sizes": "192x192"
},
{
"src": "logo512.png",
"type": "image/png",
"sizes": "512x512"
}
],
"start_url": ".",
"display": "standalone",
"theme_color": "#000000",
"background_color": "#ffffff"
}

@ -0,0 +1,13 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Connection</title>
<link rel="stylesheet" href="../../src/css/login.css">
<script type="module" src="https://unpkg.com/ionicons@5.5.2/dist/ionicons/ionicons.esm.js"></script>
<script nomodule src="https://unpkg.com/ionicons@5.5.2/dist/ionicons/ionicons.js"></script>
</head>
<body>
</body>
</html>

@ -0,0 +1,3 @@
# https://www.robotstxt.org/robotstxt.html
User-agent: *
Disallow:

@ -0,0 +1,38 @@
.App {
text-align: center;
}
.App-logo {
height: 40vmin;
pointer-events: none;
}
@media (prefers-reduced-motion: no-preference) {
.App-logo {
animation: App-logo-spin infinite 5s linear;
}
}
.App-header {
background-color: #282c34;
min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
font-size: calc(10px + 2vmin);
color: white;
}
.App-link {
color: #61dafb;
}
@keyframes App-logo-spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}

@ -0,0 +1,15 @@
import logo from './logo.svg';
import './App.css';
import {Register} from './register/Register'
import {Login} from "./login/Login";
import {MainPage} from "./main/Main";
function App() {
return (
<MainPage/>
//<Login/>
//<Register/>
);
}
export default App;

@ -0,0 +1,8 @@
import { render, screen } from '@testing-library/react';
import App from './App';
test('renders learn react link', () => {
render(<App />);
const linkElement = screen.getByText(/learn react/i);
expect(linkElement).toBeInTheDocument();
});

Before

Width:  |  Height:  |  Size: 568 KiB

After

Width:  |  Height:  |  Size: 568 KiB

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 1.3 MiB

@ -0,0 +1,13 @@
body {
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
code {
font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
monospace;
}

@ -0,0 +1,17 @@
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
<React.StrictMode>
<App />
</React.StrictMode>
);
// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
reportWebVitals();

@ -0,0 +1,43 @@
import React from 'react'
import '../css/login.css'
export function Login() {
return (<>
<div className="container">
<form action="/login" method="POST">
<h3>Se connecter :</h3>
<div className="Input">
<span>Identifiant (eMail)</span>
<div className="box">
<div className="icon">
<ion-icon name="person-circle-outline"></ion-icon>
</div>
<input type="input" className="form__field" placeholder="email" name="email" id='email'
required/>
</div>
</div>
<div className="Input">
<span>Mot de passe</span>
<div className="box">
<div className="icon">
<ion-icon name="lock-closed"></ion-icon>
</div>
<input type="password" className="form__field" placeholder="mot de passe" name="password"
id="password" required/>
</div>
</div>
<label>
<input type="checkbox" value="Se souvenir de moi"/>
</label>
<div className="Input">
<div className="box">
<input type="submit" value="Se connecter"/>
</div>
</div>
<a href="#">J'ai oublier mon mot de passe</a>
<a href="../register/index.html">Je n'ai pas encore de compte</a>
</form>
</div>
</>)
}

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 841.9 595.3"><g fill="#61DAFB"><path d="M666.3 296.5c0-32.5-40.7-63.3-103.1-82.4 14.4-63.6 8-114.2-20.2-130.4-6.5-3.8-14.1-5.6-22.4-5.6v22.3c4.6 0 8.3.9 11.4 2.6 13.6 7.8 19.5 37.5 14.9 75.7-1.1 9.4-2.9 19.3-5.1 29.4-19.6-4.8-41-8.5-63.5-10.9-13.5-18.5-27.5-35.3-41.6-50 32.6-30.3 63.2-46.9 84-46.9V78c-27.5 0-63.5 19.6-99.9 53.6-36.4-33.8-72.4-53.2-99.9-53.2v22.3c20.7 0 51.4 16.5 84 46.6-14 14.7-28 31.4-41.3 49.9-22.6 2.4-44 6.1-63.6 11-2.3-10-4-19.7-5.2-29-4.7-38.2 1.1-67.9 14.6-75.8 3-1.8 6.9-2.6 11.5-2.6V78.5c-8.4 0-16 1.8-22.6 5.6-28.1 16.2-34.4 66.7-19.9 130.1-62.2 19.2-102.7 49.9-102.7 82.3 0 32.5 40.7 63.3 103.1 82.4-14.4 63.6-8 114.2 20.2 130.4 6.5 3.8 14.1 5.6 22.5 5.6 27.5 0 63.5-19.6 99.9-53.6 36.4 33.8 72.4 53.2 99.9 53.2 8.4 0 16-1.8 22.6-5.6 28.1-16.2 34.4-66.7 19.9-130.1 62-19.1 102.5-49.9 102.5-82.3zm-130.2-66.7c-3.7 12.9-8.3 26.2-13.5 39.5-4.1-8-8.4-16-13.1-24-4.6-8-9.5-15.8-14.4-23.4 14.2 2.1 27.9 4.7 41 7.9zm-45.8 106.5c-7.8 13.5-15.8 26.3-24.1 38.2-14.9 1.3-30 2-45.2 2-15.1 0-30.2-.7-45-1.9-8.3-11.9-16.4-24.6-24.2-38-7.6-13.1-14.5-26.4-20.8-39.8 6.2-13.4 13.2-26.8 20.7-39.9 7.8-13.5 15.8-26.3 24.1-38.2 14.9-1.3 30-2 45.2-2 15.1 0 30.2.7 45 1.9 8.3 11.9 16.4 24.6 24.2 38 7.6 13.1 14.5 26.4 20.8 39.8-6.3 13.4-13.2 26.8-20.7 39.9zm32.3-13c5.4 13.4 10 26.8 13.8 39.8-13.1 3.2-26.9 5.9-41.2 8 4.9-7.7 9.8-15.6 14.4-23.7 4.6-8 8.9-16.1 13-24.1zM421.2 430c-9.3-9.6-18.6-20.3-27.8-32 9 .4 18.2.7 27.5.7 9.4 0 18.7-.2 27.8-.7-9 11.7-18.3 22.4-27.5 32zm-74.4-58.9c-14.2-2.1-27.9-4.7-41-7.9 3.7-12.9 8.3-26.2 13.5-39.5 4.1 8 8.4 16 13.1 24 4.7 8 9.5 15.8 14.4 23.4zM420.7 163c9.3 9.6 18.6 20.3 27.8 32-9-.4-18.2-.7-27.5-.7-9.4 0-18.7.2-27.8.7 9-11.7 18.3-22.4 27.5-32zm-74 58.9c-4.9 7.7-9.8 15.6-14.4 23.7-4.6 8-8.9 16-13 24-5.4-13.4-10-26.8-13.8-39.8 13.1-3.1 26.9-5.8 41.2-7.9zm-90.5 125.2c-35.4-15.1-58.3-34.9-58.3-50.6 0-15.7 22.9-35.6 58.3-50.6 8.6-3.7 18-7 27.7-10.1 5.7 19.6 13.2 40 22.5 60.9-9.2 20.8-16.6 41.1-22.2 60.6-9.9-3.1-19.3-6.5-28-10.2zM310 490c-13.6-7.8-19.5-37.5-14.9-75.7 1.1-9.4 2.9-19.3 5.1-29.4 19.6 4.8 41 8.5 63.5 10.9 13.5 18.5 27.5 35.3 41.6 50-32.6 30.3-63.2 46.9-84 46.9-4.5-.1-8.3-1-11.3-2.7zm237.2-76.2c4.7 38.2-1.1 67.9-14.6 75.8-3 1.8-6.9 2.6-11.5 2.6-20.7 0-51.4-16.5-84-46.6 14-14.7 28-31.4 41.3-49.9 22.6-2.4 44-6.1 63.6-11 2.3 10.1 4.1 19.8 5.2 29.1zm38.5-66.7c-8.6 3.7-18 7-27.7 10.1-5.7-19.6-13.2-40-22.5-60.9 9.2-20.8 16.6-41.1 22.2-60.6 9.9 3.1 19.3 6.5 28.1 10.2 35.4 15.1 58.3 34.9 58.3 50.6-.1 15.7-23 35.6-58.4 50.6zM320.8 78.4z"/><circle cx="420.9" cy="296.5" r="45.7"/><path d="M520.5 78.1z"/></g></svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

@ -0,0 +1,71 @@
import React from 'react'
import '../css/main.css'
export function MainPage() {
return (<>
<header>
<div className="header-left">
<img src={require("../img/logo2.png")}/>
</div>
<div className="header-center">
<h2>Bienvenue, Prénom Nom</h2>
</div>
<div className="header-right">
<button className="submit-button">Déconnexion</button>
</div>
</header>
<div id="teams-section">
<div id="team-list-h">
<h2>Mes équipes</h2>
</div>
<div id="teams-list">
{/*afficher la liste des équipes*/}
<div className="team-item">
<img src={require("../img/logo2.png")}/>
<p className="team-name">Equipe 1</p>
</div>
<div className="team-item">
<img src={require("../img/logo2.png")}/>
<p className="team-name">Equipe 2</p>
</div>
<div className="team-item">
<img src={require("../img/logo2.png")}/>
<p className="team-name">Equipe 3</p>
</div>
<div className="team-item">
<img src={require("../img/logo2.png")}/>
<p className="team-name">Equipe 3</p>
</div>
<div className="team-item">
<img src={require("../img/logo2.png")}/>
<p className="team-name">Equipe 3</p>
</div>
<div className="team-item">
<img src={require("../img/logo2.png")}/>
<p className="team-name">Equipe 3</p>
</div>
</div>
</div>
<div id="schemas-section">
<h2>Mes schémas</h2>
<div id="schemas-list">
{/*<div class="shema-item">*/}
{/* <img src="logo.png"/>*/}
{/* <p class="shema-name">Shéma 1</p>*/}
{/*</div>*/}
{/*<div class="shema-item">*/}
{/* <img src="logo2.png"/>*/}
{/* <p class="shema-name">Shéma 2</p>*/}
{/*</div>*/}
{/*<div class="shema-item">*/}
{/* <img src="logo2.png"/>*/}
{/* <p class="shema-name">Shéma 3</p>*/}
{/*</div>*/}
</div>
</div>
</>
)
}

@ -0,0 +1,73 @@
import React from 'react'
import '../css/login.css'
export function Register() {
return (
<>
<div className="container">
<form action="/register" method="POST">
<h3>S'inscrire :</h3>
<div className="Input">
<span>Adresse e-mail</span>
<div className="box">
<div className="icon">
<ion-icon name="person-circle-outline"></ion-icon>
</div>
<input type="input" className="form__field" placeholder="email" name="email" id='email'
required/>
</div>
</div>
<div className="Input">
<span>Nom</span>
<div className="box">
<div className="icon">
<ion-icon name="person-circle-outline"></ion-icon>
</div>
<input type="input" placeholder="nom" name="name" id='name' required/>
</div>
</div>
<div className="Input">
<span>Prénom</span>
<div className="box">
<div className="icon">
<ion-icon name="person-circle-outline"></ion-icon>
</div>
<input type="input" placeholder="Prénom" name="forename" id='forename' required/>
</div>
</div>
<div className="Input">
<span>Mot de passe</span>
<div className="box">
<div className="icon">
<ion-icon name="lock-closed"></ion-icon>
</div>
<input type="password" className="form__field" placeholder="mot de passe" name="password"
id="password"
required/>
</div>
</div>
<div className="Input">
<span>Confirmer le mot de passe</span>
<div className="box">
<div className="icon">
<ion-icon name="lock-closed"></ion-icon>
</div>
<input type="password" className="form__field" placeholder="mot de passe" name="cpassword"
id="cpassword" required/>
</div>
</div>
<label>
<input type="checkbox" value="se souvenir de moi"/>
</label>
<div className="Input">
<div className="box">
<input type="submit" value="S'inscrire"/>
</div>
</div>
<a href="../login/index.html">J'ai déjà un compte</a>
</form>
</div>
</>
)
}

@ -0,0 +1,13 @@
const reportWebVitals = onPerfEntry => {
if (onPerfEntry && onPerfEntry instanceof Function) {
import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
getCLS(onPerfEntry);
getFID(onPerfEntry);
getFCP(onPerfEntry);
getLCP(onPerfEntry);
getTTFB(onPerfEntry);
});
}
};
export default reportWebVitals;

@ -0,0 +1,5 @@
// jest-dom adds custom jest matchers for asserting on DOM nodes.
// allows you to do things like:
// expect(element).toHaveTextContent(/react/i)
// learn more: https://github.com/testing-library/jest-dom
import '@testing-library/jest-dom';

@ -1,19 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<script src="../js/counter.js" type="module"></script>
<title>Counter</title>
</head>
<body>
<div id="page">
<label>Compteur : </label>
<label id="counter">{0}</label>
<button id="increment" onclick="makeIncrement()">Incrémenter</button>
<button id="reload" onclick="window.location.reload()">recharger la page</button>
</div>
<script src="/cordova.js"></script>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 324 KiB

@ -1 +0,0 @@
export const ADDRESS = "92.132.64.175:950"

@ -1,29 +0,0 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
// Wait for the deviceready event before using any of Cordova's device APIs.
// See https://cordova.apache.org/docs/en/latest/cordova/events/events.html#deviceready
document.addEventListener('deviceready', onDeviceReady, false);
function onDeviceReady() {
// Cordova is now initialized. Have fun!
console.log('Running cordova-' + cordova.platformId + '@' + cordova.version);
document.getElementById('deviceready').classList.add('ready');
}

@ -1,46 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Connection</title>
<link rel="stylesheet" href="login.css">
<script type="module" src="https://unpkg.com/ionicons@5.5.2/dist/ionicons/ionicons.esm.js"></script>
<script nomodule src="https://unpkg.com/ionicons@5.5.2/dist/ionicons/ionicons.js"></script>
</head>
<body>
<div class="container">
<form action="/login" method="POST">
<h3>Se connecter :</h3>
<div class="Input">
<span>Identifiant (eMail)</span>
<div class="box">
<div class="icon">
<ion-icon name="person-circle-outline"></ion-icon>
</div>
<input type="input" class="form__field" placeholder="email" name="email" id='email' required />
</div>
</div>
<div class="Input">
<span>Mot de passe</span>
<div class="box">
<div class="icon">
<ion-icon name="lock-closed"></ion-icon>
</div>
<input type="password" class="form__field" placeholder="mot de passe" name="password" id="password" required>
</div>
</div>
<label>
<input type="checkbox">Se souvenir de moi
</label>
<div class="Input">
<div class="box">
<input type="submit" value="Se connecter" >
</div>
</div>
<a href="#" >J'ai oublier mon mot de passe</a>
<br><a href="../register/index.html" >Je n'ai pas encore de compte</a>
</form>
</div>
</body>
</html>

@ -1,72 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Connection</title>
<link rel="stylesheet" href="../login/login.css">
<script type="module" src="https://unpkg.com/ionicons@5.5.2/dist/ionicons/ionicons.esm.js"></script>
<script nomodule src="https://unpkg.com/ionicons@5.5.2/dist/ionicons/ionicons.js"></script>
</head>
<body>
<div class="container">
<form action="/register" method="POST">
<h3>S'inscrire :</h3>
<div class="Input">
<span>Adresse e-mail</span>
<div class="box">
<div class="icon">
<ion-icon name="person-circle-outline"></ion-icon>
</div>
<input type="input" class="form__field" placeholder="email" name="email" id='email' required />
</div>
</div>
<div class="Input">
<span>Nom</span>
<div class="box">
<div class="icon">
<ion-icon name="person-circle-outline"></ion-icon>
</div>
<input type="input" placeholder="nom" name="name" id='name' required />
</div>
</div>
<div class="Input">
<span>Prénom</span>
<div class="box">
<div class="icon">
<ion-icon name="person-circle-outline"></ion-icon>
</div>
<input type="input" placeholder="Prénom" name="forename" id='forename' required />
</div>
</div>
<div class="Input">
<span>Mot de passe</span>
<div class="box">
<div class="icon">
<ion-icon name="lock-closed"></ion-icon>
</div>
<input type="password" class="form__field" placeholder="mot de passe" name="password" id="password" required>
</div>
</div>
<div class="Input">
<span>Confirmer le mot de passe</span>
<div class="box">
<div class="icon">
<ion-icon name="lock-closed"></ion-icon>
</div>
<input type="password" class="form__field" placeholder="mot de passe" name="cpassword" id="cpassword" required>
</div>
</div>
<label>
<input type="checkbox">Se souvenir de moi
</label>
<div class="Input">
<div class="box">
<input type="submit" value="S'inscrire" >
</div>
</div>
<br><a href="../login/index.html">J'ai déjà un compte</a>
</form>
</div>
</body>
</html>
Loading…
Cancel
Save