Conseils pour créer des auteurs par programme

Bonjour,
Quelle est la meilleure manière de créer des auteurs (des visiteurs, en fait), avec un login et un mot de passe, par un script php à partir de données externes.
Ces données ne sont pas dans un fichier, ni dans un annuaire LDAP ou autre, et il faut donc vraiment insérer des lignes dans la table spip_auteurs.
Peut-on utiliser des fonctions de ecrire/action ou ecrire/auth, et si oui, existe-il un mode opératoire général pour cela ? Je suppose qu’il faut tenir compte des exigences de sécurité, mais je ne vois pas comment exactement.
Merci pour toute piste.

Peut-être que ce plugin (archivé) pourrait être source d’inspiration : spip-contrib-extensions / csv2auteurs · GitLab

Je déplace le sujet dans la catégorie « Général » plus adaptée aux questions d’entre-aide :slightly_smiling_face:

Il n’y a pas une documentation qui indique les conditions pour appeler certaines fonctions ? Il faut par exemple que _ECRIRE_INC_VERSION soit défini et apparemment utiliser des include_spip, mais sans guide c’est vraiment difficile de savoir ce qu’il faut faire exactement…

Est-ce que le besoin sera récurrent ? L’import des auteur·ices par différentes personnes ?
Sinon, ce serait peut-être plus simple d’importer directement les auteur·ices dans la BDD avec phpmyadmin ou adminer ?

Une autre piste, c’est d’utiliser spip-cli qui dispose d’une commande de création d’auteurs : src/Command/AuteursCreer.php · master · spip-contrib-outils / spip-cli · GitLab

Si tu veux récupérer des mots de passe, il faut que tu utilises obligatoirement l’API de spip d’edition des auteurs : action/editer_auteur.php · 5.x · spip / ecrire · GitLab
Pour cela, il faut faire un script PHP ou utiliser spip-cli : spip auteurs:creer ...

Bonjour,
La création doit se faire après réception des données utiles, de manière automatisée.
Aucun intérêt pour des procédures manuelles.
Merci quand même…

Bonjour
J’ai eu tellement de problèmes avec git et composer, que je n’essaierai qu’en dernier recours.
Et lancer une ligne commande après un script php c’est un peu tordu et inutilement compliqué.

Bonjour

D’accord, je devrais pouvoir ajouter des appels à des fonctions de ecrire/action ou ecrire/auth à mon script php qui récupère déjà des courriels dans une boite et les données attendues.

Ma question est que faut-il faire exactement pour utiliser proprement ces scripts spip et appeler leurs fonctions dans un script externe à spip ? Je ne trouve pas l’explication générale pour éviter de tatonner et faire n’importe quoi.

En fait, je crée bien mes auteurs sous SQL, sauf leur mot de passe, comme vous vous en doutez.
Il ne faudrait plus que j’appelle la function auth_spip_modifier_pass de ecrire/auth/spip.php mais pour l’instant je ne sais pas comment.

Que faut il inclure et invoquer, et comment (include php, include_spip, use … ?)
Que mettre dans ‹ _ECRIRE_INC_VERSION › ?

Est-ce que ce n’est pas écrit quelque part ?

Regarde du côté des « actions » (avec la question de comment les sécuriser)