Outils d'administrations

Bonjour,

J'administre des centaines de sites SPIP (1.9.2) dans des serveurs
virtuels différents. Je me demandais, avant d'en développer moi-même
s'il existait déjà un tel paquet de scripts pour simplifier
l'administration de SPIP au command line?

J'ai déjà commencé à en développer un ou deux à la longue mais rien
n'est centralisé/cohérent. Si rien n'existe pour combler mon besoin, je
songe à pousser le développement d'une suite d'outils et à les diffuser
en open source.

--
Gabriel Filion

Le 24/02/2010 16:21, Gabriel Filion a écrit :

Bonjour,

J'administre des centaines de sites SPIP (1.9.2) dans des serveurs
virtuels différents. Je me demandais, avant d'en développer moi-même
s'il existait déjà un tel paquet de scripts pour simplifier
l'administration de SPIP au command line?

J'ai déjà commencé à en développer un ou deux à la longue mais rien
n'est centralisé/cohérent. Si rien n'existe pour combler mon besoin, je
songe à pousser le développement d'une suite d'outils et à les diffuser
en open source.

Bonjour,
Ca serait vachement bien... ca prendrait en charge quoi ?
J ai quelques scripts qui permettent de faire des sauvegardes distantes, restaurations locales, des synchronisations de fichiers en passant par ssh, capistrano (c est pratique ce truc, mais pas present par defaut sur un hebergement standart) et ANT sous eclipse pour lancer les batchs. Mais pareil, c est pas très finalisé ni distribuable en l etat... Mais ca simplifie deja pas mal le déploiement et la maintenances de mes sites. Je peux te passer les scripts si tu veux, je peux également proposer mes maigres compétences dans le domaine pour mettre un truc vraiment au point...
Triton

En fait, la génération de PDF depuis du HTML/CSS reste un besoin très
spécifique, notamment parce les PDF sont souvent utilisés pour une
présentation simplifiée

Pour tes scripts, fais un petit wiki ou un article sur spip-contrib sur le
sujet :wink:

-----Message d'origine-----
De : triton [mailto:triton@pointcentral.net]
Envoyé : jeudi 25 février 2010 09:41
À : spip@rezo.net
Objet : Re: [Spip] Outils d'administrations

Le 24/02/2010 16:21, Gabriel Filion a écrit :

Bonjour,

J'administre des centaines de sites SPIP (1.9.2) dans des serveurs
virtuels différents. Je me demandais, avant d'en développer moi-même
s'il existait déjà un tel paquet de scripts pour simplifier
l'administration de SPIP au command line?

J'ai déjà commencé à en développer un ou deux à la longue mais rien
n'est centralisé/cohérent. Si rien n'existe pour combler mon besoin, je
songe à pousser le développement d'une suite d'outils et à les diffuser
en open source.

Bonjour,
Ca serait vachement bien... ca prendrait en charge quoi ?
J ai quelques scripts qui permettent de faire des sauvegardes distantes,
restaurations locales, des synchronisations de fichiers en passant par
ssh, capistrano (c est pratique ce truc, mais pas present par defaut sur
un hebergement standart) et ANT sous eclipse pour lancer les batchs.
Mais pareil, c est pas très finalisé ni distribuable en l etat... Mais
ca simplifie deja pas mal le déploiement et la maintenances de mes
sites. Je peux te passer les scripts si tu veux, je peux également
proposer mes maigres compétences dans le domaine pour mettre un truc
vraiment au point...
Triton
_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

On 02/25/2010 04:12 AM, Samy Rabih wrote:

En fait, la génération de PDF depuis du HTML/CSS reste un besoin très
spécifique, notamment parce les PDF sont souvent utilisés pour une
présentation simplifiée

??

Pour tes scripts, fais un petit wiki ou un article sur spip-contrib sur le
sujet :wink:

Bonne idée, le tout devrait être accessible sur spip-contrib quand ce
sera pret. Je n'ai absolument rien de "présentable" pour l'instant, par
contre.

ca prendrait en charge quoi ?

Pour l'instant j'ai changement de configuration dans spip_meta, création
d'articles, de rubriques, de sites référencés et d'auteurs. (les
créations me sont utiles pour faire un remplissage de base sur les sites
générés)

J ai quelques scripts qui permettent de faire des sauvegardes distantes,
restaurations locales, des synchronisations de fichiers en passant par
ssh, capistrano (c est pratique ce truc, mais pas present par defaut sur
un hebergement standart) et ANT sous eclipse pour lancer les batchs.

Tout ce qui touche le backup de base de données et fichiers serait génial.

Mais pareil, c est pas très finalisé ni distribuable en l etat... Mais
ca simplifie deja pas mal le déploiement et la maintenances de mes
sites. Je peux te passer les scripts si tu veux, je peux également
proposer mes maigres compétences dans le domaine pour mettre un truc
vraiment au point...

Super, j'ai déjà créé un projet vide sur github:

Je me servirai de cet endroit pour gérer le code. Donc en premier lieu,
je crois que pour pouvoir rassembler les scripts en quelque chose
d'utilisable, il faudrait créer un "point d'entrée" flexible qui
permette l'ajout simple de scripts personnalisés.

Pour l'instant, j'utilise des scripts shell pour appeler des scripts PHP
qui se chargent d'interagir avec Spip. Si je ne me trompe pas, certaines
personnes sont hébergées sous Windows. Il faudrait donc que ça soit
accessible sous Linux et Windows. PHP pourrait être le langage utilisé
pour le point d'entrée. Est-ce que ça semble raisonnable?

--
Gabriel Filion

On 03/02/2010 03:13 AM, triton wrote:

Pour la question des sauvegardes, restaurations automatique, je pense qu
on ne peut pas faire autrement que passer par du ssh, je ne pense pas
que le php te permettra de copier une sauvegarde sql de ton site de prod
a ton site local.

Bien entendu, il faut utiliser un moyen de transfert de fichier comme
ssh, ftp pour récuprérer une copie de sauvegarde.

En fait, ma question à propos du langage portait plustot sur la question
de quoi utiliser pour programmer l'outil d'administration.

PHP offre la possibilité sur Linux, Solaris, *BSD et Windows (voir
PHP: Running PHP on the command line on Windows systems - Manual pour le
dernier) de rouler des scripts php à partir de la ligne de commande --
en opposition à les rouler sous un serveur web.

J'ai proposé d'utiliser PHP pour le développement pour les raisons
suivantes:

* C'est le langage utilisé par Spip, donc il serait plus simple de
réutiliser ses routines.
* PHP s'exécute tant sur Linux que sur Windows.

J ai du installer beaucoup de trucs pour pouvoir effectuer les
svg/restauration, et deploiement automatique... de memoire :
ssh, capistrano, rsync...

En fait, le but de ma proposition n'est pas de remplacer l'accès ssh,
l'utilisation de capsitrano ou de rsync.

Le but d'avoir un outil d'administration en command-line est de
simplifier la tâche aux administrateurs systèmes en proposant un moyen
d'effectuer des tâches d'administration de site comme:

* le changement de mots de passe pour un utitilisateur
* la génération/la restauration de backup
* la génération de contenu
* l'installation/la désinstallation de plugins
* le nettoyage des caches
* [...]

le tout sans avoir à passer par l'interface web de Spip (dans mon cas,
ça n'est vraiment pas envisageable puisque ce serait à répéter des
centaines de fois pour la même opération).

La gestion des sites via ssh, rsync, git, capistrano, etc. reste tout à
fait souhaitable.

Donc pour donner un exemple de ce que j'aimerais faire avec cet outil,
voici un exemple de commande que j'aimerais pouvoir utiliser:

  $ spip-admin content change-status poubelle 12 14 82 120
  $ spip-admin cache clear

où la première commande devrait envoyer les articles 12, 14, 82 et 120 à
la poubelle, et la deuxième commande viderait les caches de spip.

et pour commencer un poste sous linux, parce
que ssh sous windows, c est pas terrible (meme avec cygwin)... Je ne
vois pas trop comment rendre ca generique...

Pour ça, un petit conseil: pour ce qui est de l'accès ssh pour le
command-line, essaie Putty (
Download PuTTY: latest release (0.81) ), il
fonctionne très bien.

Et pour le transfert de fichiers, ssh le permet via soit scp, soit sftp.
Voir les outils suivant pour Windows:

* WinSCP :: Official Site :: Download
* Download FileZilla Client for macOS (Intel)

--
Gabriel Filion

On 02/24/2010 10:21 AM, Gabriel Filion wrote:

J'administre des centaines de sites SPIP (1.9.2) dans des serveurs
virtuels différents. Je me demandais, avant d'en développer moi-même
s'il existait déjà un tel paquet de scripts pour simplifier
l'administration de SPIP au command line?

J'ai déjà commencé à en développer un ou deux à la longue mais rien
n'est centralisé/cohérent. Si rien n'existe pour combler mon besoin, je
songe à pousser le développement d'une suite d'outils et à les diffuser
en open source.

J'ai enfin trouvé un peu de temps pour développer une base utilisable.

Ce que j'ai pour l'instant:

* Un script "spip-admin" qui présente un message d'aide de base,
recherche les commandes disponibles dans un sous-répertoire "commands"
et passe le flambeau au script de commande.
* Un module pour faciliter l'utilisation des arguments de commande. Il
mime l'interface du module "optparse" de Python.
* Les fondations de traduction. La traduction n'est présentement pas
fonctionnelle mais il manque un méchanisme de détection de ce qui est
possible à utiliser. (si je ne me trompe pas, gettext n'est pas
disponible sous Windows)

Ce qui manque à la base:

* terminer la portion traduction de texte.
* peaufiner le module "optparse.php" pour offrir des fonctionnalités
plus complexes
* ajouter des scripts pour les commandes!
* ajouter beaucoup de commentaires. le code n'est pas très bien expliqué
pour l'instant.

Il y a présentement un exemple de script de commande nommé "version". Il
ne fait rien d'intéressant. Il sert présentement à démontrer
l'utilisation du module d'arguments. Il ajoute une option "--booh".

Vous pouvez l'appler comme ceci (à partir du répertoire de code):

    ./spip-admin version --booh

Il est donc possible de commencer à ajouter des scripts pour différentes
tâches d'administration.

Donnez-moi également vos commentaires sur le code!

--
Gabriel Filion

* Gabriel Filion tapuscrivait, le 11/03/2010 22:00:

On 02/24/2010 10:21 AM, Gabriel Filion wrote:

J'administre des centaines de sites SPIP (1.9.2) dans des serveurs
virtuels différents. Je me demandais, avant d'en développer moi-même
s'il existait déjà un tel paquet de scripts pour simplifier
l'administration de SPIP au command line?

J'ai déjà commencé à en développer un ou deux à la longue mais rien
n'est centralisé/cohérent. Si rien n'existe pour combler mon besoin, je
songe à pousser le développement d'une suite d'outils et à les diffuser
en open source.

J'ai enfin trouvé un peu de temps pour développer une base utilisable.

GitHub - lelutin/spip-admin: SPIP maintenance made easy on the command line

Ce que j'ai pour l'instant:

* Un script "spip-admin" qui présente un message d'aide de base,
recherche les commandes disponibles dans un sous-répertoire "commands"
et passe le flambeau au script de commande.
* Un module pour faciliter l'utilisation des arguments de commande. Il
mime l'interface du module "optparse" de Python.
* Les fondations de traduction. La traduction n'est présentement pas
fonctionnelle mais il manque un méchanisme de détection de ce qui est
possible à utiliser. (si je ne me trompe pas, gettext n'est pas
disponible sous Windows)

À la lecture de ce thread, je me demande si tout cela n'aurait pas sa place dans le plugin de mutualisation facile de SPIP.
En tout cas, ç semble en être un complément intéressant !

Pour tes centaines de sites, tu utilises la mutualisation du code source de SPIP ?

-- RealET

On 03/11/2010 04:31 PM, RealET wrote:

À la lecture de ce thread, je me demande si tout cela n'aurait pas sa
place dans le plugin de mutualisation facile de SPIP.

Je ne connais pas ce plugin, mais il est bon de savoir que du code
existe déjà pour la gestion de mutualisation.

Je crois cependant que l'outil d'administration que je créé doit être
complètement indépendant de spip -- donc ne pas être un plugin -- pour
qu'il soit en mesure d'installer n'importe quelle version de spip à
partir du vide (une archive du code de spip pas décompressée par exemple).

J'examinerai le code du plugin de mutualisation dans les prochains
jours, merci pour la suggestion.
J'ai justement eu une discussion intéressante sur le provisioning de
SPIP et l'inclusion de ce provisioning dans le projet Aegir
(http://groups.drupal.org/aegir-hosting-system). Ce projet est
présentement axé spécifiquement sur Drupal mais n'exclue en rien l'idée
de déployer d'autres CMS comme SPIP.

En tout cas, ç semble en être un complément intéressant !

Je ne réinvente pas le concept: "drush" fait sensiblement la même chose
pour Drupal et jusqu'à maintenant, il a rendu la vie des administrateurs
de Drupal vraiment simple. Je veux simplement faciliter la vie aux
administrateurs de SPIP de la même façon.

Pour tes centaines de sites, tu utilises la mutualisation du code source
de SPIP ?

A cause de certains choix d'affaires, non je n'utilise pas la
mutualisation pour l'instant.

--
Gabriel Filion