Le projet Max'com


max-com-logo.png (371 KB)
Logo max'com

 Projet Max’com

Dans le cadre de ma formation, j’ai eu l’occasion de travailler sur ce merveilleux projet. J’y ai travaillé en binôme  avec un camarade de promotion.

 

 Qu’est-ce que Max’com ?

Max’com est un projet destiné aux personnes autistes ou rencontrant des troubles de la communication. Il prend la forme d’un logiciel « qui permet d’associer des sons (enregistrements de phrases au quotidien) à des images ou des mots ».

Max’com en image

maxcom-image.png (289 KB)

Utilisation :

Grâce à ce logiciel, l’utilisateur trouvera facilement ce qu’il souhaite dire en fonction du contexte dans lequel il se trouve. Le souhait des créateurs étant d’utiliser à bon escient et au maximum les nouvelles technologies (Iphone, HTC...), ils envisagent de mettre en œuvre de nombreuses applications pour tous les contextes.

Environnement de développement :

L’application est développée avec le framework Codeigniter. Codeigniter est un « cadre développement (framework) PHP ». On peut le qualifier de boîte à outils d’aide à la construction de sites web. Son avantage est qu’il propose un ensemble de bibliothèques prenant « à sa charge les tâches les plus répétitives ». Pour ce faire, il offre une interface simple et une structure logique afin de pouvoir utiliser ces bibliothèques. De plus, il permet de minimiser le code nécessaire pour la création de projet.

Ø Les avantages du framework :

         -  Sa légèreté â?¨

         -  Ses bonnes performances

         -  Ses bibliothèques légères

         -  Sa documentation claire et exhaustive

En bref, Codeigniter permet à toute personne ayant des connaissances en PHP de coder plus facilement et plus rapidement. De plus, ces scripts seront plus lisibles et modifiables. Sa structure et son architecture sont cohérentes.

Nos missions:

L’objectif principal était de réussir à industrialiser et à sécuriser la partie serveur du projet Max’com. L’objectif secondaire était de développer des fonctionnalités qui permettraient de faire évoluer le projet.

Sécurisation contre les failles XSS :

Une faille xss est un type de faille de sécurité que l’on trouve dans les applications web mal sécurisées. Le principe de cette faille est d’injecter du code malveillant en langage de script dans un site vulnérable. Ce script peut alors être exécuté du côté client pour voler des données dans les cookies, provoquer des comportements non désirés sur le site ou sur la machine sur laquelle s’exécute le script.

Validation des données en temps réel (nom de l’utilisateur) :

Ceci consistait à vérifier la disponibilité des informations saisies dans les formulaires en temps réel.

Cloisonnement des fonctions par « espace » :

Il consiste à vérifier que la personne qui utilise un espace en fait bien partie, il faut aussi sécuriser les fonctions d’administration c’est-à-dire création, suppression et modification des données. A la base, si on connaissait l’url pour accéder à une donnée, il suffisait de taper l’url pour pouvoir modifier ou supprimer la donnée. Dans le modèle MVC, c’est le contrôleur qui gère les créations, modifications, suppressions, il suffisait donc de connaitre l’url du contrôleur ainsi que la fonction d’administration pour effectuer une opération. Afin d’éviter ce genre de comportement, il fallait sécuriser ces fonctions. Pour y parvenir, nous avons mis en place une fonction qui permet de récupérer des informations d’un utilisateur c’est-à-dire son identifiant dans la table des utilisateurs, son rôle et son espace. En fonction de ces données, on pourra lui attribuer des droits sur des opérations au niveau du contrôleur.