les composants d'un projet Internet Besoin
Logiciel
Design
Services
analyse du besoin de l'opportunité à l'architecture de la solution logiciel yacs, complété et étendu si besoin design usagers / contenu / droits identité visuelle services formation gestion de contenu, animation de communauté infogérance
solution pro
déroulement d'une transaction dynamique S e rv e u r W EB N a v ig a te u r W EB E n v o i d ’u n e r e q u ê t e H T T P
E n v o i d e la r é p o n s e d u s e r v e u r
R éseau IP
D o c u m e n ts e t re s s o u rc e s s ta tiq u e s
architecture d'exécution de yacs Apache GET /article-123-a-nice-page
PHP
articles/view.php include shared/global.php
sql, cache, utf8, ...
if(Surfer::is_associate()) ...
shared/surfer.php
$item = Articles::get($id); ... $context['text'] .= Skin::build_link() ... render_skin();
articles/articles.php skins/my_skin/skin.php skins/my_skin/template.php
MySQL
yacs_articles
yacs est ouvert et extensible Les standards qui comptent : XHTML AJAX (prototype.js, ...) CSS RSS ATOM vCard UTF-8 i18n, gettext (.po, .mo) HTTP XML-RPC et JSON-RPC SMTP/POP3
Plusieurs niveaux d'extension : skin (PHP+XHTML+CSS+...) layout (interface PHP) overlay (interface PHP) behavior (interface PHP) anchor (interface PHP) Prises (hooks PHP) REST API XML-RPC API JSON-RPC API authenticators (LDAP, ...) Développement agile, Référentiel de mise à jour, LGPL
création d'une identité visuelle Layouts Méthodologie : Boîtes Choix d'une mise en page de base (2 ou 3 colonnes, ...) gadget, extra, navigation Dérivation d'un nouveau style Codes (myskin) Eléments de page Page de test de rendu visuel skins/myskin/skin.php skins/test.php skins/skin_skeleton.php Validation sur les pages Assemblage de page d'aide pour les codes skins/myskin/template.php codes/index.php skins/page.php Archive (et partage) Rendu visuel Installation par téléversement skins/myskin/xYz.css Edition à distance skins/_reference/yacs.css images, Flash, ...
la plate-forme de développement Apache + PHP + MySQL Windows : WAMP Server ou XAMP Server ou EasyPHP MacOS X : MAMP Configuration de développemeent Edition de fichiers Windows : Crimson Editor ou autre MacOS X : TextWrangler Edition HTML et CSS Kompozer (ex-NVU) Navigateur de référence Firefox + Firebug + Web Developer Toolbar Transferts vers le serveur de production et gestion FileZilla, WinSCP3, PuTTY