[spip-dev] Commentaires sur la TODO ...

Bonjour,

voici quelques réflexions sur la todo-list actuelle de SPIP.

Je ne conserve que les points que je souhaite commenter, donc j'invite
chacun à lire la version complète pour tout savoir ... :wink:

Bugs
----
- vérifier le fonctionnement des dates "floues"

Explication de ce point ?

- faire qqch pour le error_reporting= E_ALL. Soit changer le réglage
à la volée dans SPIP (facile et de nature à faire hurler les
ayatollahs :-)), soit éliminer la cause des warnings (plus long !).

Je ne suis pas un "ayatollah", c'est clair, mais j'aimerais bien que
SPIP supporte tout type d'environnement PHP, que ce soit le
register_globals, le error_reporting, le short_open_tag, le safe_mode,
les magic_quotes_*, et j'en passe ...

- restauration d'une sauvegarde : comparer la version du dump avec
la version courante. Si différente, afficher un avertissement.

Peut-être trouver un moyen d'intégrer les données tout de même,
puisqu'on sait à priori ce qui change d'une version à l'autre.

Structure
---------
- centraliser les requêtes MySQL.

C'est fait pour les query, mais pas du tout pour le reste. Je mets à
disposition à qui veut notre script qui tranforme la version CVS de
SPIP en version PEAR DB.

Premier chantier pour permettre ensuite l'utilisation de différents
SGBD.

- Authentification cookie/session_id en sus de l'auth. PHP.
Supprimer l'auth. par htaccess. Eventuellement, se servir de la
nouvelle auth pour des articles en accès restreint (??)

Pour ça, voir les travaux en cours de Fil, que je commenterais à part.

- Les admins restreints : c'est n'importe quoi, [...]

Manque de sécurité, sans doute, mais le principe est bon.

Voir si on peut ajouter des restrictions à certaines rubriques de
droit d'écriture pour les auteurs, sur le même modèle. C'est
fréquemment demandé, et ça évite aux admins de devoir reclasser les
articles proposés aux mauvais endroits.

- il reste pas mal d'endroits ou on parle de vieilleries : par ex,
les statuts "1comite" et "2redac" pour les auteurs... seul "1comite"
est utilise pour les redacteurs.

Pourquoi conserver ces "1comite" et autres, plutôt que de simples id
numériques ?

Voir d'autres réflexions sur l'auth en général dans SPIP, dans un
autre mail.

Espace privé
------------
- Messages d'erreur plus clairs et joliment présentés lors de
l'naalyse de boucles. (via inc_presentation...)

C'est de l'espace public, ça, non ???

- Nettoyer l'espace privé de toutes les horreurs qui traînent.

Précisions ? :wink:

- des htmlspecialchars dans les fichiers xxxxxxx_edit.php3 empêchent
de gérer des textes en alphabets non latins. supprimer ? Ou
remplacer par une fonction dédiée...

Discussions et tests en cours sur différents alphabets, il me semble.

+ mettre le charset utilisé dans spip_meta (pour le japonais ou le
cyrillique)

Attention, il peut y avoir besoin d'un charset par article, donc ne
pas le mettre dans spip_meta ...

- un système de timestamp pour repérer les collisions sur les
articles "sortis pour edition"

Système de verrou, plutôt, le timestamp n'en étant qu'un paramètre.

Espace public
-------------
- un système plus simple de gestion multipages : par exemple un
filtre |page, qui agit sur le #TEXTE mais aussi sur le #NOTES (!),
et gère #NAVIGATION_PAGES.
C'est compliqué : peut-être aurait-on intérêt à gérer le multipages
dans propre() directement ?? Mon idée (Fil) est de stocker tout dans
un seul fichier cache, avec des bouts de code php qui interprète le
?page=2 passé en paramètre.

Je verrais plutôt un moyen d'associer une liste d'articles comme pages
d'un unique article.

Un article maître, qui est la première page, et des articles "pages
suivantes" qu'on lui associe. Ces derniers ne sont pas pris en compte
dans les listes d'articles de la partie publique, et ont une interface
de publication allégée dans la partie privée.

- réintégrer proprement le code de enlettres.php3 (question de
nomenclature, dixit Antoine)

???

- passer des parametres aux fonctions
(exemple : [(#TEXTE|couper(500, "...")|justifier)]
appelle justifier(couper($texte, 500, "...")). )
Meilleure (?) idée de syntaxe : |filtre{50,"..."}
-> filtre($texte,50,"...")

Je verrais plutôt [(#TEXTE|couper;500;"...")] qui serait sans doute plus
simple à gérer.

- inclusions de squelettes : c'est déjà compatible, il faut
maintenant installer la syntaxe nécessaire
A priori : <INCLURE (squelette.php3) {id_rubrique} {id_auteur=5}>
où {...} définit les variables à passer dans le contexte

Attention aux chemins relatifs des fichiers pour ceux qui mettent les
squelettes ailleurs qu'à la racine de SPIP.

- exécution de code lors du calcul de page et non lors de l'appel de
cache : ajouter une syntaxe dédiée <PHP>....</PHP>. Le code est
alors simplement recopié dans le skel_machin.php3 généré, à
l'endroit adéquat.

+1

Filtres
-------
- proposer en standard un filtre qui renvoit un logo par defaut
quand on lui passe une chaine vide (si non vide, renvoit la chaine
qu'on lui passe). Utilisation : [(#LOGO_AUTEUR||logo_auteur_defaut)]

Généraliser à tout type de contenu, remplacé si vide, et utilisable
"en cascade".

Syntaxe proposée par exemple pour gérer l'intro d'un article :
[(#DESCRIPTIF|filtre1)|(#CHAPO|filtre2)|(#TEXTE|filtre3|filtre4)|...]

On gagne ainsi une souplesse énorme ...

Améliorations mail
------------------
- envoyer un mail à l'admin quand un nouveau rédacteur s'inscrit ?

Oui, mais selon choix de(s) l'admin.

- faire que ecrire/ connaisse les inc-urls, pour que les mails
soient plus jolis

Pourquoi pas.

- Pour les mails, changer d'optique : chaque rédacteur décide, dans
sa config perso, s'il reçoit par mail (choix dans un menu) [...]

+1

Au lieu d'envoyer tout de suite les mails, spip procèderait comme
suit [...]

+1

- pouvoir personnaliser les mails automatiques

Par l'usage d'un squelette, ça ne doit pas être trop compliqué, à
priori.

- utiliser (en dernier recours ???) la classe smtp.inc pour envoyer
le mail via SMTP plutôt que via la fonction mail()

+1

N'importe quand
---------------
- Dans l'exécution des squelettes, si une requête échoue, faire un
SELECT(*) FROM table et si échec, faire un REPAIR TABLE table.

Attention aux spécificités MySQL. Plutôt envoyer un mail à l'admin.

- dans les squelettes, plus grande souplesse dans l'utilisation des
minuscules et des majuscules.

Non, trop de liberté complique les traitements et ralenti l'ensemble.
Un peu de fermeté dans ce domaine ne gène pas.

- classer par popularité, popumix....

Et gestion de "notes" attribuées aux articles par les visiteurs, donc.

Fonctionnalités importantes à étudier
-------------------------------------
- Internationalisation.

Attention, deux chantiers ici :
- internationalisation de l'interface de publication
- possibilité de gérer des sites en toute langue, voir plusieurs

- Possibilité d'uploader des fichiers XML pour mettre à jour les
articles

+1

Voilà pour l'instant ... :wink:

-Nicolas

Salut à tous,

Bonjour,
voici quelques réflexions sur la todo-list actuelle de SPIP.

(...)

Juste un petit mot pour dire que je suis (comme nombre d'entre nous sans
doute) d'accord avec Nicolas, mais qu'il faudrait aussi avoir une
"roadmap" (un "chemin de faire" comme disent mes cousins québécois) pour
savoir si on veut ceci ou cela pour SPIP 1.4, 1.5, 2.0,... Je ne parle
pas de date de sortie, juste de priorisation.

Dans tous les projets opensource/GPL on vit des flamewares gigantesques
au sujet du mode de développement, cf le noyau linux pour un bel
exemple. Pour (tenter de) les éviter sur SPIP, ça serait bien qu'il y ai
un consensus pas trop mou autour des directions que SPIP doit prendre.
Ou du moins que ces directions soient assez claires pour nous permettre
de balancer des RTFM sur la liste :wink:

Exemple (vous en faites ce que vous voulez, je vais pas trop la ramener
vu que j'ai jamais participé réelement au développement) :

1.4 : finaliser la nouvelle superbe interface (j'aime !)
1.5 : internationalisation de l'interface
1.6 : ? release avec des nouveautés pour faire patienter avant 2.0 :wink:
2.0 : système multi-site (un seul spip pour n site)
2.1 : pear avec multi-sgbd : mysql, postgresql, oracle, ...
3.0 : internationalisation complete (articles traduits)

Et puis si la 3.0 pouvait sortir en aout, ça serait le top. Comment ça
vous avez autre chose à faire ? Pffff... vraiment payés à rien foutre
ces mecs... :wink:

a+

Hello,

il faudrait aussi avoir une "roadmap"

+1

Exemple [...] :
1.4 : finaliser la nouvelle superbe interface (j'aime !)
1.5 : internationalisation de l'interface
1.6 : ? release avec des nouveautés pour faire patienter avant 2.0 :wink:
2.0 : système multi-site (un seul spip pour n site)
2.1 : pear avec multi-sgbd : mysql, postgresql, oracle, ...
3.0 : internationalisation complete (articles traduits)

Je verrais plutôt ce qui suit, selon la numérotation "classique"
Majeure.mineure.bugfix :

1.4.0 : finaliser travaux en cours = gestion des docs, nouvelle
        interface, auth par cookie, bugs "ouverts", ...

Ensuite, soit on accepte (enfin) de laisser tomber la compatibilité
PHP3 et on passe à :

2.0.0 : intégration PEAR DB, compatibilité "tous" SGBD
2.1.0 : internationalisation interface
2.2.0 : gestion différentes versions d'un article par langues

Soit on conserve la compatibilité PHP3 et on a sensiblement la même
chose, en gardant le passage à la 2.0 pour plus tard :

1.5.0 : internationalisation interface
1.6.0 : gestion différentes versions d'un article par langues

etc ...

-Nicolas

Bonjour,

Hello,

Ensuite, soit on accepte (enfin) de laisser tomber la compatibilité
PHP3

Il me semble prématurer de laisser tomber cette compatibilité avant
disons 1 an.

Quelques points dans le désordre pour justifier mon opinion en la
matière :

- j'utilise PHP4 en production sans problème depuis fin 1999
- PHP5 est sur les rails
- la plupart des hébergeurs, même gratuits, supportent PHP4
- PHP4 est nativement 10 fois plus rapide que PHP3
- PHP4 apporte de nombreuses fonctionnalités bien utiles
- PHP4 permet d'utiliser PEAR pour simplifier pas mal de choses, dont
  principalement (pour l'instant) au niveau de l'abstraction BDD
- ...

Je connais beaucoup de serveurs qui ne disposent que de php3.

Abandonner la compatibilité PHP3 pour une 2.0.x ne signifie pas que
les éventuels bugs résiduels de la 1.4 ne seront plus jamais corrigés,
mais juste que les serveurs sous PHP3 seront limités fonctionnellement
à cette 1.4.x

Il me semble qu'être ainsi "limité" n'est pas si grave, vu le nombre
de sites qui tournent déjà très bien en 1.3 ...

-Nicolas

Ha oui lesquels ?

En réponse à Yannick Patois <patois@calvix.org>:

Bonjour,

> Ensuite, soit on accepte (enfin) de laisser tomber la compatibilité
> PHP3 et on passe à :

Il me semble prématurer de laisser tomber cette compatibilité avant
disons
1 an.
Je connais beaucoup de serveurs qui ne disposent que de php3.

  Yannick

--
_/ Yannick Patois _________________ Address (home) __________________
> irc(undernet): Garp on #france25+ | 17, rue du Tonkin
>
> email : patois@calvix.org | Apt. 9G, 3iem
>
> http://garp.feelingsurfer.net/ | 69100 Villeurbanne
>
> Tel-home: +33 (0)4 78 89 76 47 | FRANCE
>
> http://www.gauche-autrement69.org - A Gauche autrement dans le Rhone
>

_______________________________________________
spip-dev@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-dev

From patois@calvix.org Wed Jun 5 16:01:20 2002

Return-Path: <patois@calvix.org>
Received: from mail.sicfa.com (ns.sicfa.org [212.43.217.38])
  by miel.brainstorm.fr (Postfix) with ESMTP id 822751C41C
  for <spip-dev@rezo.net>; Wed, 5 Jun 2002 16:01:20 +0200 (CEST)
Received: by mail.sicfa.com (Postfix, from userid 507)
  id 8A5A81656A; Wed, 5 Jun 2002 14:55:43 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
  by mail.sicfa.com (Postfix) with ESMTP id 8925A16551
  for <spip-dev@rezo.net>; Wed, 5 Jun 2002 14:55:43 +0200 (CEST)
X-X-Sender: <patois@ns.sicfa.org>
In-Reply-To: <1023285409.3cfe18a105023@imp.free.fr>
Message-ID: <Pine.LNX.4.33.0206051454040.11319-100000@ns.sicfa.org>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=iso-8859-1
Content-Transfer-Encoding: 8BIT
X-BeenThere: spip-dev@rezo.net
X-Mailman-Version: 2.1b1
Precedence: bulk
List-Help: <mailto:spip-dev-request@rezo.net?subject=help>
List-Archive: http://listes.rezo.net/archives/spip-dev/
List-Unsubscribe: <http://listes.rezo.net/mailman/listinfo/spip-dev>,
  <mailto:spip-dev-request@rezo.net?subject=unsubscribe>
List-Subscribe: <http://listes.rezo.net/mailman/listinfo/spip-dev>,
  <mailto:spip-dev-request@rezo.net?subject=subscribe>
List-Post: <mailto:spip-dev@rezo.net>
List-Id: SPIP : developpement <spip-dev.rezo.net>
X-List-Received-Date: Wed, 05 Jun 2002 14:01:20 -0000
Status: O
Content-Length: 181
Lines: 6