Pourquoi faut-il un langage de programmation pour SPIP
Le rôle de SPIP est de permettre la publication de contenus (principalement textuels, avec aussi des documents joints, des fichiers -multimedia-), sur Sites Web : statiques ou dynamiques ? Spip permet de gérer le site de façon dynamique par des rédacteurs, ainsi délivrés de tout souci de mise-en-page et d’informatique....
Pour recevoir les textes dans une ergonomie-écran sympathique, et enregistrer ceux-ci dans une base de données pour les ressortir de façon dynamique (construite en s’adaptant à l’ensemble des contenus saisis), il faut donner à l’ordinateur serveur des instructions : ce core nécessite un langage de programmation informatique, adapté au Web et donc au serveur sur lequel sera exécuté-servi- votre site Web. SPIP a choisi le PHP, comme pour la plupart des CMS...
le PHP
Ce langage PHP s’est développé en même temps que le Web : son nom signifie "PHP Hypertext Processor" (sigle auto-récursif cf. Wikipedia PHP ))https://www.spip.net/fr_article6500....
C’est un langage informatique de programmation, simple et universel ; il est donc très utilisé dans le monde Internet, assez facile à apprendre et côté performance, les plus ’grands sites’ sont conçus avec PHP : citons simplement Yahoo, Google, Facebook...
Langage procédural et objet, très documenté (voir la référence php.net en français), ce langage est complété de très nombreuses bibliothèques de fonctions s’adaptant à tous les domaines, et toutes les gestions de bases de données ; les programmes écrits en PHP sont donc souvent plus faciles à modifier sans trop de compétences, ce qui présente bien des avantages pour des produits libres comme SPIP.
Seul point d’attention à noter : les mises-à-jour successives de ce langage (depuis php3 utilisé dans les très vieilles versions de SPIP, à aujourd’hui [2] PHP7) pourront conditionner les branches de SPIP acceptées, en fonction de Pre-requis Techniques.
Des montées de version en PHP 7 peuvent provoquer des erreurs de syntaxes inconnues précédemment ; néanmoins notez que les dernières versions encore maintenues en PHP 5 ne sont plus officiellement supportées en 2019.
SPIP et le PHP
Si SPIP est écrit en PHP, si toute page présentée est générée par du PHP, si tout le cache du serveur n’est que fichiers PHP, l’utilisateur (du visiteur au rédacteur ou administrateur, y compris Webmestre !) n’en n’aura jamais l’usage [3] et n’en verra même pas la couleur !
D’aucuns -et j’en suis- considèrent que cette omni-présence invisible est un avantage de sécurité par rapport aux autres CMS, qui laissent trop souvent le webmestre -voire même les simples rédacteurs- devoir modifier directement des fichiers sources HTML et PHP pour adapter la présentation de leur site, risquant d’ouvrir inconsciemment des failles de sécurité, voire de planter complètement le fonctionnement du CMS et l’affichage du site.
Autre avantage des squelettes SPIP sur les divers systèmes de thèmes d’autres CMS : ils sont écrits directement en HTML, et donc affichables d’un simple clic sur le fichier source dans votre navigateur vous verrez l’habillage complet...
La Sécurité est une préoccupation constante en SPIP : SPIP protège l’utilisateur de toute erreur, d’une part avec un écran de sécurité systématisé sur toute saisie, et d’autre part, comme toute page (en particulier tout fichier squelette !) est "compilée" avant de pouvoir être exécutée, toute erreur sur un fichier est signalée au Webmestre, et masquée aux autres utilisateurs (voir L’interprétation des squelettes par SPIP pour plus de détails sur Des squelettes récalcitrants).
Néanmoins, pour ceux qui voudront mieux découvrir certaines subtilités de SPIP, déjà Comprendre le fonctionnement du plugin, la lecture du code source, introduite dans A la découverte des sources....code-source de SPIP est une étape supplémentaire, bien plus simple que vous le croiriez ; il est tout de même préférable d’être déjà familier de SPIP et en particulier de programmer.spip.net.
Alors, pourquoi vous avoir présenté l’existence du langage PHP dans SPIP, dans une site plutôt dédié aux débutants avec SPIP ? Juste parce que, au-delà d’une information de connaissance générale sur votre outil favori ;-), vous pourrez trouver dans les innombrables fonctions de PHP d’autres filtres pour vos squelettes, en complément de ceux déjà intégrés et programmés dans SPIP : toutes les fonctions disponibles ou écrites en Des cas..... résolus ! PHP5 dans mes_fonctions.
Quelle version de PHP pour quelle version de SPIP
Nous avons vu que SPIP est un produit bien vivant, comme d’ailleurs le langage Des cas..... résolus ! PHP5 ; leurs évolutions vont de concert, essentiellement pour des objectifs de Sécurité, comme souvent sur le Web (d’ailleurs gardez toujours votre écran de sécurité bien à jour !) ; en particulier les hébergeurs Web modifient assez régulièrement leur version des logiciels de base (voir les Pre-requis Techniques), et SPIP aussi (voir https://www.spip.net/fr_article4351)
en quelques dates (voire le détail en https://www.spip.net/6500#Versions-...) :
dans les années 2000, SPIP était initialement développé sous php3
qui est abandonné de fait depuis 2005 (SPIP 1.8)
php4 reste supporté jusqu’en 2012 (SPIP 3)
php5.1 minimum depuis SPIP 3 (2012)
la version 3.1 de 2016 s’ouvre à PHP7.1 [4]...
la version SPIP 3.2 de 2017 [5] accepte jusqu’en PHP 7.2 maxi 7.4 !
les versions SPIP 4 depuis 2021 débutent en PHP 7.3,
On vous rappelle que Php n’est désormais supporté par sa communauté, qu’en versions 7.x depuis 2019. !
N.B. : si le code du core de SPIP est compatible pour les versions de PHP indiquées, ce n’est pas forcément le cas pour tous les plugins....à vérifier sur la liste !
Mais comment tester ?
En terme d’installation, le spip_loader effectue un controle de version PHP avant installation de SPIP ; et si vous avez déjà installé SPIP, vous pouvez vérifier celle-ci par ./ecrire/?page=info
.
Mais si vous ne connaissez pas php, et surtout vous ne savez pas comment vérifier votre syntaxe, avant de tout casser : il y a une solution simple, mais par précaution à n’utiliser qu’en mode local !! mais c’est si facile que...
Réservé -par sécurité- au seul administrateur, il est possible depuis très longtemps [6] d’installer un plugin Shell PHP dans SPIP !!
Première utilisation : vérifier la version de php : tapez phpinfo() ;
!
Vous avez oublié le point-virgule final (comme avec SQL) ; pas grave, vous n’aurez qu’une erreur, mais cela ne plantera pas tout votre site : ouf ;-).
Ensuite, vous choisirez donc peut-être de commencer par Installer mon premier SPIP local sur PC ou de Transporter un site en local : voyez toutes les solutions Local, avant de vous lacer dans la construction du site... Quelques Points à définir.
Article publié le 28 octobre 2014, et actualisé en février 2022 Provisoire (à compléter...) .
Répondre à cet article