Méthode de conception et d'organisation

2.1.1. Modèle MVC

2.1.1.1. Modèle-Vue-Contrôleur

Le modèle représente le comportement de l'application: traitements des données, interactions avec la base de données, etc.
La vue correspond à l'interface avec laquelle l'utilisateur interagit. Sa première tâche est de présenter les résultats renvoyés par le modèle. Sa seconde tâche est de recevoir toutes les actions de l'utilisateur. Les différents événements sont envoyés au contrôleur.
Le contrôleur prend en charge la gestion des événements de synchronisation pour mettre à jour la vue ou le modèle et les synchroniser.
Il y a autant de modèle que vues, le contrôleur les gère et les appelles simultanément.
En résumé, lorsqu'un client envoie une requête à l'application:

• la requête envoyée depuis la vue est analysée par le contrôleur,
• le contrôleur demande au modèle approprié d'effectuer les traitements,
• le contrôleur renvoie la vue adaptée, si le modèle ne l’a pas déjà fait.

La méthode GetItem() du modèle lance la requête vers la base de données et retourne le résultat dans une structure de données adaptée (par exemple un tableau de valeurs) qui sera utilisée comme argument pour la méthode Display() de la vue.
Avec l’approche de type MVC, ces instructions sont organisées au niveau du contrôleur. Ces opérations sont dorénavant décomposées en trois étapes :

1. Le contrôleur appelle les requêtes ;
2. Il stocke ou non les résultats reçus, ou il les répartit dans d’autres méthodes.
3. Il appelle la vue qui a pour rôle de les afficher.

2.1.2. Méthode agile

Les méthodes de développement dites « méthodes agiles » (en anglais Agile Modeling, noté AG) visent à réduire le cycle de vie du logiciel en développant une version minimale, puis en intégrant les fonctionnalités par un processus itératif basé sur une écoute client et des tests tout au long du cycle de développement.
La notion clé de cette méthode est pragmatisme, adaptation,

De mon point de vue, les méthodes traditionnelles relient à une mode de pensée linéaire, et les méthodes agiles sont cycliques.

Dans son discours « De la pratique », Mao Zedong explique les rapports dialectiques de la théorie et de la pratique: La pratique enrichit la théorie qui, à son tour, modifie la pratique.

L'origine des méthodes agiles est liée à l'instabilité de l'environnement technologique et au fait que le client est souvent dans l'incapacité de définir ses besoins de manière exhaustive dès le début du projet.
Le terme « agile » fait ainsi référence à la capacité d'adaptation aux changements de contexte et aux modifications de spécifications intervenant pendant le processus de développement. En 2001, 17 personnes mirent ainsi au point le manifeste agile dont la traduction est la suivante :

• individus et interactions plutôt que processus et outils
• développement logiciel plutôt que documentation exhaustive
• collaboration avec le client plutôt que négociation contractuelle
• ouverture au changement plutôt que suivi d’un plan rigide

Grâce aux méthodes agiles, le client est pilote à part entière de son projet et obtient très vite une première mise en production de son logiciel. Ainsi, il est possible d'associer les utilisateurs dès le début du projet et

Une petite base de données avec 4 tables pour tester les premiers codes.
* Base de données : sinograms
* Les tables:
* pinyin(transcription),
* sinogrammes,
* clefs,
* users ;

2.2. Techniques envisagées

2.2.1. Environnement du travail: Net Bean IDE7.2

Net Bean IDE 7.2 est un environnement de développement professionnel qui intègre le codage, l’édition, le débogage et l’organisation de code et fichiers.
Comme il supporte HTML, PHP, CSS et JavaScript, il peut être donc utilisé pour créer un site web entier. C’est un outil idéal pour les Webmasters.

Pour simplifier la tâche dans l’écriture des scripts, de nombreuses fonctionnalités pratiques sont offertes :

• Coloration syntaxique du code ;
• Les lignes numérotées ;
• La complétion automatique du code ;
• La refactorisation globale
• Navigation commode dans les codes
• Le validateur HTML
• Un manuel d’aide.

2.2.2. Base de données: MySQL5.1.36

MySQL est un SGBDR (système de gestion de base de données relationnelle) par sa facilité à utiliser.s
Il convient très bien pour le développement de la plus part des sites Web. Il est devenu la base de données plus populaire du monde Open Source.

• Simplicité d’installation et de l’utilisations;
• Rapidité du développement;
• Souplesse: permet des accès à différents niveaux de privilèges;
• Sureté : limitation des utilisateurs ou groupe d’utilisateurs;
• mot de passe crypté;
• Permet grande taille de base de données;
• Adaptabilité : il est configurable et modifiable;
• Assistance technique importante;

Moteur de stockage innoDB nous permet d’utiliser les clés étrangères afin de garantir l’intégrité référentielle des données, par exemple, on ne peut pas supprimer le sens d’un sinogramme sans supprimer le sinogramme.

2.2.3. Langage de programmation: PHP 5.3.0

PHP est un langage interprété.
Rappelons qu’à la différence des langages compilés, le langage interprété est facile à mettre en œuvre.
On crée et édite des pages web contenant du PHP de la même façon que s’il y avait que du HTML.
Les instructions PHP sont imbriquées à l’intérieur du code HTML.
A travers le réseau, elles peuvent interroger la base, récupérer les données, et les afficher à des emplacements indiqués.

Le même code source peuvent être interprété sous différentes architectures (portabilité).

PHP et MySQL sont fréquemment utilisés conjointement. Il forme un couple parfait.
L’utilisation de ce partenariat nous offre beaucoup d’avantages :

• Ils sont tous deux gratuits;
• Ils sont facile à utiliser;
• Ils sont tous les deux orientés vers le Web, et rapides aux transferts de données et des pages;
• Grande richesse de la bibliothèque adaptée au site Web;
• Ils sont conçus sur le principe d’Open Source, donc tous deux configurables et modifiable en fonction des besoins d’utilisateurs;
• Ils avaient une affinité ensemble;
• Une large communauté d’assistance commune pour vous aider.

MySQL est capable de manipuler des informations très complexes, et PHP peut accomplir des manipulations de données très élaborées en enregistrement ou d’autres traitements de données. Ensemble, ils permettent des réalisations d’applications de base de données sur le Web d’une manière très sophistiquée.
Remarque :
Dans le cadre d’un projet informatique utilisant le modèle MVC, l’usage de PDO (PHP Data Object) reste cohérent, car cette interface d’accès à la base de données autorise des requêtes génériques à partir de plusieurs types de base de données.
Cela permet une plus grande flexibilité.