feat(planning): grille hebdomadaire complète avec API et filtres

- Connexion API via proxy Angular (résolution CORS, base path /api)
- Import CSS ng-zorro global pour les modales et composants
- Filtres Camion/Show câblés sur l'affichage de la grille
- Camions affichés via TrucksService (linkés au show du même créneau)
- Panneau de détails : spectacles + camions du jour sélectionné
- Modale de création de spectacle stylisée avec fond et centrage
- Positionnement précis des events à la minute dans leur créneau
- Auto-scroll vers l'heure courante au chargement
- Ligne "maintenant" sur la colonne du jour actuel
- Régénération des services OpenAPI (nouveaux noms de types)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-27 20:36:03 +02:00
parent 150b97cd2e
commit 654b297e2e
3131 changed files with 149304 additions and 104334 deletions
-8
View File
@@ -2027,14 +2027,6 @@
"type": "object",
"additionalProperties": false,
"properties": {
"allowedHosts": {
"description": "A list of hostnames that are allowed to access the server-side application. For more information, see https://angular.dev/best-practices/security#preventing-server-side-request-forgery-ssrf.",
"type": "array",
"uniqueItems": true,
"items": {
"type": "string"
}
},
"autoCsp": {
"description": "Enables automatic generation of a hash-based Strict Content Security Policy (https://web.dev/articles/strict-csp#choose-hash) based on scripts in index.html. Will default to true once we are out of experimental/preview phases.",
"default": false,
+16 -16
View File
@@ -1,6 +1,6 @@
{
"name": "@angular/cli",
"version": "20.3.26",
"version": "20.3.10",
"description": "CLI tool for Angular",
"main": "lib/cli/index.js",
"bin": {
@@ -25,36 +25,36 @@
},
"homepage": "https://github.com/angular/angular-cli",
"dependencies": {
"@angular-devkit/architect": "0.2003.26",
"@angular-devkit/core": "20.3.26",
"@angular-devkit/schematics": "20.3.26",
"@angular-devkit/architect": "0.2003.10",
"@angular-devkit/core": "20.3.10",
"@angular-devkit/schematics": "20.3.10",
"@inquirer/prompts": "7.8.2",
"@listr2/prompt-adapter-inquirer": "3.0.1",
"@modelcontextprotocol/sdk": "1.26.0",
"@schematics/angular": "20.3.26",
"@modelcontextprotocol/sdk": "1.17.3",
"@schematics/angular": "20.3.10",
"@yarnpkg/lockfile": "1.1.0",
"algoliasearch": "5.35.0",
"ini": "5.0.0",
"jsonc-parser": "3.3.1",
"listr2": "9.0.1",
"npm-package-arg": "13.0.0",
"pacote": "21.0.4",
"pacote": "21.0.0",
"resolve": "1.22.10",
"semver": "7.7.2",
"yargs": "18.0.0",
"zod": "4.1.13"
"zod": "3.25.76"
},
"ng-update": {
"migrations": "@schematics/angular/migrations/migration-collection.json",
"packageGroup": {
"@angular/cli": "20.3.26",
"@angular/build": "20.3.26",
"@angular/ssr": "20.3.26",
"@angular-devkit/architect": "0.2003.26",
"@angular-devkit/build-angular": "20.3.26",
"@angular-devkit/build-webpack": "0.2003.26",
"@angular-devkit/core": "20.3.26",
"@angular-devkit/schematics": "20.3.26"
"@angular/cli": "20.3.10",
"@angular/build": "20.3.10",
"@angular/ssr": "20.3.10",
"@angular-devkit/architect": "0.2003.10",
"@angular-devkit/build-angular": "20.3.10",
"@angular-devkit/build-webpack": "0.2003.10",
"@angular-devkit/core": "20.3.10",
"@angular-devkit/schematics": "20.3.10"
}
},
"packageManager": "pnpm@10.19.0",
+8 -8
View File
@@ -17,18 +17,18 @@ export declare const EXPERIMENTAL_TOOLS: readonly [import("./tools/tool-registry
}, {
examples: import("zod").ZodArray<import("zod").ZodObject<{
content: import("zod").ZodString;
}, import("zod/v4/core").$strip>>;
}, "strip", import("zod").ZodTypeAny, {
content: string;
}, {
content: string;
}>, "many">;
}>, import("./tools/tool-registry").McpToolDeclaration<{
transformations: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodEnum<{
[x: string]: string;
}>>>;
transformations: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodEnum<[string, ...string[]]>, "many">>;
}, {
instructions: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
instructions: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
}>, import("./tools/tool-registry").McpToolDeclaration<{
fileOrDirPath: import("zod").ZodString;
}, Readonly<{
[k: string]: import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>>;
}>>];
}, import("zod").ZodRawShape>];
export declare function createMcpServer(options: {
workspace?: AngularWorkspace;
readOnly?: boolean;
+1 -5
View File
@@ -5,8 +5,4 @@
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.dev/license
*/
export declare const BEST_PRACTICES_TOOL: import("./tool-registry").McpToolDeclaration<Readonly<{
[k: string]: import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>>;
}>, Readonly<{
[k: string]: import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>>;
}>>;
export declare const BEST_PRACTICES_TOOL: import("./tool-registry").McpToolDeclaration<import("zod").ZodRawShape, import("zod").ZodRawShape>;
+11 -1
View File
@@ -15,5 +15,15 @@ export declare const DOC_SEARCH_TOOL: import("./tool-registry").McpToolDeclarati
breadcrumb: z.ZodString;
url: z.ZodString;
content: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>;
}, "strip", z.ZodTypeAny, {
title: string;
breadcrumb: string;
url: string;
content?: string | undefined;
}, {
title: string;
breadcrumb: string;
url: string;
content?: string | undefined;
}>, "many">;
}>;
+5 -1
View File
@@ -11,7 +11,11 @@ export declare const FIND_EXAMPLE_TOOL: import("./tool-registry").McpToolDeclara
}, {
examples: z.ZodArray<z.ZodObject<{
content: z.ZodString;
}, z.core.$strip>>;
}, "strip", z.ZodTypeAny, {
content: string;
}, {
content: string;
}>, "many">;
}>;
/**
* Escapes a search query for FTS5 by tokenizing and quoting terms.
+8 -8
View File
@@ -7,10 +7,12 @@
*/
import { z } from 'zod';
declare const modernizeInputSchema: z.ZodObject<{
transformations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
[x: string]: string;
}>>>;
}, z.core.$strip>;
transformations: z.ZodOptional<z.ZodArray<z.ZodEnum<[string, ...string[]]>, "many">>;
}, "strip", z.ZodTypeAny, {
transformations?: string[] | undefined;
}, {
transformations?: string[] | undefined;
}>;
export type ModernizeInput = z.infer<typeof modernizeInputSchema>;
export declare function runModernization(input: ModernizeInput): Promise<{
content: {
@@ -22,10 +24,8 @@ export declare function runModernization(input: ModernizeInput): Promise<{
};
}>;
export declare const MODERNIZE_TOOL: import("./tool-registry").McpToolDeclaration<{
transformations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
[x: string]: string;
}>>>;
transformations: z.ZodOptional<z.ZodArray<z.ZodEnum<[string, ...string[]]>, "many">>;
}, {
instructions: z.ZodOptional<z.ZodArray<z.ZodString>>;
instructions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}>;
export {};
@@ -10,7 +10,5 @@ import { ServerNotification, ServerRequest } from '@modelcontextprotocol/sdk/typ
import { z } from 'zod';
export declare const ZONELESS_MIGRATION_TOOL: import("../tool-registry").McpToolDeclaration<{
fileOrDirPath: z.ZodString;
}, Readonly<{
[k: string]: z.core.$ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
}>>;
}, z.ZodRawShape>;
export declare function registerZonelessMigrationTool(fileOrDirPath: string, extras: RequestHandlerExtra<ServerRequest, ServerNotification>): Promise<import("./types").MigrationResponse>;
+15 -8
View File
@@ -6,17 +6,24 @@
* found in the LICENSE file at https://angular.dev/license
*/
import z from 'zod';
export declare const LIST_PROJECTS_TOOL: import("./tool-registry").McpToolDeclaration<Readonly<{
[k: string]: z.core.$ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
}>, {
export declare const LIST_PROJECTS_TOOL: import("./tool-registry").McpToolDeclaration<z.ZodRawShape, {
projects: z.ZodArray<z.ZodObject<{
name: z.ZodString;
type: z.ZodOptional<z.ZodEnum<{
application: "application";
library: "library";
}>>;
type: z.ZodOptional<z.ZodEnum<["application", "library"]>>;
root: z.ZodString;
sourceRoot: z.ZodString;
selectorPrefix: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>;
}, "strip", z.ZodTypeAny, {
name: string;
root: string;
sourceRoot: string;
type?: "application" | "library" | undefined;
selectorPrefix?: string | undefined;
}, {
name: string;
root: string;
sourceRoot: string;
type?: "application" | "library" | undefined;
selectorPrefix?: string | undefined;
}>, "many">;
}>;
+4 -3
View File
@@ -6,9 +6,9 @@
* found in the LICENSE file at https://angular.dev/license
*/
import type { McpServer, ToolCallback } from '@modelcontextprotocol/sdk/server/mcp.js';
import type { ToolAnnotations } from '@modelcontextprotocol/sdk/types';
import type { ZodRawShape } from 'zod';
import { ZodRawShape } from 'zod';
import type { AngularWorkspace } from '../../../utilities/config';
type ToolConfig = Parameters<McpServer['registerTool']>[1];
export interface McpToolContext {
workspace?: AngularWorkspace;
logger: {
@@ -21,7 +21,7 @@ export interface McpToolDeclaration<TInput extends ZodRawShape, TOutput extends
name: string;
title?: string;
description: string;
annotations?: ToolAnnotations;
annotations?: ToolConfig['annotations'];
inputSchema?: TInput;
outputSchema?: TOutput;
factory: McpToolFactory<TInput>;
@@ -32,3 +32,4 @@ export interface McpToolDeclaration<TInput extends ZodRawShape, TOutput extends
export type AnyMcpToolDeclaration = McpToolDeclaration<any, any>;
export declare function declareTool<TInput extends ZodRawShape, TOutput extends ZodRawShape>(declaration: McpToolDeclaration<TInput, TOutput>): McpToolDeclaration<TInput, TOutput>;
export declare function registerTools(server: McpServer, context: McpToolContext, declarations: AnyMcpToolDeclaration[]): Promise<void>;
export {};
+1 -1
View File
@@ -22,4 +22,4 @@ class Version {
this.patch = patch;
}
}
exports.VERSION = new Version('20.3.26');
exports.VERSION = new Version('20.3.10');