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