Carnet Wiki

SPIP pour l’informaticien

Version 6 — Mai 2008 YannX

L’installation


-  La structure des répertoires : modifiée lors de la version 1.9.2, elle est désormais décrite ici.

Noter que la SVN introduit de nouveaux sous-répertoires dans /ecrire/, en particulier /ecrire/req/ pour les divers portages de moteurs de SGBD...

Les nombreux répertoires dédiés de SPIP sont définis par une batterie de #define dans /ecrire/inc_version.php [1]_ # compatibilite anciennes versions
# si vous n’avez aucun fichier .php3, redefinissez a «  »
# ca fera foncer find_in_path
#define(’_EXTENSION_PHP’, ’.php3’) ;
define(’_EXTENSION_PHP’, ’’) ; ]], à consulter pour documentation et information ; noter que des variables définies dans mes_options.php [2]peuvent les écraser.

Quelques références à lire egalement :
-  à l’occasion d’un passage 1.9 zn 1.9.2d

-  Les options configurées en PHP : mes_options.php [3], à mettre en :
... /config selon les dernières publications sur SPIP ?
... /ecrire dans les versions précédant la SPIP 1.9.2 ??
(voir Paramétrage avancé d’un site (2005)

-  Les options codées en php : mes_fonctions.php , à mettre en :
... à la racine du site
... ou mieux, dans le /squelettes
(voir Les variables de personnalisation

-  les fichiers de langues : les fichiers d’origine sont dans /lang/ , suffixés par l’abbréviation de la langue..
ce sont respectivement /lang/ecrire_XX /lang/public_XX et /lang/spip_XX , qui peuvent etre surchargés par la création de fichiers local_XX à mettre dans ..... ? .....

Les bases de données


-  la connexion aux serveurs config/connect.php et spip_connect_db()
-  les divers serveurs acceptés : suite à la reprise des fonctions, le source base/abstract_sql sert d’interface vers les fonctions adaptées à chaque serveur
-  La structure des Bases de Données :http://www.spip-contrib.net/fr_rubr...
voir en particulier les articles http://www.spip.net/fr_article3681.html et http://www.spip.net/fr_article3683.html

-  Les Plugins : ce sujet ne sera pas documenté ici

L’exploitation courante


-  les sauvegardes : sauvegarder =

  • les tables standard de SPIP : par
  • les tables annexes rajoutées,
  • les documents joints ( /IMG/ )
    et
  • les squelettes, ainsi que
  • les plugins rajoutés
    ensuite, il faut encore exporter l’ensemble de ces données vers un autre support, par FTP [4]

-  la mise-à-jour
-  les choix de configuration

Un ajout souvent bien agréable : unifier la connexion dans un unique formulaire de Login-Logout qui remplace le fichier Login de la dist, lequel est parfois « abscons », du moins a la lecture...

Les droits d’accès


-  les divers statuts d’auteurs : 0minirezo | 1comite
-  les administrateurs restreints
-  les plugins de gestion d’autorité et d’accès
-  la protection d’accès dans les squelettes d’interface public

L’usage des squelettes


-  les inclusions : différentes formes de l’instruction INCLURE
-  les noisettes, les modèles,
-  le passage de paramètres par contexte
-  l’ajout de fonctionnalités par code (c’est simplement ajouter un filtre par une fonction codée en PHP)
-  l’ajout de fonctionnalités constantes : les constantes _INSTALL_xx etc...

L’appel par les URL


-  les paramètres obligatoires

  • la variable page=squel permet l’accès à un squelette HTML de nom squel.html
  • les valeurs id_rubrique= ou id_article= facilitent l’appel direct à un squelette personnalisé pour la rubrique ou l’article courant.
  • l’appel en syntaxe raccourcie (sauf usage de systèmes d’URL personnalisées), d’une façon analogue aux codes #URL_ARTICLE ou #URL_RUBRIQUE des squelettes, s’abrege donc en passant le type de table suivi de son n° d’enregistrement :  ?article109 ou  ?rubrique23 (ce raccourci serait-il extensible à d’autres tables non standard

-  variables complémentaires en paramètres de l’URL d’appel

  • var_mode = calcul | recalcul | debug | preview
    _
     ?
  • connect = pour utiliser la connexion à une base de données secondaire var_mode=debug
    _ ?
    var_mode=calcul&var_profile=1
  • connect = pour utiliser la connexion à une base de données secondaire

-  autres variables spécifiques :

  • skel= sous-répertoire de squelettes pour le switcher de squelettes

Et l’interface privée ?

Nota préalable : la nouvelle version (post 1.9.2d) devrait introduire l’usage de squelettes dans l’interface privée, ce qui pourrait complètement changer les façons de faire signalées ici...
-  les divers niveaux d’interface
-  les tables externes (mise-à-jour en interface privée)