diff --git a/app/Sensor/ClientVersion.php b/app/Sensor/ClientVersion.php
index 3295f66cfa7b34c2cffcd61516c1dd232fc906bd..92f182e9959a0b7b60d850288b9e1de192a82f39 100644
--- a/app/Sensor/ClientVersion.php
+++ b/app/Sensor/ClientVersion.php
@@ -16,7 +16,7 @@ class ClientVersion extends \App\AbstractSensor
     const MANIFEST = "https://download.cylab.be/monitor-php-client/manifest.json";
     private static $manifest = null;
 
-    public function manifest()
+    public static function manifest()
     {
         if (!is_null(self::$manifest)) {
             return self::$manifest;
@@ -44,12 +44,12 @@ class ClientVersion extends \App\AbstractSensor
      */
     public function latestVersion() : string
     {
-        return $this->manifest()["version"];
+        return self::manifest()["version"];
     }
 
-    public function latestUrl() : string
+    public static function latestUrl() : string
     {
-        return $this->manifest()["url"];
+        return self::manifest()["url"];
     }
 
     public function report(array $records) : string
diff --git a/app/Sensor/Date.php b/app/Sensor/Date.php
index 2c8f74ef019be073af04e0204d3037816e5d9832..ad6dbbf3731a25b2975bab811852e5db59aa2be0 100644
--- a/app/Sensor/Date.php
+++ b/app/Sensor/Date.php
@@ -3,6 +3,7 @@
 namespace App\Sensor;
 
 use App\Record;
+use App\Status;
 
 /**
  * Description of Reboot
@@ -18,16 +19,20 @@ class Date extends \App\AbstractSensor
 
     public function status(array $records) : int
     {
+        if (count($records) == 0) {
+            return Status::UNKNOWN;
+        }
+        
         $delta = $this->delta(end($records));
         if ($delta == null) {
-            return \App\Status::UNKNOWN;
+            return Status::UNKNOWN;
         }
 
         if (abs($delta) > 10) {
-            return \App\Status::WARNING;
+            return Status::WARNING;
         }
 
-        return \App\Status::OK;
+        return Status::OK;
     }
 
     public function delta(Record $record)
diff --git a/app/ServerInfo.php b/app/ServerInfo.php
index ae9a4a1fcde77cba85cc97d12f690e7155bb0db4..dd77ed6223ee9fd94bb13d3b5f3c87e414fe608f 100644
--- a/app/ServerInfo.php
+++ b/app/ServerInfo.php
@@ -13,6 +13,9 @@ class ServerInfo
 
     private $record;
 
+    /**
+     * @param Record $record
+     */
     public function __construct(Record $record)
     {
         $this->record = $record;
@@ -184,10 +187,4 @@ class ServerInfo
         // return $sensor->installedVersion([$this->record]);
         return "";
     }
-
-    public function lastClientUrl()
-    {
-        $client_sensor = new \App\Sensor\ClientVersion();
-        return $client_sensor->latestUrl();
-    }
 }
diff --git a/composer.json b/composer.json
index 130f9566f8b80af14925ca0464abbab9e52e5e9c..9ec9d7016843568f7973eae1f34b4417a85e2e0b 100644
--- a/composer.json
+++ b/composer.json
@@ -5,7 +5,7 @@
     "license": "MIT",
     "type": "project",
     "require": {
-        "php": ">=7.1.3",
+        "php": ">=7.4",
         "doctrine/dbal": "^2.9",
         "fideloper/proxy": "~4.0",
         "guzzlehttp/guzzle": "~6.0",
diff --git a/composer.lock b/composer.lock
index 23b9682b0d081069a130cffc37241d8ba14908c2..300a5fee4b662ce6b98cb1a1452a78ebdf5415d8 100644
--- a/composer.lock
+++ b/composer.lock
@@ -1603,26 +1603,26 @@
         },
         {
             "name": "league/mime-type-detection",
-            "version": "1.12.0",
+            "version": "1.13.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/thephpleague/mime-type-detection.git",
-                "reference": "c7f2872fb273bf493811473dafc88d60ae829f48"
+                "reference": "a6dfb1194a2946fcdc1f38219445234f65b35c96"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/c7f2872fb273bf493811473dafc88d60ae829f48",
-                "reference": "c7f2872fb273bf493811473dafc88d60ae829f48",
+                "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/a6dfb1194a2946fcdc1f38219445234f65b35c96",
+                "reference": "a6dfb1194a2946fcdc1f38219445234f65b35c96",
                 "shasum": ""
             },
             "require": {
                 "ext-fileinfo": "*",
-                "php": "^7.2 || ^8.0"
+                "php": "^7.4 || ^8.0"
             },
             "require-dev": {
                 "friendsofphp/php-cs-fixer": "^3.2",
                 "phpstan/phpstan": "^0.12.68",
-                "phpunit/phpunit": "^8.5.8 || ^9.3"
+                "phpunit/phpunit": "^8.5.8 || ^9.3 || ^10.0"
             },
             "type": "library",
             "autoload": {
@@ -1643,7 +1643,7 @@
             "description": "Mime-type detection for Flysystem",
             "support": {
                 "issues": "https://github.com/thephpleague/mime-type-detection/issues",
-                "source": "https://github.com/thephpleague/mime-type-detection/tree/1.12.0"
+                "source": "https://github.com/thephpleague/mime-type-detection/tree/1.13.0"
             },
             "funding": [
                 {
@@ -1655,7 +1655,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2023-08-03T07:14:11+00:00"
+            "time": "2023-08-05T12:09:49+00:00"
         },
         {
             "name": "monolog/monolog",
@@ -2166,20 +2166,20 @@
         },
         {
             "name": "psr/container",
-            "version": "1.1.1",
+            "version": "1.1.2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/php-fig/container.git",
-                "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf"
+                "reference": "513e0666f7216c7459170d56df27dfcefe1689ea"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf",
-                "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf",
+                "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea",
+                "reference": "513e0666f7216c7459170d56df27dfcefe1689ea",
                 "shasum": ""
             },
             "require": {
-                "php": ">=7.2.0"
+                "php": ">=7.4.0"
             },
             "type": "library",
             "autoload": {
@@ -2208,9 +2208,9 @@
             ],
             "support": {
                 "issues": "https://github.com/php-fig/container/issues",
-                "source": "https://github.com/php-fig/container/tree/1.1.1"
+                "source": "https://github.com/php-fig/container/tree/1.1.2"
             },
-            "time": "2021-03-05T17:36:06+00:00"
+            "time": "2021-11-05T16:50:12+00:00"
         },
         {
             "name": "psr/http-message",
@@ -6314,25 +6314,30 @@
         },
         {
             "name": "phpdocumentor/type-resolver",
-            "version": "1.6.1",
+            "version": "1.6.2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/phpDocumentor/TypeResolver.git",
-                "reference": "77a32518733312af16a44300404e945338981de3"
+                "reference": "48f445a408c131e38cab1c235aa6d2bb7a0bb20d"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/77a32518733312af16a44300404e945338981de3",
-                "reference": "77a32518733312af16a44300404e945338981de3",
+                "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/48f445a408c131e38cab1c235aa6d2bb7a0bb20d",
+                "reference": "48f445a408c131e38cab1c235aa6d2bb7a0bb20d",
                 "shasum": ""
             },
             "require": {
-                "php": "^7.2 || ^8.0",
+                "php": "^7.4 || ^8.0",
                 "phpdocumentor/reflection-common": "^2.0"
             },
             "require-dev": {
                 "ext-tokenizer": "*",
-                "psalm/phar": "^4.8"
+                "phpstan/extension-installer": "^1.1",
+                "phpstan/phpstan": "^1.8",
+                "phpstan/phpstan-phpunit": "^1.1",
+                "phpunit/phpunit": "^9.5",
+                "rector/rector": "^0.13.9",
+                "vimeo/psalm": "^4.25"
             },
             "type": "library",
             "extra": {
@@ -6358,9 +6363,9 @@
             "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
             "support": {
                 "issues": "https://github.com/phpDocumentor/TypeResolver/issues",
-                "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.6.1"
+                "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.6.2"
             },
-            "time": "2022-03-15T21:29:03+00:00"
+            "time": "2022-10-14T12:47:21+00:00"
         },
         {
             "name": "phpspec/prophecy",
diff --git a/resources/views/server/show.blade.php b/resources/views/server/show.blade.php
index e779c60ce3567073980ac3fac4a2917c39df227c..227e6fad76fbeecb67f38e21f70a5a9513444e0f 100644
--- a/resources/views/server/show.blade.php
+++ b/resources/views/server/show.blade.php
@@ -13,6 +13,7 @@ window.monitorServerToken = "{{ $server->read_token }}";
         <div class="col-md-4">
             <div class="card">
                 <div class="card-body">
+                    @if ($server->hasData())
                     <p>{!! $server->status()->badge() !!}</p>
 
                     <p>
@@ -24,17 +25,17 @@ window.monitorServerToken = "{{ $server->read_token }}";
                     <p>Client version: {{ $server->info()->clientVersion() }}</p>
 
                     <p>Uptime: {{ $server->info()->uptime() }}</p>
-                </div>
-            </div>
-
-            <div class="card">
-                <div class="card-body">
+                    
                     <p>{{ $server->info()->manufacturer() }} {{ $server->info()->productName() }}</p>
                     <p><small>{{ $server->info()->uuid() }}</small></p>
                     <p>{{ $server->info()->cpuinfo()["cpu"] }}
                         ({{ $server->info()->cpuinfo()["threads"] }} threads)</p>
                     <p>Memory: {{ $server->info()->meminfo() }}</p>
                     <p>{{ $server->info()->lsb() }}</p>
+                    
+                    @else
+                    <p>No information to show for now...</p>
+                    @endif
                 </div>
             </div>
 
@@ -113,7 +114,7 @@ window.monitorServerToken = "{{ $server->read_token }}";
                 </div>
                 <div class="card-body">
                     <p>Download client application:</p>
-                    <pre style="font-size: 75%; overflow: hidden"><code>wget {{ $server->info()->lastClientUrl() }}
+                    <pre style="font-size: 75%; overflow: hidden"><code>wget {{ \App\Sensor\ClientVersion::latestUrl() }}
 unzip monitor-*.zip
 </code></pre>
                     <p>Move it to /usr/bin:</p>