Le logiciel libre Squeletml est un système de gestion de contenu sans base de données, utilisant un squelette de site valide XHTML 1.0 Strict et géré par inclusion de fichiers PHP, c'est-à-dire un site dont le corps de chaque page se trouve dans un fichier unique et dont les principaux éléments de structuration comme l'en-tête, le bas de page, etc. sont partagés entre toutes les pages. Il a pour but d'optimiser la création et la maintenance de ce genre de site.
En effet, seulement deux fichiers doivent être inclus dans chaque page (un au début et un à la fin), peu importe le type de page (galerie, catégorie, formulaire de contact, etc.), et ces derniers fournissent une structure de site personnalisée et traduite dans la langue de la page (si disponible). Chaque page peut facilement avoir ses propres informations: langue, balise title, métabalises, feuilles de style, scripts Javascript, titre de premier niveau (h1), licence, table des matières, etc. L'en-tête personnalisée permet d'offrir de meilleurs repères aux internautes, d'éviter le contenu dupliqué dans les moteurs de recherche et d'avoir un site optimisé pour le référencement.
Aussi, un fichier de configuration permet de paramétrer, par simple affectation de variables, le flux HTML ainsi que plusieurs aspects visuels sans devoir bidouiller dans les feuilles de style CSS, la structure de page XHTML ou la programmation PHP. Bien sûr, il est également possible d'utiliser ses propres styles ou structure de page.
Enfin, Squeletml fournit plusieurs modules prêts à l'emploi: formulaires de contact, galeries photo, classement par catégories, flux RSS, partage de la page par courriel ou en passant par des services de marque-pages et de réseaux sociaux, cron, fichiers Sitemap, interface d'administration reproduisant les principales actions normalement effectuées par FTP, etc. Un site Squeletml peut être géré autant par l'interface graphique de l'administration que par un simple éditeur de texte. Le tout peut facilement être traduit puisque Squeletml utilise PHP Gettext (et dans une moindre mesure JavaScript Gettext) pour l'affichage de l'interface.
Le fonctionnement de Squeletml est indéniablement inspiré de systèmes de gestion de contenu comme Drupal.
Voici un aperçu des fonctionnalités et des caractéristiques de Squeletml:
Sans base de données.
Requiert Apache et PHP 5, et compatible PHP 5.3.
Développé sous GNU/Linux, et testé sur quelques configurations de serveur, comme sous Windows et les serveurs de Free.fr.
Structure valide XHTML 1.0 Strict (si nécessaire, il est possible de choisir la définition de type de document ou tout simplement d'utiliser sa propre structure de page).
Utilisation possible de la syntaxe Markdown pour le texte des pages.
Fichier de configuration offrant une syntaxe simple pour:
Création aisée d'une page: seulement deux fichiers PHP à inclure pour chaque page, un au début et un à la fin, et toujours les deux mêmes fichiers, peu importe la langue ou le type de la page (texte, galerie, catégorie, formulaire de contact, etc.).
Personnalisation de l'en-tête pour chaque page: balise title, métabalises, langue, etc.
Gestion multilingue, et structure de site (menus, bas de page, etc.) selon la langue de la page.
Possibilité de générer automatiquement une table des matières pour la page en cours.
Construction automatique des pages de catégorie et du menu des catégories.
Ajout d'un nombre illimité de formulaires de contact, et ce avec options d'antipourriel et de copie à l'expéditeur.
Lien «Envoyer à des amis» offrant la possibilité à l'internaute d'envoyer un courriel à plusieurs contacts pour leur faire découvrir la page visitée. Si cette dernière est une page individuelle d'une image dans une galerie, une vignette de l'image et une description (si cette dernière existe) sont insérées dans le message.
Liens de marque-pages et de réseaux sociaux pour la page en cours.
Syndication de contenu (flux RSS):
Galeries photo:
img, en-tête HTML, etc.), ou génération automatique, évitant ainsi le contenu dupliqué d'une manière ou d'une autre..tar) ou ZIP (.zip).-vignette.extension pour une vignette).Activation par défaut d'un message pour les internautes utilisant Internet Explorer 6, les invitant à télécharger Firefox. Squeletml fonctionne avec Internet Explorer 6, mais il est clairement optimisé pour les navigateurs modernes (testé sur plusieurs navigateurs).
Choix possible d'une ou de plusieurs licences pour tout le site ou selon chaque page.
Mise à jour rapide: la configuration personnalisée d'un site se trouve dans un dossier qui ne sera pas écrasé lors d'une mise à jour de Squeletml.
Cron permettant d'effectuer automatiquement des tâches d'administration, comme la génération du cache et la construction de fichiers Sitemap.
Section d'administration offrant des fonctionnalités utiles sans devoir passer par FTP:
Visitez la galerie de captures d'écran de Squeletml.
Voir le fichier documentation.mdtxt dans l'archive du logiciel, ou bien visiter la documentation en ligne.
Pour faire part d'un problème d'utilisation avec Squeletml, proposer une fonctionnalité ou poser une question, il y a quelques possibilités:
N'oubliez pas d'indiquer votre environnement d'hébergement. Vous pouvez récolter ces informations en visitant la page admin/versions.admin.php. S'il y a des erreurs en visitant cette page, allez plutôt sur admin/versions-solo.admin.php. (S'il y a lieu, modifier le nom du dossier d'administration.)
Auteur: Jean-Philippe Fleury
Copyright © Jean-Philippe Fleury, 2009.
Ce programme est un logiciel libre; vous pouvez le redistribuer ou le modifier suivant les termes de la GNU Affero General Public License telle que publiée par la Free Software Foundation: soit la version 3 de cette licence, soit (à votre gré) toute version ultérieure.
Ce programme est distribué dans l'espoir qu'il vous sera utile, mais SANS AUCUNE GARANTIE: sans même la garantie implicite de COMMERCIALISABILITÉ ni d'ADÉQUATION À UN OBJECTIF PARTICULIER. Consultez la Licence publique générale GNU Affero pour plus de détails.
Vous devriez avoir reçu une copie de la Licence publique générale GNU Affero avec ce programme; si ce n'est pas le cas, consultez http://www.gnu.org/licenses/.
Logo de Squeletml: le logo a été fait à partir de l'image clipart/animals/lizard_guillaume_boitel_.svg de l'Open Clip Art Library et de la police de caractères Architext. Les deux sont dans le domaine public.
Bannières: les bannières de 80px × 15px de Squeletml et des licences utilisent la police de caractères Picopixel de Sebastian Weber. Sur le site de Dafont, la licence est précisée ainsi: «Domaine public / GNU GPL». J'ai écrit à l'auteur pour obtenir des précisions, sans réponse pour l'instant. Les bannières des licences Copyleft utilisent également une image de Wikimedia Commons dans le domaine public. La bannière du domaine public utilise également une image de Wikimedia Commons dans le domaine public.
Images utilisées dans les galeries:
Icône utilisée dans le lien de déconnexion: cette icône provient du thème d'icônes Gnome, sous licence GPL.
Icône utilisée pour le lien «Envoyer à des amis»: cette petite icône est une version modifiée du fichier scalable/actions/mail-forward.svg, provenant du thème d'icônes Gnome, et est sous licence GPL.
Icône utilisée pour les informations de publication: cette icône est une version modifiée d'une image provenant de l'Open Clip Art Library et est dans le domaine public.
Icônes utilisées dans le porte-documents: ces icônes proviennent du thème d'icônes Gnome, sous licence GPL.
Icône utilisée dans le script de gestion des flux RSS globaux: cette icône provient du thème d'icônes Gnome, sous licence GPL.
Logo utilisé pour représenter Firefox dans le module d'affiche d'un message pour Internet Explorer 6: ce logo est sous triple licence Mozilla Public License version 1.1/GPL version 2 ou toute version ultérieure/LGPL version 2.1 ou toute version ultérieure, et provient de Wikimedia Commons.
Icône des flux RSS: cette icône est sous triple licence Mozilla Public License version 1.1/GPL version 2 ou toute version ultérieure/LGPL version 2.1 ou toute version ultérieure, et provient de Wikimedia Commons.
Image de cône pour la page de maintenance: cette image provient de Wikimedia Commons et est dans le domaine public.
Image en cercle dans la page d'erreur 401: cette image provient de l'Open Clip Art Library et est dans le domaine public.
Image en triangle dans la page d'erreur 404: modification d'une image provenant de Wikimedia Commons et étant dans le domaine public.
BUEditor: sous licence GPL.
CodeMirror: sous licence BSD.
Drag'nDrop & DHTML Library: sous licence LGPL version 2.1 ou toute version ultérieure..
_filter_htmlcorrector: fonction de Drupal, sous licence GPL version ou toute version ultérieure.
JavaScript Gettext: sous licence LGPL version 2 ou toute version ultérieure.
jQuery: sous double licence MIT et GPL.
jQuery Cookie plugin: sous double licence MIT et GPL.
jQuery UI: sous double licence MIT et GPL.
MimeDetect: module pour Drupal sous licence GPL version 2 ou toute version ultérieure. Je l'ai modifié pour le rendre indépendant de Drupal. J'ai également ajouté la fonction file_get_mimetype() provenant du fichier includes/file.inc de Drupal 6, sous licence GPL version 2 ou toute version ultérieure. J'ai publié le résultat sous licence GPL version 3 ou toute version ultérieure.
PclZip: Squeletml utilise la bibliothèque PclZip (sous licence LGPL) pour la gestion des archives au format ZIP. L'auteur est Vincent Blavet. Pour en savoir plus sur PclZip ou pour consulter les mises à jour, voir le site de PclZip.
PHP gettext: sous licence GPL version 2 ou toute version ultérieure.
PHPJS: sous double licence MIT et GPL.
PHP Markdown: sous licence de style BSD.
PHP Simple HTML DOM Parser: sous licence MIT.
RollingCurl: sous licence Apache 2.
Slimbox 2: sous licence MIT.
Table of Contents jQuery Plugin: le script original a été écrit par Doug Neiner et est sous licence MIT. J'ai modifié le script et ai incorporé une fraction de code provenant du module Pathauto pour Drupal, publié sous licence GPL (sans précision de la version). Je publie le script résultant sous licence GPL version 3 ou toute version ultérieure.
Tar et UnTar (classes PHP): sous licence LGPL 2.1.
Unsharp Mask for PHP: permission écrite de l'auteur Torstein Hønsi d'ajouter «Unsharp Mask for PHP» à mon script sous AGPL.
La translitération du filtre des noms de fichier lors de l'ajout dans le porte-documents utilise le fichier i18n-ascii.txt du module Pathauto pour Drupal, sous licence GPL.
Les liens de marque-pages et de réseaux sociaux ont été en partie récupérés dans le module Service links pour Drupal, sous licence GPL.
Ajoutez le code ci-dessous sur votre site:
<a href="http://www.squeletml.net/apercu.php">Aperçu et fonctionnalités de Squeletml | Squeletml</a>