forked from tom.biard/ScienceQuest
Compare commits
2 Commits
Author | SHA1 | Date |
---|---|---|
|
3dfdcdd15e | 1 year ago |
|
45f42708cc | 1 year ago |
@ -0,0 +1,18 @@
|
|||||||
|
kind: pipeline
|
||||||
|
type: docker
|
||||||
|
name: ScienceQuestPhp
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
branch:
|
||||||
|
- php
|
||||||
|
event:
|
||||||
|
- push
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: code-analysis-php
|
||||||
|
image: aosapps/drone-sonar-plugin
|
||||||
|
settings:
|
||||||
|
sonar_host:
|
||||||
|
from_secret: sonar_host
|
||||||
|
sonar_token:
|
||||||
|
from_secret: sonar_sae_token
|
Binary file not shown.
Binary file not shown.
@ -1,90 +0,0 @@
|
|||||||
```plantuml
|
|
||||||
@startuml "BDD"
|
|
||||||
|
|
||||||
class Scientifique{
|
|
||||||
nom : String
|
|
||||||
prenom : String
|
|
||||||
photo : Raw
|
|
||||||
dateNaissance : Date
|
|
||||||
descriptif : String
|
|
||||||
ratioTrouvee : Float
|
|
||||||
}
|
|
||||||
|
|
||||||
class Thematique{
|
|
||||||
libelle : String
|
|
||||||
}
|
|
||||||
|
|
||||||
class Sexe{
|
|
||||||
libelle : String
|
|
||||||
}
|
|
||||||
|
|
||||||
class "Difficulte"{
|
|
||||||
libelle: String
|
|
||||||
}
|
|
||||||
|
|
||||||
class Indice{
|
|
||||||
indice : String
|
|
||||||
}
|
|
||||||
|
|
||||||
Scientifique "*" --> "1..*" Thematique
|
|
||||||
Scientifique "*" --> "1" Sexe
|
|
||||||
Scientifique "*" --> "1" "Difficulte"
|
|
||||||
Scientifique "*" <-- "*"Utilisateur : A découvert <
|
|
||||||
Scientifique .. Admin : Gérer <
|
|
||||||
Scientifique "1" --> "*" Indice
|
|
||||||
|
|
||||||
|
|
||||||
class Question{
|
|
||||||
question : String
|
|
||||||
}
|
|
||||||
|
|
||||||
class Reponse{
|
|
||||||
reponse : String
|
|
||||||
}
|
|
||||||
|
|
||||||
Question "1" --> "1..*" Reponse
|
|
||||||
Reponse "0..*" --> "1" Scientifique
|
|
||||||
|
|
||||||
abstract class Joueur{
|
|
||||||
pseudo : String {unique}
|
|
||||||
}
|
|
||||||
|
|
||||||
class Utilisateur{
|
|
||||||
email : String {unique}
|
|
||||||
motDePasse : Hash
|
|
||||||
}
|
|
||||||
|
|
||||||
class Invite{
|
|
||||||
idSession : Integer
|
|
||||||
}
|
|
||||||
|
|
||||||
Joueur <|-- Utilisateur
|
|
||||||
Joueur <|-- Invite
|
|
||||||
|
|
||||||
class Admin{
|
|
||||||
email : String {unique}
|
|
||||||
motDePasse : Hash
|
|
||||||
}
|
|
||||||
|
|
||||||
abstract class Jeu{
|
|
||||||
nom : String
|
|
||||||
nbrParties : Integer
|
|
||||||
}
|
|
||||||
|
|
||||||
Jeu .. Scientifique : Accède >
|
|
||||||
|
|
||||||
class Pendu extends Jeu
|
|
||||||
|
|
||||||
Pendu "1" --> "1..*" Scientifique
|
|
||||||
|
|
||||||
class Partie{
|
|
||||||
codeInvitation : String
|
|
||||||
isFinished : Boolean
|
|
||||||
}
|
|
||||||
|
|
||||||
Partie "*" --> "1" Jeu
|
|
||||||
|
|
||||||
Partie "1" --> "1..*" Joueur
|
|
||||||
|
|
||||||
@enduml
|
|
||||||
```
|
|
Binary file not shown.
@ -1,130 +0,0 @@
|
|||||||
Logiciel : plantuml
|
|
||||||
https://plantuml.com/fr/
|
|
||||||
|
|
||||||
@startuml "Diagramme de classes participantes PHP"
|
|
||||||
|
|
||||||
class FrontController <<contrôle>>{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
FrontController --> ControllerAdmin
|
|
||||||
FrontController --> ControllerUtilisateur
|
|
||||||
FrontController --> ControllerInvite
|
|
||||||
|
|
||||||
class ControllerUtilisateur <<contrôle>>{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
ControllerUtilisateur --> ControllerLancerJeu
|
|
||||||
|
|
||||||
class ControllerInvite <<contrôle>>{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
ControllerInvite --> ControllerLancerJeu
|
|
||||||
|
|
||||||
class ControllerAdmin <<contrôle>>{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
class ControllerLancerJeu <<contrôle>>{
|
|
||||||
lancerJeuAléatoirement()
|
|
||||||
lancerJeu()
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
class Accueil <<dialogue>>{
|
|
||||||
rejoindrePartie()
|
|
||||||
lancerUnJeu()
|
|
||||||
seConnecter()
|
|
||||||
seDeconnecter()
|
|
||||||
}
|
|
||||||
|
|
||||||
Accueil --> RejoindrePartie
|
|
||||||
Accueil --> LancerUnJeu
|
|
||||||
Accueil --> Connexion
|
|
||||||
|
|
||||||
class RejoindrePartie <<dialogue>>{
|
|
||||||
codeInvitation : String
|
|
||||||
rejoindrePartie()
|
|
||||||
}
|
|
||||||
|
|
||||||
class LancerUnJeu <<dialogue>>{
|
|
||||||
jeux : Array
|
|
||||||
choisirJeu()
|
|
||||||
choisirJeuAléatoirement()
|
|
||||||
}
|
|
||||||
|
|
||||||
class Connexion <<dialogue>>{
|
|
||||||
email : String
|
|
||||||
motDePasse : String
|
|
||||||
seConnecter()
|
|
||||||
}
|
|
||||||
|
|
||||||
Connexion --> EspacePersonnel
|
|
||||||
|
|
||||||
class EspacePersonnel <<dialogue>>{
|
|
||||||
scientifiqueTrouvés : Array
|
|
||||||
accéderFicheScientifique()
|
|
||||||
ChangerPseudo()
|
|
||||||
}
|
|
||||||
|
|
||||||
EspacePersonnel --> DetailsScientifique
|
|
||||||
EspacePersonnel --> ChangerPseudo
|
|
||||||
|
|
||||||
class DetailsScientifique <<dialogue>>{
|
|
||||||
nom : String
|
|
||||||
prenom : String
|
|
||||||
photo : String
|
|
||||||
dateNaissance : Date
|
|
||||||
descriptif : String
|
|
||||||
thematiques : Array
|
|
||||||
retourEspacePersonnel()
|
|
||||||
}
|
|
||||||
|
|
||||||
class ChangerPseudo <<dialogue>>{
|
|
||||||
pseudo : String
|
|
||||||
setPseudo()
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class Scientifique <<entité>>{
|
|
||||||
nom : String
|
|
||||||
prenom : String
|
|
||||||
photo : Raw
|
|
||||||
dateNaissance : Date
|
|
||||||
descriptif : String
|
|
||||||
ratioTrouvee : Float
|
|
||||||
}
|
|
||||||
|
|
||||||
class Thematique <<entité>>{
|
|
||||||
libelle : String
|
|
||||||
}
|
|
||||||
|
|
||||||
class "Difficulté" <<entité>>{
|
|
||||||
libelle: String
|
|
||||||
}
|
|
||||||
|
|
||||||
abstract Compte <<entité>>{
|
|
||||||
email : String
|
|
||||||
motDePasse : Hash
|
|
||||||
}
|
|
||||||
|
|
||||||
class Utilisateur <<entité>>{
|
|
||||||
pseudo : String
|
|
||||||
}
|
|
||||||
|
|
||||||
class Admin <<entité>>{
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
class Jeu <<entité>>{
|
|
||||||
nom : String
|
|
||||||
nbrParties : Integer
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@enduml
|
|
@ -1,90 +0,0 @@
|
|||||||
Logiciel : plantuml
|
|
||||||
https://plantuml.com/fr/
|
|
||||||
|
|
||||||
@startuml "Diagramme de classes participantes lancer une partie"
|
|
||||||
class Invité <<acteur>>{}
|
|
||||||
|
|
||||||
Invité --> Accueil : 1
|
|
||||||
Accueil --> FrontController : 2
|
|
||||||
LancerUnJeu --> FrontController : 9
|
|
||||||
|
|
||||||
class FrontController <<contrôle>>{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
FrontController --> ControllerInvite : 3 , 1O, 16, 24
|
|
||||||
|
|
||||||
|
|
||||||
class ControllerInvite <<contrôle>>{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
ControllerInvite --> ControllerLancerJeu : 4, 11, 17, 25
|
|
||||||
|
|
||||||
|
|
||||||
class ControllerLancerJeu <<contrôle>>{
|
|
||||||
lancerJeuAléatoirement()
|
|
||||||
lancerJeu()
|
|
||||||
}
|
|
||||||
ControllerLancerJeu --> LancerUnJeu : 6
|
|
||||||
ControllerLancerJeu --> Jeu : 5
|
|
||||||
ControllerLancerJeu --> SaisirPseudo : 12
|
|
||||||
ControllerLancerJeu --> Difficulté : 18
|
|
||||||
ControllerLancerJeu --> Thematique : 19
|
|
||||||
ControllerLancerJeu --> ConfigurerUnjeu : 20
|
|
||||||
ControllerLancerJeu --> VueDuJeu : 26
|
|
||||||
|
|
||||||
class Accueil <<dialogue>>{
|
|
||||||
rejoindrePartie()
|
|
||||||
lancerUnJeu()
|
|
||||||
seConnecter()
|
|
||||||
seDeconnecter()
|
|
||||||
}
|
|
||||||
|
|
||||||
class VueDuJeu <<dialogue>>{
|
|
||||||
|
|
||||||
}
|
|
||||||
VueDuJeu --> Invité : 27
|
|
||||||
|
|
||||||
class SaisirPseudo <<dialogue>>{
|
|
||||||
pseudo : String
|
|
||||||
valider()
|
|
||||||
}
|
|
||||||
SaisirPseudo --> Invité : 13
|
|
||||||
SaisirPseudo <-- Invité : 14
|
|
||||||
SaisirPseudo --> FrontController : 15
|
|
||||||
|
|
||||||
class LancerUnJeu <<dialogue>>{
|
|
||||||
jeux : Array
|
|
||||||
choisirJeu()
|
|
||||||
choisirJeuAléatoirement()
|
|
||||||
}
|
|
||||||
|
|
||||||
class ConfigurerUnjeu <<dialogue>>{
|
|
||||||
difficulté : Integer
|
|
||||||
thématique : Integer
|
|
||||||
valider()
|
|
||||||
}
|
|
||||||
Invité <-- ConfigurerUnjeu : 21
|
|
||||||
Invité --> ConfigurerUnjeu : 22
|
|
||||||
ConfigurerUnjeu --> FrontController : 23
|
|
||||||
|
|
||||||
LancerUnJeu --> Invité : 7
|
|
||||||
LancerUnJeu <-- Invité : 8
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class Thematique <<entité>>{
|
|
||||||
libelle : String
|
|
||||||
}
|
|
||||||
|
|
||||||
class "Difficulté" <<entité>>{
|
|
||||||
libelle: String
|
|
||||||
}
|
|
||||||
|
|
||||||
class Jeu <<entité>>{
|
|
||||||
nom : String
|
|
||||||
nbrParties : Integer
|
|
||||||
}
|
|
||||||
|
|
||||||
@enduml
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@ -1,125 +0,0 @@
|
|||||||
<mxfile host="app.diagrams.net" modified="2023-10-26T14:31:05.858Z" agent="Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0" etag="DA3skaueM-lHySTBLYxc" version="22.0.8" type="device">
|
|
||||||
<diagram name="Page-1" id="jla4qwjFgwFRS1lIauP8">
|
|
||||||
<mxGraphModel dx="1434" dy="764" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
|
||||||
<root>
|
|
||||||
<mxCell id="0" />
|
|
||||||
<mxCell id="1" parent="0" />
|
|
||||||
<mxCell id="4sC6NxI0jN4h-IAwyfg9-5" value="" style="whiteSpace=wrap;html=1;aspect=fixed;movable=0;resizable=0;rotatable=0;deletable=0;editable=0;locked=1;connectable=0;" vertex="1" parent="1">
|
|
||||||
<mxGeometry x="150" y="20" width="630" height="630" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="4sC6NxI0jN4h-IAwyfg9-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="4sC6NxI0jN4h-IAwyfg9-4" target="4sC6NxI0jN4h-IAwyfg9-7">
|
|
||||||
<mxGeometry relative="1" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="4sC6NxI0jN4h-IAwyfg9-49" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="4sC6NxI0jN4h-IAwyfg9-4" target="4sC6NxI0jN4h-IAwyfg9-39">
|
|
||||||
<mxGeometry relative="1" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="4sC6NxI0jN4h-IAwyfg9-4" value="enseignant" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;" vertex="1" parent="1">
|
|
||||||
<mxGeometry x="50" y="38" width="30" height="60" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="4sC6NxI0jN4h-IAwyfg9-6" value="<div>kahoot</div>" style="text;align=center;fontStyle=1;verticalAlign=middle;spacingLeft=3;spacingRight=3;strokeColor=none;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="1">
|
|
||||||
<mxGeometry x="150" y="20" width="80" height="26" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="4sC6NxI0jN4h-IAwyfg9-7" value="Creer partie" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
|
||||||
<mxGeometry x="160" y="46" width="130" height="44" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="4sC6NxI0jN4h-IAwyfg9-10" value="<div>Choisir niveau de difficulté</div><div>en fonction de la popularité</div>" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
|
||||||
<mxGeometry x="470" y="28" width="180" height="70" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="4sC6NxI0jN4h-IAwyfg9-11" value="<div>Choisir le theme des scientifiques</div><div>(Math, SVT, Informatique, tous...)</div>" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
|
||||||
<mxGeometry x="480" y="110" width="220" height="70" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="4sC6NxI0jN4h-IAwyfg9-24" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="4sC6NxI0jN4h-IAwyfg9-19" target="4sC6NxI0jN4h-IAwyfg9-23">
|
|
||||||
<mxGeometry relative="1" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="4sC6NxI0jN4h-IAwyfg9-48" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="4sC6NxI0jN4h-IAwyfg9-19" target="4sC6NxI0jN4h-IAwyfg9-46">
|
|
||||||
<mxGeometry relative="1" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="4sC6NxI0jN4h-IAwyfg9-19" value="<div>joueur</div>" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;" vertex="1" parent="1">
|
|
||||||
<mxGeometry x="50" y="325" width="30" height="60" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="4sC6NxI0jN4h-IAwyfg9-23" value="<div>Rejoindre partie</div><div>non lancée<br></div>" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
|
||||||
<mxGeometry x="155" y="330" width="130" height="50" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="4sC6NxI0jN4h-IAwyfg9-25" value="<div>Répondre a une question</div>" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
|
||||||
<mxGeometry x="440" y="330" width="140" height="70" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="4sC6NxI0jN4h-IAwyfg9-26" value="<div>&lt;&lt;include&gt;&gt;</div>" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="4sC6NxI0jN4h-IAwyfg9-40" target="4sC6NxI0jN4h-IAwyfg9-25">
|
|
||||||
<mxGeometry relative="1" as="geometry">
|
|
||||||
<mxPoint x="350" y="355" as="sourcePoint" />
|
|
||||||
<mxPoint x="440" y="345" as="targetPoint" />
|
|
||||||
</mxGeometry>
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="4sC6NxI0jN4h-IAwyfg9-27" value="<div>Répondre juste a une question</div>" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
|
||||||
<mxGeometry x="390" y="435" width="130" height="50" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="4sC6NxI0jN4h-IAwyfg9-28" value="" style="endArrow=block;endSize=16;endFill=0;html=1;rounded=0;exitX=0.585;exitY=-0.02;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.343;entryY=0.957;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="4sC6NxI0jN4h-IAwyfg9-27" target="4sC6NxI0jN4h-IAwyfg9-25">
|
|
||||||
<mxGeometry width="160" relative="1" as="geometry">
|
|
||||||
<mxPoint x="400" y="345" as="sourcePoint" />
|
|
||||||
<mxPoint x="560" y="345" as="targetPoint" />
|
|
||||||
</mxGeometry>
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="4sC6NxI0jN4h-IAwyfg9-29" value="<div>Répondre faux a une question</div>" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
|
||||||
<mxGeometry x="540" y="425" width="130" height="50" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="4sC6NxI0jN4h-IAwyfg9-30" value="" style="endArrow=block;endSize=16;endFill=0;html=1;rounded=0;entryX=0.793;entryY=0.9;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="4sC6NxI0jN4h-IAwyfg9-29" target="4sC6NxI0jN4h-IAwyfg9-25">
|
|
||||||
<mxGeometry width="160" relative="1" as="geometry">
|
|
||||||
<mxPoint x="476" y="444" as="sourcePoint" />
|
|
||||||
<mxPoint x="498" y="397" as="targetPoint" />
|
|
||||||
<Array as="points" />
|
|
||||||
</mxGeometry>
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="4sC6NxI0jN4h-IAwyfg9-31" value="<div>Ajouter scientifique dans historique</div>" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
|
||||||
<mxGeometry x="395" y="525" width="120" height="50" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="4sC6NxI0jN4h-IAwyfg9-33" value="<div>&lt;&lt;include&gt;&gt;</div>" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="4sC6NxI0jN4h-IAwyfg9-27" target="4sC6NxI0jN4h-IAwyfg9-31">
|
|
||||||
<mxGeometry relative="1" as="geometry">
|
|
||||||
<mxPoint x="520" y="345" as="sourcePoint" />
|
|
||||||
<mxPoint x="440" y="345" as="targetPoint" />
|
|
||||||
</mxGeometry>
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="4sC6NxI0jN4h-IAwyfg9-34" value="<div>Affiche les questions<br></div>" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
|
||||||
<mxGeometry x="375" y="200" width="140" height="50" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="4sC6NxI0jN4h-IAwyfg9-36" value="<div>&lt;&lt;include&gt;&gt;</div>" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;exitX=0.454;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="4sC6NxI0jN4h-IAwyfg9-7" target="4sC6NxI0jN4h-IAwyfg9-39">
|
|
||||||
<mxGeometry relative="1" as="geometry">
|
|
||||||
<mxPoint x="460" y="280" as="sourcePoint" />
|
|
||||||
<mxPoint x="380" y="280" as="targetPoint" />
|
|
||||||
</mxGeometry>
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="4sC6NxI0jN4h-IAwyfg9-37" value="<div>&lt;&lt;include&gt;&gt;</div>" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=0.923;exitY=0.727;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="4sC6NxI0jN4h-IAwyfg9-7" target="4sC6NxI0jN4h-IAwyfg9-11">
|
|
||||||
<mxGeometry relative="1" as="geometry">
|
|
||||||
<mxPoint x="460" y="280" as="sourcePoint" />
|
|
||||||
<mxPoint x="380" y="280" as="targetPoint" />
|
|
||||||
</mxGeometry>
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="4sC6NxI0jN4h-IAwyfg9-38" value="<div>&lt;&lt;include&gt;&gt;</div>" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="4sC6NxI0jN4h-IAwyfg9-7" target="4sC6NxI0jN4h-IAwyfg9-10">
|
|
||||||
<mxGeometry relative="1" as="geometry">
|
|
||||||
<mxPoint x="460" y="280" as="sourcePoint" />
|
|
||||||
<mxPoint x="380" y="280" as="targetPoint" />
|
|
||||||
</mxGeometry>
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="4sC6NxI0jN4h-IAwyfg9-39" value="<div>Lancer partie</div>" style="ellipse;whiteSpace=wrap;html=1;direction=west;" vertex="1" parent="1">
|
|
||||||
<mxGeometry x="160" y="150" width="130" height="50" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="4sC6NxI0jN4h-IAwyfg9-40" value="Jouer dans partie lancée" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
|
||||||
<mxGeometry x="170" y="425" width="130" height="50" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="4sC6NxI0jN4h-IAwyfg9-42" value="&lt;&lt;include&gt;&gt;" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="4sC6NxI0jN4h-IAwyfg9-39" target="4sC6NxI0jN4h-IAwyfg9-34">
|
|
||||||
<mxGeometry relative="1" as="geometry">
|
|
||||||
<mxPoint x="460" y="280" as="sourcePoint" />
|
|
||||||
<mxPoint x="380" y="280" as="targetPoint" />
|
|
||||||
</mxGeometry>
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="4sC6NxI0jN4h-IAwyfg9-44" value="&lt;&lt;include&gt;&gt;" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="4sC6NxI0jN4h-IAwyfg9-23" target="4sC6NxI0jN4h-IAwyfg9-40">
|
|
||||||
<mxGeometry relative="1" as="geometry">
|
|
||||||
<mxPoint x="460" y="280" as="sourcePoint" />
|
|
||||||
<mxPoint x="230" y="390" as="targetPoint" />
|
|
||||||
</mxGeometry>
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="4sC6NxI0jN4h-IAwyfg9-46" value="voir résultats finaux" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
|
||||||
<mxGeometry x="150" y="230" width="140" height="60" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
</root>
|
|
||||||
</mxGraphModel>
|
|
||||||
</diagram>
|
|
||||||
</mxfile>
|
|
File diff suppressed because one or more lines are too long
@ -1,26 +0,0 @@
|
|||||||
PHP SAE
|
|
||||||
|
|
||||||
|
|
||||||
Actions disponibles pour admin :
|
|
||||||
- connexion
|
|
||||||
- déconnexion
|
|
||||||
- gestion scientifique
|
|
||||||
- accéder stats site
|
|
||||||
|
|
||||||
Actions users :
|
|
||||||
- créer partie
|
|
||||||
- rejoindre partie
|
|
||||||
- historique scientifiques trouvés
|
|
||||||
|
|
||||||
|
|
||||||
Vues nécessaires :
|
|
||||||
- Accueil
|
|
||||||
- création partie
|
|
||||||
- rejoindre partie
|
|
||||||
- la partie (dépend des jeux)
|
|
||||||
- historique des scientifiques trouvés
|
|
||||||
|
|
||||||
Pour admin
|
|
||||||
- connexion (pop-up si possible)
|
|
||||||
- Gestion des scientifiques (genre une liste et on peut les supprimer)
|
|
||||||
- ajouter scientifique
|
|
Binary file not shown.
Binary file not shown.
@ -1,105 +0,0 @@
|
|||||||
```plantuml
|
|
||||||
@startuml
|
|
||||||
|
|
||||||
entity "Jeu" as jeu {
|
|
||||||
<u>id : int
|
|
||||||
nom : string
|
|
||||||
nbrParties : int
|
|
||||||
}
|
|
||||||
|
|
||||||
entity "Scientifique" as scientifique {
|
|
||||||
<u>id : int
|
|
||||||
nom : string
|
|
||||||
prenom : string
|
|
||||||
photo : string
|
|
||||||
dateNaissance : date
|
|
||||||
descriptif : string
|
|
||||||
ratioTrouvee : float
|
|
||||||
#idThematique : int
|
|
||||||
#idDifficulte : int
|
|
||||||
#idSexe : int
|
|
||||||
}
|
|
||||||
|
|
||||||
entity "Thematique" as thematique {
|
|
||||||
<u>id : int
|
|
||||||
libelle : string
|
|
||||||
}
|
|
||||||
|
|
||||||
entity "Difficulte" as difficulte {
|
|
||||||
<u>id : int
|
|
||||||
libelle : string
|
|
||||||
}
|
|
||||||
|
|
||||||
entity "Sexe" as sexe {
|
|
||||||
<u>id : int
|
|
||||||
libelle : string
|
|
||||||
}
|
|
||||||
|
|
||||||
entity "Joueur" as joueur {
|
|
||||||
<u>id : int
|
|
||||||
pseudo : string
|
|
||||||
}
|
|
||||||
|
|
||||||
entity "Utilisateur" as utilisateur {
|
|
||||||
<u>#idJoueur : int
|
|
||||||
email : string
|
|
||||||
motDePasse : string
|
|
||||||
pseudo : string
|
|
||||||
}
|
|
||||||
|
|
||||||
entity "Invite" as invite {
|
|
||||||
<u>#idJoueur : int
|
|
||||||
<u>idSession : int
|
|
||||||
}
|
|
||||||
|
|
||||||
entity "Partie" as partie {
|
|
||||||
<u>id : int
|
|
||||||
codeInvitation : string
|
|
||||||
#idJoueur : int
|
|
||||||
#idJeu : int
|
|
||||||
}
|
|
||||||
|
|
||||||
entity "Admin" as admin {
|
|
||||||
<u>id : int
|
|
||||||
email : string
|
|
||||||
motDePasse : string
|
|
||||||
}
|
|
||||||
|
|
||||||
entity "Decouvrir" as decouvrir {
|
|
||||||
<u>#idUtilisateur : int
|
|
||||||
<u>#idScientifique : int
|
|
||||||
}
|
|
||||||
|
|
||||||
entity "Indice" as indice {
|
|
||||||
<u>id : int
|
|
||||||
indice : string
|
|
||||||
#idScientifique : int
|
|
||||||
}
|
|
||||||
|
|
||||||
entity "Reponse" as reponse {
|
|
||||||
<u>id : int
|
|
||||||
reponse : string
|
|
||||||
#idScientifique : int
|
|
||||||
#idQuestion : int
|
|
||||||
}
|
|
||||||
|
|
||||||
entity "Question" as question {
|
|
||||||
<u>id : int
|
|
||||||
question : string
|
|
||||||
}
|
|
||||||
|
|
||||||
partie --> jeu
|
|
||||||
partie --> joueur
|
|
||||||
invite --> joueur
|
|
||||||
utilisateur --> joueur
|
|
||||||
utilisateur --> scientifique
|
|
||||||
scientifique --> thematique
|
|
||||||
scientifique --> sexe
|
|
||||||
scientifique --> difficulte
|
|
||||||
scientifique --> indice
|
|
||||||
question --> reponse
|
|
||||||
reponse --> scientifique
|
|
||||||
decouvrir --> scientifique
|
|
||||||
decouvrir --> utilisateur
|
|
||||||
jeu --> scientifique
|
|
||||||
@enduml
|
|
@ -1,53 +0,0 @@
|
|||||||
**Jeu(<ins>id</ins>, nom, nbrParties)**
|
|
||||||
- *id* : clef primaire de la table Jeu
|
|
||||||
|
|
||||||
**Scientifique(<ins>id</ins>, nom, prenom, photo, dateNaissance, descriptif, ratioTrouvee, #idThematique, #idDifficulte, #idSexe)**
|
|
||||||
- *id* : clef primaire de la table Scientifique
|
|
||||||
- *#idThematique* clef étrangère en référence à *id* de la table Thematique
|
|
||||||
- *#idDifficulte* clef étrangère en référence à *id* de la table Difficulté
|
|
||||||
- *#idSexe* clef étrangère en référence à *id* de la table Sexe
|
|
||||||
|
|
||||||
**Thematique(<ins>id</ins>, libelle)**
|
|
||||||
- *id* : clef primaire de la table Thematique
|
|
||||||
|
|
||||||
**Difficulté(<ins>id</ins>, libelle)**
|
|
||||||
- *id* : clef primaire de la table Difficulté
|
|
||||||
|
|
||||||
**Sexe(<ins>id</ins>, libelle)**
|
|
||||||
- *id* : clef primaire de la table Sexe
|
|
||||||
|
|
||||||
**Joueur(<ins>id</ins>, pseudo)**
|
|
||||||
- *id* : clef primaire de la table Joueur
|
|
||||||
|
|
||||||
**Utilisateur(<ins>#idJoueur</ins>, email, motDePasse, pseudo)**
|
|
||||||
- *idJoueur* : clef primaire de la table Joueur
|
|
||||||
- *#idJoueur* : clef étrangère en référence à *id* de la table Joueur
|
|
||||||
|
|
||||||
**Invite(<ins>#idJoueur</ins>, idSession)**
|
|
||||||
- *idJoueur* : clef primaire de la table Joueur
|
|
||||||
- *#idJoueur* : clef étrangère en référence à *id* de la table Joueur
|
|
||||||
|
|
||||||
**Partie(<ins>id</ins>, codeInvitation, #idJoueur, #idJeu)**
|
|
||||||
- *id* : clef primaire de la table Partie
|
|
||||||
- *#idJoueur* : clef étrangère en référence à *id* de la table Joueur
|
|
||||||
- *#idJeu* : clef étrangère en référence à *id* de la table Jeu
|
|
||||||
|
|
||||||
**Admin(<ins>#id</ins>, email, motDePasse)**
|
|
||||||
- *id* : clef primaire de la table Admin
|
|
||||||
|
|
||||||
**Decouvrir(<ins>#idUtilisateur</ins>, <ins>#idScientifique</ins>)**
|
|
||||||
- *idUtilisateur*, *idScientifique* : clef primaire de la table découvrir
|
|
||||||
- *#idUtilisateur* : clef étangère en référence à *idJoueur* de la table Utilisateur
|
|
||||||
- *#idScientifique* : clef étrangère en référence à *id* de la table Scientifique
|
|
||||||
|
|
||||||
**Indice(<ins>id</ins>, indice, #idScientifique)**
|
|
||||||
- *id* : clef primaire de la table Indice
|
|
||||||
- *#idScientifique* : clef étrangère en référence à *id* de la table Scientifique
|
|
||||||
|
|
||||||
**Reponse(<ins>id</ins>, reponse, #idScientifique, #idQuestion)**
|
|
||||||
- *id* : clef primaire de la table Reponse
|
|
||||||
- *#idScientifique* : clef étrangère en référence à *id* de la table Scientifique
|
|
||||||
- *#idQuestion* : clef étrangère en référence à *id* de la table Question
|
|
||||||
|
|
||||||
**Question(<ins>id</ins>, question)**
|
|
||||||
- *id* : clef primaire de la table Question
|
|
@ -1,59 +0,0 @@
|
|||||||
```plantuml
|
|
||||||
|
|
||||||
@startuml
|
|
||||||
:Utilisateur: as u
|
|
||||||
:Utilisateur avec compte: as uc
|
|
||||||
:Administrateur: as admin
|
|
||||||
|
|
||||||
uc <|-- u
|
|
||||||
package Mini-jeux{
|
|
||||||
|
|
||||||
u --> (Rejoindre une partie avec un code d'invitation)
|
|
||||||
u --> (Accéder à la liste des jeux)
|
|
||||||
u --> (Se créer un compte)
|
|
||||||
u --> (Choisir un jeu)
|
|
||||||
(Choisir un jeu) <|-- (chosir de façon aléatoire)
|
|
||||||
(Choisir un jeu) <|-- (choisir dans la liste)
|
|
||||||
|
|
||||||
|
|
||||||
(Choisir un jeu) <.. (Créer une partie) : <<include>>
|
|
||||||
(Créer une partie) <.. (générer un code d'invitation) : <<include>>
|
|
||||||
(Créer une partie) ..> (configurer la thématique des scientifiques) : <<extends>>
|
|
||||||
(Créer une partie) ..> (configure la difficulté des scientifiques) : <<extends>>
|
|
||||||
(Créer une partie) ..> (Lancer une partie) : <<extends>>
|
|
||||||
(Créer une partie) ..> (Saisir pseudo) : <<extends>>
|
|
||||||
|
|
||||||
note "Pour l'utilisateur connecté : utilisera le pseudo associé à son compte" as notePseudo
|
|
||||||
note "Pour l'utilisateur connecté : on garde les scientifiques découverts pendant la partie dans son compte" as noteUC
|
|
||||||
noteUC .. (Lancer une partie)
|
|
||||||
notePseudo .. (Saisir pseudo)
|
|
||||||
|
|
||||||
uc --> (Se déconnecter)
|
|
||||||
(Saisir son pseudo) <.. (Se connecter) : <<include>>
|
|
||||||
uc --> (Saisir son pseudo)
|
|
||||||
(Supprimer son compte) <.. (Se connecter) : <<include>>
|
|
||||||
uc --> (Supprimer son compte)
|
|
||||||
(Accéder à la liste des scientifiques découverts) <.. (Se connecter) : <<include>>
|
|
||||||
uc --> (Accéder à la liste des scientifiques découverts)
|
|
||||||
(Accéder à la liste des scientifiques découverts) <.. (Afficher la fiche détaillé du scientifique) : <<extends>>
|
|
||||||
}
|
|
||||||
|
|
||||||
package "Mini-jeux Administration"{
|
|
||||||
admin --> (Se déconnecter du panel)
|
|
||||||
admin --> (Lister les scientifiques)
|
|
||||||
(Lister les scientifiques) <.. (Se connecter en tant qu'admin) : <<include>>
|
|
||||||
(Lister les scientifiques) <.. (Ajouter Scientifique): <<extends>>
|
|
||||||
(Lister les scientifiques) <.. (Modifier Scientifique): <<extends>>
|
|
||||||
(Lister les scientifiques) <.. (Supprimer Scientifique): <<extends>>
|
|
||||||
admin --> (Lister les scientifiques qui posent le plus de problèmes aux joueurs)
|
|
||||||
(Lister les scientifiques qui posent le plus de problèmes aux joueurs) <.. (Se connecter en tant qu'admin) : <<include>>
|
|
||||||
|
|
||||||
admin --> (Lister les statistiques d'utilisation des jeux)
|
|
||||||
(Lister les statistiques d'utilisation des jeux) <.. (Se connecter en tant qu'admin) : <<include>>
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@enduml
|
|
||||||
|
|
||||||
```
|
|
Binary file not shown.
File diff suppressed because one or more lines are too long
Loading…
Reference in new issue