diff --git a/README.md b/README.md
index e28a92aacf109bfab23852c55b243be53ad078de..b80ecd5b588d9166aa4209e1a7f829077f0cab61 100644
--- a/README.md
+++ b/README.md
@@ -157,7 +157,7 @@ Sur une machine de DEV, lancer
 
     flask profile --host 0.0.0.0 --length 32 --profile-dir /opt/scodoc-data
 
-le fichier `.prof` sera alors écrit dans `/opt/scoidoc-data` (on peut aussi utiliser `/tmp`).
+le fichier `.prof` sera alors écrit dans `/opt/scodoc-data` (on peut aussi utiliser `/tmp`).
 
 Pour la visualisation, [snakeviz](https://jiffyclub.github.io/snakeviz/) est bien:
 
diff --git a/app/scodoc/sco_users.py b/app/scodoc/sco_users.py
index eaf434943412151e692507d3e0047f42515f1ae4..de15485714c9ea1b062818ed03318b9dac7e95c1 100644
--- a/app/scodoc/sco_users.py
+++ b/app/scodoc/sco_users.py
@@ -46,7 +46,7 @@ from app.scodoc import sco_etud
 from app.scodoc import sco_excel
 from app.scodoc import sco_preferences
 from app.scodoc.gen_tables import GenTable
-from app import log
+from app import log, cache
 from app.scodoc.scolog import logdb
 import app.scodoc.sco_utils as scu
 
@@ -226,6 +226,7 @@ def _user_list(user_name):
         return None
 
 
+@cache.memoize(timeout=50)  # seconds
 def user_info(user_name_or_id=None, user=None):
     """Dict avec infos sur l'utilisateur (qui peut ne pas etre dans notre base).
     Si user_name est specifie (string ou id), interroge la BD. Sinon, user doit etre une instance
diff --git a/sco_version.py b/sco_version.py
index 86a35aa75b5b7ecbef35db351fc88ef97c17e177..79b8a736b6ee7b709cb7a12ece330877d3394ca8 100644
--- a/sco_version.py
+++ b/sco_version.py
@@ -1,7 +1,7 @@
 # -*- mode: python -*-
 # -*- coding: utf-8 -*-
 
-SCOVERSION = "9.0.58"
+SCOVERSION = "9.0.59"
 
 SCONAME = "ScoDoc"