Présentation dun premier framework PHP

Post on 21-Jun-2015

1.067 views 1 download

description

Ma première présentation en tant que consultant il s'agissait de proposer un framework pour professionnaliser les developpements web dans la SSII où je travaille (2SI) je me suis appuyé surL'API joomla 1.0.x

Transcript of Présentation dun premier framework PHP

Proposition d’un Framework 2siProposition d’un Framework 2si

Présentée par : Morel cornnery le 30/06/2008 Présentée par : Morel cornnery le 30/06/2008

PLANPLAN

I. IntroductionI. IntroductionII. Transition entre la méthode actuelle et la méthode proposéeII. Transition entre la méthode actuelle et la méthode proposéeIII. Quelques fonctions simples et utilesIII. Quelques fonctions simples et utilesIV. SécuritéIV. SécuritéV . Configuration et déploiementV . Configuration et déploiementVI. ConclusionVI. ConclusionVII. AnnexeVII. Annexe

I. IntroductionI. Introduction

Un Framework est un espace de travail modulaire. C'est un ensemble de bibliothèques, d'outils et de conventions permettant le développement d'applications. Il fournit suffisamment de briques logicielles et impose suffisamment de rigueur pour pouvoir produire une application aboutie et facile à maintenir. Ces composants sont organisés pour être utilisés en interaction les uns avec les autres .

II. Transition entre la méthode actuelle II. Transition entre la méthode actuelle et la méthode proposéeet la méthode proposée

1.Présentation de la méthode actuelle a-Illustration

Transition entre la méthode actuelle et Transition entre la méthode actuelle et la méthode proposéela méthode proposée

1.Présentation de la méthode actuelle (suite) b-Avantagesb-Avantages1.Librairie d’accès aux donnés (crud.php)2.Système de Template (pseudo-frames : contenu séparé de la forme)3.Librairie de fonctions utiles (mainFile.php)C-Limites et inconvénientsC-Limites et inconvénients1.Architecture MVC non respecté2.Pas de rigueur dans l’harmonisation du code (manque d’API clair )3.Incohérence dans l’architecture des dossiers et fichiers4.Un dossier controllers saturé (conséquence problème de nomination de fichiers)5.Réecriture permanente de code déjà implémenté6.Manque de documentation des bibliothèques, API pauvre

II. Transition entre la méthode actuelle II. Transition entre la méthode actuelle et la méthode proposéeet la méthode proposée

1.Présentation de la méthode proposée a-Architecture des dossiers et fichiers

II. Transition entre la méthode actuelle II. Transition entre la méthode actuelle et la méthode proposéeet la méthode proposée

1.Présentation de la méthode proposée(suite) b- Structure des urlsIndex.php?cible=nomfichier_dans_le_controller&action=nom_de_l_action_dans_le_controller

II. Transition entre la méthode actuelle II. Transition entre la méthode actuelle et la méthode proposéeet la méthode proposée

1.Présentation de la méthode proposée(suite) C-workflow du chargement des fichiers

Transition entre la méthode actuelle et Transition entre la méthode actuelle et la méthode proposéela méthode proposée

1.Présentation de la méthode proposée (suite) d- Quelques notions utiles 1-MVC (Modèle vue contrôleur )

II. Transition entre la méthode actuelle II. Transition entre la méthode actuelle et la méthode proposéeet la méthode proposée

1.Présentation de la méthode proposée (suite) d- Quelques notions utiles 2-DRY (Don’t repeat yourself) 3-O.R.M (OBJECT RELATIONNEL MAPPING)

II. Transition entre la méthode actuelle II. Transition entre la méthode actuelle et la méthode proposéeet la méthode proposée

1.Présentation de la méthode proposée (suite) e- Illustration

II. Transition entre la méthode actuelle II. Transition entre la méthode actuelle et la méthode proposéeet la méthode proposée

1.Présentation de la méthode actuelle (suite) f-Avantages f-Avantages 1. Une structure modulaire et une organisation des fichiers du projet 2. Une cinématique MVC permettant un découpage en couche du projet 3. Moins de fichiers dans le dossier controllers 4. Code clair et facilement maintenable 5. Présence d’une couche d’abstraction de données 6. API documenté et qui prend en charge des aspects techniques tel que DAO (accès aux données) 7. Un générateur de CRUD au modèle MVC

II. Transition entre la méthode actuelle II. Transition entre la méthode actuelle et la méthode proposéeet la méthode proposée

1.Présentation de la méthode actuelle(suite)d-Avantages(suite)d-Avantages(suite)8. Système de Template (pseudo-frames : contenu séparé de la forme)

e- Limites et inconvénientse- Limites et inconvénients1.Le temps d’apprentissage de L’API2.La couche d’abstraction de données n’est pas approfondie3. Absences de plusieurs briques logicielles faisant partie intégrante de l’ API du Framework

III. Quelques fonctions simples et utilesIII. Quelques fonctions simples et utiles

IV. SécuritéIV. Sécurité

Comment éviter les injections sql ?Comment éviter le parcours des dossiers ?Comment éviter de lancer les fichiers hors du template ?

V. Configuration et déploiementV. Configuration et déploiement

Fichier configuration.php

VI. ConclusionVI. Conclusion

Avec le cadre de travail (Framework) proposé nous pensons pouvoir améliorer le temps d’exécution des tâches , de standardiser le code , de documenter les projets .Mais aussi nous pensons que ce noyau doit être approfondi afin d’avoir un outil aussi mûr que ceux déjà connus sur le marché tels que symfony , zendframework , codeigniter pour ne citer que cela .

VII. AnnexeVII. Annexe

Présentation du générateur de CRUD