Carnet Wiki

SPIPpourInformaticien

! Nota Bene : ces informations etaient pertinentes pour la 1.9.2, sauf erreur de l’auteur
Rien ne dit à ce jour qu’il en soit de meme pour la SPIP v2 !!

Pensez à mettre à jour vos SPIP (corrections de sécurité à fin Décembre 2008)

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 squelettes/ lang

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 WorkFlowSpipS dans SPIP (normal, crayons, gribuoille, contrib-net... j’en oublie ??
  • 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
    _ ?var_mode=debug
    ?var_mode=calcul&var_profile=1
  • connect = pour utiliser la connexion à une base de données secondaire

-  autres variables spécifiques :

pour passer de multiples arguments à une #URL_.. : pensez au filtre - http://www.spip.net/fr_article901.h... (tu peux
enchainer plusiers fois le filtre
|parametre_url’param1’,12|parametre_url’param2’,’Salut!’

voir aussi la synthèse des Appels-par-Balises-URL

Et l’interface privée ?

Nota préalable : la nouvelle version (v2.0 = post 1.9.2d) introduit beaucoup d’Ajax, et quelque chose que j’avais traduit par l’usage de squelettes dans l’interface privée, ce qui pourrait complètement changer les façons de faire signalées ici... voir ci-dessous !
-  les divers niveaux d’interface
-  les tables externes (mise-à-jour en interface privée)
-  les balises d’appel à l’interface privée #URL_ECRIRE

-  l’interface privée de la V2.0 (sortie prévue à l’été 2008 ) : une synthèse d’après http://article.gmane.org/gmane.comp... et sq...
La nouveauté annoncée est cette fameuse interface privée squelettisée... Bon, “ne vous faites pas de films” il y a encore beaucoup de code en dur à reprendre...

Mais sans changer l’apparence de cette interface privée, les modifications en interne s’amorcent : vous pourriez commencer a regarder les squelettes surchargeables dans dist/prive
Par ailleurs, une bonne partie de l’apparence de l’espace privé est géré par des CSS et des images qui peuvent être surchargés par un plugin ou...

  • vous trouverez aussi des articles expliquant fort simplement comment créer/surcharger une balise #X, juste en définissant une fonction personnelle balise_x

[1il serait sans doute interessant d’avoir une accélération définie automatiquement dans inc_version.php[19..22]

[2l’emplacement de mes_options.php semble pouvoir etre modifié en 1.9.3 vers / ou /squelettes ou /config

[3cette possibilité existe seulement depuis la version 1.7

[4rechercher les derniers fichiers créés dans /tmp/ et/ou dans /tmp/dump/ ) ou automatiquement par mail [[utiliser par exemple le plug-in sauveauto

YannX - Mise à jour :11 March 2012 at 10:30