PHP

  le langage de programmation de SPIP (à ignorer !)

SPIP est un CMS, autrement dit, un éditeur de site Web, un peu comme Word ou Writer sont des éditeurs [1] de documents(traitement de texte).

Il est programmé -par des informaticiens bénévoles, les "devs" de la "Team"- avec un langage de programmation, ce PHP, très généraliste et très utilisé sur le Web, en particulier par Yahoo et Google....

Mais, contrairement à bien d’autres CMS, vous n’aurez pas à en apercevoir une ligne dans votre usage de SPIP, même lors de sa mise en place ; car les squelettes -gabarits ou templates, encore appelés thèmes dans les autres CMS- sont, pour SPIP, uniquement écrits en HTML(voir Syntaxe minimale HTML pour SPIP) avec appel au CSS.

Article publié le 28 octobre 2014, et actualisé en février 2022

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Attention, cette page est encore en  

 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.


Merci de nous signaler les coquilles, imprécisions ou erreurs qui figureraient dans cette page.

[1En informatique, "édition" signifie plutot "modification" du source contenu dans le fichier..

[2PHP5 en 2012, de PHP5 à PHP7 en 2016

[3Usage exceptionnel du PHP dans : les deux fichiers mes_options et mes_fonctions, pour Utiliser des Formulaires et le CVT , et pour écrire un nouveau plugin..

[4Un témoignage dans l’été : juste pour dire que je viens de passer plus de 30 sites (90 plugins en tout) de SPIP 3.0 à 3.1, de PHP 5.4 à 7.0 et de passer le tout en https en 2j et sans retoucher une ligne de code !

[5Les contrôles ’officiels’ de version PHP peuvent être revus dans le code de l’installateur automatique de Spip : consultez le sourcehttps://zone.spip.net/trac/spip-zon... de spip_loader[43]function lister_branches_proposees(){..

[6Après tout, WordPress a toujours donné accès aux sources dans l’interface d’administration : c’est-y-pas aussi dangereux ??

[7En informatique, "édition" signifie plutot "modification" du source contenu dans le fichier..


Liens A2A visibles seulement pour les inscrits.
Liens visibles seulement pour les inscrits.

Article publié le 28 octobre 2014, et actualisé en février 2022 Provisoire (à compléter...) .

Répondre à cet article