Sie sind auf Seite 1von 29

Framework Joomla! 1.

Dveloppeurs

Framework J!1.6
par Marc STUDER & Christophe DEMKO

sous licence creative commons by sa


1 / 29

Framework Joomla!1.6

Objectifs
Prsentation oriente dveloppeurs PHP
1. Vulgariser la philosophie du framework Joomla 2. Apprhender les technologies de ce framework 3. Bases programmation Orient Objet

Fournir les bases pour :


Initier un dveloppement J!1.6 Migration d'une extension de J!1.5 vers J!1.6

2 / 29

Framework Joomla!1.6

Sommaire
1. 2. 3. 4. 5. 6. 7. 8. Concepts prsents dans Joomla! Les nouveauts Joomla!1.6 Evolution des bibliothques Evolution du MVC Les objets du Framework Manipulations des ACL Migration des apps J!1.5 L'arrive de Joomla!1.6

3 / 29

Framework Joomla!1.6

Les concepts Joomla!

4 / 29

Framework Joomla!1.6

Concepts Joomla

La requte HTTP Joomla


http://www.monsite.fr/index.php?option=xxx&id=xxx index.php comme porte principale

scurit et homognit

Cinmatique Joomla
1. Le serveur web reoit une requte HTTP 2. Le noyau de Joomla est charg (framework et classes) 3. instanciation de l'objet JApplication 4. Initialisation de l'objet JApplication 5. calcul le chemin URI d'appel 6. excution de l'appel de l'URI 7. interprte le template et les documents charger

5 / 29

Framework Joomla!1.6

Concepts Joomla

Les Applications Joomla!

6 / 29

Framework Joomla!1.6

Architecture du Framework

Les 3 couches du framework

Peu de changements entre J!1.5 et J!1.6

7 / 29

Framework Joomla!1.6

Design Pattern

MVC Model-View-Controller pour les composants

1.Actions utilisateurs soumises au Contrleur 2.Changement dans le modle 3.Choix et chargement de la Vue 4.La Vue interroge le Modle 5.Le modle lui envoie les donnes 6.La vue est gnre et renvoye

8 / 29

Framework Joomla!1.6

Framework

Joomla est entirement structur sur un Framework Orient Objet


Hritage des classes Design Pattern MVC, Publish & Subscribe(Plugins) Encapsulation

d'Objets gnraux (donnes Joomla : users, articles ) de services techniques (HTTP, accs bases de donnes et de la persistance, envoi d'email, WebServices )

Contrle de scurit, gestion du cache, routing SEF ...

Faciliter, fiabiliser, ouvrir, scuriser ... le travail du dveloppeur d'extensions


Framework Joomla!1.6

9 / 29

Nouveauts J!1.6

10 / 29

Framework Joomla!1.6

Nouveauts J!1.6

Quelles nouvelles fonctions vont impacter le dveloppement d'extensions ? 1.ACL Rgles et Groupes personnalisables Utilisateurs multi-groupes 2.Catgories multi-niveaux Manipuler un arbre de catgorie 3.Installation (update et discover mode) Des extensions Et aussi des Libraries !

11 / 29

Framework Joomla!1.6

Nouveauts J!1.6

Access Control List


Groupes et niveaux d'accs modifiables Rules au niveau Catgorie et Contenu

12 / 29

Framework Joomla!1.6

Nouveauts J!1.6

Catgories multi-niveaux

Plus de section ! Manipulation d'arbre de Catgorie (Tree)

13 / 29

Framework Joomla!1.6

Nouveauts J!1.6

Installation et Gestionnaire d'extension


Discover : installation pr-dploye Update : dtection des mises jour Warnings : dtection des problmes et conflits

14 / 29

Framework Joomla!1.6

Nouveauts du FWK J!1.6

Du cot des bibliothques


Dossier /libraries Quels changements sur les implmentations ?


/cache (APC, Memcache, eaccelerator, xcache) /client (LDAP, FTP) /database (mysql, mysqli), mais implmentation des objets modifie etc /access, /application, /base etc

Dossier /libraries/joomla

15 / 29

Framework Joomla!1.6

Nouveauts du FWK J!1.6

Les Bibliothques dans Joomla


Numrotes pour comparaison upgradable et extensible

Inclus lors de l'installation initiale :


JS Mootools en version 1.2 XML-RPC est dsormais intgr comme bibliothque du framework (n'est plus une JApplication) etc Et aussi des bibliothques obsoltes

16 / 29

Framework Joomla!1.6

Objets et implmentation Framework J!1.6

17 / 29

Framework Joomla!1.6

Nouveauts du FWK J!1.6

Evolutions du MVC entre 1.5 et 1.6


JController JControllerForm/JModelForm

Autorisations Verrouillage/Dverrouillage Formulaire/Validation (JForm/Plugins) Dfinition de la requte SQL Gestion des listes Pagination automatique

JModelList

JModelItem

18 / 29

Framework Joomla!1.6

Nouveauts du FWK J!1.6

Package Form : JForms


Dfinition par fichier xml Validation par rgles Possibilit de dfinir nouveaux types Simplification des vues Gestion des champs par groupes

19 / 29

Framework Joomla!1.6

Nouveauts du FWK J!1.6

Composant com_categories

Gnrique Plusieurs arbres/extensions Champs extensibles (Composant/category.xml/Plugins) Gnrique En cours de stabilisation

Composant com_comments

20 / 29

Framework Joomla!1.6

Nouveauts du FWK J!1.6

Les nouveauts du package Database


JDatabaseQuery JTable JTableNested JTableAsset JTableCategory JTableExtension JTableUserGroup JTableViewLevel

21 / 29

Framework Joomla!1.6

Nouveauts du FWK J!1.6

Les nouveauts du package HTML :


JHtml JHtmlSliders/JHtmlTabs JHtmlAccess JHtmlBehavior JHtmlRules JHtmlCategory JPagination

22 / 29

Framework Joomla!1.6

Nouveauts du FWK J!1.6

Fichiers de langues

Utilisation de parse_ini_file et parse_ini_string volution de .menu.ini vers .manage.ini Mise jour/Dcouverte File/Library/Package Mthode preflight/postflight/install/update/uninstall

Extensions

23 / 29

Framework Joomla!1.6

Les ACL

Objets et manipulations des ACL

JAccess/JRules

Autorisations par groupes Hritage des autorisations (groupes/categories, ...) Priorit l'interdiction Appartenance plusieurs groupes Une mthode d'autorisation

JUser

access.xml

24 / 29

Framework Joomla!1.6

Migration depuis J!1.5

25 / 29

Framework Joomla!1.6

Migrer ses dveloppement J!1.5

Contraintes de portabilit des apps J!1.5 vers J!1.6 ?


Les classes J!1.5 sont conserves (Deprecated) Quelles modifications des sources obligatoires ?
1.La syntaxe et les Cls des fichiers de langues .ini modifier 2.Le script com_install remplacer par le mcanisme preflight/ (install-update-unistall)/postflight 3.structure des manifest XML lgrement modifie !

Pr-requis des serveurs Web Pour Joomla! 1.6


PHP 5.2+ MySQL 5.0.4+

26 / 29

Framework Joomla!1.6

Migrer ses dveloppement J!1.5

Pas de mode legacy avec J!1.5 :

Les extensions doivent tre Native 1.6 !!!

Il est prvu un Migration script from 1.5 to 1.6


Uniquement pour les composants standards Mais dveloppement pas encore commenc !

27 / 29

Framework Joomla!1.6

La Roadmap J!1.6

Prvisions sur la sortie de Joomla! 1.6


Version actuelle fournie par la Core Team : Alpha 2 Puis suivrons les versions Beta :

Combien de beta ? Andrew Eddy says :


"As many Beta's it takes to stabilize the stack, but hopefully only 3 or 4 !"

Pour Joomla 1.6, des Alpha bien avancs et peu de Beta ! Prochain stade : Beta 1 pour le ?

Et la RC1 (Release Candidate 1)


La Beta 1 devrait n'tre qu'une phase de validation RC1, c'est pour quand ? avant fin 2010 ?

28 / 29

Framework Joomla!1.6

Questions-rponses

Avez-vous des questions ?

+ de questions : Espace Dveloppeurs sur forum.joomla.fr


Forum Joomla.fr > Dveloppeurs

Cette prsentation sera disponible en tlchargement sur le site www.joomladay.fr (avant fin mars)

29 / 29

Framework Joomla!1.6

Das könnte Ihnen auch gefallen