Skip to content

#178 [Shortener] feat: méthode Saturne, URL courtes internes sans serveur YOURLS - #179

Merged
nicolas-eoxia merged 1 commit into
Eoxia:developfrom
nicolas-eoxia:feat/178-saturne-short-url-method
Oct 20, 2026
Merged

nicolas-eoxia merged 1 commit into
Eoxia:developfrom
nicolas-eoxia:feat/178-saturne-short-url-method

Conversation

@nicolas-eoxia

Copy link
Copy Markdown
Member

Closes #178

Dépend de Evarisk/Saturne#1746, à merger avant. La CI récupère Saturne develop.

Ce qui change

Ajout d'une méthode de raccourcissement « Saturne (URL courte interne, sans serveur) » à côté de YOURLS. Elle s'appuie sur l'URL courte publique de Saturne (…/custom/saturne/public/s/?code) : rien à installer ni à configurer.

  • Configuration : un choix « Méthode de raccourcissement par défaut » (EASYURL_URL_METHOD). Sans réglage, la méthode reste YOURLS : rien ne change pour les clients existants.
  • Outil de génération en masse : la méthode Saturne est proposée et pré-sélectionnée selon la configuration. L'avertissement « API non configurée » ne s'affiche plus qu'en méthode YOURLS.
  • set_easy_url_link()
    • Sans méthode passée, il suit la méthode configurée, donc les liens automatiques (paiement, signature) aussi.
    • En méthode Saturne, un mot-clé personnalisé sert de code s'il est valide et libre. Sinon le code est aléatoire, car le mot-clé par défaut allongerait le QR pour rien.
  • update_easy_url_link() : un lien Saturne se réaffecte en changeant la cible de son code, sans appel réseau. Le QR imprimé reste valable.
  • get_easy_url_link() : un lien Saturne existant est tenu pour valide. Il n'a pas de statistiques de clics.

La méthode d'un lien se déduit de son URL : les liens YOURLS déjà créés continuent de passer par YOURLS, même si la configuration passe à Saturne.

Vérifié

Sur un bac à sable local (Dolibarr 23.0.3), avec la PR Saturne :

  • Configuration et outil : la configuration propose YOURLS / Saturne, et l'outil YOURLS / Saturne / WordPress.
  • Génération en masse en méthode Saturne : « 1 / 1 URL(s) avec succès ». Un visiteur sans session suit le lien vers l'URL d'origine.
  • Réaffectation depuis la fiche du raccourci : le même code mène à la nouvelle cible.
  • PHPStan sans erreur nouvelle par rapport à develop, parité des langues OK.

Défaut préexistant relevé (PR à part)

Enregistrer une fiche de raccourci déclenche dol_print_error() : la table llx_categorie_shortener n'existe pas, et la sortie casse la redirection (« headers already sent »).

La cause : Shortener hérite de isCategoryManaged = 1 de SaturneObject, donc actions_addupdatedelete.inc.php appelle setCategories(). Ça se produit aussi sur develop, sans cette PR. Je le traite dans une issue séparée.

🤖 Generated with Claude Code

…s serveur YOURLS

Nouvelle méthode de raccourcissement « Saturne » à côté de YOURLS, appuyée sur
l'URL courte publique de Saturne (/custom/saturne/public/s/?code) : rien à
installer ni à configurer.

- Configuration : choix de la méthode par défaut (EASYURL_URL_METHOD, YOURLS si
  rien n'est réglé : aucun changement pour les clients existants).
- Outil de génération en masse : méthode Saturne proposée et pré-sélectionnée
  selon la configuration ; l'avertissement « API non configurée » ne s'affiche
  qu'en méthode YOURLS.
- set_easy_url_link() suit la méthode configurée quand aucune n'est passée.
- update_easy_url_link() réaffecte un lien Saturne en changeant la cible de son
  code : le QR imprimé reste valable.
- get_easy_url_link() tient un lien Saturne existant pour valide (pas de
  statistiques de clics).

La méthode d'un lien se déduit de son URL : les liens YOURLS existants
continuent de passer par YOURLS.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Shortener] Méthode Saturne : URL courtes internes, sans serveur YOURLS

1 participant