Commit e1305e8ccd217741a16faae3382273611433c9ea
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
Showing
13 changed files
with
620 additions
and
0 deletions
Show diff stats
1 | +++ a/PFE06/.gitignore | ||
@@ -0,0 +1,25 @@ | @@ -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 | \ No newline at end of file | 26 | \ No newline at end of file |
No preview for this file type
1 | +++ a/PFE06/mvnw | ||
@@ -0,0 +1,225 @@ | @@ -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 "$@" |
1 | +++ a/PFE06/mvnw.cmd | ||
@@ -0,0 +1,143 @@ | @@ -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% |
1 | +++ a/PFE06/pom.xml | ||
@@ -0,0 +1,63 @@ | @@ -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 @@ | @@ -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 | \ No newline at end of file | 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 @@ | @@ -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 | \ No newline at end of file | 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 @@ | @@ -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 | \ No newline at end of file | 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 @@ | @@ -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 | \ No newline at end of file | 40 | \ No newline at end of file |
1 | +++ a/PFE06/src/main/resources/application.properties | ||
@@ -0,0 +1,10 @@ | @@ -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 | \ No newline at end of file | 11 | \ No newline at end of file |
1 | +++ a/PFE06/src/main/resources/templates/login.html | ||
@@ -0,0 +1,26 @@ | @@ -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 | \ No newline at end of file | 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 @@ | @@ -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 | +} |