Version du 4D client connectée au serveur

Salut,
A-t-on la possibilité de connaître le pedigree - depuis le serveur - du client 4D qui se connecte au serveur, version et build ? L’objectif est de détecter un client pas à jour.

C’est pas conseillé d’autoriser des clients qui ne sont pas en adéquation avec la version du serveur.
La bonne pratique c’est de limiter volontairement lors du build les versions autorisées pour ne pas avoir de problème.

Sinon, question code j’ai cela mais bon cela nécessite l’installation du composant 4D_Info_Report :confused:

Si (Type application#4D mode local)
    TABLEAU TEXTE($at_Components;0)
	LISTE COMPOSANTS($at_Components)
	Si (Chercher dans tableau($at_Components;"4D_Info_Report@")>0)
		C_TEXTE($vt_Infos;$vt_PathApp)
		Si (Vrai)  // recuperation des infos sur l'application courante
			$vt_PathApp:=Fichier application
			EXÉCUTER MÉTHODE("aa4D_M_Get_Build_4D_Text_call";*;->$vt_Infos;->$vt_PathApp)
		Sinon 
			EXÉCUTER MÉTHODE("aa4D_M_Get_Build_4D_Text_call";*;->$vt_Infos)
		Fin de si 
		  //ALERTE($vt_Infos)
		  // Faire le tri de ce que vous voulez récupérer dans $vt_Infos.
		$VersionnumberTXT:=Sous chaîne($vt_Infos;1;(Position(Caractère(Retour chariot);$vt_Infos)-1))
		C_ENTIER LONG($Pos)
		$Pos:=Position("Application version :";$VersionnumberTXT)
		Si ($Pos>0)
			$VersionnumberTXT:=Sous chaîne($VersionnumberTXT;1;($Pos-1))
		Fin de si 
	Fin de si 
Fin de si 

sinon en utilisant la commande Version application en executant avec la commande EXECUTER SUR CLIENT (pas testé) :thinking:

Quand un client se connecte, je “pousse” sur le serveur des infos via une méthode EoS avec $1 objet (nom d’utilisateur, de sa machine, son OS, sa religion, la marque de son slip, etc.)
Tu pourrais gérer ce que tu décris de cette façon, il suffit que le serveur réponde dans le $0 : bienvenue, ou va te faire confiner hé banane.

Tout ça car parce que je viens de m’apercevoir que 4D client 18.1 se connecte sans moufter sur un serveur 18.0

Je réouvre le sujet car je viens de constater que ma solution ne marche pas(plus ?).
Elle me retourne 0 en compilé :sob:

J’utilise ça :

  //vers_4DVersion_srv
  //méthode avec attribut "exécuter sur serveur"
$0:=vers_4DVersion 
  //vers_4DVersion
  //retourne le numéro de version de l'appli 4D courante
C_TEXT($0)
$0:=Application version
//méthode base sur ouverture
$vClient:=vers_4DVersion 
$vServer:=vers_4DVersion_srv 
If ($vClient#$vServer)
  ALERT("Les versions client/serveur ne correspondent pas, on quitte")
  QUIT 4D
End if

En l’occurence, ce n’est pas la version du serveur mais la version du client qui m’intéresse et dans mon cas, qui se complique (je sais :roll_eyes:), c’est un client fusionné OEM donc qui perd les infos de N° de build 4D qui justement m’intéresse de conserver…
NB: Je force la coherence des versions(client-serveur) lors du build avec les clés de build.