outils de développement web 1. 2 1. quelques définitions apache –le logiciel apache http server,...

52
Outils de développement 1 Outils de développement web Outils de développement web

Upload: eloise-thibault

Post on 04-Apr-2015

137 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 1

Outils de développement webOutils de développement web

Page 2: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 2

1. Quelques définitions1. Quelques définitions

• Apache– Le logiciel Apache HTTP Server, souvent appelé Apache, est

un serveur HTTP produit par la Apache Software Foundation. C'est le serveur HTTP le plus populaire du Web.

• PHP– Le langage PHP est principalement un langage de

programmation web côté serveur ce qui veut dire que c'est le serveur (la machine qui héberge le site web en question) qui va interpréter le code PHP et générer du code qui pourra être interprété par un logiciel. Le plus souvent, le code généré est le HTML afin d'être lu par un navigateur mais il peut être utilisé pour d'autres langages ou formats tels que WML, GIF, PDF, SVG, etc.

– Il a été conçu pour permettre la création d'applications dynamiques, le plus souvent dédiées au web.

• MySQL– MySQL est un serveur de bases de données relationnelles SQL

développé dans un souci de performances élevées. Il est multi-thread, multi-utilisateurs.

Page 3: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 3

1. Quelques définitions1. Quelques définitions

• Tomcat– Tomcat est un serveur Web qui supporte servlet et JSP. C'est le compilateur Jasper qui compile les pages JSP pour

en faire des servlet. Le moteur de servlet Tomcat est souvent employé en combinaison avec un serveur Web Apache ou d'autres serveurs Web. Tomcat est souvent utilisé en association avec un autre serveur web, en général Apache. Apache s'occupe de toutes les pages web traditionnelles, et Tomcat uniquement des pages d'une application web Java.

• S.S.O.– L'authentification unique (ou identification unique ; en anglais Single Sign-On ou SSO) est une méthode

permettant à un utilisateur de ne procéder qu'à une seule authentification pour accéder à plusieurs applications informatiques (ou sites web sécurisés).

– Les objectifs sont multiples :

• simplifier pour l'utilisateur la gestion de ses mots de passe : plus l'utilisateur doit gérer de mots de passe, plus il aura tendance à utiliser des mots de passe similaires ou simples à mémoriser, abaissant par la même occasion le niveau de sécurité que ces mots de passe offrent ;

• simplifier la gestion des données personnelles détenues par les différents services en ligne, en les coordonnant par des mécanismes de type méta-annuaire ;

• simplifier la définition et la mise en œuvre de politiques de sécurité.

• JSR168– La JSR 168 (ou Java Specification Requests : Portlet Specification) est la spécification des portlets définissant le

contrat entre les conteneurs de portlets et les portlets. L'idée de cette spécification est de rechercher l'interopérabilité entre les portlets et les portails. Cette spécification a pour but de permettre à n'importe quelle portlet développée en Java de s'exécuter dans n'importe quelle architecture distribuée avec un serveur d'application compatible J2EE.

• LDAP– Lightweight Directory Access Protocol (LDAP) est un protocole permettant l'interrogation et la modification

des services d'annuaire. La tendance actuelle est d'utiliser le nommage DNS pour les éléments de base de l'annuaire (racine et premières branches). Les branches plus profondes de l'annuaire peuvent représenter des personnes (people), des unités organisationnelles (organizational units), des groupes (groups), ...

Page 4: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 4

2. Framework2. Framework

• ensemble de bibliothèques permettant le développement rapide d'applications. Il fournit suffisamment de briques logicielles pour pouvoir produire une application aboutie. Ces composants sont organisés pour être utilisés en interaction les uns avec les autres

Page 5: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 5

2. Framework2. Framework

• Un Framework pourquoi faire ?– Réduire le temps de développement– Intégration de nombreuses fonctionnalités prête à

l’emploi et dont les implémentations sont bien rodées– Gain de temps sur les questions génériques > mise à

profit de ce temps sur des parties plus spécifiques.– Un framework est très souvent (pour ne pas dire

toujours) le résultat d’un travail commun d’où bien souvent un meilleur débogage, codage -> plus robuste, gain de qualité au niveau du produit fini.

– Evite réinventer la roue et éviter les erreurs de conception (bugs, problèmes de sécurité).

Page 6: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 6

2. Framework2. Framework

• Fonctionnalités – Modèle  MVC « modèle vue controlleur »

• Très répandu dans le développement d’applications et occupe également une place importante dans le développement web.

• Permet de distingué la partie présentation / code applicatif

– Programmation événementiel• Principalement utilisé dans le développement de « client-lourd »• Chaque élément de la page dispose d’un événement

– Templates (gabarits)• Fichier de mise en forme (html)

– Séparation fond/forme– Le développeur peut se décharger de se travail qui sera confié au

graphiste– Intégration possible de différents gabarits pour créer le gabarit global

Page 7: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 7

2. Framework2. Framework

• Cache– Stockage des résultats de l’affichage de certaines pages

ou actions de l’utilisateur afin de réutiliser directement lors du prochain accès. Cela permet d’améliorer la montée en charge de l’application ainsi que le temps d’affichage des pages statiques.

• Accès aux données– Un framework peut proposer une fonctionnalité d’ORM

« Object relationnal Mapping » qui permet de « masquer » le language SQL et d’effectuer les opérations par l’intermédiare d’objet très simple.

Page 8: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 8

2. Framework2. Framework

• Conventions– Ensemble de règles définies concernant les noms de

fichiers ou leurs emplacements.– Utile afin de lier implicitement les différents modules et

classes d’applications.

• Echafaudage « scaffolding »– Ajout d’une interface d’administration : ajout, édition

suppression d’éléments contenu dans une table de la base de donnée.

– Fortement lié, à la fonctionnalité ORM, on obtient ainsi un interface temporaire d’aministration.

Page 9: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 9

2. Framework2. Framework

• Gestion des droits– Un framework peut offrir des méthodes pour définir les rôles

des utilisateurs.

• Urls « conviviales »– La réécriture d’URL permet une meilleure indexation de la part

de l’utilisateur mais aussi des moteurs de recherches.

• Ajax– Nom donnée à l’utilisation de javascript dans un site afin de

mettre a jour de façon asynchone le contenu de certaines partie de pages.

– Le support d’Ajax peut être complété par l’intégration d’une ou plusieurs bibliothèques

Page 10: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 10

2. Framework2. Framework

• P.E.A.R.• Ez Components• CakePHP• ZendFramework• Symfony

Page 11: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 11

2. Framework2. Framework

• PEAR– Référenciel de composants open source réutilisables

pour PHP

Page 12: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 12

2. Framework2. Framework

• Ez Components– Ensemble de composants développés et utilisés par la

socité eZ Systems pour le CMS EzPublish.– Nécéssite au minimum PHP5.1

Page 13: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 13

2. Framework2. Framework

• CakePHP– Framework inspiré de RubyOnRails, avec PHP4 et 5 .– Il utilise un code optimisé pour la version de PHP utilisée.– De préférence à utilisé avec PHP5.

Page 14: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 14

2. Framework2. Framework

• ZendFramework– + proche d’un PEAR ou d’un EzComponent : il regroupe

un ensemble de composants

– Intègre des composants qui permettent de mettre en place une application selon le modèle MVC.

– Zend est compatible 5.1.4

Page 15: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 15

2. Framework2. Framework

• Symfony– Framework PHP5 basé sur le modèle MVC et inspiré de

Rails.– Framework complet, bien documenté, et communauté

active.

Page 16: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 16

2. Framework2. Framework

• Ruby on Rails

Page 17: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 17

3. Critères de choix génériques3. Critères de choix génériques

• Principaux critères utiles à l ’évaluation concernant le choix d’un système de gestion de contenu pour un projet.

Page 18: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 18

3. Critères de choix génériques3. Critères de choix génériques

• Principaux critères utiles à l ’évaluation concernant le choix d’un système de gestion de contenu pour un projet.

Page 19: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 19

3. Critères de choix génériques3. Critères de choix génériques

• Principaux critères utiles à l ’évaluation concernant le choix d’un système de gestion de contenu pour un projet.

Page 20: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 20

3. Critères de choix génériques3. Critères de choix génériques

• Structuration du contenu– Le contenu est il générique ?– Peut on ajouter ses propres champs de contenus ?– - peut-on indiquer si un champs est obligatoire ou non ?

• Dans la majorité des cas un contenu générique peut suffir

Page 21: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 21

3. Critères de choix génériques3. Critères de choix génériques

• Gestion des versions– Important lorsque l’on gère une base documentaire– Une gestion minimale est bien souvent suffisante

Page 22: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 22

3. Critères de choix génériques3. Critères de choix génériques

• Arborescence– On doit pouvoir créer son arborescence sans limitation

et avec une ergonomie efficace.– La possibilité de déplacer une branche complète est une

fonctionnalité importante

Page 23: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 23

3. Critères de choix génériques3. Critères de choix génériques

• Contenus et pages– Une page web peut contenir différents contenus et un

contenu peut être réstitué dans plusieurs pages.

– L’outil permet-il de dupliquer du contenu en divers endroit du site ?

– Le contenu est il réutilisable sous un gabarit différent.…

Page 24: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 24

3. Critères de choix génériques3. Critères de choix génériques

• Contributions– Saisie et modification du contenu.– Il nous appartient d’établir la politique de contribution– Doit-elle être décentré ou bien au contraire tout doit être

fait par le webmaster.– L’insertion de contenu doit être une chose aisée.

• Il faut faire la part entreinterface de contribution et d’administration

Page 25: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 25

3. Critères de choix génériques3. Critères de choix génériques

• Editeur html– L’éditeur doit être configurable et flexible.– Aujourd’hui la plupart des outils de gestion de contenu

propose un éditeur wysiwyg.

Page 26: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 26

3. Critères de choix génériques3. Critères de choix génériques

• Catégories et meta-données– Ne surtout pas négligé la catégorisation, cela permet de

multiplier les moyens de classer l’information

Page 27: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 27

3. Critères de choix génériques3. Critères de choix génériques

• Gabarits– Principe de base de tout CMS, aucun standard n’existe

chaque CMS à son propre dispositif.

Page 28: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 28

3. Critères de choix génériques3. Critères de choix génériques

• Formulaires– Le CMS est il capable de générer des formulaires via le

back-office ?– Que peut on faire avec ces informations ?

Page 29: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 29

3. Critères de choix génériques3. Critères de choix génériques

• Habilitations en back-office– Capacité du CMS à permettre l’accès a divers

utilisateurs ou groupes d’utilisateur à tout ou partie des interfaces d’administration du site.

• L’intégration a l’annuaire LDAP semble essentielle pour l’intégration d’un CMS dans une entreprise.

Page 30: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 30

3. Critères de choix génériques3. Critères de choix génériques

• Multi-linguisme des contenus– Peut on traduire les contenus ? – Peut on traduire les rubriques ?– Une traduction automatique est elle proposé ?…

• La problématique du multi-linguisme d’un CMS nécéssite que l’entreprise connaisse vraiment ses besoins et ce posent de nombreuses questions a ce sujet.

Page 31: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 31

3. Critères de choix génériques3. Critères de choix génériques

• Médiathèque– Classification et hiérarchisations des différents médias

contenu dans le CMS

• Si les objets de la médiathèque sont uniquement des accéssoire, un simple répertoire conviendra, mais si ces derniers sont assimilés a du contenu à part entière alors le CMS devra savoir les gérer comme tout autre contenu « classique »

Page 32: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 32

3. Critères de choix génériques3. Critères de choix génériques

• Workflow (de validation)– Plus on décentralise plus on a besoin d’un workflow de

validation– La décentralisation des contributions peut favoriser

l’adhésion des utilisateurs, ces derniers pouvant devenir des acteurs potenciels.

Page 33: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 33

3. Critères de choix génériques3. Critères de choix génériques

• Alerte mails

• Cycle de vie

• Recherche– Proposer dans la majorité des CMS– Les demandes avancés ne sont pas toujours nécéssaire

et le moteur intégrer peut suffir

Page 34: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 34

3. Critères de choix génériques3. Critères de choix génériques

• Synication, export/import– Partage de contenu avec des sites partenaires– Peut on exporter son site (tout ou partie) au format XML

afin de réintégrer le contenu, définition es arborescences… ?

– De même pour l’importation de données d’un site extérieur.

• L’export est aujourd’hui souvent réalisable au format XML, mais leurs récupération nécessitera souvent beaucoup de travail pour récupérer ce contenu.

Page 35: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 35

3. Critères de choix génériques3. Critères de choix génériques

• Mesure d’audience– Bien souvent les CMs proposent des outils de mesures

d’audiences

• Ceux-ci sont une aide mais doivent être compléter par des outils spécialement dédiés.

Page 36: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 36

3. Critères de choix génériques3. Critères de choix génériques

• Technique– Considération bien souvent primaire réduisant

naturellement le CMS avec lequel sera déployé le projet

Page 37: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 37

3. Critères de choix génériques3. Critères de choix génériques

• Référencement– Le CMS doit principement permettre la réécriture d’URL

à la volée afin de garantir une visibilité optimale au site.

Page 38: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 38

3. Critères de choix génériques3. Critères de choix génériques

• Communauté, pérennité, support– La pérennité du CMS est presque aussi essentiel que

l’ensemble des fonctions couverts par ce dernier.– Connaître la dimension et l’activité de la communauté– Le contenu est-il modifiable librement.– Nombres de références à travers le monde, Europe,

France.– Existence de livres, newsletter, conférences,

formations…

Page 39: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 39

4. CMS/CMF4. CMS/CMF

• Vastes choix, +700 (741 le 21/03/07) projets évalués sur www.cmasmatrix.org

• 12 outils retenus permettant la création de projets de toutes tailles (technologies serveurs variées : PHP, J2EE)

• Dotclear• Wordpress• Textpattern• Cofax• SPIP• Modx• Joomla• Silverstripe• Jahia• Typo3• Ez Publish• webGUI• Isotools

Page 40: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 40

4. CMS/CMF4. CMS/CMF

• Dotclear

Page 41: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 41

4. CMS/CMF4. CMS/CMF

• Wordpress– Il s'agit d'un système de gestion de blog mais grâce à

ses nombreuses fonctionnalités (parmi lesquelles la possibilité de créer et gérer facilement des pages statiques), WordPress peut aussi convenir à la gestion d'un site classique.

Page 42: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 42

4. CMS/CMF4. CMS/CMF

• Textpattern– est à la fois simple d'utilisation (interface claire et

simple) et extrêmement flexible. Il peut être utilisé comme un outil de blog (grand concurrent de WordPress) mais aussi comme un systèmes de publication. L'installation est multilingue, entièrement francisée. La grande force de Textpattern, c'est sa communauté très active et l'implication de nombreux développeurs, ce qui a donné naissance à plus de 200 plugins.

Page 43: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 43

4. CMS/CMF4. CMS/CMF

• Cofax

Page 44: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 44

4. CMS/CMF4. CMS/CMF

• SPIP– SPIP est l'un logiciel libre de gestion de contenu les plus

utilisés en France (environ 25'000 sites)

Page 45: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 45

4. CMS/CMF4. CMS/CMF

• Modx

Page 46: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 46

4. CMS/CMF4. CMS/CMF

• Joomla– Ancien projet Mambo

Page 47: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 47

4. CMS/CMF4. CMS/CMF

• Silverstripe

Page 48: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 48

4. CMS/CMF4. CMS/CMF

• Jahia

Page 49: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 49

4. CMS/CMF4. CMS/CMF

• Typo3

Page 50: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 50

4. CMS/CMF4. CMS/CMF

• EzPublish

Page 51: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 51

4. CMS/CMF4. CMS/CMF

• webGUI

Page 52: Outils de développement web 1. 2 1. Quelques définitions Apache –Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par

Outils de développement web 52

4. CMS/CMF4. CMS/CMF

• Isotools