Commit e1305e8ccd217741a16faae3382273611433c9ea

Authored by sfeutrie
0 parents

projet Spring boot avec gestion de base donnee simple et interface web pour l'aj…

…out d'utilisateurs avec affichages des clients ajoutes
PFE06/.gitignore 0 → 100644
  1 +++ a/PFE06/.gitignore
... ... @@ -0,0 +1,25 @@
  1 +/target/
  2 +!.mvn/wrapper/maven-wrapper.jar
  3 +
  4 +### STS ###
  5 +.apt_generated
  6 +.classpath
  7 +.factorypath
  8 +.project
  9 +.settings
  10 +.springBeans
  11 +.sts4-cache
  12 +
  13 +### IntelliJ IDEA ###
  14 +.idea
  15 +*.iws
  16 +*.iml
  17 +*.ipr
  18 +
  19 +### NetBeans ###
  20 +/nbproject/private/
  21 +/build/
  22 +/nbbuild/
  23 +/dist/
  24 +/nbdist/
  25 +/.nb-gradle/
0 26 \ No newline at end of file
... ...
PFE06/.mvn/wrapper/maven-wrapper.jar 0 → 100644
No preview for this file type
PFE06/.mvn/wrapper/maven-wrapper.properties 0 → 100644
  1 +++ a/PFE06/.mvn/wrapper/maven-wrapper.properties
... ... @@ -0,0 +1 @@
  1 +distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip
... ...
PFE06/mvnw 0 → 100644
  1 +++ a/PFE06/mvnw
... ... @@ -0,0 +1,225 @@
  1 +#!/bin/sh
  2 +# ----------------------------------------------------------------------------
  3 +# Licensed to the Apache Software Foundation (ASF) under one
  4 +# or more contributor license agreements. See the NOTICE file
  5 +# distributed with this work for additional information
  6 +# regarding copyright ownership. The ASF licenses this file
  7 +# to you under the Apache License, Version 2.0 (the
  8 +# "License"); you may not use this file except in compliance
  9 +# with the License. You may obtain a copy of the License at
  10 +#
  11 +# http://www.apache.org/licenses/LICENSE-2.0
  12 +#
  13 +# Unless required by applicable law or agreed to in writing,
  14 +# software distributed under the License is distributed on an
  15 +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  16 +# KIND, either express or implied. See the License for the
  17 +# specific language governing permissions and limitations
  18 +# under the License.
  19 +# ----------------------------------------------------------------------------
  20 +
  21 +# ----------------------------------------------------------------------------
  22 +# Maven2 Start Up Batch script
  23 +#
  24 +# Required ENV vars:
  25 +# ------------------
  26 +# JAVA_HOME - location of a JDK home dir
  27 +#
  28 +# Optional ENV vars
  29 +# -----------------
  30 +# M2_HOME - location of maven2's installed home dir
  31 +# MAVEN_OPTS - parameters passed to the Java VM when running Maven
  32 +# e.g. to debug Maven itself, use
  33 +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
  34 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
  35 +# ----------------------------------------------------------------------------
  36 +
  37 +if [ -z "$MAVEN_SKIP_RC" ] ; then
  38 +
  39 + if [ -f /etc/mavenrc ] ; then
  40 + . /etc/mavenrc
  41 + fi
  42 +
  43 + if [ -f "$HOME/.mavenrc" ] ; then
  44 + . "$HOME/.mavenrc"
  45 + fi
  46 +
  47 +fi
  48 +
  49 +# OS specific support. $var _must_ be set to either true or false.
  50 +cygwin=false;
  51 +darwin=false;
  52 +mingw=false
  53 +case "`uname`" in
  54 + CYGWIN*) cygwin=true ;;
  55 + MINGW*) mingw=true;;
  56 + Darwin*) darwin=true
  57 + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
  58 + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html
  59 + if [ -z "$JAVA_HOME" ]; then
  60 + if [ -x "/usr/libexec/java_home" ]; then
  61 + export JAVA_HOME="`/usr/libexec/java_home`"
  62 + else
  63 + export JAVA_HOME="/Library/Java/Home"
  64 + fi
  65 + fi
  66 + ;;
  67 +esac
  68 +
  69 +if [ -z "$JAVA_HOME" ] ; then
  70 + if [ -r /etc/gentoo-release ] ; then
  71 + JAVA_HOME=`java-config --jre-home`
  72 + fi
  73 +fi
  74 +
  75 +if [ -z "$M2_HOME" ] ; then
  76 + ## resolve links - $0 may be a link to maven's home
  77 + PRG="$0"
  78 +
  79 + # need this for relative symlinks
  80 + while [ -h "$PRG" ] ; do
  81 + ls=`ls -ld "$PRG"`
  82 + link=`expr "$ls" : '.*-> \(.*\)$'`
  83 + if expr "$link" : '/.*' > /dev/null; then
  84 + PRG="$link"
  85 + else
  86 + PRG="`dirname "$PRG"`/$link"
  87 + fi
  88 + done
  89 +
  90 + saveddir=`pwd`
  91 +
  92 + M2_HOME=`dirname "$PRG"`/..
  93 +
  94 + # make it fully qualified
  95 + M2_HOME=`cd "$M2_HOME" && pwd`
  96 +
  97 + cd "$saveddir"
  98 + # echo Using m2 at $M2_HOME
  99 +fi
  100 +
  101 +# For Cygwin, ensure paths are in UNIX format before anything is touched
  102 +if $cygwin ; then
  103 + [ -n "$M2_HOME" ] &&
  104 + M2_HOME=`cygpath --unix "$M2_HOME"`
  105 + [ -n "$JAVA_HOME" ] &&
  106 + JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
  107 + [ -n "$CLASSPATH" ] &&
  108 + CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
  109 +fi
  110 +
  111 +# For Migwn, ensure paths are in UNIX format before anything is touched
  112 +if $mingw ; then
  113 + [ -n "$M2_HOME" ] &&
  114 + M2_HOME="`(cd "$M2_HOME"; pwd)`"
  115 + [ -n "$JAVA_HOME" ] &&
  116 + JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
  117 + # TODO classpath?
  118 +fi
  119 +
  120 +if [ -z "$JAVA_HOME" ]; then
  121 + javaExecutable="`which javac`"
  122 + if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
  123 + # readlink(1) is not available as standard on Solaris 10.
  124 + readLink=`which readlink`
  125 + if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
  126 + if $darwin ; then
  127 + javaHome="`dirname \"$javaExecutable\"`"
  128 + javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
  129 + else
  130 + javaExecutable="`readlink -f \"$javaExecutable\"`"
  131 + fi
  132 + javaHome="`dirname \"$javaExecutable\"`"
  133 + javaHome=`expr "$javaHome" : '\(.*\)/bin'`
  134 + JAVA_HOME="$javaHome"
  135 + export JAVA_HOME
  136 + fi
  137 + fi
  138 +fi
  139 +
  140 +if [ -z "$JAVACMD" ] ; then
  141 + if [ -n "$JAVA_HOME" ] ; then
  142 + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
  143 + # IBM's JDK on AIX uses strange locations for the executables
  144 + JAVACMD="$JAVA_HOME/jre/sh/java"
  145 + else
  146 + JAVACMD="$JAVA_HOME/bin/java"
  147 + fi
  148 + else
  149 + JAVACMD="`which java`"
  150 + fi
  151 +fi
  152 +
  153 +if [ ! -x "$JAVACMD" ] ; then
  154 + echo "Error: JAVA_HOME is not defined correctly." >&2
  155 + echo " We cannot execute $JAVACMD" >&2
  156 + exit 1
  157 +fi
  158 +
  159 +if [ -z "$JAVA_HOME" ] ; then
  160 + echo "Warning: JAVA_HOME environment variable is not set."
  161 +fi
  162 +
  163 +CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
  164 +
  165 +# traverses directory structure from process work directory to filesystem root
  166 +# first directory with .mvn subdirectory is considered project base directory
  167 +find_maven_basedir() {
  168 +
  169 + if [ -z "$1" ]
  170 + then
  171 + echo "Path not specified to find_maven_basedir"
  172 + return 1
  173 + fi
  174 +
  175 + basedir="$1"
  176 + wdir="$1"
  177 + while [ "$wdir" != '/' ] ; do
  178 + if [ -d "$wdir"/.mvn ] ; then
  179 + basedir=$wdir
  180 + break
  181 + fi
  182 + # workaround for JBEAP-8937 (on Solaris 10/Sparc)
  183 + if [ -d "${wdir}" ]; then
  184 + wdir=`cd "$wdir/.."; pwd`
  185 + fi
  186 + # end of workaround
  187 + done
  188 + echo "${basedir}"
  189 +}
  190 +
  191 +# concatenates all lines of a file
  192 +concat_lines() {
  193 + if [ -f "$1" ]; then
  194 + echo "$(tr -s '\n' ' ' < "$1")"
  195 + fi
  196 +}
  197 +
  198 +BASE_DIR=`find_maven_basedir "$(pwd)"`
  199 +if [ -z "$BASE_DIR" ]; then
  200 + exit 1;
  201 +fi
  202 +
  203 +export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
  204 +echo $MAVEN_PROJECTBASEDIR
  205 +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
  206 +
  207 +# For Cygwin, switch paths to Windows format before running java
  208 +if $cygwin; then
  209 + [ -n "$M2_HOME" ] &&
  210 + M2_HOME=`cygpath --path --windows "$M2_HOME"`
  211 + [ -n "$JAVA_HOME" ] &&
  212 + JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
  213 + [ -n "$CLASSPATH" ] &&
  214 + CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
  215 + [ -n "$MAVEN_PROJECTBASEDIR" ] &&
  216 + MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"`
  217 +fi
  218 +
  219 +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
  220 +
  221 +exec "$JAVACMD" \
  222 + $MAVEN_OPTS \
  223 + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
  224 + "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
  225 + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"
... ...
PFE06/mvnw.cmd 0 → 100644
  1 +++ a/PFE06/mvnw.cmd
... ... @@ -0,0 +1,143 @@
  1 +@REM ----------------------------------------------------------------------------
  2 +@REM Licensed to the Apache Software Foundation (ASF) under one
  3 +@REM or more contributor license agreements. See the NOTICE file
  4 +@REM distributed with this work for additional information
  5 +@REM regarding copyright ownership. The ASF licenses this file
  6 +@REM to you under the Apache License, Version 2.0 (the
  7 +@REM "License"); you may not use this file except in compliance
  8 +@REM with the License. You may obtain a copy of the License at
  9 +@REM
  10 +@REM http://www.apache.org/licenses/LICENSE-2.0
  11 +@REM
  12 +@REM Unless required by applicable law or agreed to in writing,
  13 +@REM software distributed under the License is distributed on an
  14 +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  15 +@REM KIND, either express or implied. See the License for the
  16 +@REM specific language governing permissions and limitations
  17 +@REM under the License.
  18 +@REM ----------------------------------------------------------------------------
  19 +
  20 +@REM ----------------------------------------------------------------------------
  21 +@REM Maven2 Start Up Batch script
  22 +@REM
  23 +@REM Required ENV vars:
  24 +@REM JAVA_HOME - location of a JDK home dir
  25 +@REM
  26 +@REM Optional ENV vars
  27 +@REM M2_HOME - location of maven2's installed home dir
  28 +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
  29 +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending
  30 +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
  31 +@REM e.g. to debug Maven itself, use
  32 +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
  33 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
  34 +@REM ----------------------------------------------------------------------------
  35 +
  36 +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
  37 +@echo off
  38 +@REM enable echoing my setting MAVEN_BATCH_ECHO to 'on'
  39 +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
  40 +
  41 +@REM set %HOME% to equivalent of $HOME
  42 +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
  43 +
  44 +@REM Execute a user defined script before this one
  45 +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
  46 +@REM check for pre script, once with legacy .bat ending and once with .cmd ending
  47 +if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
  48 +if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
  49 +:skipRcPre
  50 +
  51 +@setlocal
  52 +
  53 +set ERROR_CODE=0
  54 +
  55 +@REM To isolate internal variables from possible post scripts, we use another setlocal
  56 +@setlocal
  57 +
  58 +@REM ==== START VALIDATION ====
  59 +if not "%JAVA_HOME%" == "" goto OkJHome
  60 +
  61 +echo.
  62 +echo Error: JAVA_HOME not found in your environment. >&2
  63 +echo Please set the JAVA_HOME variable in your environment to match the >&2
  64 +echo location of your Java installation. >&2
  65 +echo.
  66 +goto error
  67 +
  68 +:OkJHome
  69 +if exist "%JAVA_HOME%\bin\java.exe" goto init
  70 +
  71 +echo.
  72 +echo Error: JAVA_HOME is set to an invalid directory. >&2
  73 +echo JAVA_HOME = "%JAVA_HOME%" >&2
  74 +echo Please set the JAVA_HOME variable in your environment to match the >&2
  75 +echo location of your Java installation. >&2
  76 +echo.
  77 +goto error
  78 +
  79 +@REM ==== END VALIDATION ====
  80 +
  81 +:init
  82 +
  83 +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
  84 +@REM Fallback to current working directory if not found.
  85 +
  86 +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
  87 +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
  88 +
  89 +set EXEC_DIR=%CD%
  90 +set WDIR=%EXEC_DIR%
  91 +:findBaseDir
  92 +IF EXIST "%WDIR%"\.mvn goto baseDirFound
  93 +cd ..
  94 +IF "%WDIR%"=="%CD%" goto baseDirNotFound
  95 +set WDIR=%CD%
  96 +goto findBaseDir
  97 +
  98 +:baseDirFound
  99 +set MAVEN_PROJECTBASEDIR=%WDIR%
  100 +cd "%EXEC_DIR%"
  101 +goto endDetectBaseDir
  102 +
  103 +:baseDirNotFound
  104 +set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
  105 +cd "%EXEC_DIR%"
  106 +
  107 +:endDetectBaseDir
  108 +
  109 +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
  110 +
  111 +@setlocal EnableExtensions EnableDelayedExpansion
  112 +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
  113 +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
  114 +
  115 +:endReadAdditionalConfig
  116 +
  117 +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
  118 +
  119 +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
  120 +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
  121 +
  122 +%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
  123 +if ERRORLEVEL 1 goto error
  124 +goto end
  125 +
  126 +:error
  127 +set ERROR_CODE=1
  128 +
  129 +:end
  130 +@endlocal & set ERROR_CODE=%ERROR_CODE%
  131 +
  132 +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
  133 +@REM check for post script, once with legacy .bat ending and once with .cmd ending
  134 +if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
  135 +if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
  136 +:skipRcPost
  137 +
  138 +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
  139 +if "%MAVEN_BATCH_PAUSE%" == "on" pause
  140 +
  141 +if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
  142 +
  143 +exit /B %ERROR_CODE%
... ...
PFE06/pom.xml 0 → 100644
  1 +++ a/PFE06/pom.xml
... ... @@ -0,0 +1,63 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4 + <modelVersion>4.0.0</modelVersion>
  5 +
  6 + <groupId>com.example</groupId>
  7 + <artifactId>demo</artifactId>
  8 + <version>0.0.1-SNAPSHOT</version>
  9 + <packaging>jar</packaging>
  10 +
  11 + <name>demo</name>
  12 + <description>Demo project for Spring Boot</description>
  13 +
  14 + <parent>
  15 + <groupId>org.springframework.boot</groupId>
  16 + <artifactId>spring-boot-starter-parent</artifactId>
  17 + <version>2.0.5.RELEASE</version>
  18 + <relativePath/> <!-- lookup parent from repository -->
  19 + </parent>
  20 +
  21 + <properties>
  22 + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  23 + <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  24 + <java.version>1.8</java.version>
  25 + </properties>
  26 +
  27 + <dependencies>
  28 + <dependency>
  29 + <groupId>org.springframework.boot</groupId>
  30 + <artifactId>spring-boot-starter-data-jpa</artifactId>
  31 + </dependency>
  32 + <dependency>
  33 + <groupId>org.springframework.boot</groupId>
  34 + <artifactId>spring-boot-starter-web</artifactId>
  35 + </dependency>
  36 +
  37 + <dependency>
  38 + <groupId>org.postgresql</groupId>
  39 + <artifactId>postgresql</artifactId>
  40 + <scope>runtime</scope>
  41 + </dependency>
  42 + <dependency>
  43 + <groupId>org.springframework.boot</groupId>
  44 + <artifactId>spring-boot-starter-test</artifactId>
  45 + <scope>test</scope>
  46 + </dependency>
  47 + <dependency>
  48 + <groupId>org.springframework.boot</groupId>
  49 + <artifactId>spring-boot-starter-thymeleaf</artifactId>
  50 + </dependency>
  51 + </dependencies>
  52 +
  53 + <build>
  54 + <plugins>
  55 + <plugin>
  56 + <groupId>org.springframework.boot</groupId>
  57 + <artifactId>spring-boot-maven-plugin</artifactId>
  58 + </plugin>
  59 + </plugins>
  60 + </build>
  61 +
  62 +
  63 +</project>
... ...
PFE06/src/main/java/com/PFE/ServerManager/Application.java 0 → 100644
  1 +++ a/PFE06/src/main/java/com/PFE/ServerManager/Application.java
... ... @@ -0,0 +1,12 @@
  1 +package com.PFE.ServerManager;
  2 +
  3 +import org.springframework.boot.SpringApplication;
  4 +import org.springframework.boot.autoconfigure.SpringBootApplication;
  5 +
  6 +@SpringBootApplication
  7 +public class Application {
  8 +
  9 + public static void main(String[] args) {
  10 + SpringApplication.run(Application.class, args);
  11 + }
  12 +}
0 13 \ No newline at end of file
... ...
PFE06/src/main/java/com/PFE/ServerManager/Customer.java 0 → 100644
  1 +++ a/PFE06/src/main/java/com/PFE/ServerManager/Customer.java
... ... @@ -0,0 +1,48 @@
  1 +package com.PFE.ServerManager;
  2 +
  3 +import javax.persistence.Column;
  4 +import javax.persistence.Entity;
  5 +import javax.persistence.GeneratedValue;
  6 +import javax.persistence.GenerationType;
  7 +import javax.persistence.Id;
  8 +import javax.persistence.Table;
  9 +
  10 +@Entity // This tells Hibernate to make a table out of this class
  11 +@Table(name = "Customer") // DON'T USE "User" because it is a reserved name in PostgreSQL
  12 +public class Customer{
  13 + @Id
  14 + @GeneratedValue(strategy=GenerationType.AUTO)
  15 + private Integer id;
  16 +
  17 + @Column(name = "pseudo")
  18 + private String pseudo;
  19 +
  20 + @Column(name = "password")
  21 + private String password;
  22 +
  23 + public Integer getId() {
  24 + return id;
  25 + }
  26 +
  27 + public String getPseudo() {
  28 + return pseudo;
  29 + }
  30 +
  31 + public String getPassword() {
  32 + return password;
  33 + }
  34 +
  35 + public void setId(Integer id) {
  36 + this.id = id;
  37 + }
  38 +
  39 + public void setPseudo(String pseudo) {
  40 + this.pseudo = pseudo;
  41 + }
  42 +
  43 + public void setPassword(String password) {
  44 + this.password = password;
  45 + }
  46 +
  47 +
  48 +}
0 49 \ No newline at end of file
... ...
PFE06/src/main/java/com/PFE/ServerManager/CustomerRepository.java 0 → 100644
  1 +++ a/PFE06/src/main/java/com/PFE/ServerManager/CustomerRepository.java
... ... @@ -0,0 +1,12 @@
  1 +package com.PFE.ServerManager;
  2 +
  3 +import org.springframework.data.repository.CrudRepository;
  4 +
  5 +// This will be AUTO IMPLEMENTED by Spring into a Bean called userRepository
  6 +// CRUD refers Create, Read, Update, Delete
  7 +
  8 +//This class allows the JPA to know that the Customer class is a table
  9 +//Need to check if "extends JpaRepository is more useful"
  10 +public interface CustomerRepository extends CrudRepository<Customer, Integer> {
  11 +
  12 +}
0 13 \ No newline at end of file
... ...
PFE06/src/main/java/com/PFE/ServerManager/MainController.java 0 → 100644
  1 +++ a/PFE06/src/main/java/com/PFE/ServerManager/MainController.java
... ... @@ -0,0 +1,39 @@
  1 +package com.PFE.ServerManager;
  2 +
  3 +import org.springframework.beans.factory.annotation.Autowired;
  4 +import org.springframework.stereotype.Controller;
  5 +import org.springframework.web.bind.annotation.RequestMapping;
  6 +import org.springframework.web.bind.annotation.GetMapping;
  7 +import org.springframework.web.bind.annotation.RequestParam;
  8 +import org.springframework.web.bind.annotation.ResponseBody;
  9 +
  10 +import java.util.Map;
  11 +
  12 +@Controller // This means that this class is a Controller
  13 +public class MainController {
  14 + @Autowired // This means to get the bean called userRepository which is auto-generated by Spring, we will use it to handle the Customers
  15 + CustomerRepository customerRepository;
  16 +
  17 + @RequestMapping(value="/")
  18 + public String login(){
  19 + return "login";
  20 + }
  21 +
  22 + @GetMapping(path="/login") // Map ONLY GET Requests
  23 + public String addNewUser (@RequestParam String pseudo, @RequestParam String password, Map<String, Object> model) {
  24 + // @RequestParam means it is a parameter from the GET or POST request
  25 + //the model Map is used by thymeleaf as a storage for values display on the html page
  26 + model.put("message", "vous avez ajouté l'utilisateur : "+pseudo +", avec le pseudo : "+ password);
  27 + Customer n = new Customer();
  28 + n.setPseudo(pseudo);
  29 + n.setPassword(password);
  30 + customerRepository.save(n);
  31 + return "login"; //return "redirect:/...."; //to send a request to redirect the current page
  32 + }
  33 +
  34 + @GetMapping(path="/all")
  35 + public @ResponseBody Iterable<Customer> getAllUsers() {
  36 + // This returns a JSON or XML with the users
  37 + return customerRepository.findAll();
  38 + }
  39 +}
0 40 \ No newline at end of file
... ...
PFE06/src/main/resources/application.properties 0 → 100644
  1 +++ a/PFE06/src/main/resources/application.properties
... ... @@ -0,0 +1,10 @@
  1 +
  2 +#-----------------------------------------------#
  3 +#---------- Spring Database management ---------#
  4 +#-----------------------------------------------#
  5 +spring.jpa.hibernate.ddl-auto=update
  6 +#"create" if the database doesn't exist : it will reinitialize the DB every time the process is restarted
  7 +#"update" if the database already exists
  8 +spring.datasource.url=jdbc:postgresql://localhost/sql_only
  9 +spring.datasource.username=postgres
  10 +spring.datasource.password=idalurf123
0 11 \ No newline at end of file
... ...
PFE06/src/main/resources/templates/login.html 0 → 100644
  1 +++ a/PFE06/src/main/resources/templates/login.html
... ... @@ -0,0 +1,26 @@
  1 +<!DOCTYPE html>
  2 +<html xmlns:th="http://www.thymeleaf.org">
  3 +<head>
  4 + <title>Add users page</title>
  5 + <meta charset="utf-8"/>
  6 +</head>
  7 + <body>
  8 + <div>
  9 + <h5>Add new users</h5>
  10 + <form th:action="@{/login}" method="get">
  11 + <div class="form1">
  12 + <label for="username">User Name: </label>
  13 + <input type="text" id="username" placeholder="Enter UserName" name="pseudo"/>
  14 + </div>
  15 + <div class="form2">
  16 + <label for="password">Password: </label>
  17 + <input type="password" id="password" placeholder="Enter Password" name="password"/>
  18 + </div>
  19 + <button type="submit">Ajouter</button>
  20 + </form>
  21 + <div th:if="${message != null}">
  22 + <span th:text="${message}"></span>
  23 + </div>
  24 + </div>
  25 + </body>
  26 +</html>
0 27 \ No newline at end of file
... ...
PFE06/src/test/java/com/PFE/ServerManager/DemoApplicationTests.java 0 → 100644
  1 +++ a/PFE06/src/test/java/com/PFE/ServerManager/DemoApplicationTests.java
... ... @@ -0,0 +1,16 @@
  1 +package com.PFE.ServerManager;
  2 +
  3 +import org.junit.Test;
  4 +import org.junit.runner.RunWith;
  5 +import org.springframework.boot.test.context.SpringBootTest;
  6 +import org.springframework.test.context.junit4.SpringRunner;
  7 +
  8 +@RunWith(SpringRunner.class)
  9 +@SpringBootTest
  10 +public class DemoApplicationTests {
  11 +
  12 + @Test
  13 + public void contextLoads() {
  14 + }
  15 +
  16 +}
... ...