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 @@ |
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 | ... | ... |
No preview for this file type
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 "$@" | ... | ... |
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% | ... | ... |
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 | ... | ... |
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 | ... | ... |
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 | +} | ... | ... |