Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Projet ISIS
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
MARQUE Pierre
Projet ISIS
Commits
245347aa
Commit
245347aa
authored
Mar 30, 2022
by
Okthane
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fonctionnel
parent
4840a99b
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
66 additions
and
56 deletions
+66
-56
Photo pierre (2)-minNO-BG.png
img_bg/Photo pierre (2)-minNO-BG.png
+0
-0
severinedemarqueNO-BG.png
img_bg/severinedemarqueNO-BG.png
+0
-0
index.php
index.php
+4
-3
removeBackground2.php
removeBackground2.php
+6
-4
script.js
script.js
+43
-43
upload.php
upload.php
+13
-6
No files found.
img_bg/Photo pierre (2)-minNO-BG.png
0 → 100644
View file @
245347aa
325 KB
img_bg/severinedemarqueNO-BG.png
0 → 100644
View file @
245347aa
163 KB
index.php
View file @
245347aa
...
@@ -32,6 +32,8 @@
...
@@ -32,6 +32,8 @@
<ul>
<ul>
<li
id=
"li-oneface"
>
Un seul visage
<span></span></li>
<li
id=
"li-oneface"
>
Un seul visage
<span></span></li>
<li
id=
"li-format"
>
Format correct
<span></span></li>
<li
id=
"li-format"
>
Format correct
<span></span></li>
<li
id=
"li-dimensons"
>
Format correct
<span></span></li>
<li
id=
"li-poids"
>
Poids
<span></span></li>
</ul>
</ul>
</div>
</div>
<img
name =
"im_ID2"
id=
"img-ID2"
src=
""
height=
"150em"
/>
<img
name =
"im_ID2"
id=
"img-ID2"
src=
""
height=
"150em"
/>
...
@@ -50,7 +52,6 @@
...
@@ -50,7 +52,6 @@
<input
id=
"btnSubmit"
type=
"submit"
name=
"submit"
value=
"Vérifier"
class=
"btn-form"
>
<input
id=
"btnSubmit"
type=
"submit"
name=
"submit"
value=
"Vérifier"
class=
"btn-form"
>
</div>
</div>
</form>
</form>
<button
id =
"cancel"
type=
"button"
>
Annuler
</button>
<script>
<script>
const
inpFile
=
document
.
getElementById
(
"fileUpload"
);
const
inpFile
=
document
.
getElementById
(
"fileUpload"
);
...
@@ -64,7 +65,7 @@
...
@@ -64,7 +65,7 @@
previewImage
.
setAttribute
(
"src"
,
this
.
result
);
previewImage
.
setAttribute
(
"src"
,
this
.
result
);
});
});
reader
.
readAsDataURL
(
file
);
reader
.
readAsDataURL
(
file
);
//findFaces("img-ID");
//
findFaces("img-ID");
}
}
inpFile
.
addEventListener
(
"change"
,
function
(){
inpFile
.
addEventListener
(
"change"
,
function
(){
const
file
=
inpFile
.
files
[
0
];
const
file
=
inpFile
.
files
[
0
];
...
@@ -76,7 +77,7 @@
...
@@ -76,7 +77,7 @@
previewImage
.
setAttribute
(
"src"
,
this
.
result
);
previewImage
.
setAttribute
(
"src"
,
this
.
result
);
});
});
reader
.
readAsDataURL
(
file
);
reader
.
readAsDataURL
(
file
);
//findFaces("img-ID");
//
findFaces("img-ID");
}
}
});
});
...
...
removeBackground2.php
View file @
245347aa
...
@@ -5,6 +5,7 @@
...
@@ -5,6 +5,7 @@
define
(
'WHERE_TO_PUT'
,
'img_bg'
);
define
(
'WHERE_TO_PUT'
,
'img_bg'
);
define
(
'PATH_TO_BG'
,
"img_bg"
);
define
(
'PATH_TO_BG'
,
"img_bg"
);
define
(
'TEMP'
,
'temp'
);
define
(
'TEMP'
,
'temp'
);
define
(
'KEY'
,
'LeteoyV7qPyWtAJF9Rcxenda'
);
require_once
"vendor/autoload.php"
;
require_once
"vendor/autoload.php"
;
...
@@ -17,6 +18,7 @@ if($_SERVER["REQUEST_METHOD"] == "POST")
...
@@ -17,6 +18,7 @@ if($_SERVER["REQUEST_METHOD"] == "POST")
"png"
=>
"image/png"
"png"
=>
"image/png"
);
);
$filename
=
$_FILES
[
"photo"
][
"name"
];
$filename
=
$_FILES
[
"photo"
][
"name"
];
$newfilename
=
$filename
;
$filetype
=
$_FILES
[
"photo"
][
"type"
];
$filetype
=
$_FILES
[
"photo"
][
"type"
];
$ext
=
pathinfo
(
$filename
,
PATHINFO_EXTENSION
);
$ext
=
pathinfo
(
$filename
,
PATHINFO_EXTENSION
);
...
@@ -27,7 +29,7 @@ if($_SERVER["REQUEST_METHOD"] == "POST")
...
@@ -27,7 +29,7 @@ if($_SERVER["REQUEST_METHOD"] == "POST")
'multipart'
=>
[
'multipart'
=>
[
[
[
'name'
=>
'image_file'
,
'name'
=>
'image_file'
,
'contents'
=>
fopen
(
TEMP
.
'/'
.
$filename
,
'r'
)
'contents'
=>
fopen
(
TEMP
.
'/'
.
$
new
filename
,
'r'
)
],
],
[
[
'name'
=>
'size'
,
'name'
=>
'size'
,
...
@@ -35,14 +37,14 @@ if($_SERVER["REQUEST_METHOD"] == "POST")
...
@@ -35,14 +37,14 @@ if($_SERVER["REQUEST_METHOD"] == "POST")
]
]
],
],
'headers'
=>
[
'headers'
=>
[
'X-Api-Key'
=>
'LeteoyV7qPyWtAJF9Rcxenda'
'X-Api-Key'
=>
KEY
]
]
]);
]);
// On supprime l'image intermédiaire
// On supprime l'image intermédiaire
$deletefile
=
unlink
(
TEMP
.
'/'
.
$filename
);
$deletefile
=
unlink
(
TEMP
.
'/'
.
$
new
filename
);
//On crée et stocke l'image détourée
//On crée et stocke l'image détourée
$fp
=
fopen
(
'img_bg/'
.
pathinfo
(
$filename
,
PATHINFO_FILENAME
)
.
"NO-BG.png"
,
"wb"
);
$fp
=
fopen
(
'img_bg/'
.
pathinfo
(
$
new
filename
,
PATHINFO_FILENAME
)
.
"NO-BG.png"
,
"wb"
);
fwrite
(
$fp
,
$res
->
getBody
());
fwrite
(
$fp
,
$res
->
getBody
());
fclose
(
$fp
);
fclose
(
$fp
);
...
...
script.js
View file @
245347aa
// VARIABLES ===============================================================================
// VARIABLES ===============================================================================
const
URL_CHECK_ID
=
'upload.php'
;
const
URL_CHECK_ID
=
"upload.php"
;
const
URL_DETOURAGE
=
"removeBackground2.php"
;
const
URL_DETOURAGE
=
"removeBackground2.php"
;
const
URL_WEB_API
=
'web_server.php'
;
const
URL_WEB_API
=
"web_server.php"
;
const
URL_CHOOSE_MAIL
=
'io.php'
;
const
URL_CHOOSE_MAIL
=
"io.php"
;
const
URL_END
=
'byebye.html'
;
const
URL_END
=
"byebye.html"
;
const
timeout
=
5000
;
const
timeout
=
5000
;
...
@@ -14,11 +14,11 @@ const ID_bg = "img-ID2"; var ImgBG;
...
@@ -14,11 +14,11 @@ const ID_bg = "img-ID2"; var ImgBG;
const
canva
=
"canvas"
;
const
canva
=
"canvas"
;
// console.log($("#"+ID).attr('src'));
// console.log($("#"+ID).attr('src'));
const
idConsole
=
"
div
"
;
var
Console
;
const
idConsole
=
"
span-status
"
;
var
Console
;
const
idFileUpload
=
"fileUpload"
;
var
inputFileUpload
;
const
idFileUpload
=
"fileUpload"
;
var
inputFileUpload
;
const
idCustomFileUpload
=
"custom-fileUpload"
;
var
btnCustomFileUpload
;
const
idCustomFileUpload
=
"custom-fileUpload"
;
var
btnCustomFileUpload
;
const
idBtnSubmit
=
'btnSubmit'
;
var
btnSubmit
;
const
idBtnSubmit
=
"btnSubmit"
;
var
btnSubmit
;
const
idStatut
=
"span-status"
;
const
idStatut
=
"span-status"
;
...
@@ -32,8 +32,6 @@ var unSeulVisage = false;
...
@@ -32,8 +32,6 @@ var unSeulVisage = false;
var
format_correct
=
false
;
var
format_correct
=
false
;
// SCRIPT ====================================================================================
// SCRIPT ====================================================================================
$
(
document
).
ready
(
function
(){
$
(
document
).
ready
(
function
(){
...
@@ -52,14 +50,20 @@ $(document).ready(function(){
...
@@ -52,14 +50,20 @@ $(document).ready(function(){
//Si l'on change la photo,
//Si l'on change la photo,
inputFileUpload
.
change
(
function
(){
unSeulVisage
=
false
;
format_correct
=
false
});
inputFileUpload
.
change
(
function
(){
unSeulVisage
=
false
;
format_correct
=
false
;
ImgBG
.
attr
(
"src"
,
""
);
});
//Requête pour les vérifications de sécurité & de format
//Requête pour les vérifications de sécurité & de format
$
(
"#form"
).
on
(
"submit"
,
function
(
event
)
{
$
(
"#form"
).
on
(
"submit"
,
function
(
event
)
{
event
.
preventDefault
();
event
.
preventDefault
();
var
formData
=
new
FormData
(
this
);
var
formData
=
new
FormData
(
this
);
console
.
log
(
inputFileUpload
.
attr
(
'filename'
));
console
.
log
(
inputFileUpload
.
attr
(
'filename'
));
//Requête pour vérifier l'intégrité du fichier, ses dimensions
$
.
ajax
({
$
.
ajax
({
//url de la requête
url
:
URL_CHECK_ID
,
url
:
URL_CHECK_ID
,
method
:
'POST'
,
method
:
'POST'
,
enctype
:
'multipart/form-data'
,
enctype
:
'multipart/form-data'
,
...
@@ -82,29 +86,7 @@ $(document).ready(function(){
...
@@ -82,29 +86,7 @@ $(document).ready(function(){
Console
.
empty
();
Console
.
empty
();
Console
.
append
(
data
[
'message'
]);
Console
.
append
(
data
[
'message'
]);
format_correct
=
true
;
format_correct
=
true
;
//Affichage de la photo
photoDetourage
(
errorFormat
,
formData
);
// findFaces();
if
(
!
errorFormat
){
$
.
ajax
({
//url de la requête
url
:
URL_DETOURAGE
,
method
:
'POST'
,
enctype
:
'multipart/form-data'
,
data
:
formData
,
cache
:
false
,
dataType
:
"json"
,
contentType
:
false
,
processData
:
false
})
.
done
(
function
(
data
){
console
.
log
(
data
);
//Affichage de la photo
$
(
"#img-ID2"
).
attr
(
'src'
,
data
[
'src'
]);
})
}
})
})
});
});
...
@@ -155,15 +137,6 @@ $(document).ready(function(){
...
@@ -155,15 +137,6 @@ $(document).ready(function(){
}
}
})
})
//Lorsque l'utilisateur souhaite changer d'image
// btnCancel.on('click', function(){
// unSeulVisage = false;
// format_correct = false;
// ImgBG.attr('src',"");
// Img.attr('src',"");
// $("#li-oneface").css('color','black');
// });
});
});
...
@@ -187,14 +160,39 @@ function sendMail(){
...
@@ -187,14 +160,39 @@ function sendMail(){
// window.close();
// window.close();
}
}
async
function
photoDetourage
(
errorFormat
,
formData
){
await
findFaces
(
ID
);
console
.
log
(
"await"
)
if
(
!
errorFormat
){
$
.
ajax
({
//url de la requête
url
:
URL_DETOURAGE
,
method
:
'POST'
,
enctype
:
'multipart/form-data'
,
data
:
formData
,
cache
:
false
,
dataType
:
"json"
,
contentType
:
false
,
processData
:
false
})
.
done
(
function
(
data
){
console
.
log
(
data
);
//Affichage de la photo
$
(
"#img-ID2"
).
attr
(
'src'
,
data
[
'src'
]);
})
}
}
async
function
findFaces
(
idImage
)
{
async
function
findFaces
(
idImage
)
{
// btnCustomFileUpload.prop('disabled',true);
// btnCustomFileUpload.prop('disabled',true);
$
(
"body"
).
css
(
"cursor"
,
"wait"
);
btnSubmit
.
prop
(
'disabled'
,
true
);
btnSubmit
.
prop
(
'disabled'
,
true
);
console
.
log
(
'_findFaces()'
);
console
.
log
(
'_findFaces()'
);
const
model
=
await
blazeface
.
load
();
const
model
=
await
blazeface
.
load
();
// const img = ID;
// const img = ID;
console
.
log
(
idImage
);
const
img
=
document
.
getElementById
(
idImage
);
const
img
=
document
.
getElementById
(
idImage
);
const
predictions
=
await
model
.
estimateFaces
(
img
,
false
);
const
predictions
=
await
model
.
estimateFaces
(
img
,
false
);
console
.
log
(
'_findFaces()'
);
console
.
log
(
'_findFaces()'
);
...
@@ -240,6 +238,8 @@ async function findFaces(idImage) {
...
@@ -240,6 +238,8 @@ async function findFaces(idImage) {
}
}
btnSubmit
.
prop
(
'disabled'
,
false
);
btnSubmit
.
prop
(
'disabled'
,
false
);
btnCustomFileUpload
.
prop
(
'disabled'
,
false
);
btnCustomFileUpload
.
prop
(
'disabled'
,
false
);
$
(
"body"
).
css
(
"cursor"
,
""
);
// return predictions.length;
}
}
function
getParameter
(
url
){
function
getParameter
(
url
){
...
...
upload.php
View file @
245347aa
...
@@ -12,23 +12,26 @@ if($_SERVER["REQUEST_METHOD"] == "POST")
...
@@ -12,23 +12,26 @@ if($_SERVER["REQUEST_METHOD"] == "POST")
{
{
$allowed
=
array
(
$allowed
=
array
(
"jpg"
=>
"image/jpeg"
,
"jpg"
=>
"image/jpeg"
,
"png"
=>
"image/png"
"png"
=>
"image/png"
,
"PNG"
=>
"image/PNG"
);
);
$filename
=
htmlspecialchars
(
trim
(
$_FILES
[
"photo"
][
"name"
]));
// évite les noms de fichiers trop exotiques
$filename
=
htmlspecialchars
(
trim
(
$_FILES
[
"photo"
][
"name"
]));
// évite les noms de fichiers trop exotiques
$newfilename
=
$filename
;
$filetype
=
$_FILES
[
"photo"
][
"type"
];
$filetype
=
$_FILES
[
"photo"
][
"type"
];
$filesize
=
$_FILES
[
"photo"
][
"size"
];
$filesize
=
$_FILES
[
"photo"
][
"size"
];
$message
=
""
;
$message
=
""
;
$error
=
true
;
$error
=
true
;
$errorType
=
""
;
// Vérifie l'extension du fichier
// Vérifie l'extension du fichier
$ext
=
pathinfo
(
$filename
,
PATHINFO_EXTENSION
);
$ext
=
pathinfo
(
$filename
,
PATHINFO_EXTENSION
);
if
(
array_key_exists
(
$ext
,
$allowed
))
//die("Erreur : Veuillez sélectionner un format de fichier valide.");
if
(
array_key_exists
(
$ext
,
$allowed
))
//die("Erreur : Veuillez sélectionner un format de fichier valide.");
{
{
// Vérifie la taille du fichier -
5
Mo maximum
// Vérifie la taille du fichier -
1
Mo maximum
$maxsize
=
5
*
1024
*
1024
;
$maxsize
=
1
*
1024
*
1024
;
if
(
!
(
$filesize
>
$maxsize
))
//die("Error: La taille du fichier est supérieure à la limite autorisée.");
if
(
!
(
$filesize
>
$maxsize
))
//die("Error: La taille du fichier est supérieure à la limite autorisée.");
{
{
// Vérifie le type MIME du fichier
// Vérifie le type MIME du fichier
ATTENTION - VERIFIE SEULEMENT L'EXTENSION
if
(
in_array
(
$filetype
,
$allowed
))
if
(
in_array
(
$filetype
,
$allowed
))
{
{
// Vérifie si le fichier existe avant de le télécharger.
// Vérifie si le fichier existe avant de le télécharger.
...
@@ -36,7 +39,7 @@ if($_SERVER["REQUEST_METHOD"] == "POST")
...
@@ -36,7 +39,7 @@ if($_SERVER["REQUEST_METHOD"] == "POST")
{
{
//echo $_FILES["photo"]["name"] . " existe déjà.";
//echo $_FILES["photo"]["name"] . " existe déjà.";
$error
=
false
;
$error
=
false
;
move_uploaded_file
(
$_FILES
[
"photo"
][
"tmp_name"
],
PATH_TO_TEMP
.
"/"
.
$
filename
);
move_uploaded_file
(
$_FILES
[
"photo"
][
"tmp_name"
],
PATH_TO_TEMP
.
"/"
.
$new
filename
);
$message
=
$_FILES
[
"photo"
][
"name"
]
.
" existe déjà."
;
$message
=
$_FILES
[
"photo"
][
"name"
]
.
" existe déjà."
;
}
}
else
else
...
@@ -51,16 +54,19 @@ if($_SERVER["REQUEST_METHOD"] == "POST")
...
@@ -51,16 +54,19 @@ if($_SERVER["REQUEST_METHOD"] == "POST")
}
}
else
{
else
{
// echo "Error: Il y a eu un problème de téléchargement de votre fichier. Veuillez réessayer.";
// echo "Error: Il y a eu un problème de téléchargement de votre fichier. Veuillez réessayer.";
$message
=
"Error: Il y a eu un problème de téléchargement de votre fichier. Veuillez réessayer."
;
$message
=
"Error: Il y a eu un problème de téléchargement de votre fichier. Le format
$filetype
n'est pas accepté."
;
$errorType
=
"MIME"
;
}
}
}
}
else
else
{
{
$message
=
"Error: La taille du fichier est supérieure à la limite autorisée."
;
$message
=
"Error: La taille du fichier est supérieure à la limite autorisée."
;
$errorType
=
"poids_taille"
;
}
}
}
}
else
{
else
{
$message
=
"Erreur : Veuillez sélectionner un format de fichier valide."
;
$message
=
"Erreur : Veuillez sélectionner un format de fichier valide."
;
$errorType
=
"format"
;
}
}
}
}
else
{
else
{
...
@@ -68,6 +74,7 @@ if($_SERVER["REQUEST_METHOD"] == "POST")
...
@@ -68,6 +74,7 @@ if($_SERVER["REQUEST_METHOD"] == "POST")
$message
=
"Error: "
.
$_FILES
[
"photo"
][
"error"
];
$message
=
"Error: "
.
$_FILES
[
"photo"
][
"error"
];
}
}
$data
=
array
(
$data
=
array
(
"errorType"
=>
$errorType
,
"message"
=>
$message
,
//<--Message qui pourra être affiché
"message"
=>
$message
,
//<--Message qui pourra être affiché
"error"
=>
$error
,
//<----- Prend la valeur true (erreur!) ou false (ouf!)
"error"
=>
$error
,
//<----- Prend la valeur true (erreur!) ou false (ouf!)
// "src" => PATH_TO_ID."/".$_FILES["photo"]["name"]
// "src" => PATH_TO_ID."/".$_FILES["photo"]["name"]
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment