Salut tout le monde,
Je commence (vaguement) à piger le fonctionnement de MySQL. Je me suis
entraîné avec 2 modules pour SPIP.
Config de la base
Salut tout le monde,
Je commence (vaguement) à piger le fonctionnement de MySQL. Je me suis
entraîné avec 2 modules pour SPIP.
Config de la base
Salut,
Dans le mail précédent, je suggérais qu'on utilise la définition des
rubriques des tables pour fabriquer l'interface de rédaction des articles.
Ca pourrait donc donner ça:
http://www.scarabee.com/SPIP/spip_ecrire.php3
(ne vous inquiétez pas, ça ne fonctionne pas du tout, ça se contente de
fabriquer l'interface graphique en fonction de chaque table).
Si vous fabriquez vos propres tables, avec différentes rubriques, vous
pourrez visualiser une mise-en-page adaptée. Bon, pour l'instant c'est
minimaliste, y'a moyen de s'amuser (et surtout de mettre derrière le
système de raccourcis SPIP de Laz).
Amicalement,
ARNO*
Le Scarabée: http://www.scarabee.com
Salut tout le monde,
Avant de continuer sur cette voie, Arno, je crois qu'il est urgent que tu
te synchronises avec Erwan. Bon, a priori on s'oriente donc vers une base
MySQL pour stocker les articles et c'est sans doute pas plus mal.
Par contre, je suis pas sûr que ce soit une bonne idée de laisser à chacun
le soin de définir ses propres tables, pour quelqu'un qui n'a pas de
compétences en bases de données ce sera vite incompréhensible. Si je me
souviens bien du dump mySQL de l'Ornitho que m'avait filé Erwan, ses
tables sont suffisamment complètes pour permettre tous les cas de figure
(ou alors il suffit juste de quelques adaptations pour que ce soit le
cas).
Donc j'aurais plutôt tendance à dire qu'il faut partir d'un shema de base
de données pré-défini calqué sur celui d'Erwan, et construire l'interface
Web en enrichissant celle d'Erwan (en y ajoutant par exemple mon systeme
de raccourcis).
Laz
Salut tout le monde,
Avant tout, je vous signale que David rejoint la liste de discussion SPIP.
A sa demande, sa présence ici et tout ce qu'il pourrait imaginer faire de
son côté d'un truc comme SPIP est confidentiel
Il se propose comme béta-testeur mais, en attendant d'avoir le moindre truc
exploitable, il est toujours bon d'avoir son avis sur ce qu'on fait. Au
fait, David, si je ne me trompe, la dernière fois que tu as fait du HTML,
c'était pour Mosaic, non?
[Technique:]
PHP est un langage de programmation directement intégré au code HTML.
Contrairement à Javascript, il est exécuté au niveau du serveur, et le
client n'en perçoit donc que le résultat (du HTML tout ce qu'il y a de plus
standart). Dans la construction, c'est assez similaire au langage PERL,
mais avec un gros avantage: comme c'est directement intégré aux pages HTML,
ça ne nécessite plus de passerelles CGI. Du coup, ça se répand très vite,
et on peut espérer le voir sur de nombreux hébergeurs gratuits très
bientôt. De plus, dans notre cas, ça permettra de livrer un seul et unique
dossier (contenant les fichiers PHP) que le webmestre devra installer sur
sa machine, sans chercher où installer des scripts CGI. Si tu n'as aucune
idée de ce que c'est, tu peux lire la rubrique "Principes généraux" de la
présentation des Server Side Includes que j'ai fait sur le Scarabée:
http://www.scarabee.com/TRANCHES/SSI/publicvise.shtml
PHP un langage très différent des SSI, beaucoup plus complet, structuré et
souple, mais le principe général est similaire (des commandes intégrées aux
pages HTML exécutées sur le serveur avant de livrer les fichiers au client).
mySQL est un serveur de bases de données qui s'interroge avec les commandes
du langage SQL (utilisé par les bases de données relationnelles). Il est
gratuit (à ma connaissance, pas en GPL, mais gratuit), et peut être
directement contrôlé avec PHP. Son choix vient du fait qu'il se répand, lui
aussi, très vite sur les serveurs gratuits.
Je fais un petit résumé de nos avancées respectives...
- Lazuly
Le premier a avoir lancé l'idée SPIP. A développé un système de connexions
multiples pour le travail coopératif (David l'a déjà essayé à l'époque); et
un système de "raccourcis" SPIP, une sorte de pseudo-HTML qui permet de
simplifier quelques commandes de mise en page. Gère déjà, "au quotidien"
(enfin, au quotidien d'il y a quelques mois) le Menteur avec ce genre
d'interface. C'est du pur PHP avec des tableaux en mode texte.
- Erwan
Lui, c'est une interface PHP-mySQL (mySQL étant une base de donnée plus ou
moins libre qui tend à devenir un complément à PHP sur de nombreux
serveurs... pour l'instant, pas tellement disponible sur les hébergeurs
gratuits, mais ça vient: Altern propose PHP2-mySQL, donc un poil dépassé,
mais devrait prochainement se mettre à jour; le FAI gratuit Free propose,
quant à lui, 100Mo avec PHP-mySQL). L'Ornitho utilise un système
intéressant: gestion et création du site par le couple PHP-mySQL; de plus
les pages HTML ne sont pas dynamiques, elles sont générées une bonne fois
pour toutes, ce qui supprime les problèmes qu'on peut rencontrer avec les
moteurs de recherche.
- Fil
A l'habitude depuis très longtemps d'un site extrêmement complexe et lourd
entièrement géré "automatiquement" (le Diplo, pour sûr). Ca n'est ni PHP ni
une base de donnée, mais ça fonctionne (j'ai jamais vu un truc aussi
compliqué, m'enfin...). D'excellentes idées sur tout, et des compétences
inédites (dernièrement: transformer automatiquement les cahiers du Diplo
en texte imprimable sous LaTeX). Ensemble on a programmé un truc pour
générer les cahiers du Diplo à partir d'un tableau Excel et de fichiers
textes tous cons (du coup ces cahiers à structure plutôt complexe sont
créés directement par une jeune journaliste qui n'a aucune compétence en
matière de webmestria).
- ARNO*
Avec Fil j'ai programmé le truc pour les cahiers du Diplo. Depuis peu je
m'oriente vers mySQL, avec des idées très arrêtées qui ont le don de
ralentir tout le processus.
Aux dernières nouvelles...
- On s'oriente vers un processus PHP-mySQL, comme le fait déjà Erwan, ce
qui semble offrir le plus de puissance et de souplesse (et, à mon avis, la
plus grande facilité de programmation).
- J'ai proposé de découper SPIP en différents "modules" (aussi bien pour
l'interface utilisateur que pour la programmation); Laz était parti sur une
version où tout était, plus ou moins, intégré dans une unique et très
longue page PHP, difficile à partager.
- Comme Laz n'a pas protesté, je suppose que c'est acquis: SPIP sera en GPL
(en particulier: aucune restriction quant aux sites qui l'utiliseront).
- Ma dernière proposition, ce sont deux modules pour gérer la base de
données. C'est de ça qu'on discute avec Laz...
(Je réponds à Laz dans le courrier suivant.)
ARNO*
Le Scarabée: http://www.scarabee.com
Bon, a priori on s'oriente donc vers une base
MySQL pour stocker les articles et c'est sans doute pas plus mal.
Oui. Franchement, j'imagine mal, maintenant que j'y ai goûté, une autre
solution. Non seulement mySQL est plus puissant que nos bases gérées à la
main, surtout ça simplifie considérablement le travail. A mon avis, ça nous
ouvre même des possibilités que l'utilisation seule de PHP rendaient très
très complexes.
Il me semble que la base peut servir à bien plus que simplement "stocker"
les articles, mais aussi à effectuer directement la gestion de la structure
du site et des articles.
Par contre, je suis pas sûr que ce soit une bonne idée de laisser à chacun
le soin de définir ses propres tables, pour quelqu'un qui n'a pas de
compétences en bases de données ce sera vite incompréhensible.
Euh, oui, plutôt d'accord.
A ma connaissance, le module d'initialisation de la base de données est
plus ou moins indispensable: sur la plupart des serveurs, on est obligé de
demander à l'utilisateur, au tout début, où est son serveur de BdD ainsi
que les login et password. Valentin m'a dit que sur Altern, on peut mettre
absolument n'importe quoi, de toute façon toute connexion mySQL depuis une
page sur Altern se connecte automatiquement au bon endroit avec les bonnes
variables (quoi qu'on ait indiqué); dans la finalisation, on pourra tenter
des tests automatiques avant de proposer l'interface de personnalisation à
l'utilisateur.
Pour le module de configuration des tables de la base, je suis d'accord,
c'est trop compliqué pour le webmestre lambda. Mais je crois que c'est
intéressant de le conserver pour deux choses:
(1) pour ceux qui voudraient vraiment personnaliser à mort leur version de
SPIP (nous en premier); là il faudrait qu'ils soient un poil calés, qu'ils
lisent la doc; mais en tout cas ce sera toujours plus simple qu'à la main.
A terme, je voudrais arriver à un truc du genre d'UNGItrombi, qui est
vraiment très très puissant pour interfacer un site avec une base de
données;
(2) j'en ai besoin pour moi-même, et ça pourra être utile pour configurer
une base de données (même hors SPIP): par exemple, là je vais essayer de
faire un site pour Vuibert, et j'ai besoin de personnaliser, justement,
totalement, une base de données; une telle interface me serait donc très
pratique.
Je souhaite vraiment qu'on ne se limite pas à notre propre version du
webzine et à nos structures à nous. J'espère pouvoir utiliser SPIP aussi
bien pour un forum ou pour un site de cinéma (filmographies, etc.). Et là
il faut forcément personnaliser la base de données.
Pour ce module, je vois deux évolutions à terme:
(1) pour le webmestre "lambda", cette interface n'apparaît pas: on lui
propose des "modèles" de structure de site (comme on le fera pour des
"modèles" d'interface graphique), et les bases seront paramétrées
directement; exit l'interface de bases de données pour ceux qui n'ont pas
le niveau;
(2) pour l'instant, j'ai mis du vocabulaire strictement lié aux bases de
données (c'est plutôt mnémotechnique); en fait, il faudrait utiliser un
vocabulaire plus orienté vers le type de contenu (remplacer "BLOB" par
"paragraphe de texte", "LONGBLOB" par "texte long", enfin des trucs
explicites quant au contenu). L'interface elle-même est pour l'instant
totalement balbutiante.
Si je me
souviens bien du dump mySQL de l'Ornitho que m'avait filé Erwan, ses
tables sont suffisamment complètes pour permettre tous les cas de figure
(ou alors il suffit juste de quelques adaptations pour que ce soit le
cas).
Pas d'accord: la structure de l'Ornitho correspond très exactement à notre
vision d'un webzine, mais c'est figé. Il manque en particulier: les
enchaînements récursifs (rubrique, sous-rubrique, sous-sous-rubrique, etc.
de plus, pas forcément selon une hiérarchie "en arbre") et les bases
croisées (par exemple: l'auteur serait sélectionné dans une liste d'auteurs
possédant leur propre fiche). J'ai pas encore programmé ça, mais il me
semble qu'on peut utiliser une subtilité de la base de données SQL
("FOREIGN KEY", non exploitée par mySQL, mais tout de même conservée) pour
gérer ça de manière très automatisée (par exemple, dans l'interface pour
entrer un article, un menu déroulant propose directement une liste
d'auteurs récupérée dans la base "Auteurs").
Par exemple, quelque chose d'aussi simple que les cahiers du Diplo ne
doivent pas être gérables directement avec le système de l'Ornitho.
Donc j'aurais plutôt tendance à dire qu'il faut partir d'un shema de base
de données pré-défini calqué sur celui d'Erwan, et construire l'interface
Web en enrichissant celle d'Erwan (en y ajoutant par exemple mon systeme
de raccourcis).
Oui si on veut livrer une première version très rapidement exploitable.
Mais est-ce que ça urge?
Ce que je crains, c'est que si on livre un première version bricolée ainsi,
on risque d'avoir un mal fou à conserver la compatibilité avec des versions
suivantes.
Laz, est-ce que tu prévois de venir bientôt à Paris? Une réunion me
semblerait très très utile pour s'expliquer avec des petits dessins sur des
coins de serviettes.
Amicalement,
ARNO*
Le Scarabée: http://www.scarabee.com
Hello,
Il me semble que la base peut servir à bien plus que simplement "stocker"
les articles, mais aussi à effectuer directement la gestion de la structure
du site et des articles.
Oui, bien sûr.
Oui si on veut livrer une première version très rapidement exploitable.
Mais est-ce que ça urge?
Non, ça urge pas vraiment. Faut mieux faire quelque chose de solide qu'un
truc vite fait qu'on pourra pas faire évoluer.
Laz, est-ce que tu prévois de venir bientôt à Paris? Une réunion me
semblerait très très utile pour s'expliquer avec des petits dessins sur des
coins de serviettes.
Ah, ces Parisiens... On aurait pu aussi faire un séminaire Spip au bord de
l'eau (aujourd'hui, il fait un temps splendide et assez doux, on aurait
même pu faire une réunion à la plage). Je suis d'accord, une réunion
serait fort utile, mais pour le moment j'ai pas de passage à Paris de
prévu. Mais de toute façon faut peut-être mieux attendre le retour de Fil?
Laz
* ARNO* (arno@scarabee.com) écrivait :
- Fil
A l'habitude depuis très longtemps d'un site extrêmement complexe et lourd
entièrement géré "automatiquement" (le Diplo, pour sûr). Ca n'est ni PHP ni
une base de donnée, mais ça fonctionne (j'ai jamais vu un truc aussi
compliqué, m'enfin...). D'excellentes idées sur tout, et des compétences
inédites (dernièrement: transformer automatiquement les cahiers du Diplo
en texte imprimable sous LaTeX). Ensemble on a programmé un truc pour
générer les cahiers du Diplo à partir d'un tableau Excel et de fichiers
textes tous cons (du coup ces cahiers à structure plutôt complexe sont
créés directement par une jeune journaliste qui n'a aucune compétence en
matière de webmestria).
Eh oui, le besoin de SPIP est grand ici, car on n'a pas les millions de nos
confrères... J'aimerais d'ailleurs qu'on améliore les fontes du cahier TeX
et qu'on voie comment intégrer des images dans le PDF. Aucune idée ?
Est-ce que l'un /plusieurs/ d'entre vous souhaitent se faire un peu d'argent
en installant SPIP dans des médias (par ex. un coup de main au Diplo, à
algeria-interface ou autres) ? Si oui, ça serait bien qu'on sache qui
accepte, pour envoyer les demandes (je suis dans une position idéale pour en
être submergé).
ARNO* a écrit :
Salut tout le monde,
Je commence (vaguement) à piger le fonctionnement de MySQL. Je me suis
entraîné avec 2 modules pour SPIP.Config de la base
---------------
http://www.scarabee.com/SPIP/spip_config_db.php3Ce module est destiné à configurer les réglages de connexion au serveur de
base de donnée (pour le "mysql_connect"). A priori, chaque webmestre devra
récupérer ces informations auprès de son hébergeur.1er écran
Sur la première page, il faut entrer l'adresse du serveur mySQL, ainsi que
son propre login et password.
(Bon, je vous les file pas, ce sont ceux du Scarabée
(...)
Salut à tous,
Je me suis connecté serveur de news spi-dev il y a quelques jours et je réalise aujourd'hui que le premier des 30000 messages (à peu près) date d'il y a 5 ans et une paire d'heures (10/2/2000)...
Alors, voilà:
- aux parents de SPIP, MERCI
- à tous, JOYEUX ANNIVERSAIRE SPIP !
Suske
Suske a écrit :
> je réalise aujourd'hui que le premier des 30000 messages (à peu près) date
d'il y a 5 ans et une paire d'heures (10/2/2000)...
Autant pour moi, c'était le 28/1/2000 et il y a 25000 messages. Pour le reste je maintiens