Projet Terre Plurielle Ivan Colonneau Terre Plurielle et
- Slides: 54
Projet Terre Plurielle Ivan Colonneau
Terre Plurielle et ECAM EPMI ● Fondation crée en 2008 par le groupe industriel Bouygues ● Son objectif est d'apporter son soutien financier à des projets visant l'accès à la santé, l'éducation et l'insertion des population en difficulté ● ECAM EPMI est l’école d’ingénieur de Cergy où j’ai effectué mon stage sous la direction du chercheur Mr. Benkkerhat.
Résumé du projet ● Destiné aux enfants atteints d'autisme. ● Aide à leur communication et à leur sociabilisation. ● Propose un système de drag and drop sur des pictogrammes pour construire des mots ou des phrases. ● Application destiné au professionnel de l'autisme lors de séance avec leurs patients. ● Disponible sur tous les support.
Conception Graphique
Figma : Zonning
Figma : Wireframe
Coolors : Jeu de couleurs
Description fonctionnelle et technique
Lucidchart : UML Utilisateur
Lucidchart : UML Administrateur
Lucidchart : Plan du site
Lucidchart : Modèle Conceptuel de Données
Spécification techniques
Visual Studio Code
Technologies Front-End ● HTML : Langage de balisage pour structurer le document. ● CSS : Langage de présentation pour styliser le document. ● j. Query : Bibliothèque Java. Script. ● j. Query Ui : Composant j. Query orienté vers l'expérience utilisateur. ● j. Query UI Touch : Composant j. Query pour rendre les événements de souris tactile. ● Bootstrap : Framework utilisé pour le Responsive Design.
Technologie Back-End ● MAMP : Permet d'installer un environnement de développement local (serveur, base de données. . . ). ● PHP : Pour concevoir la partie dynamique de l'application. ● My. SQL : Système de gestion de base de données relationnelles basé sur le langage SQL (Structured Query Langage). ● Symfony 4 : Framework back-end avec une architecture MVC et orienté Service.
Symfony
Symfony 4: Les avantages : ➔ Gain de productivité. ➔ Puissant. ➔ Populaire. ➔ Facilité de débogage. Les inconvénients : ➔ Temps d'apprentissage.
L’installation : Composer : ● Outil de gestion de dépendances. Utile pour installer un projet Symfony avec la commande :
Architecture de Symfony 4 : ● /bin : Il contient tous les exécutables ● qui servent au développement (commandes php). ● ● (controller, service, entité, etc). ● /config : Ce répertoire contient toute la configuration de Symfony et des /src : Contient tous le code source /template : Contient tous les templates, les views de l'application. ● /var : Contient les logs, le cache et Bundles. d'autres fichiers nécessaires au /public : Contient tous les fichiers fonctionnement de Symfony. accessibles aux utilisateurs et le contrôleur frontal. ● /vendor : Contient toutes les bibliothèques externes au projet.
Les environnements : Dev : Prod : L'environnement « dev » est moins rapide mais fournis beaucoup d'information sur le processus de l'application grâce au « profiler » . L'environnement « prod » est plus rapide, c'est cette environnement qui est utilisé lorsque l'application est en production. En cas d'erreurs, l'origine de celles-ci ne sont pas affichées.
Le Profiler :
Les Services et Bundles : Les Services : ➔ Symfony est un framework orienté service. ➔ Ils séparent la logique des controller (performance et maintenabilité du projet). ➔ Sont de simple objets php qui remplissent une fonction. ➔ Ils sont accessible n'importe où dans le code et réutilisable. Les Bundles : ➔ Sont des ensemble d'outils, de services regroupé dans un même répertoire ➔ Ils rassemblent toutes les fonctionnalités liées ç un besoin. ➔ Exemple : ➔ Swift. Mailer. Bundle (pour l'envoie de mail). ➔ Vich. Uploader. Bundle (pour l'upload de fichiers).
Doctrine : L'ORM (Object-Relational Mapping) Doctrine fournit tous les outils nécessaire pour travailler avec les bases de données. Exemple d'utilisation : ➔ ➔ ➔ La création de classe d'entité. Des migrations (création des tables/ schémas de base de données). La persistance d'objets en base de données. La validation des objets. De récupérer, modifier, supprimer un objet. L'interrogation d'objets (requêtes SQL et DQL).
Twig : Twig est un moteur de templates qui a été conçu par les créateurs de Symfony. Les principales Fonctionnalité : ➔ ➔ ➔ Permet de séparer le code PHP du code HTML Système d’héritage de block défini dans un template de base. Sécurise automatiquement les variables pour prévenir des attaques XSS et injection SQL. Filtre les variables. Permet de travailler avec les variables en utilisant des commandes (conditions, boucles …).
Sécurité
Faille XSS : Les failles XSS (Cross-Site Scripting) est une faille permettant l'injection de code HTML ou Java. Script dans des variables mal protégées. Les règles de base contre les attaques XSS : ➔ Filtrer les entrées avec des contraintes, annotations de doctrine, regex et les requêtes préparées. ➔ Échapper les sorties, avec Twig toutes les données envoyées à la vue sont échappées automatiquement, grâce à l'option auto-escape.
Faille d’injection SQL : Les injections SQL sont des méthodes d'attaques qui consistent à modifier une requête SQL en injectant un script SQL. Le composant Doctrine : Utilise un système de requêtes préparées pour éviter ce genre d'attaques. La composant Forms : Il construit des classes de formulaire à partir d'objets, les champs générés par cette classe correspondent aux type des propriétés de l'objet associé. Lors de la soumission du formulaire, il faut donc vérifier si l'objet est valide après lui avoir appliqué les données soumises. Si l'objet est valide alors on peut effectuer le traitement, comme une insertion en base de données en toute sécurité
Faille CSRF : Les attaques CSRF sont des méthodes par lesquelles un utilisateur malveillant tente de faire en sorte qu'un utilisateur soumettent sans le savoir des données qu'ils n'ont pas l'intention de soumettre. Le composant Forms : Intègre une protection contre les attaques CSRF. Lors de la création du formulaire un champs de type hidden est ajouté automatiquement dont la valeur est un token. Lorsque le formulaire est soumis, si la valeur du champs hidden est différent de celui généré au moment de la génération du formulaire, la validation sera non valide et le formulaire ne sera pas traité.
Réalisations
Refresh Lecture mot à mot
Controller page echange :
Template Echange :
Categorie. Repository :
Api. Get. Categorie. Controller :
Ajax :
Drag & Drop :
Scroll. Box :
Jeu d’essaie
Composant Fixture : Installation : Commande Fixtures : Class User. Fixtures :
Class User. Fixtures :
Résultat du jeu d’essaie :
Veille sur les vulnérabilités de sécurité
Protocole SSL/TLS : Le protocole SSL (Secure Socket Layer) a été créé en 1994 par Netscape, pour sécurisé le transfert de données sensible. Le protocole TLS est une évolution du SSL La méthode consiste à chiffrer les données qui transitent entre un client et un serveur, en utilisant des fonctions de hachage utilisées pour authentifier la signature électronique des certificats (obtenue auprès d'une autorité tierce) qui permet la communication au moyen de clé asymétrique (clé publique et clé privée).
Attaque par force brute : Un utilisateur malveillant essaye tous les mots de passe possibles d'où sont nom attaque par force brute. Une des alternatives simple et efficace pour diminuer et ralentir ce type d'attaque est la mise en place d'une limite aux tentatives de connexion et la demande aux utilisateurs du choix d'un mot de passe complexe et son changement régulier.
La faille CRLF(Carriage Return Line Feed) Permet comme son nom l'indique d'effectuer un retour chariot dans un champ de type input ou textarea. Elle est le plus souvent utilisée sur des formulaires de réinitialisation de mot de passe. Pour se protéger de ce genre d'attaques le moyen le plus efficace et simplement de supprimer les retours à la ligne lors du traitement. Ou en vérifiant si l'adresse fournie est bien valide, grâce à la fonction filter_var en utilisant pour 2 em paramètre FILTER_VALIDATE_EMAIL.
Evolutions
Système d'historique : ● Suivi de l'évolution de l'enfant. ● Mise en place d'une base de données Mongo. Db. ● Création d'un système de statistiques. Système d'enregistrement vocale : ● Intégrer un système d'enregistrement vocale. ● Mise en place d'un spectrogramme permettant aux professionnels de suivre l'évolution de la ● prononciation de l'enfant. Design : ● Amélioration esthétique de l'application. ● Amélioration des pictogrammes. Système de niveaux: ● Mise en place de plusieurs niveaux de difficulté en fonction de l'enfant.
Recherche en anglais
Merci
- Fiche suivi projet
- Comite de projet
- Kickoff projet
- Revue de projet sti2d
- Xxxxxxxxxxxxxa
- Projet personnel d'orientation
- Fiche action projet de service
- Nom de startup
- Bac pro assp coefficient
- Projet camp pionnier
- Numro
- Structure wbs
- Projet de production de champignons comestibles
- Projet éducatif local définition
- Projet pluridisciplinaire définition
- Projet bts gtla exemple
- Ged projet
- Dhcp packet tracer
- Fiche action projet club
- Rémi bachelet
- Objectif de la lecture
- Visual projet
- Le projet d'une europe politique depuis 1948
- Fiche action projet club
- Projet technologique st2s
- Norme iso gestion de projet
- Lycens
- Projet esc
- Projet
- La démarche de projet - technologie 3ème
- Charte de projet pmi
- Modèle lettre projet de vie mdph adulte
- Acronyme du projet
- Projet vie scolaire
- Demarche de projet chef d'oeuvre
- Projet candide doc
- Mon projet personnel
- Processus de management de projet
- Demande d'aide pour la cantine scolaire
- Cabinet conseil en gestion de projet
- Psi projet de soins informatisé
- Exemple de cadre logique d'un projet de santé
- Projet enseignement scientifique exemple
- Reseau pert
- Fidlit
- Projet collaboratif bts cprp
- Respire 21
- Projet de loi c4
- Projet professionnel
- Gestion administrative et financière d un projet
- Exemple de projet de classe
- Projet extranet saas
- Projet voltaire test positionnement
- Projet stl exemple
- Sama dubai tunisie