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é sur
L'API joomla 1.0.x
2. PLAN I. Introduction II. Transition entre la méthode actuelle et la méthode proposée III. Quelques fonctions simples et utiles IV. Sécurité V . Configuration et déploiement VI. Conclusion VII. Annexe
3. I. 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 .
4. II. Transition entre la méthode actuelle et la méthode proposée 1.Présentation de la méthode actuelle a-Illustration
5.
6.
7.
8. Transition entre la méthode actuelle et la méthode proposée 1.Présentation de la méthode actuelle (suite) b-Avantages 1.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énients 1.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 fichiers 4.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
9. II. Transition entre la méthode actuelle et la méthode proposée 1.Présentation de la méthode proposée a-Architecture des dossiers et fichiers
10.
11.
12. II. Transition entre la méthode actuelle et la méthode proposée 1.Présentation de la méthode proposée(suite) b- Structure des urls Index.php?cible=nomfichier_dans_le_controller&action=nom_de_l_action_dans_le_controller
13. II. Transition entre la méthode actuelle et la méthode proposée 1.Présentation de la méthode proposée(suite) C -workflow du chargement des fichiers
14.
15. Transition entre la méthode actuelle et la 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 )
16.
17.
18. II. Transition entre la méthode actuelle et 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)
19. II. Transition entre la méthode actuelle et la méthode proposée 1.Présentation de la méthode proposée (suite) e - Illustration
20.
21.
22.
23.
24.
25. II. Transition entre la méthode actuelle et la méthode proposée 1.Présentation de la méthode actuelle (suite) 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
26. II. Transition entre la méthode actuelle et la méthode proposée 1.Présentation de la méthode actuelle(suite) d-Avantages(suite) 8. Système de Template (pseudo-frames : contenu séparé de la forme) e- Limites et inconvénients 1.Le temps d’apprentissage de L’API 2.La couche d’abstraction de données n’est pas approfondie 3. Absences de plusieurs briques logicielles faisant partie intégrante de l’ API du Framework
31. IV. Sécurité Comment éviter les injections sql ? Comment éviter le parcours des dossiers ? Comment éviter de lancer les fichiers hors du template ?
33. VI. 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 .