« Ceux qui n'apprennent pas Zope sont condamnés à le réinventer » Philip Eby.

Slides:



Advertisements
Présentations similaires
Bibliothèque Centrale de l’École Polytechnique Session pratique Recherches documentaires en sciences dures PSC 2011 septembre/octobre 2011 Denis Roura,
Advertisements

Projet de fin d'étude pour l'obtention du Diplôme Nationale d'Ingénieur en Informatique Conception et développement des modules de GED pour l’ indexation.
UML EPITECH 2009 UML1 - Introduction UML – Définition – Historique – UML en entreprise – Couverture Concepts – Objet – Classe –
GCstar Gestionnaire de collections personnelles Christian Jodar (Tian)
Logiciel Assistant Gestion d’Événement Rémi Papillié (Chef d’équipe) Maxime Brodeur Xavier Pajani Gabriel Rolland David St-Jean.
Séminaire EOLE Dijon Octobre 2008 Eole SSO.
Christophe Combelles ● 2004 : Indépendant (Gorfou sarl) ● 2006 : Python / Zope3 ● 2007 : Afpy ● ● Jabber :
OpenERP The inCloud Business Solution 3/3/ / Camptocamp Chambéry Vienne Lausanne ■ Éditeur et intégrateur de solutions Open Source.
Projet de fin d'étude Master ALMA Application de sondage.
Développement à l'Aide de Langages Dynamiques : Smalltalk module IT308: Méthodologies et outils logiciels Nada Ayad, Damien Cassou et Annabelle Souc.
28 Octobre 2008 Cours du soir JRuby, 28 Octobre 2008 JRuby Présentation et mise en oeuvre
Présentation python : Épisode 1 ● Introduction à Python ● Les types de base et leur manipulation ● Les structures de contrôle ● Les fonctions Étienne Loks.
Messagerie Open Source à la DGCP Implémentation réalisée par IBM et Pilot Systems Sylvain Viollon.
PRÉSENTATION Toute une équipe est dédiée à VTC Booking : développeurs mobiles, web, commerciaux, équipe de support VTC Booking est un produit proposé.
Le projet L'éditeur Les services associés 10/07/2007 OpenAguila, la gestion d’entreprise libre pour.
VHFFS : Enlarge your hosting Sylvain Rochet Samuel Lesueur Cette présentation est sous contrat Paternité-Partage des Conditions Initiales à l'Identique.
Projet ISHTAR : outil de gestion du mobilier archéologique en ligne Étienne Loks (Proxience) Yann Le Jeune (DRAC Pays-de-la-Loire / SRA) Présentation du.
1 UML: applications, études de cas ● Processus (Extreme Programming, Unified Process) ● Architectures ● Expression du besoin technique Conception Préliminaire.
Logiciel Assistant Gestion d’Événement Rémi Papillie (Chef d’équipe) Maxime Brodeur Xavier Pajani Gabriel Rolland David St-Jean.
Présentation de Plone Gestionnaire de contenus. 2 Présentation de Plone à Toulibre Présentations Eric Bréhaut Développeur / Chef de projet Emmanuelle.
A9 - Utilisation de composants avec des vulnérabilités connues.
Présentation python : Épisode 3 ● Comment programmer comme un gentilhomme ? ● Le style de code ou comment bien présenter ● Les test unitaires ou comment.
Les Bases de données Définition Architecture d’un SGBD
Framework EHop/Ecenvir
Communication client-serveur
Le CMS Joomla La mise en place du CMS est inscrite dans le dossier d’homologation Attente : avoir une plateforme commune de travail et de publication.
Environnement de développement des BD
ABES - Réunion des centres régionaux du SUDOC-PS – 12 mai 2017
Environnement du développement de BD ORACLE REPORTS 10g
Epreuve E6 : Parcours de Professionnalisation
Soutenance PMI Lundi 4 Février 2008
Utentomatic - Gestion des comptes Unix sous Active Directory
MIGRATION Angular 2 / PASOE REST services
Le « Bugtracking » Alejandro FERNANDEZ – Etienne FONTEIX
Séminaire EOLE Beaune Septembre 2007
Outils de gestion documentaire
MOUTON Marielle - DUMETZ François - LEVECQUE Alain
LE MASHUP.
Présentation de JQUERY
Cissé Moussa Diawara Issif Master Informatique 2ième année
Génie–logiciel 3. Modèles du cycle de vie du logiciel Azeddine Chikh
Outils Statistiques pour la Sémantique Décembre 2013
Django.
Réalisation d’une application web sous le thème: «Mon vétérinaire » par : Benzineb Asmaa et Meftahi Oualid Présentation à Université Saad Dahlab Blida.
Le site FORUM liste de diffusion DROPBOX GESTAPRC Travail collaboratif
Développement d’un réseau social de collaboration destiné aux médecins radiologues Soutenance de projet de fin d’étude En vue de l’obtention du diplôme.
Août 2009.
Day 1 – Debrief / Résumé du 1er jour
Commande d’une voiture par LABVIEW/ ARDUINO / Bluetooth
Déductions: appliquer l'IA au logiciel
Programmation Android Introduction à Android
Présentation python : Épisode 3
Plus de 4000 langages....
A. DAAIF ENSET Mohammedia Université Hassan II Casablanca.
Gestion du patrimoine informatique
Outils et principes de base. Exemple d’application  Gestion de données d’enquête : Interface de saisie en ligne  insère directement les données dans.
I Copyright © 2004, Oracle. Tous droits réservés. Introduction.
Bases de données sous Access. Initiation aux bases de données  Structure d’une base de données.
Préface. Préface-3 Profil Avant de commencer Avant de commencer ce cours, vous devez savoir utiliser une interface graphique. Vous devez en outre être.
CONCEPTION D’UN SYSTÈME INTELLIGENT DE MANAGEMENT D’UNE FLOTTE DE VEHICULES
EPITECH 2009 UML EPITECH 2009
Etudes d’approfondissement M2PGI Option SRR
Atos, Atos et le poisson, Atos Origin et le poisson, Atos Consulting ainsi que le poisson seul sont des marques déposées d'Atos Origin SA. © 2006 Atos.
FRAMEWORKS : XMLBEANS / STRIPES
COURS ADMINISTRATION DE BASES DE DONNÉES IMPORT/EXPORT Karim LABIDI ISET Ch
YII Yes It Is !.
Bases de données Singleton pour la connexion
Présentation PISTE pour les partenaires raccordés en API
DONNÉE DE BASE QM Manuel de formation. Agenda 2  Introduction  Objectif de la formation  Données de base QM: Caractéristique de contrôle Catalogue.
Site web, Ce qu’il faut savoir ?
Transcription de la présentation:

« Ceux qui n'apprennent pas Zope sont condamnés à le réinventer » Philip Eby

Christophe Combelles ● AFPY ● Zope 3 ● Gorfou sarl

Gorfou

But ● Création d'une application web personnalisée ● sur plusieurs mois ou plus

choisir un langage ● Python... – s'apprend en 2 jours – permet de développer rapidement – performant – lisible – permet de tout faire

choisir un framework... ●...de développement rapide ● Pylons, Django, TurboGears ● MVC ● Conventions over configuration ● Projets petits ou moyens

Appli qui grossit ● besoin de découper l'appli ● MVC ? ● découpage en fonctionnalités ● => création de composants

Développer plus vite : ● Réutiliser du code ● = réutiliser des composants

Comment créer des composants ● code documenté ● code testé ● suivre une norme (ex : WSGI) ● Component Architecture – interfaces – composants – registres

Component Architecture ● 2 paquets Python : – zope.interface – zope.component

Interfaces ● Interface – fonctionnalités – schéma – marqueur

Objet class Blog( ): def __init__(self): self.posts = [] def post(self, message): self.posts.append(message)

Interface class IBlog(Interface): posts = Attribute('liste des billets') def post( ): 'créer un nouveau billet' from zope.interface import Interface, Attribute

Objet avec interface class Blog( ): implements(IBlog) class IBlog(Interface): posts = Attribute('posts') def post( ): 'make a new post' from zope.interface import implements

Composants ● Composants – utilities – adapters

Taille du Blog from zope.size.interfaces import ISized

Adapter from zope.component import adapts class BlogSize( ): implements(ISized) adapts(IBlog) def __init__(self, context): self.context = context def sizeForSorting(self): return len(self.context.posts) def sizeForDisplay(self): return unicode(self.sizeForSorting()) + u' posts'

Récupération de l'adapter ● Appel direct – blog_size = BlogSize(blog) ● Component Architecture – blog_size = getAdapter(blog, ISized) ● Écriture simplifiée – blog_size = ISized(blog)

Cas d'utilisation des adapters ● Métadonnées (date de création, créateur, tags) ● Commentaires ● URL d'un objet ● Traversing ● Taille ● Catégorie ● Texte à indexer ● Vignette d'aperçu

Zope 3 aujourd'hui ● WSGI ● Bibliothèques Python ● Méthode de programmation par composants ● Outils web : – DocumentationAPIDOC – Debugdebug wsgi, skin de debug – GestionZMI (Skin Rotterdam) ● Outils en ligne de commande – DebugInstance en ligne de commande – Démarrage rapide zopeproject, grokproject ● Des entreprises et une communauté

Bibliothèques Zope 3 ZODB ZODB, persistent, transaction, BTrees Component Architecture zope.interface zope.component zope.* zope.schema zope.formlib zope.publisher zope.traversing zope.viewlet zope.pagetemplate zope.rdbms zope.sqlachemy etc z3c.* z3c.form z3c.template z3c.pagelet z3c.macro z3c.layer.* etc zc.* zc.catalog zc.relation zc.comment etc..... zope.app.* zope.app.basicskin zope.app.container zope.app.folder zope.app.file zope.app.intid etc hurry.* hurry.query hurry.workflow lovely.* ks.* z3ext.* gp.* gp.svnfolder

Point de vue fonctionnel ● Modèles / schémas ● Templating ● Indexation / recherche ● Base de données objets ● Accès à des bases SQL ● Utilisation d'ORM ● Sécurité / Authentification modulable ● Formulaire webs (génération / validation) ● AJAX (kss, jquery) ● Framework de test ● Framework de dépréciation ● Framework de migration ● Workflow ● i18n, unicode ●...

Zope 3 powered ● Launchpad (Canonical / Ubuntu) ● Schooltool ● CMS – Hivurt – z3ext – (Plone 3) ● Applications – Eztranet – Épidemio SOS Médecins Toulon

Grok

Une démo ? ● Une démo ?

Documentation / ressources ● Livre – Web Component Development with Zope 3 – ZCA (Baiju M) ● Web – Nouveau site zope.org – grok.zope.org ● Communauté francophone – Liste AFPY : zope3-french-user – IRC : #zope3-fr sur freenode

Merci !