diff --git a/.gitignore b/.gitignore
index ded9a3207cd66d0af86b29335209ee266239284b..c194cdc0ad6bdbbec1901bebffef4d1310762446 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,5 @@
 node_modules
+**/tsconfig.tsbuildinfo
 .idea
 .zed
 .eslintcache
diff --git a/knip.ts b/knip.ts
index 13449d39b078bb256e4e41a45495ee5f7d0581da..8f82ecd630b27b70ea122ad380ccd9200bafdefb 100644
--- a/knip.ts
+++ b/knip.ts
@@ -1,30 +1,7 @@
 const config = {
-  ignore: [
-    ".history/**",
-    "packages/api/knexfile.ts",
-    "**/knex/migrations/*",
-    "packages/api/src/knex/migration-stub.ts",
-    "packages/common/src/**/*.test.ts",
-    "packages/api/src/tools/phases/tests-creation.ts",
-    "packages/api/src/**/*.queries.types.ts",
-  ],
-  ignoreBinaries: [
-    "eslint",
-    "prettier",
-    "createdb",
-    "dropdb",
-    "npm-check-updates",
-    "pg_dump",
-    "pg_restore",
-    "pgtyped-config.ci.json",
-    "pgtyped-config.json",
-    "scp",
-    "ssh",
-    "tar",
-  ],
-
   workspaces: {
     ".": {
+      ignoreBinaries: ["eslint", "prettier"],
       ignoreDependencies: [
         // TODO 2023-12-28 knip voit pas les override dependencies
         "vue",
@@ -35,8 +12,25 @@ const config = {
       ],
     },
     "packages/api": {
-      entry: ["src/index.ts", "src/scripts/*"],
-      project: "**/*.ts",
+      ignoreBinaries: [
+        "createdb",
+        "dropdb",
+        "npm-check-updates",
+        "pg_dump",
+        "pg_restore",
+        "pgtyped-config.ci.json",
+        "pgtyped-config.json",
+        "scp",
+        "tar",
+      ],
+      ignore: ["knexfile.ts", "src/**/*.queries.types.ts"],
+      entry: [
+        "src/index.ts",
+        "src/scripts/*",
+        "src/tools/phases/tests-creation.ts",
+        "src/knex/migration-stub.ts",
+        "src/knex/migrations/*",
+      ],
       ignoreDependencies: [
         // TODO 2023-12-28 ces dépendances semblent être "shadow" par les définitions bourrines .d.ts qu'on a mise
         "graphql-scalars",
@@ -53,8 +47,7 @@ const config = {
       ],
     },
     "packages/ui": {
-      entry: "src/index.ts",
-      project: ["src/**/*.tsx", "src/**/*.ts", "src/**/*.js"],
+      ignoreBinaries: ["npm-check-updates"],
       ignoreDependencies: [
         "@vitest/coverage-v8",
         "@babel/eslint-parser",
diff --git a/package.json b/package.json
index 007877a0c9f40655e2dd26aeff9fafe4b8e08557..7b92aa373a6cdd1b1ad97f0992da95e4cc029115 100644
--- a/package.json
+++ b/package.json
@@ -21,7 +21,7 @@
     "prepare": "husky install",
     "test": "npm run test --workspaces",
     "lint": "npm run lint --workspaces",
-    "knip": "npx --yes knip@5.15.1"
+    "knip": "npx --yes knip@5.17.3"
   },
   "lint-staged": {
     "packages/ui/src/**/*.{js,ts,tsx}": [
diff --git a/packages/api/package.json b/packages/api/package.json
index a4451f2daf35ec3bb0e8600b4d8c3bd2e38328dc..17d9a9a67b0f6f6452671dc92893c20f99545a70 100644
--- a/packages/api/package.json
+++ b/packages/api/package.json
@@ -6,7 +6,7 @@
   "main": "./src/index.js",
   "type": "module",
   "scripts": {
-    "build": "tsc",
+    "build": "tsc --incremental",
     "daily": "node --loader ts-node/esm/transpile-only ./src/scripts/daily.ts",
     "monthly": "node --loader ts-node/esm/transpile-only ./src/scripts/monthly.ts",
     "db:dump": "rm -rf ./backups/* && pg_dump --host=localhost --username=postgres --clean --if-exists --format=d --no-owner --no-privileges --dbname=camino --file=./backups/",
diff --git a/packages/common/package.json b/packages/common/package.json
index 68396783d689d606fbde9f10a5f3ce32879283eb..8cebcc1746a21c984255ad1bd857383795b39d90 100644
--- a/packages/common/package.json
+++ b/packages/common/package.json
@@ -6,7 +6,7 @@
   "type": "module",
   "scripts": {
     "test": "vitest --environment node --root src/",
-    "build": "tsc",
+    "build": "tsc --incremental",
     "format": "prettier --write src && eslint --fix src",
     "lint": "prettier --check src && eslint src"
   },
diff --git a/packages/ui/package.json b/packages/ui/package.json
index e43cb8d8eb2e87047efcfacfb719785a6d234cde..aebb77feef322735c7745643980df559dd221ee4 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -5,7 +5,7 @@
   "private": true,
   "type": "module",
   "scripts": {
-    "build": "tsc --noEmit && vite build --emptyOutDir",
+    "build": "tsc --noEmit --incremental && vite build --emptyOutDir",
     "dev": "vite --host",
     "dev:update": "npm-check-updates && npm install && npm audit fix",
     "start": "node ./index.js",