Sign-up — installer et configurer l’inscription Nextcloud

Installation

  1. Vérifiez que Nextcloud peut envoyer des e-mails (Administration settings → Basic settings → Email server, test « Send email »). Sign-up envoie les codes de confirmation, les décisions et les e-mails de bienvenue par son intermédiaire.
  2. Connectez-vous à votre compte MediaLab Works, ouvrez Licenses et téléchargez signup-x.y.z.tar.gz.
  3. Extrayez-le dans le dossier apps/ (ou custom_apps/) de Nextcloud pour obtenir apps/signup/, appartenant à l’utilisateur du serveur web.
  4. Activez-le : sudo -u www-data php occ app:enable signup, ou depuis la page Apps.
  5. Administration settings → Sign-up → License : collez votre clé de licence (ou démarrez l’essai gratuit de 30 jours) et enregistrez. La section affiche Active.
  6. Passez en revue les paramètres ci-dessous, puis ouvrez la page d’inscription (https://<your-cloud>/index.php/apps/signup/) ; la page de connexion affiche maintenant Create an account.

Licence

La licence est vérifiée une fois par jour ; sans internet, Sign-up continue de fonctionner 7 jours après la dernière vérification réussie. Sans licence valide, les visiteurs voient une page neutre « temporarily unavailable », le lien de la page de connexion disparaît, la tâche de nettoyage s’arrête et Cashier crée lui-même les comptes payants. Les comptes existants ne sont jamais touchés et rien n’est supprimé. La page des paramètres affiche la raison et la section License.

Paramètres (Administration settings → Sign-up)

Registration — ouverte ou fermée ; ce que les visiteurs peuvent choisir : free accounts and paid plans (les formules payantes n’apparaissent que lorsque Cashier les propose), free accounts only ou paid plans only ; le texte du lien sur la page de connexion en anglais et en roumain.

E-mail confirmation — activée (recommandé) ou désactivée ; code and link, code only ou link only ; combien de temps vit une inscription non confirmée (1 à 168 heures). Sans confirmation, le compte est créé dès l’envoi du formulaire et la page doit indiquer quand une adresse a déjà un compte.

Administrator approval — lorsqu’elle est activée, un compte gratuit est créé désactivé après la confirmation de l’e-mail et attend sous Registrations → Waiting for approval ; les administrateurs reçoivent une notification Nextcloud et (en option) un e-mail. Approve active le compte, l’ajoute aux groupes et envoie un e-mail à l’utilisateur ; Reject supprime le compte jamais utilisé et les données d’inscription et envoie un e-mail à l’utilisateur, avec votre motif si vous en donnez un. Les comptes payants n’attendent jamais : le paiement les active.

New accounts — nom de connexion (l’adresse e-mail, ana.popescu dérivé du nom, ou choisi par le visiteur ; tout le monde peut aussi se connecter avec l’adresse e-mail), quota de stockage (vide = valeur par défaut du cloud), groupes, e-mail de bienvenue avec votre propre texte.

Form fields — l’adresse e-mail, le mot de passe et l’acceptation des conditions sont toujours demandés. Pour le prénom, le nom, le téléphone, la société, l’adresse, la ville, le code postal et le pays, choisissez Not asked, Optional ou Required ; ajoutez vos propres champs (clé, type, libellés en anglais et en roumain, options pour une liste) ; ordonnez-les avec les flèches. Le téléphone, la société et l’adresse vont aussi dans le profil de l’utilisateur (privé) ; toutes les valeurs sont affichées aux administrateurs à côté de l’inscription et à l’utilisateur sous Personal info → Registration details.

E-mail addresses and abuse protection — seuls ces domaines peuvent s’inscrire (vide = tous ; *.example.org désigne les sous-domaines), ces domaines ne peuvent pas, blocage des adresses temporaires (liste intégrée plus la liste que MediaLab Works tient à jour, fournie avec une licence valide), temps minimum de remplissage du formulaire, inscriptions par adresse réseau par jour. Toujours actives : les limites de débit de Nextcloud et la protection contre les attaques par force brute, un champ caché pour les robots, 5 e-mails de confirmation par adresse par jour et 5 tentatives par code.

Terms and privacy — adresses de vos conditions d’utilisation et de votre politique de confidentialité (le visiteur coche une case pour les accepter) et la note de confidentialité sous le formulaire.

L’inscription, étape par étape

  1. Le visiteur ouvre la page depuis Create an account sur la page de connexion (ou un lien que vous partagez), choisit un compte gratuit ou une formule et remplit le formulaire.
  2. Avec la confirmation activée, un e-mail apporte un code à six chiffres et/ou un lien. Le code est saisi sur la page ; le lien peut être ouvert sur n’importe quel appareil — la page continue ensuite toute seule. Si l’adresse a déjà un compte, l’e-mail l’indique et renvoie vers « Forgot password? ».
  3. Compte gratuit sans approbation : le compte est créé et le visiteur est connecté. Avec approbation : la page indique que l’inscription attend un administrateur.
  4. Formule payante : le visiteur va sur la page de paiement Stripe et revient ; le compte est créé dès que Stripe confirme le paiement et le visiteur est connecté.

Formules payantes avec Cashier

  1. Installez Cashier 1.2 ou plus récent, connectez Stripe et créez vos formules (voir le guide de Cashier). Sign-up détecte Cashier automatiquement ; Sign-up → Paid plans (Cashier) indique si des formules sont proposées et, sinon, pourquoi (pas de licence, Stripe non connecté, aucune formule visible).
  2. Choisissez Free accounts and paid plans ou Paid plans only sous Registration.
  3. Le compte d’une inscription payante est créé par Sign-up avec le mot de passe et les données du formulaire, activé immédiatement, avec le quota et les groupes de la formule définis par Cashier. Si le paiement arrive après l’expiration de l’inscription, le compte est quand même créé et l’utilisateur reçoit un lien pour définir un mot de passe.
  4. Le lien direct d’une formule (Cashier → Plans) ouvre la page de Sign-up avec cette formule choisie ; le propre lien d’inscription de Cashier mène aussi ici.

Factures impayées : suspension, jamais de suppression

  • Les renouvellements mensuels (ou annuels) sont débités par Stripe. Un jour environ avant, l’utilisateur reçoit un e-mail « New invoice » ; après un débit réussi, un reçu.
  • Si le débit échoue, l’utilisateur reçoit un e-mail « Payment failed ». Pendant le délai de grâce de Cashier (Cashier → Rules, 0 à 90 jours ; 0 signifie immédiatement), le compte continue de fonctionner.
  • Après le délai de grâce, un compte inscrit via Sign-up est suspendu (désactivé) : personne ne peut se connecter. Les fichiers, partages et données restent exactement tels quels. L’utilisateur reçoit un e-mail « Your account has been suspended » avec le lien pour payer la facture ouverte. S’il l’a perdu, la page d’inscription renvoie vers la page « Pay an overdue invoice » de Cashier, qui envoie le lien à nouveau par e-mail.
  • Dès que la facture est payée, le compte est de nouveau actif (et l’utilisateur reçoit un e-mail).
  • Dans Sign-up → Paid plans → When a monthly invoice is not paid, vous pouvez choisir Follow Cashier’s rule à la place (lecture seule ou suspendu, comme défini dans Cashier).
  • Rien dans Sign-up ou Cashier ne supprime jamais un compte ou ses fichiers pour une facture impayée. Le seul nettoyage automatique supprime les inscriptions qui n’ont jamais eu de compte (adresse jamais confirmée, paiement jamais effectué). Les comptes ne sont supprimés que par un administrateur (suppression normale d’utilisateur de Nextcloud), ce qui supprime aussi les données d’inscription de l’utilisateur.

Liste des inscriptions

Sign-up → Registrations : Waiting for approval, Waiting for confirmation or payment (pas encore de compte ; vous pouvez en supprimer une), Recent accounts (30 derniers jours) et Rejected. Chaque carte affiche l’adresse e-mail, le nom de connexion, le type (gratuit / payant), les données du formulaire, les dates et l’adresse réseau.

Captcha et autres extensions (développeurs)

Une autre application peut ajouter un captcha au formulaire : écoutez OCA\Signup\Public\Event\RenderRegistrationFormEvent (ajoutez votre script et votre style, autorisez vos domaines dans la politique de sécurité du contenu de la page, annoncez vos champs avec addInput() ; votre widget va dans l’élément #signup-captcha) et OCA\Signup\Public\Event\ValidateRegistrationEvent (lisez les champs avec getExtra(), refusez avec reject($message)).

occ

  • occ signup:cleanup — supprime immédiatement les inscriptions expirées (la tâche horaire le fait aussi) et affiche combien en attendent. Les comptes ne sont jamais touchés.

Dépannage

  • Aucun e-mail n’arrive : vérifiez les paramètres du serveur e-mail et le dossier des indésirables ; la page autorise un nouvel e-mail après une minute (5 par jour).
  • « That was very fast » : le formulaire a été envoyé plus vite que le temps minimum ; renvoyez-le.
  • « Too many attempts » : limite de débit de Nextcloud pour l’adresse réseau ; attendez quelques minutes.
  • Aucune formule sur la page : voyez Sign-up → Paid plans (Cashier) et Administration → Overview (cochez « Cashier (registration page) »).
  • Un utilisateur payant ne peut pas se connecter : cherchez l’abonnement dans Cashier → Subscribers ; un compte suspendu est rétabli en payant la facture ouverte.

Le téléchargement nécessite une licence ou l’essai gratuit de 30 jours.