introducon à drupal · sommaire 1. présentaon succincte 2. À qui s’adresse drupal ? 3....
TRANSCRIPT
Introduc)onàDrupal
JournéesMathrice,octobre2010parKenjiLefèvre
Sommaire
1. Présenta>onsuccincte2. Àquis’adresseDrupal?3. Avantagesetdifficultés
4. Architecture,administra>onDrupal
5. Administra>ondusite
1.Présenta)onsuccincte
• Auteur:DriesBuytaerten2000• 350000sitesdanslemonde,communautétrèsac>ve,DrupalConbiannuelle
• hQp://www.drupal.org,hQp://www.drupalfr.org• Dévelopementrapide(Drupal6,bientôt7)
• Sitesgouvernementaux(E.U.,France,O.N.U,…)
• Sitespresse,e‐commerce
2.Àquis’adresseDrupal?
Cas Drupal Difficulté
Sitesimpleavecuneseulepersonnequimetducontenuenligne
NON
Siteavecdescontenusdifféren>ésetplusieurséditeursetfluxdetravail
PEUT‐ÊTRE MOYENNE
Siteavecdescontenusdifféren>ésetdesfonc>onnalitésdynamiquesadministrées(ajoutdeformulaires,listesdynamiques)parunnoninforma>cien
OUI DIFFICILE(besoindeforma>onpourl’administrateurdusite)
Uneplateformequioffrelacréa>ondesitestypeàlademande(ins>tu>onnel,e‐commerce,…)
OUI TRESDIFFICILE
Drupalestadaptédanslasitua>onoùondoitdis>nguer:
• administrateurserveur
• administrateurdrupal
• administrateursite
• éditeurdecontenu
3.Avantagesetdifficultés
3.1Avantages
• Trèsmodulable,configurable• Trèsbonnesdocumenta>ons(plusieurslivres,mêmeenfrançais)
• Presquetouteslesfonc>onnalitéssupplémentairesbaséessurl’architectureontdéjàétéécrites
• Codetrèsbienstructuré• Beaucoupdedynamismedanslespagessansdevoircoder
• Appren>ssagevisuelvialesvidcast
3.2Difficultés
• Courbed’appren>ssageraidedèsledébut• Lesmisesàjoursontnombreusesetnesontpasrétro‐compa>bles(codedesmodules)
• IlFAUTsuivredenombreusesbonnespra>ques(Installa>on,codage,maintenance,…)
• Prendreencompteletempsdeforma>ondesu>lisateurs:– Iln’yapasd’interfaced’administra>on.C’estl’affichagequiestdis>nctselonquel’onadministreounon.
4.Architecture
4.1Pile
PHP(versiondépendantdelaversiondeDrupal)+javascript(jquery)
Coucheabstrac>onsql
mysql,pgsql,MSsql,…
apache,iis,lighQpd,…
linux,windows,mac,solaris,…
4.2ArchitecturelogicielleBut:– Architecturemodulaire– Sépara>ondesdonnéesetdesbaliseshtml
4.2.3Composantslogiques– Noyau,librairiescommunes
moteurDrupal
– Modulesimplémententdesfonc>onnalitésetleurprésenta>onpardéfaut.Lesmodulesobligatoiressontuser,block,filter,system,node.
– Thèmesimplémententlesprésenta>onspar>culières
4.3Généra)ond’unepage
Login
Motdepasse
Seconnecter
Siteintroduc)onàDrupal
Rubrique1 Rubrique2
Titreducontenu
Ceci est un contenu avec des balises en tout genre.
<head> Meta, type, script, titre contenu, file, css…
</head> <html>
<div><img src=‘chemin/image_logo.png’/></div> <div>Titre site</div> <div>Titre contenu</div> <ul>
<li><a href=‘chemin1’>rubrique1</a></li> <li><a href=‘chemin2’>rubrique2</a></li>
</ul> <form>
<label>login</label><input type=‘text’ name=‘login’/> <label>mot de passe</label><input type=‘text’ name=‘password’/>
<input type=‘submit’ name=‘Se connecter’/> </form> <div>
Ceci est un contenu avec des balises</br>en tout genre. </div>
</html>
Basededonnées Systèmedefichiers
Codemodule CodeThème CodeMoteurDrupal
Logo Cheminlogo Fichierimage
Titre Titresite
Rubrique • NomRubrique• itemdansceQerubrique(Lien1,rubriques1)
balises Supplanta>ondesbalises
Connexion • Structureduformulaire(type,name)
Supplanta>ondesbalises
balises
Contenu Titre,url,contenu • Baliseslocales • Supplanta>ondesbaliseslocales• Balisesglobales
Localisa>ondesdonnéesdelapage
4.4MoteurDrupal• Unmodulepeutmodifierlastructuredesdonnées(d’unautremodule)quiu>lisentlemoteurDrupal.
• Unthèmepeutmodifierlebalisagedesmodules.Chaquemoduledéfinitlebalisagequipeutêtresupplantéparunthème.
Unexemple:Seconnecteravecunedatedenaissance
Login
Motdepasse
Seconnecter
Login
Motdepasse
Datedenaissance
Seconnecter
Récupara>ondesélémentscaractérisantleformulaire
Fonc>on`user_login_form’(moduleuser)
Récupara>ondesmodifica>onsdesautresmodules
Fonc>on`userbirth_user_login_form_alter’(moduleuserbirth)
hook_form_alter
Construc>onduformulaireBalisage
theme_balisage_form Fonc>on`MonTheme_balisage_form(thèmeMonTheme)
drupal_get_form
Réponseàlarequête
MoteurDrupal
HOOK
THEME
OU
5.Administra)ondusite
5.1Administra)ondesmodulesetthèmes• Noyau• Faculta>f
(menu,comment,book,taxonomy,userprofile,role…)• Views
(généra>onderequêtedynamique)• CCK
(généra>onduchampssupplémentairespourlescontenus)
• Thèmes
5.2ACLsLesrèglesdépendentde
• Rôles• Accessrightsdéfinisdanslesmodules
• Taxonomie
• Typedecontenu• URLsCesfonc>onnalitéssontmisesenplacepardes
Modules.
5.3Créa)ondecontenus• Titre,résumé,contenu,URL,auteur,…
• Différen>a>ondestypesdecontenu• Éditeurenlignewysiwyg• Filtragedesbaliseshtml
• Exécu>ondecodephp
5.4Menus• Naviga>ondanslesite• Créa>ond’administra>onadaptéeauxéditeurs
• RespectelesACLs
5.5Naviga)on• Pseudosystèmedenaviga>ondansunsystèmedefichiervialesURLs`dossier1/dossier2/file’descontenus
• Vialataxonomie
• Liensdanslesmenus,blocksoucontenus
• Autres,parexemplebook
5.6Toutauclickodrome• Créa>ondepagedynamique(Views):avecousansfiltre,archivagedespages,rss,exportcsv,slideshow…
• Opéra>onsenmasse(VBO):envoidemails,modifica>ond’unchamps…
• Créa>ondecontenusadaptés(CCK):fichiers,emails,adresse,nombre,date
• Créa>ondeformulaireenligne(webform)
• Créa>ondesmisesenpagedusite(Panels)selonlestypesdecontenus,l’URL
Quefaire?
• Grosproblèmedechoix:clickodromeoumodule
• Structuredesbasesetinterac>onaveclemondeextérieur
• Viabilitéd’unmodule