diff --git a/dinamis_sdk/s3.py b/dinamis_sdk/s3.py
index 0ea19ec6e24063179b66ca788ceecd36401a50d0..fa2e5923ea61d2fb79230edb877ea7484ccfc6cd 100644
--- a/dinamis_sdk/s3.py
+++ b/dinamis_sdk/s3.py
@@ -283,7 +283,7 @@ def sign_item_collection(
     urls = [
         asset.href
         for item in item_collection
-        for asset in item.values()
+        for asset in item.assets.values()
     ]
     signed_urls = sign_urls(urls=urls)
     for item in item_collection:
diff --git a/dinamis_sdk/utils.py b/dinamis_sdk/utils.py
index 7b990edee46cec27c19db62b6349bc54ecb8ca12..60414d872d05438d7021ac70e99c5da6a62bbd3c 100644
--- a/dinamis_sdk/utils.py
+++ b/dinamis_sdk/utils.py
@@ -9,26 +9,26 @@ import requests
 logging.basicConfig(level=os.environ.get("LOGLEVEL") or "INFO")
 log = logging.getLogger("dinamis_sdk")
 
-def _get_seconds(env_var_name: str) -> int:
+
+def _get_seconds(env_var_name: str, default: int) -> int:
     val = os.environ.get(env_var_name)
     if val:
         if val.isdigit():
-            return int(val)
-    return None
+            log.info(
+                "Using %s = %s seconds",
+                env_var_name,
+                val
+            )           
+        return int(val)
+    return default
 
-# Signed TTL margin default to 1800 seconds (30 minutes), or env. var.
-if (ttl_margin_from_env := _get_seconds("DINAMIS_SDK_TTL_MARGIN")):
-    log.info(
-        "Setting TTL margin from environment variable to %s seconds",
-        ttl_margin_from_env
-    )
-SIGNED_URL_TTL_MARGIN = ttl_margin_from_env or 1800
 
-if (SIGNED_URL_DURATION_SECONDS := _get_seconds("DINAMIS_SDK_DURATION_SECONDS")):
-    log.info(
-        "Setting duration seconds from environment variable to %s seconds",
-        SIGNED_URL_DURATION_SECONDS
-    )
+# Signed TTL margin default to 1800 seconds (30 minutes), or env. var.
+SIGNED_URL_TTL_MARGIN = _get_seconds("DINAMIS_SDK_TTL_MARGIN", 1800)
+SIGNED_URL_DURATION_SECONDS = _get_seconds(
+    "DINAMIS_SDK_DURATION_SECONDS", 
+    None
+)
 
 MAX_URLS = 64
 S3_STORAGE_DOMAIN = "meso.umontpellier.fr"
diff --git a/setup.py b/setup.py
index 3655b4b9f888873bff89f29e3165219234beeb7a..b10cbd1d1ea4756dadb8c9ebfe9d5bae55b9b2ad 100644
--- a/setup.py
+++ b/setup.py
@@ -4,7 +4,6 @@ install_requires = [
     "requests",
     "qrcode",
     "appdirs",
-    "pydantic",
     "pystac",
     "pystac_client",
     "pydantic>=1.7.3",
@@ -13,7 +12,7 @@ install_requires = [
 
 setup(
     name="dinamis-sdk",
-    version="0.1.8",
+    version="0.1.9",
     description="DINAMIS SDK",
     python_requires=">=3.8",
     author="Remi Cresson",
diff --git a/tests/test_super-s2.py b/tests/test_super-s2.py
index 5548f21b610621a0191024743c6f44898d0f7059..28966b6aeee228f0009a3a7a3e57dfc5c56d14ec 100644
--- a/tests/test_super-s2.py
+++ b/tests/test_super-s2.py
@@ -1,5 +1,6 @@
 import dinamis_sdk
 import pystac_client
+import pystac
 
 api = pystac_client.Client.open(
    'https://stacapi-cdos.apps.okd.crocc.meso.umontpellier.fr',
@@ -13,3 +14,6 @@ res = api.search(
 urls = [item.assets['img'].href for item in res.items()]
 assert len(urls) == 672
 
+# ItemCollection (bug #17)
+ic = pystac.item_collection.ItemCollection(res.items())
+dinamis_sdk.sign_inplace(ic)
\ No newline at end of file