Skip to content

Projet M1 pédagogique d'élaboration d'un site web avec une version sécurisée et non sécurisée

Notifications You must be signed in to change notification settings

Alexis-LF/projet-site-securise

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

projet-site-securise

Projet M1 pédagogique d'élaboration d'un site web avec une version sécurisée et non sécurisée

Installation

Pour installer la version non sécurisée : se rendre sur la branche non_secure.

  1. Télécharger le code source (sur la branche main)
  2. Installer la base de données : BDD/README.md
  3. Installer le backend : BACK_END/INSTALL.md
  4. Installer le frontend : FRONT_END/INSTALL.md

Utilisation

FRONT_END/README.md

sources

frontend

backend

bibliothèques

Installation des bibliothèques

base de données

attaques

xss

backend sécurisé

Graphiques

Communication entre serveurs

flowchart LR;

    classDef masque fill:#ffffde,stroke:#333,stroke-width:0px;
    classDef plein fill:#ffffde,stroke:#333,stroke-width:0px;


    subgraph id1[Frontend];
    id1.1[	Define.js	]; 
    end;
    subgraph id2[Backend];
    id2.1[ .env];
    end;
    subgraph id3[" Base de données "];
    id3.1[  ]
    class id3.1 masque;
    end;
    id1.1 -->id2;
    id2.1 -->id3;

Loading

Taxonomie des fonctions

Légende :

flowchart TD
    %% définitions des classes pour le style (comme le css)
    classDef fPrincipales color:#ffffff,fill:#ee7711,stroke:#333,stroke-width:1px;
    classDef fSecondaires fill:#ffff00,stroke:#333,stroke-width:1px;
    classDef contraintes color:#ffffff,fill:#445511,stroke:#333,stroke-width:1px;
    classDef fEstime fill:#ffffff,stroke:#333,stroke-width:1px;

    id1(	Fonction principale	); 
    class id1 fPrincipales;
    id2(	Fonction secondaire	); 
    class id2 fSecondaires;
    id3(	Contrainte	); 
    class id3 contraintes;
    id4(	Fonction d'estime	); 
    class id4 fEstime;

Loading
flowchart LR;
    %% définitions des classes pour le style (comme le css)
    classDef fPrincipales color:#ffffff,fill:#ee7711,stroke:#333,stroke-width:1px;
    classDef fSecondaires fill:#ffff00,stroke:#333,stroke-width:1px;
    classDef contraintes color:#ffffff,fill:#445511,stroke:#333,stroke-width:1px;
    classDef fEstime fill:#ffffff,stroke:#333,stroke-width:1px;

    %% racine
    id1[	projet site sécurisé	]; 
    class id1 fPrincipales;

    %% projet site sécurisé
    id1-->	id2(    2 Sites web	);
    id1-->	id3(    Thématique du sujet :\nsite de RDV médicaux 	);
    id1-->	id4(    Attaques d'après le\nTOP10 OWASP 2007	);
    class id2,id4 fPrincipales;
    class id3 fSecondaires;

    %% Thématique
    id3-->	id3.1(    Exemple de\npatient exitant	);
    id3-->	id3.2(    Peupler le site\nde données );
    class id3.1 fPrincipales
    class id3.2 fSecondaires

    %% Données
    id3.2-->	id3.2.1(    Profil de docteurs );
    id3.2-->	id3.2.2(    Sites médicaux );
    id3.2-->	id3.2.3(    Professions );
    id3.2-->	id3.2.4(    Villes );

    class id3.2.1,id3.2.2,id3.2.3,id3.2.4 fSecondaires




    %% sites web
    id2-->	id2.1(    Version non sécurisé :\nvulnérable des attaques	);
    id2-->	id2.2(    Version sécurisé :\nprotégé des attaques	);
    id2-->	id2.3(    Architecture	);
    id2-->	id2.4(    Services du site	);
    id2-->	id2.5(    Opérationnel	);
    class id2.1,id2.2,id2.3,id2.4,id2.5 fPrincipales;

    %% Architecture
    id2.3-->	id2.3.1(    Client-serveur	);
    id2.3-->	id2.3.2(    Cloisonnement	);
    class id2.3.1,id2.3.2 fPrincipales;


    %% Architecture client-serveur
    id2.3.1-->	id2.3.1.1(    Frontend	);
    id2.3.1-->	id2.3.1.2(    Backend	);
    id2.3.1-->	id2.3.1.3(    Base de données	);
    class id2.3.1.1,id2.3.1.2,id2.3.1.3 fPrincipales;

    %% Frontend
    id2.3.1.1-->	id2.3.1.1.1(    Même interface pour\nles deux versions	);
    id2.3.1.1-->	id2.3.1.1.2(    Utilisation d'un template	);
    class id2.3.1.1.1,id2.3.1.1.2 contraintes

    %% Backend
    id2.3.1.2-->	id2.3.1.2.1(    Non sécurisé : PHP	);
    id2.3.1.2-->	id2.3.1.2.2(    Sécurisé : Framework Laravel	);
    class id2.3.1.2.1,id2.3.1.2.2 contraintes



    %% Cloisonnement
    id2.3.2-->	id2.3.2.1(    2 sites : 2 instances distinctes	);
    id2.3.2-->	id2.3.2.2(    Les 3 serveurs client-serveur sont indépendants	);
    class id2.3.2.1,id2.3.2.2 contraintes;

    %% Services du site
    id2.4-->	id2.4.1(    Gestion des utilisateurs	);
    id2.4-->	id2.4.2(    Recherche d'un docteur	);
    id2.4-->	id2.4.3(    Consultation de ressources\nprivées d'un patient	);
    id2.4-->	id2.4.4(    Gestion de profil patient	);
    id2.4-->	id2.4.5(    Prise de RDV	);
    class id2.4.1,id2.4.2,id2.4.3 fPrincipales;
    class id2.4.4,id2.4.5 fEstime;




    %% Gestion des utilisateurs
    id2.4.1-->	id2.4.1.1(    Inscription de nouveaux utilisateurs\npar identifiant et mot de passe	);
    id2.4.1-->	id2.4.1.2("    Inscription par un tiers\n(conenxion avec google)	");
    class id2.4.1.1 fPrincipales;
    class id2.4.1.2 fEstime;

    %% Consultation de  ressources privées d'un patient
    id2.4.3-->	id2.4.3.1(    Document médicaux );
    id2.4.3-->	id2.4.3.2(    Factures	);
    class id2.4.3.1,id2.4.3.2 fPrincipales;


    %% Opérationnel
    id2.5-->	id2.5.2(    Sur un serveur	);
    id2.5-->	id2.5.1(    Utilisable par le public	);
    class id2.5.1,id2.5.2 fPrincipales
    
    %% Sur un serveur
    id2.5.2-->	id2.5.2.1(    Serveurs de production sur le réseau	);
    id2.5.2-->	id2.5.2.2(    Serveurs localhost	);
    id2.5.2-->	id2.5.2.3(    Déploiement simple	);
    class id2.5.2.2 fPrincipales;
    class id2.5.2.1 fSecondaires;
    class id2.5.2.3 fEstime;



    %% attaques
    id4-->	id4.1(   Injections SQL	);
    id4-->	id4.2("   Cross Site Scripting (XSS)	");
    id4-->	id4.3("   Déni de service distribué (DDoS)	");
    id4-->	id4.4(   Violation de gestion d' authentification	);
    id4-->	id4.5("   Communications non sécurisées (HTTP-S)	");
    id4-->	id4.6(   Tutoriels d'utilisation  et d'explications	);
    class id4.1,id4.2,id4.3,id4.4,id4.5 contraintes;
    class id4.6 fPrincipales;

    

Loading

Architecture du projet

flowchart TD;
    %% définitions des classes pour le style (comme le css)
    classDef fPrincipales color:#ffffff,fill:#ee7711,stroke:#333,stroke-width:1px;
    classDef fSecondaires fill:#ffff00,stroke:#333,stroke-width:1px;
    classDef contraintes color:#ffffff,fill:#445511,stroke:#333,stroke-width:1px;
    classDef fEstime fill:#ffffff,stroke:#333,stroke-width:1px;

    %% racine
    id1[	projet site sécurisé	]; 
    class id1 fPrincipales;

    %% projet site sécurisé
    id1-->	id2(    site non sécurisé	);
    id1-->	id3(    site sécurisé	);
    id1-->	id4(    attaques	);
    class id2,id3,id4,id5 fPrincipales;


    %% site non sécurisé
    id2-->	id6(    frontend	);
    id2-->	id7(    backend	);
    id2-->	id8(    base de données	);
    class id6,id7,id8 fPrincipales;
    

    %% site sécurisé
    id3-->	id9(    frontend 	);
    id3-->	id16(   backend 	);
    id3-->	id10(   base de données 	);
    class id9,id16,id10 fPrincipales;
    
    %% attaques
    id4-->	id11(   sql	);
    id4-->	id12(   xss	);
    id4-->	id13(   DDoS	);
    id4-->	id14(   auth	);
    id4-->	id15(   HTTPS	);
    class id11,id12,id13,id14,id15 contraintes;
    
    %% backend sécurisé
    id16--> id17(   Laravel	);
    class id17 contraintes;
Loading

About

Projet M1 pédagogique d'élaboration d'un site web avec une version sécurisée et non sécurisée

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •