Créer un node via un formulaire extérieur à Drupal

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,

J'utilise Drupal 5.5. Je ne peux pas mettre le lien du site car c'est un intranet protégé par mot de passe.

J'ai créé un nouveau type de contenu ("inscrits aux projection") grâce au super module CCK. Chaque occurrence de ce type de contenu peut être créée et gérée via l'admin de Drupal bien sûr, mais j'ai aussi créé un formulaire, qui est sur un site public totalement extérieur à Drupal, pour que les gens puisse s'inscrire en ligne directement.

Pour cela j'ai donc tout simplement fait des requêtes MySql pour agir directement sur la base de données à partir des données du formulaire validé. Jusqu'ici tout va bien, car les contenus sont bien enregistrées en base, et la vue que j'ai créée dans l'admin de Drupal pour voir la liste de tous les inscrits fonctionne parfaitement. Là où il y a un problème, c'est que je ne peux pas voir/éditer/supprimer les nodes (j'arrive sur "page non trouvée") qui ont été créés via le formulaire externe. Pour les inscrits créés via l'admin de Drupal, aucun problème.

Je me dis donc que j'ai oublié certaines données à enregistrer en base, mais je ne trouve ni quoi ni dans quelles tables. Dans mes requêtes actuelles, je fais des INSERT INTO à la fois dans la table de mon type de contenu et dans la table générale node. Dans ces 2 tables, je ne vois aucune différences de données entre les nodes qui fonctionnent (ceux créés via Drupal) et les nodes qui ne fonctionnent pas (ceux créés via le formulaire externe). J'ai pensé aux alias d'URL, mais normalement ils ne sont pas obligatoire, et ça n'a pas l'air d'être ça.

Est-ce que quelqu'un a une idée de ce que j'aurais pu oublier de faire ? Merci pour ceux qui m'ont lue jusqu'au bout, j'espère que j'ai expliqué clairement mon problème.

Forum : 
Version de Drupal : 

il faut aussi faire des insert dans la table node_revision.

Mais pourquoi ne pas avoir fait un petit iframe pour l'insérer dans ton site, et donné les accès aux anonyme de soumettre le formulaire?

Merci beaucoup pour cette réponse ultra rapide ! Je vais tester avec node_revision.

Une iframe n'était pas possible car l'intranet Drupal est protégé par un login et un mot de passe globaux au niveau du serveur, en plus de la connexion des utilisateurs (double sécurité).
Par ailleurs, ne maîtrisant pas totalement Drupal, il est plus facile pour moi de personnaliser à fond le formulaire public (qui n'est pas le même que le formulaire d'admin), surtout que je voudrais en faire d'autres plus tard agissant sur les mêmes bases mais dans des contextes encore différents.

Encore merci en tout cas.