# Accueil

Découvrez ici la liste des applications développées par Thomas Lecuppre sur son temps libre.

Les applications sont proposées telle quelles et gratuitement ! Si vous souhaitez participez au developpement de celles-ci, faites moi remonter les bugs et/ou suggestions d'amélioration sur les pages github des applications ou sur Discord !


# Qui suis-je ?

Je suis avant tout un passionné de technologies et j'adore comprendre le monde  qui m'entoure.

{% embed url="<https://thomas-lecuppre.fr>" %}
Mon CV en ligne
{% endembed %}

## Mes centres d'intérêts

Je suis un passionné de technologies et j'ai toujours adoré comprendre le monde qui m'entoure. Depuis toujours je préfère lire des documentations techniques que de vrai livre avec des histoires. Voici un petit listing de mes centres d'intérêts :

* Les innovations techniques.
* L'espace.
* L'informatique (tout ce qui touche aux systèmes et aux machines, l'architecture des réseaux).
* La programmation (comprendre comment communiquer avec un ordinateur).

## Pourquoi faire des applications ?

C'est avant tout pour répondre à un besoin. Je suis fainéant et j'aime développer des applications qui me permettent de me faciliter la vie ou de gagner du temps ou de l'espace. Étant donné que j'ai conscience qu'on est jamais seul à avoir une problématique, je préfère les partager et les améliorer pour tous le monde.


# Installer mon certificat

Comment installer le certificat permettant d'installer l'application ? Tout est indiqué ici !

## Gratuité = Inconnu

Étant donné que les applications sont disponibles à titre gratuite, il ne m'ait pas possible de faire certifié l'origine de celle-ci au moment de la création des installeurs. Pour cela, vous utilisez des certificats qui sont, normalement, utilisés que pour tester les applications. Voila pourquoi windows vous interdira très probablement d'installer mes applications lorsque vous les téléchargerez.

## Inconnu != Malveillant

Dans mon cas, je n'ai aucun intérêt a ce que les applications vous cause du tord. Si vous avez téléchargé mes applications et avez lu la documentation ou les explications de fonctionnement associées alors, vous savez exactement dans quoi vous vous embarquez. Si vous avez un doute sur le contenu alors, pas de problème, visitez le projet sur GitHub et investiguez vous-même !

{% hint style="warning" %}
Si vous n'avez pas confiance, ne suivez pas les étapes suivantes
{% endhint %}

## Installation

Après avoir télécharger l'un des ".msix" suivez les étapes suivantes pour installer mon certificat pour les applications basées sur WinUI 3.

1. Faites un clique droit sur le fichier msix et cliquez sur Propriétés
2. Dans l'onglet "Signatures numériques" sélectionnez la seule signature présente et cliquez sur "Détails"
3. Cliquez ensuite sur "Afficher le certificat" puis "Installer le certificat"
4. Cocher ensuite l'option "Ordinateur local" puis cliquez sur suivant
5. Si vous n'êtes pas administrateur, acceptez la demande de windows qui apparait sur votre écran
6. Cocher "Placer tous les certificats dans le magasin suivant" puis cliquez sur "Parcourir..."
7. Sélectionnez le second dossier "Autorités de certification racines de confiance" puis cliquez sur "OK"
8. Cliquez sur "Suivant" puis "Terminer"
9. Une fenêtre s'affiche, cliquez sur "OK"
10. Fermer le reste des fenêtres en cliquant sur "OK"


# Monétisation

Les applications sont gratuites mais pas l’électricité de mon PC :(

Toutes les applications sur ce site sont gratuites. Pour m'aider à payer les factures d’électricité de mon ordinateur, je monétise le lien de téléchargement de chaque applications via le site adfoc.us ! Voilà comment cela se déroule pour vous :

1. Vous cliquez sur le lien de téléchargement sur ce site (si d'autres partagent mes applications sur leurs sites, merci de me prévenir :smile: )
2. Vous arrivez sur une page plein de pub (ne cliquez sur rien à moins d'être intéressé bien-sûr).
3. Attendez 5 secondes que le bouton en haut à droite de la page indique <mark style="color:yellow;">"SKIP"</mark>.
4. Une fois que vous aurez cliquez sur <mark style="color:yellow;">"SKIP"</mark>, vous retomberez sur une page de téléchargement qui vous ai un peu plus familière !

{% hint style="danger" %}
Il ne vous sera jamais demandé de payer quoi que ce sois en dehors de ce site !
{% endhint %}

#### Je remercie d'avance ceux qui jouerons le jeu de cliquer sur les liens monétisés pour récompenser mon travail !  (:heart\_decoration:)


# Me contacter

Les moyens de contact sont organisés par ordre d'importance et de vitesse de réponse, merci de respecter cet ordre.

## Via Discord

C'est sur cette plateforme que le suis le plus actif. J'y suis littéralement connecté tout le temps et c'est votre meilleur chance d'obtenir de l'aide de ma part ou de la part des autres membres de la communauté que nous avons créée avec mes camarades de Master.

{% embed url="<https://discord.gg/Da63fSs>" %}
Discord est une application permettant de créer des serveurs d'échanges et des communautés. J'y suis le plus actif et notamment sur AbracadaBIM, une association que nous voudrions lancer avec quelques camarades !
{% endembed %}

## Via LinkedIn

Même si je ne m'y connecte pas très souvent, l'application mobile me notifie dès que j'ai un nouveau message. Si vous n'êtes pas à l'aise avec Discord alors contactez moi sur LinkedIn.

{% embed url="<https://www.linkedin.com/in/thomas-lecuppre/>" %}
Profil LinkedIn (réseau de contacts professionnels)
{% endembed %}

## Via Email (ou courriel pour les bons français)

A l'heure des messageries instantanées je trouve que le mail est vraiment dépassé. A moins que les deux moyens ci-dessus vous rebute,  contactez moi par mail. Ce qui est sûr c'est que c'est là ou je répond le moins rapidement.

> <lecuppre.thomas.ec@gmail.com>

## Via téléphone

{% hint style="danger" %}
Sachez que je ne répond qu'aux contacts enregistrés dans mon téléphone.
{% endhint %}


# Calendrier Outlook vers Gmail

Comment lier votre agenda Outlook à votre agenda Google ? C'est facile, suivez le guide !

## Opérations dans Outlook

Dans un premier temps rendez-vous sur calendrier Outlook dans votre navigateur.

<figure><img src="/files/GD1Jnk4vmJ2M2ga7r167" alt=""><figcaption><p>Page Outlook en ligne</p></figcaption></figure>

1. Une connecté et sur votre boite mail, cliquez sur l'onglet agenda.
2. Choisissez le calendrier à lier (ici "Calendrier").
3. Cliquez sur "..." à droite du calendrier que vous aurez choisi.
4. Sélectionnez ensuite "Partage et autorisations".

<figure><img src="/files/20YiGMDryXpycoTPDsZM" alt=""><figcaption><p>Boite modale "Partage et autorisations"</p></figcaption></figure>

Une fois que la boite modale apparait, renseignez la ou les adresses mail dans la boite rouge.\
Ensuite cliquez sur Partager.\
\
Vous avez fini avec Outlook, vous pouvez fermer la page :clap:

## Opérations dans Gmail

Accéder à la boite Gmail correspondant à l'adresse saisie dans la boite ci-dessus.\
Ouvrez le dernier mail reçu dont l'objet est "Vous êtes invité à partager ce calendrier"\ <mark style="color:yellow;">Note : l'objet du mail peut être différent dans le futur.</mark>

<figure><img src="/files/1ocot3lxJ86oKcAapCKh" alt=""><figcaption><p>Contenu du mail</p></figcaption></figure>

Dans le contenu du mail cherchez le lien comme le montre la flèche rouge ci-dessus.\
Une fois identifié, faites Click Droit puis Copier le Lien.\
Sur mobile, maintenez le doigt sur le lien jusqu’à ce que vous puissiez le copier.

## Opérations dans Google Calendar

Une fois connecté au compte Gmail sur lequel vous souhaitez lier le calendrier Outlook, rendez-vous sur Google Calendar.

<figure><img src="/files/nHX1FIA8MYkUQfOpx8hT" alt=""><figcaption><p>Menu gauche Google Calendar</p></figcaption></figure>

Dans le menu à gauche de votre calendrier, à coté de "Autres agendas", cliquez sur le "+".

<figure><img src="/files/l03ZBZW92QIVozS3edTH" alt=""><figcaption><p>Menu "+"</p></figcaption></figure>

Dans le menu sélectionnez "A partir de l'URL".

<figure><img src="/files/HXi8qBHNllz5gsvOoJoy" alt=""><figcaption><p>Page ajout URL</p></figcaption></figure>

Dans la page qui s'affiche, coller l'URL précédemment copier dans Gmail.\
Cliquez ensuite sur "Ajouter un agenda".

{% hint style="success" %}
Félicitation vous avez terminé !
{% endhint %}

Pour personnaliser le nom de ce nouvel agenda cliquez sur l'engrenage à droite du calendrier.\
Pour supprimer le lien utilisé retour sur Outlook et dans le menu "Partage et autorisations" et supprimer le lien vers l'adresse mail que vous souhaitez.<br>


# Placement d'arbres via un fichier excel

Ce script dynamo à pour vocation de positionner de multiples instances d'une famille d'arbre dans un projet.

<figure><img src="/files/clAhqdWrw4ku2yUFNuwd" alt=""><figcaption><p>Capture d'écran dans Revit après exécution du script Dynamo</p></figcaption></figure>

## Origine de la demande

Le script a été créé suite à la demande d'un utilisateur du Forum Hexabim. Voici le [lien du topic](https://www.hexabim.com/discussions/revit-dynamo-generation-automatique-darbres-a-partir-dun-fichier-de-points-csv-ou-autre#reply-18095).

## Prérequis pour ce script

{% hint style="success" %}

* Une liste des points de positionnement des arbres.
* Une famille d'arbre (Environnement métrique).
* Dynamo
  {% endhint %}

{% hint style="info" %}
Aucun package supplémentaire n'est nécessaire pour ce script !
{% endhint %}

## But du script

Le but est de placer un grand nombre d'arbres de manière automatique grâce à dynamo. Après avoir déterminer l'emplacement des arbres (via une liste de point \[x,y,z]), le script placera automatiquement le type d'arbre choisi à l'ensemble des points indiqué.

## Données d'entrées

### Structure des données dans excel

Commençons à rentrer dans le vif du sujet. Pour créer le dynamo j'ai imaginé que l'utilisateur ai à entrer ses données dans un fichier excel sous la forme suivante :

|      x      |      y      |      z      | Paramètre A |
| :---------: | :---------: | :---------: | :---------: |
| valeur du x | valeur du y | valeur du z | valeur de A |
| valeur du x | valeur du y | valeur du z | valeur de A |
| valeur du x | valeur du y | valeur du z | valeur de A |

Bien-sûr le nombre de paramètres supplémentaires comme le paramètre A n'est pas limité. On peut ajouter autant de paramètres que l'on souhaite.

{% hint style="warning" %}
Les noms de paramètres saisis doivent être exactement les mêmes que dans la famille.
{% endhint %}

### Nom de la famille et du type

Le premier nœud du script vous demande quel type de famille utiliser pour le reste. C'est ici que vous devez choisir vote famille d'arbre ainsi que son type. Dans mon exemple, la famille s'appelle <mark style="color:red;">ENVM\_Arbre</mark> et le type <mark style="color:red;">ENVM\_Arbre</mark>.

### Le fichier excel

Une fois que vous avez créé votre fichier excel comme indiqué au dessus, dans le nœud <mark style="color:red;">Chemin vers le fichier excel</mark> indiquez l'emplacement de votre fichier. Dans le nœud <mark style="color:red;">Nom de la feuille de données</mark> inscrivez le nom de la feuille dans laquelle se trouve les données renseignées. Si vous avez créé un fichier excel tout neuf alors le nom de la feuille est le même que le nom du fichier.

## Organisation des données de Excel

<figure><img src="/files/ee86VE9n3eBBtyMv7tZO" alt=""><figcaption><p>Groupe de nœuds pour le traitement des données Excel</p></figcaption></figure>

Le premier groupe de nœuds permet d'organiser les données reçues d'Excel. En effet, même si Excel est un tableur intelligent il n'est pas dit que Dynamo comprenne tout de suite ce que vous souhaitez faire de vos données. Par exemple, en sorti du nœud Data.ImportExcel, Dynamo vous fourni une liste des colonnes de votre fichier. Dans notre cas, cette organisation n'est pas très utile, nous préférerions avoir une liste de nos données organisées par lignes.

> ### List.Transpose
>
> Ce nœud permet de réorganiser une liste de données et de "basculer" son ordre de sortie de colonne par colonne à ligne par ligne.

Maintenant que nous avons notre liste de lignes (qui correspond ici à chaque instance d'arbre que nous souhaitons placer) nous allons pouvoir séparer les noms des paramètres des données.

A la suite de List.Transpose, les noms des paramètres se trouvent dans la liste 1 de notre liste de lignes. Les données sont quant à elles dans le reste de la liste. Nous allons utiliser deux nœuds pour séparé nos informations :

> ### List.DropItems
>
> #### Entrées
>
> * Liste de données
> * Le nombre d'objet à ignorer
>
> #### Sorties
>
> * Une nouvelle liste sans les objets indésirables.

> ### List.GetItemAtIndex
>
> #### Entrées
>
> * Liste de données
> * L'index auquel prendre l'objet dans la liste
>
> #### Sorties
>
> * L'objet de la liste a l'index donné

## Création des points 3D

<figure><img src="/files/UcbvRfgCrJmJq87oUOO3" alt=""><figcaption><p>Groupe de nœuds permettant le création des points 3D</p></figcaption></figure>

Dans cette partie, il est question de transformer nos données de coordonnées en vrais points dans Revit. Pour ce faire, nous récupérons 3 listes depuis notre liste de données précédemment extraite. En réutilisant List.GetItemAtIndex, on récupère les colonnes 0, 1, 2 (ce qui correspond au x, y, z). Il suffit ensuite d'injecter ces listes de valeurs directement dans le nœud suivant :

> ### Point.ByCoordinates
>
> #### Entrées
>
> * une valeur de x
> * une valeur de y
> * une valeur de z
>
> #### Sorties
>
> * un point ou liste de points 3D interprétable par Dynamo

{% hint style="warning" %}
Dans votre excel, il faut que les valeurs numériques soient saisies avec "," et non "."
{% endhint %}

## Placement des objets

Pour placer les objets il suffit d'utiliser le nœud suivant :

> ### FamilyInstance.ByPoint
>
> #### Entrées
>
> * type de famille
> * point ou liste de points
>
> #### Sorties
>
> * une liste des éléments placer dans le projet.

## Modification des objets placés

<figure><img src="/files/7NzIwtJkS5IllSGntw1s" alt=""><figcaption><p>Groupe de nœuds permettant l'organisation des données pour modifier les éléments placés</p></figcaption></figure>

Maintenant que les objets sont placés, il est possible de modifier leurs propriétés sans avoir besoin de refaire un autre script dynamo. Je ne vais pas plus rentrer dans les détails de l'organisation des données dans les listes (si vous explorez le script, vous comprendrez plus vite qu'en me lisant) mais je vais expliquer le principe général et le fonctionnement de quelques nœuds.

Le principe pour la mise à jour des valeurs de paramètres des éléments placés et de créer autant  listes qu'il y a d'éléments posés. Nous allons devoir créer 3 listes :

* une liste d'éléments placés (extrait directement de FamilyInstance.ByPoint)
* une liste de liste de noms de paramètre
* une liste de liste de valeurs de paramètre

### Liste de liste de noms

Même si nous n'avons que x paramètres à renseigner pour chaque éléments, il faut faire comprendre a Dynamo que c'est pour chacun de ces éléments que les paramètres sont à modifier. Plutôt que d'envoyer une liste de x paramètre et de se dire "tiens dynamo, tu prends ça et tu me le fais pour tous" on va plutôt tenter de lui dire "tiens dynamo, pour cet objet ce sont ces x nom de paramètre, pour le suivant, voici de nouveau x nom de paramètre".

Ici les "x noms de paramètre" est une liste des noms de paramètre extrait du excel et que nous avions mis de coté plus tôt. Pour créer cette répétition d'éléments, on utilise le nœud suivant :

> ### List.OfRepeatedItem
>
> #### Entrées
>
> * une liste d'éléments
> * le nombre de répétitions
>
> #### Sorties
>
> * une liste d'éléments répétés
>
> #### Exemple
>
> Si ma liste d'éléments initiale est *\[a, b, c, d]* et que je souhaite la répéter 3 fois alors ma sortie sera de la forme suivante :
>
> *\[ \[a, b, c, d] , \[a, b, c, d] , \[a, b, c, d] ]*

### Liste de liste de valeurs

Pour cette liste c'est un poil différent. Nous avons déjà à disposition une liste de liste de valeur de la forme suivante :

*\[ \[valeur paramètre A, valeur paramètre A, valeur paramètre A] , \[valeur paramètre B, valeur paramètre B, valeur paramètre B] ]*

Ce que nous souhaitons c'est obtenir une liste de la forme suivante :

*\[ \[valeur paramètre A, valeur paramètre B] , \[valeur paramètre A, valeur paramètre B] , \[valeur paramètre A, valeur paramètre B] ]*

Pour cela rien de plus simple, on utilise le nœud List.Transpose.

### Modification des valeurs

Maintenant que nos trois listes sont crées il ne reste plus qu'à utiliser le nœud suivant pour changer les valeurs des paramètres :

> ### Element.SetParameterByName
>
> #### Entrées
>
> * un élément ou une liste d'éléments
> * une liste de nom de paramètre
> * une liste de valeur de paramètre
>
> #### Sorties
>
> * une liste d’éléments modifiés

## Fin du script

Voila pour ce petit script qui fera bien des heureux. Afin de récompenser mon travail, les liens de ce site sont monétisés, c'est à dire que lorsque vous cliquez sur un lien de téléchargement, une pub s'affiche avant de vous amenez sur la page de téléchargement ([plus d'info ici](/informations-generales/monetisation)).

{% hint style="info" %}
Le script est fourni avec :

* Une famille d'arbre (Revit 2023)
* Un projet avec les arbres (Revit 2023)
* Un fichier excel avec la liste des points et valeurs de paramètre pour le script
* Le script dynamo
  {% endhint %}

Vous pouvez télécharger le script en cliquant sur [Dowload TreePlacement.dyn](http://adfoc.us/79616186169344)


# ...

{% hint style="info" %}
Beaucoup d'idées sont en cours de préparation, rejoignez mon discord pour en savoir d’avantage.
{% endhint %}


# Revit Cleaner

Application qui permet d'identifier les fichiers de sauvegarde des familles Revit dans le répertoire visé.

<figure><img src="/files/yLcNp7id2FOWykzdx6Z2" alt=""><figcaption><p>Interface de Revit Cleaner en anglais</p></figcaption></figure>

{% hint style="info" %}

* [x] Application disponible en français !
* [x] Application available in english !
* [x] Aplicativo disponível em português !
* [ ] Aplikacja dostępna w języku polskim !
* [ ] Приложение доступно на русском языке !
* [ ] 日本語対応アプリ !
  {% endhint %}

## Liens utiles

* [Projet GitHub](https://github.com/Thomas-Lecuppre/RevitCleaner)
* [Discord](https://discord.gg/Da63fSs) (Choisissez le rôle RevitCleaner)

## Téléchargement

{% hint style="success" %}
Avant de commencer à télécharger l'application, regardez bien [comment installer mon certificat](/informations-generales/installer-mon-certificat) ainsi que les conseils d'utilisation et les limites de l’application ci dessous.
{% endhint %}

[Télécharger Revit Cleaner v 3.1.4 x64](http://www.adfoc.us/79616186847174)

La page est inaccessible pour vous ? [Essayez ici](https://update.thomas-lecuppre.fr/RevitCleaner_lastest.msix)

{% hint style="info" %}
Prérequis pour installer Revit Cleaner :&#x20;

* Système d'exploitation Windows 10 ou +
* Architecture processeur x64
  {% endhint %}

{% content-ref url="/pages/CfMVUjYaf52Yg0f2bCQB" %}
[Patch Notes](/application-pour-revit/revit-cleaner/patch-notes)
{% endcontent-ref %}

Problème de compatibilité avec votre système ? Vous toujours télécharger une vielle version de Revit Cleaner ci-après. Je n'assure cependant plus les mises à jour pour le moment. N'hésitez pas [à me contacter](/informations-generales/me-contacter) pour plus d'informations. [Download RFACleaner.msi](http://adfoc.us/7961611)

## Comment utiliser Revit Cleaner

Une fois dans l'application vous avez plusieurs encadrés et boutons. L'encadré le plus haut est le chemin de recherche des fichiers Revit. Vous pouvez soit coller un chemin d'accès soit cliquer sur **...** pour ouvrir un explorateur de dossier.\
\
L'encadré du dessous est la zone de recherche. Vous pouvez choisir de filtrer la liste des fichiers pour trouver le/les fichiers que vous souhaitez.\
\
L'ensemble de vos fichiers de sauvegardes s'affichent maintenant dans une arborescence de fichiers, par défaut tous les fichiers sont tous sélectionnés. Parcourrez cette arborescence pour sélectionner ou désélectionner d'autres fichiers.\
\
Enfin il y a le bouton tout en bas de l'application. C'est celui qui permet de **supprimer de manière définitive** les fichiers sélectionnés. Juste au dessus de celui-ci, un texte vous indique combien de fichiers sont sélectionnés et le poids total.&#x20;

{% hint style="danger" %}
Une fois supprimé, aucun retour en arrière n'est possible.
{% endhint %}

Appuyez une première fois puis une seconde fois sur le bouton pour confirmer que vous souhaitez bien supprimer vos fichiers.

## Filtrer dans Revit Cleaner

Dans Revit Cleaner vous avez la possibilité de filtrer le résultat de la recherche avec de multiples mots ou expressions. Pour que le programme les reconnaissent il suffit séparer ceux-ci par une **virgule**.

Vous pouvez aussi utilisez les fonctionnalités suivantes afin d'améliorer d'avantage votre recherche de fichiers :

* L'utilisation de **#** permet de filtrer le nom d'un dossier. \
  `Exemple : "#Familles" affichera tous les fichiers dont le chemin vers le fichier contient le mot "Familles"`
* L'utilisation de **@** permet de filtrer sur le nom du dossier parent du fichier.\
  `Exemple : "@Familles" affichera tous les fichiers dont le dossier (seulement le dossier ou est enregistré le fichier) contient le mot "Familles"`
* L'utilisation de **!** permet de chercher tous ce qui ne contient pas le/les mots ou expressions qui le suive.\
  `Exemple : "!MGMF_Chaise" affichera tous les fichiers dont le nom des fichiers ne contiennent pas "MGMF_Chaise"`

{% hint style="info" %}
! s'utilise avec toutes les autres fonctionnalités de filtre. \
Voici les combinaisons correctes : #! ou @!
{% endhint %}

## Amélioration à venir

* [ ] Ignorer les fichiers en cours d'utilisation.
* [ ] Générer un rapport de suppression au besoin.
* [ ] Enregistrer le dernier dossier de recherche.
* [ ] Ajouter la possibilité de déplacer les fichiers dans la corbeille au lieu d'une suppression définitive.

## Une erreur, un problème ?

Si vous rencontrez une erreur ou un crash de l'application merci de créer un nouveau message sur le [github](https://github.com/Thomas-Lecuppre/RevitCleaner) du projet afin que tout le monde puisse aider à sa correction.

Si vous avez besoin d'aide pour utiliser RevitCleaner vous en demander [ici](/informations-generales/me-contacter).


# Patch Notes

## Dernière version v3.1.4 - 2023-05-10

En résumé : Traduction de l'application en portugais.

<details>

<summary>v3.1.4 - 2023-05-10</summary>

* Traduction de l'application en portugais.

</details>

<details>

<summary>v3.1.3 - 2023-04-07</summary>

* Amélioration du système de mise à jour (détails des erreurs + icône de chargement)
* Correction de l'affichage du nombre de fichiers et le poids total dans le bouton de nettoyage.
* Modification de certaines icônes pour rendre l'application plus lisible.
* Optimisation et rangement du code.
* Ajout d'un bouton permettant de choisir la langue de l'application.
* Ajout de la sauvegarde de la langue sélectionnée lors du changement de celle-ci.
* Ajout de la possibilité de passer une mise à jour.

</details>

<details>

<summary>v3.1.2 - 2023-03-24</summary>

* Correction recherche de dossier pour les appareils sur Windows 10.
* Ajout d'un auto-updater pour les prochaines versions.

</details>

<details>

<summary>v3.1.1 - 2023-03-22</summary>

* Recherche des fichiers asynchrone avec affichage du répertoire en temps réel.
* Correction minimes de l'interface.

</details>

<details>

<summary>v3.1.0 - 2023-03-22</summary>

* Correction orthographique.
* Ajout bouton rafraichissement du dossier sélectionné.
* Optimisation de l'affichage des fichiers lors de la recherche dans un dossier.
* Possibilité de générer un rapport de suppression des fichiers (situé dans ..\Mes Documents\Revit Cleaner Reports\\)
* Correction de l'affichage de la version de l'application dans la barre de titre.
* Affichage du poids des fichiers à supprimer.

</details>

<details>

<summary>v3.0.1 - 2023-03-19</summary>

* Ajout des icônes pour l'application

</details>

<details>

<summary>v3.0 - 2023-03-18</summary>

* Programmation sous WinUi 3
* Révision complète de l'interface et de l'expérience utilisateur
* Réduction des temps de pause de l'interface pendant les longs traitements
* Refonte du système de filtre
* Révision de la fonction de suppression des fichiers.

</details>

<details>

<summary>v2.1.1 - 2022-08-09</summary>

* Correction du problème d'affichage des fichiers une fois les fonctions asynchrones terminées.
* Mise à jour des prérequis de l'installeur.

</details>

<details>

<summary>v2.1.0 - 2022-08-07</summary>

* Corrections des bugs d'affichage du poids des fichiers.
* Optimisation de certaines fonctions (execution asynchrone pour améliorer la fluidité de l'interface).
* Allègement du code.

</details>

<details>

<summary>v2.0.1 - 2022-03-03</summary>

* Correction des problèmes d'affichage des raccourcis sans icônes.
* Mise en place d'un fichier de log en cas d'erreur au moment de la suppression des fichiers.

</details>

<details>

<summary>v2.0.0 - 2022-01-08</summary>

* Prise en compte des fichiers Projet (.RVT).
* Prise en compte des fichiers Gabarit de projet (.RTE).
* Prise en compte des fichiers Gabarit de famille (.RFT).
* Ajout d'une barre de recherche.
* Ajout d'une recherche avec ou sans "respect des majuscules" (case sensitive).
* Grosse refonte graphique (en collaboration avec [Louis Fillot](https://cv.corax.ovh))
* Grosse optimisation.

</details>

<details>

<summary>v1.0.2 - 2021-07-08</summary>

* Ne nécessite plus d'être exécuter en tant qu'administrateur.

</details>

<details>

<summary>v1.0.1 - 2021-07-20</summary>

* Correction des problèmes de démarrage.
* Nécessite d'être exécuter en tant qu'administrateur.

</details>

<details>

<summary>v1.0.0 - 2021-06-15</summary>

* Mise à jour et optimisation du code.
* Mise à jour de l'interface.
* Création.

</details>


