diff --git a/README.md b/README.md index fed07cf..52f845f 100644 --- a/README.md +++ b/README.md @@ -1,85 +1,40 @@ ![SPToolbox-logo](https://git.azuze.fr/kawa/Sharepoint-Toolbox/raw/branch/main/SPToolbox-logo.png) -Application WPF (.NET 10) pour administrer, auditer et exporter des donnees depuis des sites SharePoint Online. +# SharePoint Toolbox -## Installation - -1. Telecharger le zip depuis la [page Releases](https://git.azuze.fr/kawa/Sharepoint-Toolbox/releases) -2. Extraire l'archive -3. Lancer **SharepointToolbox.exe** (necessite le runtime .NET 10) +Application pour administrer, auditer et exporter des donnees depuis des sites SharePoint Online. ## Prerequis -- **Windows 10** ou superieur -- **Runtime .NET 10** Desktop +- Windows 10 ou superieur +- Runtime .NET 10 Desktop - Acces au tenant SharePoint cible -## Fonctionnalites +## Fonctionnalites principales -### Connexion et profils +- **Connexion & profils** — profils de connexion reutilisables, selecteur multi-sites, enregistrement Azure AD assiste, branding multi-tenant +- **Rapport de permissions** — audit bibliotheques/listes/dossiers, permissions heritees, mode consolidation, export CSV/HTML +- **Metriques de stockage** — utilisation par bibliotheque, taille des versions, nombre d'elements, visualisation 3D interactive, export CSV/HTML +- **Annuaire utilisateurs** — liste des utilisateurs du tenant via Microsoft Graph, filtrage/recherche, export HTML +- **Recherche de fichiers** — recherche KQL (extension, regex, plages de dates, auteur, editeur, bibliotheque) +- **Detection de doublons** — fichiers (Search API) ou dossiers (CAML), criteres combinables (nom, taille, dates, nombres), export CSV/HTML +- **Localisation** — interface complete EN/FR -- Saisie du **Tenant URL** et **Client ID** -- **Profils sauvegardes** : creez, renommez, supprimez et chargez des profils de connexion reutilisables -- **Selecteur de sites** : parcourez et cochez plusieurs sites du tenant -- **Enregistrement d'app** : enregistrement automatique ou guide manuel de l'app Azure AD depuis le profil -- Support **multi-tenant** avec gestion des logos client +## Dependances (NuGet) -### Permissions Report +| Paquet | Version | Role | +|---|---|---| +| CommunityToolkit.Mvvm | 8.4.2 | Generateurs MVVM | +| CsvHelper | 33.1.0 | Lecture/ecriture CSV | +| LiveChartsCore.SkiaSharpView.WPF | 2.0.0-rc5.4 | Graphiques / vue 3D stockage | +| Microsoft.Extensions.Hosting | 10.0.0 | Host generique + DI | +| Microsoft.Graph | 5.74.0 | SDK Graph (tenant/utilisateurs) | +| Microsoft.Identity.Client | 4.83.3 | Authentification MSAL | +| Microsoft.Identity.Client.Broker | 4.82.1 | Support broker WAM | +| Microsoft.Identity.Client.Extensions.Msal | 4.83.3 | Cache de tokens persistant | +| PnP.Framework | 1.18.0 | Operations SharePoint CSOM | +| Serilog (+ Hosting, Sinks.File) | 4.3.1 / 10.0.0 / 7.0.0 | Journalisation | -Audit complet des permissions d'un ou plusieurs sites. +## Architecture -- Scan des **bibliotheques, listes et dossiers** (profondeur configurable) -- Inclusion optionnelle des permissions heritees et sous-sites -- Mode **consolidation** : fusion des permissions identiques avec affichage des sites/bibliotheques -- Export **CSV** ou **HTML** (rapport interactif avec filtrage, tri, regroupement par utilisateur/site) - -### Storage Metrics - -Analyse de l'occupation du stockage SharePoint. - -- Repartition **par bibliotheque** avec profondeur de dossiers configurable -- Metriques : taille totale, taille des versions, nombre d'elements, derniere modification -- **Visualisation 3D** interactive du stockage -- Export **CSV** ou **HTML** (rapport avec graphiques de repartition) - -### Annuaire utilisateurs - -- Liste complete des utilisateurs du tenant via Microsoft Graph -- Filtrage et recherche -- Export **HTML** - -### Recherche de fichiers - -Recherche avancee de fichiers a travers les bibliotheques d'un site. - -| Filtre | Description | -|---|---| -| Extension(s) | Ex : `docx pdf xlsx` | -| Nom / Regex | Expression reguliere sur le chemin du fichier | -| Cree apres / avant | Plage de dates de creation | -| Modifie apres / avant | Plage de dates de modification | -| Cree par | Nom ou email de l'auteur | -| Modifie par | Nom ou email du dernier editeur | -| Bibliotheque | Limite la recherche a un chemin relatif | - -Utilise la **Search API SharePoint (KQL)** avec pagination automatique. - -### Doublons - -Detection de fichiers ou dossiers en double au sein d'un ou plusieurs sites. - -**Type de scan :** Fichiers (via Search API) ou Dossiers (via enumeration CAML) - -**Criteres de comparaison (combinables) :** Nom, Taille, Date de creation, Date de modification, Nombre de sous-dossiers, Nombre de fichiers - -Export **CSV** ou **HTML** (cartes depliables avec mise en evidence des valeurs identiques/differentes). - -## Architecture technique - -- Interface **WPF** avec pattern **MVVM** (CommunityToolkit.Mvvm) -- Injection de dependances via Microsoft.Extensions.Hosting -- Authentification **MSAL** avec cache persistant et support broker WAM -- **Microsoft Graph SDK** pour les operations tenant/utilisateurs -- **PnP.Framework** (CSOM) pour les operations SharePoint -- Localisation **EN/FR** complete via fichiers .resx -- Branding configurable (logos MSP et client) dans les exports HTML +MVVM (CommunityToolkit) · DI via Microsoft.Extensions.Hosting · Authentification MSAL avec cache persistant et broker WAM · Microsoft Graph SDK · PnP.Framework (CSOM) · Localisation .resx (EN/FR) · Branding configurable dans les exports HTML. \ No newline at end of file