diff --git a/src/app/components/calculator-list/calculator-list.component.html b/src/app/components/calculator-list/calculator-list.component.html
index 4f0a6c03e792ad157f77af1feb006a64156e6e41..925ebed1196278810f8b7be0598805d63c2730b2 100644
--- a/src/app/components/calculator-list/calculator-list.component.html
+++ b/src/app/components/calculator-list/calculator-list.component.html
@@ -5,14 +5,21 @@
         <mat-card-header>
             <!-- <img mat-card-avatar src="https://s3.amazonaws.com/pix.iemoji.com/images/emoji/apple/ios-12/256/water-wave.png"> -->
             <mat-card-title>{{ theme.title }}</mat-card-title>
-            <mat-card-subtitle>{{ theme.description }}</mat-card-subtitle>
+            <!-- <mat-card-subtitle>{{ theme.description }}</mat-card-subtitle> -->
         </mat-card-header>
 
-        <img mat-card-image [src]="theme.image">
+        <div class="mat-card-image-overlay-container">
+            <img mat-card-image [src]="theme.image.path">
+            <div class="mat-card-image-overlay">
+                <div class="theme-image-credits">
+                    {{ theme.image.credits }}
+                </div>
+            </div>
+        </div>
 
-        <!-- <mat-card-content>
+        <mat-card-content>
             <p>{{ theme.description }}</p>
-        </mat-card-content> -->
+        </mat-card-content>
 
         <mat-card-actions>
             <div class="container" fxLayout="column" fxLayoutAlign="left" fxLayoutGap="10px">
diff --git a/src/app/components/calculator-list/calculator-list.component.scss b/src/app/components/calculator-list/calculator-list.component.scss
index 0d8f2afd2ead503f78ebf9c0af85287f0c166dc2..dcbaf2ec1517a2ca67ae06cad2e9aa509ca45289 100644
--- a/src/app/components/calculator-list/calculator-list.component.scss
+++ b/src/app/components/calculator-list/calculator-list.component.scss
@@ -10,4 +10,36 @@ mat-card.compute-nodes-theme {
     .mat-card-actions:last-child {
         margin-bottom: 0; // instead of -8px
     }
+
+    mat-card-header {
+        min-height: 85px;
+    }
+
+    .mat-card-image-overlay-container {
+        position:relative;
+
+        .mat-card-image-overlay {
+            position: absolute;
+            top: -16px;
+            height: 100%;
+            opacity: 0;
+            background-color: white;
+            // copied from mat-card-image :
+            width: calc(100% + 32px);
+            margin: 0 -16px 0 -16px;
+
+            &:hover {
+                opacity: 0.7;
+            }
+        }
+
+        .theme-image-credits {
+            position: absolute;
+            bottom: 8px;
+            right: 14px;
+            font-size: 0.9em;
+            font-weight: bold;
+            color: #444;
+        }
+    }
 }
diff --git a/src/app/components/calculator-list/calculator-list.component.ts b/src/app/components/calculator-list/calculator-list.component.ts
index 1691ce2de4b43bedd6712a6ec33f79864f2523a0..de47224867986a16984f4c67de69682c862028af 100644
--- a/src/app/components/calculator-list/calculator-list.component.ts
+++ b/src/app/components/calculator-list/calculator-list.component.ts
@@ -34,10 +34,15 @@ export class CalculatorListComponent implements OnInit {
                 // get theme details from config
                 const themeTitleKey = "INFO_THEME_" + theme.name + "_TITRE";
                 const themeDescriptionKey = "INFO_THEME_" + theme.name + "_DESCRIPTION";
+                const credits = ServiceFactory.instance.i18nService.localizeText("INFO_THEME_CREDITS");
                 const item = {
                     title: ServiceFactory.instance.i18nService.localizeText(themeTitleKey),
                     description: ServiceFactory.instance.i18nService.localizeText(themeDescriptionKey),
-                    image: "assets/images/" + theme.image,
+                    image: {
+                        path: "assets/images/themes/" + theme.image.path,
+                        title: theme.image.title,
+                        credits: credits + " : " + theme.image.credits
+                    },
                     calculators: []
                 };
                 // get calculators for this theme
diff --git a/src/assets/images/en-charge.jpg b/src/assets/images/en-charge.jpg
deleted file mode 100644
index 38d2e2204322966fb5527f030d23c6eeeba98863..0000000000000000000000000000000000000000
Binary files a/src/assets/images/en-charge.jpg and /dev/null differ
diff --git a/src/assets/images/ouvrages.jpg b/src/assets/images/ouvrages.jpg
deleted file mode 100644
index 4b69e471a0baec2dc5eb5aed228699e2fa7da884..0000000000000000000000000000000000000000
Binary files a/src/assets/images/ouvrages.jpg and /dev/null differ
diff --git a/src/assets/images/passe-bassin.jpg b/src/assets/images/passe-bassin.jpg
deleted file mode 100644
index 26353351214831635948037bd81ca7999d3bdea1..0000000000000000000000000000000000000000
Binary files a/src/assets/images/passe-bassin.jpg and /dev/null differ
diff --git a/src/assets/images/passe-naturelle.jpg b/src/assets/images/passe-naturelle.jpg
deleted file mode 100644
index 0e35afe735f45d82bed1988cb9b7589e117290d8..0000000000000000000000000000000000000000
Binary files a/src/assets/images/passe-naturelle.jpg and /dev/null differ
diff --git a/src/assets/images/surface-libre.jpg b/src/assets/images/surface-libre.jpg
deleted file mode 100644
index a1876b21caa2f4570d0b8af4b8bea7513aa139df..0000000000000000000000000000000000000000
Binary files a/src/assets/images/surface-libre.jpg and /dev/null differ
diff --git a/src/assets/images/themes/en-charge.jpg b/src/assets/images/themes/en-charge.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..f78e1369a0f4b57397270f3ce7138d5a33a7c60d
Binary files /dev/null and b/src/assets/images/themes/en-charge.jpg differ
diff --git a/src/assets/images/themes/ouvrages.jpg b/src/assets/images/themes/ouvrages.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..d33f5bea990e5b5891d27a9ef454e22a9882b321
Binary files /dev/null and b/src/assets/images/themes/ouvrages.jpg differ
diff --git a/src/assets/images/themes/passe-bassin.jpg b/src/assets/images/themes/passe-bassin.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..8a6fd88f8dbddb0a90931ca8d4519e824f5d571b
Binary files /dev/null and b/src/assets/images/themes/passe-bassin.jpg differ
diff --git a/src/assets/images/themes/passe-naturelle.jpg b/src/assets/images/themes/passe-naturelle.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..697068b99d6492ec246cb2687813993bf7ff8e51
Binary files /dev/null and b/src/assets/images/themes/passe-naturelle.jpg differ
diff --git a/src/assets/images/themes/surface-libre.jpg b/src/assets/images/themes/surface-libre.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..9d82f1452b0608abd108e7ccf4220b97b86f268d
Binary files /dev/null and b/src/assets/images/themes/surface-libre.jpg differ
diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json
index 74aa9fa8e22cacca9a15007fc2571f2f2addb0c7..254c540cec24472b0af87a79e6b79eebd917a30e 100644
--- a/src/locale/messages.en.json
+++ b/src/locale/messages.en.json
@@ -158,6 +158,7 @@
     "INFO_SETUP_PRECISION_AFFICHAGE": "Display accuracy",
     "INFO_SETUP_PRECISION_CALCUL": "Computation accuracy",
     "INFO_SETUP_TITLE": "Application setup",
+    "INFO_THEME_CREDITS": "Credits",
     "INFO_THEME_PASSE_A_BASSIN_TITRE": "Basin pass",
     "INFO_THEME_PASSE_A_BASSIN_DESCRIPTION": "A great pass with a great basin",
     "INFO_THEME_PASSE_NATURELLE_TITRE": "Natural pass",
diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json
index aa42d9f05872507b93f87663871887e183774ba7..f10457e76c74a0e5babd61d91a58dedbe2d3dfe3 100644
--- a/src/locale/messages.fr.json
+++ b/src/locale/messages.fr.json
@@ -158,6 +158,7 @@
     "INFO_SETUP_PRECISION_AFFICHAGE": "Précision d'affichage",
     "INFO_SETUP_PRECISION_CALCUL": "Précision de calcul",
     "INFO_SETUP_TITLE": "Paramètres de l'application",
+    "INFO_THEME_CREDITS": "Crédits",
     "INFO_THEME_PASSE_A_BASSIN_TITRE": "Passe à bassin",
     "INFO_THEME_PASSE_A_BASSIN_DESCRIPTION": "Une super passe avec un super bassin",
     "INFO_THEME_PASSE_NATURELLE_TITRE": "Passe naturelle",