Dans le cadre de mon projet de fin d’études, j’ai développé pour Agora un outil permettant à un novice de créer un site web dynamique sans aucune connaissance en programmation ou en infographie. Voici la version SPIP de cet outil.
Dans le but de rendre la création de sites dynamiques accessible à tous, j’ai imaginé un outil permettant de créer et de modifier le design de ses squelettes très facilement à partir d’une interface riche et intuitive. L’objectif de ce projet était d’offrir à l’architecture SPIP / Agora la possibilité d’être instanciée très facilement et très rapidement par un néophyte. Jusqu’à présent, la phase de conception des squelettes était réservée à un webmestre confirmé car elle demande de nombreuses connaissances en programmation et en infographie.
Charte fonctionnelle :
- Le module permet de créer un site web dynamique sans aucune connaissance en programmation et en infographie
- Seuls l’administrateur et le webmestre du site ont accès au module.
- L’utilisateur a la possibilité d’utiliser un design prédéfini, ou d’en définir un lui-même. Pour cela il peut :
- Définir le style général du site (logos, polices de caractères, couleurs...)
- Définir la composition de chacun des gabarits de pages
- L’utilisateur a la possibilité de modifier ses choix et de régénérer les gabarits de pages.
- Le module est accessible depuis la zone d’administration de Spip / Agora.
- Si il le souhaite, l’utilisateur peut modifier manuellement les gabarits des pages générées via l’explorateur (Cf contrib).
- Le module dispose d’un outil de sauvegarde et de restauration des gabarits de pages.
- Plusieurs niveaux d’utilisation sont disponibles (débutant, confirmé, expert)
- Les gabarits de pages générées respectent les nouveaux standards XHTML et CSS2 dans le but de rendre les sites créés accessibles à un maximum de personnes
Composition des gabarits de pages :
Un site Spip / Agora comporte plusieurs types de pages (article, rubrique, sommaire, plan...). Ces pages sont constituées de blocs. L’utilisateur peut donc définir pour chaque type de page le nombre, la position, le style, et le contenu des blocs.
Un bloc peut être :
- du contenu (articles, logos, brèves, rubriques...)
- des fonctionnalités (moteur de recherche, format imprimable, forum ...)
- des éléments de navigation (menu dynamique, fil d’Ariane...)
L’application :
Interface du module :
1) Utilisation de jeux de squelettes prédéfinis :
2) Création de ses propres squelettes
a) Définition de l’ambiance générale du site
b) Création d’un squelette
c) Générer le site
d) Exemples de sites réalisés par l’application
Le contenu de ces deux pages est identique, seul la présentation est différente. Sur la première capture d’écran, les encarts sont situés sur la gauche et sur la droite de la page, alors que sur la deuxième les encarts sont situés uniquement sur la partie gauche de la page. Le module offre à l’utilisateur la possibilité de modifier le style, la position et le contenu de chacun des éléments de la page. Les pages générées par l’application sont au format XHTML / CSS2, ce qui permet de modifier facilement la mise en page des gabarits en modifiant uniquement les feuilles de style.
Le générateur de contenus permet d’afficher de nombreuses informations. Par exemple, l’utilisateur peut insérer sur ses pages :
- Les articles d’une même rubrique, d’un même auteur, ou du même thème.
- Une rubrique avec ses sous rubriques, ses brèves et ses articles.
- Le plan du site.
- Les forums associés aux articles.
- Le moteur de recherche
- La version imprimable des pages
- Les documents associés aux articles
- ...
e) Un nouveau bouton
J’ai ajouté un bouton (« Modifier la présentation ») sur la zone publique du site. Ce bouton permet d’accéder directement à la page de modification du squelette.
Comment çà marche
Fichiers de configuration :
Les choix de l’utilisateur sont stockés dans des fichiers de configuration, ce qui permet de récupérer et de modifier très facilement le design de ses squelettes. Les fichiers de configuration contiennent les informations de style, de position, et de contenu. Pour analyser ces fichiers, l’application utilise un parser de fichiers ".ini" et retourne la configuration de l’utilisateur sous forme de tableau de donnée.
Extrait du fichier contenu_article.ini
Cet extrait de fichier spécifie le contenu du bloc numéro 3 du squelette article.
[contenu_bloc_article_3]
type_contenu="article"
limite="tous"
date="oui"
auteur="oui"
trie="titre"
article="article"
id_article="courant"
surtitre="oui"
soustitre="oui"
titre="oui"
descriptif="oui"
chapo="oui"
texte="oui"
ps="oui"
notes="oui"
forum="oui"
logo="oui"
logo_position="left"
puce_titre="oui"
; FIN [contenu_bloc_article_3]
Extrait du fichier disposition_article.ini
Cet extrait de fichier spécifie le style du titre du bloc numéro 1 du squelette article.
[.titre_bloc_article_1]
; BORDURES
border-top-style="solid"
border-top-width="1px"
border-top-color="#000000"
border-bottom-style="solid"
border-bottom-width="1px"
border-bottom-color="#000000"
border-left-style="solid"
border-left-width="1px"
border-left-color="#000000"
border-right-style="solid"
border-right-width="1px"
border-right-color="#000000"
padding="5px"
vertical-align="top"
; POLICE D'ECRITURE
font-family="Arial, verdana, sans-serif"
color="#FFFFCC"
background-color="#000066"
font-size="12pt"
text-align="left"
font-weight="bold"
font-style="italic"
text-decoration="none"
; FIN [.titre_bloc_article_1]
Arborescence des sites générés :
- Le répertoire data/ contient les jeux de squelettes prédéfinis ou sauvegardés par l’utilisateur.
- Le répertoire myspip/ contient les jeux de squelettes courants générés par l’application.
- Le répertoire ini/ contient les fichiers de configuration de style, de contenu, et de disposition.
- Le répertoire css/ contient les feuilles de style générées par l’application.
- Les répertoires squelette_xxxx/ sont des jeux de squelettes prédéfinis ou sauvegardés par l’utilisateur.
Le système de fichiers de configuration offre à l’utilisateur la possibilité de changer de jeux de squelettes très facilement. Il suffit pour cela de changer les fichiers .ini et de générer le site de nouveau pour que les modifications soient effectuées.
Installer l’application :
Deux possibilités :
1) Installer l’archive suivante :
2) remplacer / copier les fichiers suivants et le répertoire data/myspip/ :
- inc-admin.php3 (Fichier SPIP)
- ecrire/admin_squelettes.php3 (Nouveau fichier)
- ecrire/admin_squelettes_predefinis.php3 (Nouveau fichier)
- ecrire/creer_squelette.php3 (Nouveau fichier)
- ecrire/creer_squelette_entete.php3 (Nouveau fichier)
- ecrire/créer_squelette_style.php3 (Nouveau fichier)
- ecrrie/generer_site.php (Nouveau fichier)
- ecrire/generer_squelette.php (Nouveau fichier)
- ecrire/inc_backup.php3 (Nouveau fichier)
- ecrrie/inc_css.php (Nouveau fichier)
- ecrrie/inc_logos.php3 (Fichier SPIP)
- ecrire/inc_presentation.php3 (Fichier SPIP)
- ecrire/inc_squelettes.php (Nouveau fichier)
- ecrire/squelettes_predefinis.php3 (Nouveau fichier)
- ecrire/lang/public_fr.php3 (Fichier SPIP)
- ecrire/lang/spip_fr.php3 (Fichier SPIP)
- le repertoire ecrire/data/myspip/ (Nouveaux fichiers)
Aucune discussion
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |