[Spip] A qui s'adresse donc SPIP ?

Bonjours tout l'monde,

Je suis étonné de votre insistance à ne centrer SPIP visiblement pour les
_seuls_ utilisateurs de clônes Altern et d'hébergeurs à la Free.fr

Je ne sais pas comment sont configurées ces machines, mais en l'état actuel
des choses (voir version sur le web du manuel) elles ne permettraient pas
vraiment à un utilisateur lambda de samizdat (par exemple) d'installer le
script et de le faire tourner... du moins sans faire appel à l'intervention
de l'un ou l'autre d'entre nous au niveau de la config.

Exemple 1:

- Dans "récupérer SPIP", j'ai viré la mention "attention à la
compatibilité Mac/PC/Unix", puisqu'à terme, on ne livera que les
versions compactées, adaptées à chaque système (.zip -> Win,
.tar.gz->Linux/BSD, .site->Mac).

Chez nous si quelqu'un fabrique ses gentils fichiers en local sur un Mac et
qu'il les dépose bêtement en FTP sur le serveur, il peu gentillement dire
adieu aux accents et au passage à la langue française...

Le seul moyent, si l'on veut travailler des fichiers à texte accentué (et au
format Mac à l'origine) en "local", sur son Mac ce serait de le faire avec
BBEdit, et de _surtout_ les enregistrer avant mise en ligne avec un codage
Unix...

Et si il sont déjà au format Unix dans l'archive, il faut encore que notre
brave utilisateur pense à décocher l'option "conversion automatique" dans
Stuffit expander s'il veut se retrouver avec autre chose que du charabia
plein de petits carrés et de ÉÈ° etc à la place des caractères accentués.

La nature des versions compactées n'a rien à voir là dedans...

Il s'agit bien de faire comprendre un minimum de chose à l'éventuel futur
utilisateur de SPIP, y compris que les différences et incompatibilité
d'encodage des fichiers textes sont des choses qu'il vaut mieux comprendre
qu'ignorer lorsque l'on veut faire un site Web. Ou, faute de lui faire
comprendre quoi que ce soit, de lui donner des pistes pour résoudre un
éventuel problème.

Exemple 2

- La partie "modifier les droits d'accès" passe à la fin, et est bien
indiquée comme occasionnelle. Là, j'ai ajouté une copie d'écran de
Fetch (Mac), si quelqu'un peut m'envoyer une copie d'écran d'un
client FTP Windows très courant, ça complètera. J'ai réduit au strict
minimum la mension telnet, parce que ça concerne très peu de monde
(et ceux qui savent le faire n'ont pas vraiment besoin de
précisions...).

Sur les serveurs à grand nombre de comptes, il doit sans doute y avoir des
"systèmes" pour éviter à l'utilisateur ce genre de "souci"... Mais au
détriment de la sécurité aussi sans doute.

Sur Free.fr, par exemple, lorsqu'un répertoire est vide on en voit le
contenu grâce à la fonction index automatique d'Apache ce qui n'est pas très
"sécuritaire"... Mais Free.fr s'occupe de la sécu du serveur, pas celle des
sites de ses utilisateurs...

Sur un serveur Unix les droits sont quelque choses de fondamental, et delui
qui veut faire du web a tout intérêt à le savoir un _minimum_, au moins s'il
est sur un serveur qui peut lui demander de s'en préoccuper un minimum.

Revenons à notre utilisateur samizdat, il dépose ses fichier dans son "home
directory", dans un répertoire nommé par exemple "public_html". Il fait quoi
si celà marche pas et qu'on lui a rien expliqué sur les droits et les
propiétaires des fichiers?

Rappel - Dans la version test installée sur samizdat, nous avons justement
un problème de ce type: les fichiers du CACHE sont en "nobody", les fichiers
du script en user "web", la mise à jour ne se fait donc pas automatiquement.
Pour l'instant il faut vider le cache à la main si l'on veut voir les modifs
sur le site :((

Sommes nous des fous pour avoir configuré aussi bizarrement notre serveur?
Je ne sais pas, mais nous avons fait comme des millions d'autres petits
serveurs Unix dans le monde... Avec ce choiux qui nous est propre, de
privillégier la sécurité des services hébergés plutôt que la simplicité de
l'interface.

Sommes nous d'amblée hors du champs visuel de SPIP ?

La position "ceux qui savent le savent, les autres n'en on pas besoin", est
peu courte me semble-t-il, du moins si l'on _partait_ du principe qu'on ne
sait pas sur quelle machine, et dans quelles circonstances, les futurs
utilisateuers de SPIP utiliseront le script.

Cela suppose, biensûr, un guide d'install un peu plus fournit, et organisé
éventuellement autours de divers cas de figures envisagés, y compris les
moins "sexy".

Mais est-ce ce que vous voulez ?

Personnellement lorsque j'installe quelque chose sur le serveur, j'attend du
fichier d'install qu'il soit clair, qu'il anticipe les éventuels problèmes,
qu'il me donne le plus d'indications possible (jusqu'aux commandes à saisir
s'il le faut). Pas qu'il me la joue "simple", "facile", "cool", pour que ce
soit ensuite la galère à installer/configurer.

Pour conclure:

Ce qui m'intéressait au départ dans SPIP c'est sa souplesse de conf des
interface web, son traitement correcte de la typo et la volonté de le faire
tourner sur des config minimalistes type Free.fr.

Mais si ce dernier point signifie l'exclusion de tout serveur "normalement"
configuré (du moins de mon point de vue), c'est que je me suis trompé

Amicalement

Aris

PS- Il me semble que 777 est trop permissif d'un point de vue sécu, je
ferais des test en fin de semaine et je vous dirais ce qu'il en est.

PPS- Pensez à numéroter les version on ne s'y retrouve plus, il y a déjà des
différences en le répertoire et les versions compressées ! Exemple: c'est
quoi le fichier update.php3 dans /ecrire qui n'existe que dans la version du
répertoire ?

Salut Aris,

Il faudrait reprendre la nomenclature" habituelle" pour le dev de
software... Quelquechose du type:

- Des versions "officielles" numéroté (à partir de 0.5 comme l'a suggéré
arno) en repertoire + fichiers compressés

- Les sous versions en dev par les uns ou les autres, soit dans un
répertoire "developpement", soit dans un répertoire "users", avec une sous
numérotation du genre 0.5.1-antoine, etc.

Histoire que celui qui se pointe sur le FTP y comprenne qqchose

Pour le reste on reprendra la discussion un peu + tard, là je suis malade
:(( et j'ai une folle envie de faire la sièste :_|

Aris

Salut,

Suite à tes conseils, j'ai créé un répertoire Alpha à la
racine du FTP... Ce répertoire sert à contenir la version
en cours de développement. Ainsi elle peut contenir des
fonctionnalités non terminées ou n'être pas très testée.
Comme c'est un truc "entre nous", j'y ai juste copié ce
que j'ai en local sans remettre les squelettes originaux
ni créer les répertoires CACHE et IMG.

Arno : j'ai un peu modifié ton manuel sur uzine.
Il faudrait peut-être créer un utilisateur "SPIP" ?

Aris : bon rétablissement !

a+

Antoine.

aris wrote:

Salut,

Je suis en train de créer un projet SPIP sous SourceForge
(c'est gratuit, alors...) et voilà qu'on me demande quelle
licence va utiliser le projet. Et on me soumet une liste
de licences (ici : http://www.opensource.org/licenses/).
Laquelle prendre ? On avait parlé de GPL, ce qui me semble
le choix "par défaut", mais je préfère demander votre avis
(d'autant qu'on ne peut plus modifier le choix après coup ;-).

a+

Antoine.

PS : entre temps, j'ai dû taper un topo en anglais, ça fera
un article de plus pour uzine...

J'ai reformatté le topo que j'ai envoyé à SourceForge :

http://www.minirezo.net/imprimer.php3?id_article=409

Ca fait un petit README en anglais...

a+

Antoine.

Salut,

J'ai terminé la fonctionnalité de dump et de restauration de
la base. La version Alpha (sur ftp://www.scarabee.com) contient
les fichiers à jour.
L'export est fait en appelant ecrire/export_all.php3.
L'import de même avec ecrire/import_all.php3.
Il faut les droits d'administrateur pour le faire.

Attention :
1) aucune confirmation n'est demandée. Gaffe à ne pas
importer une version de la base qui ne vous plaît pas....
2) pour que ça fonctionne correctement, si votre base
existe déjà, il faudra d'abord lancer ecrire/upgrade.php3
pour rajouter les champs qui vont bien. Sinon, j'ai pas
essayé mais ça risque de provoquer des dégâts.

Un petit raffinement : le script d'exportation détecte
la présence de ZLib (librairie de (dé)compression fichier
pour PHP). Le cas échéant, c'est un fichier compressé .gz
qui est créé, ce qui permet de gagner pas mal d'espace
disque (le XML, ça se compresse très bien).

Quelques détails techniques :

- c'est un gros fichier unique qui est créé (dump.xml
ou dump.xml.gz). A l'intérieur c'est en fait du pseudo-XML
(différence principale : le caractère < est remplacé par <<
au lieu de &lt; : plus simple à traiter).

- j'ai fait ce que préconisait Nicolas : le fichier est
traité ligne après ligne pour éviter de prendre trop de
mémoire. Ca a un inconvénient :

- lors de la restauration, pour éviter les catastrophes
(genre les tables ont été effacées alors que le fichier
dump est corrompu au bout de dix entrées), les entrées
sont d'abord restaurées avec un marquage spécial (le
timestamp est réglé à 0), et à la fin toutes les valeurs
ne portant pas ce marquage sont effacées. Enfin le marquage
lui-même est effacé. Du coup, si l'archivage s'arrête
en plein milieu, les données qui ont pu être restaurées
sont là (certes avec un timestamp égal à 0, ce qui n'est
pas bien grave), mais les anciennes n'ont pas été effacées....

Justement, j'ai un peu peur d'un truc : avec une grosse
base et un serveur un peu chargé, l'importation risque
d'être très lourde et d'exploser le timeout des scripts
PHP. Arno, est-ce que ce serait possible que tu testes
sur minirezo.free.fr avec la base uzine ?

A propos de tests, j'ai trouvé un autre hébergeur gratuit
et sans-pub, peut-être que vous connaissiez : www.f2s.com.
Supporte PHP4, mysql et postgres....

a+

Antoine.

J'ai écrit :

J'ai terminé la fonctionnalité de dump et de restauration de
la base. La version Alpha (sur ftp://www.scarabee.com) contient
les fichiers à jour.

...
Mea culpa, elle est presque terminée. Je n'ai rien fait pour les
forums. En effet, je n'ai pas étudié la façon dont ils étaient
stockés....

(normalement la fonction import_objet() est assez générique, mais
peut-être que les forums nécessiteront un traitement spécial).

a+

Antoine.

J'ai commencé à programmer une solution pour contourner les
problèmes de restriction open_basedir avec le répertoire IMG,
depuis le back-office. Ce que j'ai fait :

- j'ai écrit un script image.php3, placé à la racine, qui est
appelé par le back-office pour télécharger ou supprimer une
image, et faire une redirection HTTP vers le script appelant
quand c'est terminé. Ca, ça marche.

Ce qui reste à faire : trouver un moyen d'afficher les images
quand on édite un article. En effet, il faut lister le contenu
de "../IMG", ce qui ne va pas bien avec la restriction évoquée
plus haut. Je pensais à m'affranchir de la lecture du répertoire
en rajoutant une colonne dans la table article pour stocker les
numéros des images accessibles à chaque article. J'aimerais
simplement avoir votre avis sur la pertinence de cette solution ?

(NB : ce n'est pas sur le FTP vu que le bug n'est pas résolu)

Tiens, sinon, des nouvelles de sourceforge : ils ont accepté
l'ouverture du compte spip. Par contre à lire les docs je me
rends compte que c'est pas très simple à utiliser. Je sais pas
si certains d'entre vous ont déjà essayé, et ce qu'ils en
pensent....