Site:  Cours VB.net  
4.20 Ou mettre les programmes, les données?

 

Il faut séparer les données des programmes !!!

Les programmes, les données n’ont pas la même vocation.

Les fichiers programmes ( les fichiers .exe)sont copiés sur votre disque au moment de l’installation du logiciel ou au moment de sa mise à jour. En dehors de ces périodes, ces fichiers ne changent pas.

Il n’est donc pas utile de sauvegarder fréquemment, car en plus, vous possédez ceux-ci par ailleurs sur un support d’installation (CD-ROM, fichier téléchargé).

Par contre les fichiers de données sont régulièrement créés, enregistrés ou modifiés: mails, documents Word ou Excel, photos, fichiers musicaux, bases de données. Pour ne pas perdre toutes ces informations, il faut les sauvegarder: les enregistrer régulièrement sur un autre support (CD-ROM, disque dur externe, clé USB, autre ordinateur d'un réseau..)

Pour favoriser vos sauvegardes, il est donc logique de séparer vos données de vos programmes, et de les mettre dans des répertoires différents.

Habituellement on a un répertoire de programmes et un répertoire de données, il est possible d'avoir un répertoire de données pour chaque utilisateur si les données sont distinctes et parfois un répertoire commun à tous les utilisateurs (AllUsers)

Ainsi on peut simplement sauvegarder régulièrement la totalité du répertoire de données et uniquement ce répertoire.

De même pour éviter les soucis lors de la réinstallation de Windows, il est plus facile de protéger les données si celles-ci se trouvent sur un disque ou une partition séparée.

 

Sécurité:

Un virus, un ver ou un spyware est un programme qui va essayer d'utiliser votre accès à Windows (vos droits d'utilisateur) pour s' "auto-installer" et prendre la main de votre système.

Or par défaut sous Windows XP vous avez tous les droits (car vous avez un compte administrateur) : mettre à jour le système, installer des programmes, ce qui n'est pas vraiment indispensable pour lire vos mails, faire du traitement de texte ou surfer sur Internet.

Vous pouvez donc utiliser votre Windows de la manière suivante :

- créer des comptes utilisateurs limités pour l'usage quotidien.

- utiliser un compte administrateur pour toutes les installations et mises à jour.

C'est une contrainte mais cela garantit le maximum de sécurité.

 


Quels répertoires utiliser ?

 

Un répertoire 'Programs Files' contient des sous répertoires pour chaque programme contenant les exécutables.

Un répertoire 'Mes documents' contenant des sous répertoires pour chaque programme contenant les fichiers de données.

Les paramètres de l'application sont dans un fichier  .ini qui se trouve dans le répertoire Windows ou le répertoire de l'application ou la base de registre.

 

 

 

Un répertoire 'Programs Files' contient des sous répertoires pour chaque programme contenant les exécutables.

Un répertoire 'Documents ans Settings' contient des sous répertoires pour chaque utilisateur (ici le mien se nomme 'Phil') et un répertoire commun à tous les utilisateurs: AllUsers.

Dans chaque répertoire utilisateur il y a 

un répertoire 'Application Data'  pour chaque programme contenant les fichiers de données.

      C:\Documents and Settings\phil\Application Data\OpenOffice.org2\user\database

un répertoire 'Mes documents'

      C:\Documents and Settings\phil\Mes documents\Visual Studio 2005\Projects\chiffreromain

Mais aussi un répertoire 'Local Settings' pour les fichiers de configuration et les exécutables.

      C:\Documents and Settings\phil\Local Settings\Application Data\Pentax\Digital Camera Utility

 

   

Version anglaise:

Dans le Desktop,(information trouvée sur le Net)

Il y a:

Un répertoire 'Programs Files'

Un répertoire 'Users' qui contient des répertoires au nom de chaque utilisateurs ('pch' ici par exemple)

Dans chaque répertoire utilisateur il y a un répertoire AppData pour les données (qui remplace Application Data). Dessous , il y a un répertoire Local et encore dessous un répertoire au nom de la société qui a fait le logiciel (ici Microsoft) puis un répertoire pour le programme et pour la version. 

Ainsi les données du programme LDF version 1.1.0 crées par PolySoft seront dans le répertoire:

   C:\Users\MyName\AppData\Local\PolySoft\LDF\1.1.0\

 

Version française:

Dans le Bureau (chez moi)

Il y a:

Un répertoire au nom de chaque utilisateurs ('guillaume' ici par exemple)pour les données.

Un répertoire 'Ordinateur'

Un sous répertoire 'Disque local(C:)

Un sous répertoire 'Programmes'

Un sous répertoire MonProgralle ou se trouvent le programme exe.

Ainsi l'exécutable du programme LDF est dans le répertoire:

   C:\Programmes\LDF

 

 

 

Il 'faudrait' utiliser ces répertoires pour les exécutables et les données!!!

Quand, par exemple, on installe un logiciel avec Click once de VB2005 sur un ordinateur Windows XP, l'exécutable s'installe dans C:\Documents and Settings\Nom Utilisateur\Local Settings\Apps:

C:\Documents and Settings\phil\Local Settings\Apps\2.0\WD2P2BPB.7A5\OVEEZQLA.BC1\chif..tion_6625898959f0f00b_0001.0000_56fb0b87e9540260

Le fichier de configuration user.config et les données dans C:\Documents and Settings\Nom Utilisateur\Application Data

C:\Documents and Settings\phil\Application Data\Polytel\WindowsApplication1.vshos_Url_dhzke3q02e3bxuhunbsnp0jhjwtnzb1i\1.0.0.0

(On remarque que après '..Application Data' le chemin comporte \CompanyName\ProductName\ProductVersion)

 

Il ne 'faudrait' pas utiliser le répertoire 'Program Files\Mon Application' pour les données!! 

En fait, beaucoup de programmes écrivent des données directement dans le répertoire courant de l'application (dans C;\Program Files\MonApplication); comment cela se passe?

 

 

 

Obtenir le répertoire de l'exécutable et des données:

Rien de plus simple (dans un programme VB 2005 sous Windows XP), pour un utilisateur:

Application.StartupPath donne le répertoire de l'exécutable.

Exemple: dans l'environnement de développement VB 2005, pour le programme WindowsApplication2:

C:\Documents and Settings\phil\Mes documents\Visual Studio 2005\Projects\WindowsApplication2\WindowsApplication2\bin\Debug

Application.UserAppDataPath donne le répertoire de données.

 C:\Documents and Settings\phil\Application Data\WindowsApplication1\WindowsApplication1\1.0.0.0

De même on peut obtenir la clé de Registre des données d'application.

Application.UserAppDatRegistry

 

Pour les données et le registre commun à tous les utilisateurs:

Application.CommonAppDataPath 

Application.CommonAppDatRegistry

 

Droits d'accès des utilisateurs dans Vista : l'UAC.

Pour réduire les effets des logiciels malveillants, Windows Vista inclut un nouveau modèle de sécurité dénommé User Account Control (UAC) qui marque un tournant comparé au modèle traditionnel des privilèges accordés aux utilisateurs de Windows, et affecte presque tous les utilisateurs Windows. L'UAC vise à améliorer l'expérience des utilisateurs standards de Windows, tout en réduisant le risque constitué par les logiciels malveillants.

Dans l'UAC, tous les utilisateurs Windows Vista, dont ceux qui possèdent des droits d'administrateur, interagissent avec leurs PC en tant qu'utilisateurs standards la plupart du temps. Le compte utilisateur standard Windows continue de ne pas avoir de privilèges d'administrateur, ce qui évite à un logiciel malveillant téléchargé malencontreusement par un tel compte de s'installer sur l'ordinateur. Ainsi, le logiciel malveillant qui s'infiltre d'une façon ou d'une autre dans un PC ne peut accéder ni à la base des registres ni aux répertoires protégés.

Si vous essayez d'effectuer une tâche qui nécessite des privilèges d'administrateur, comme l'installation d'un logiciel ou le changement d'état du pare-feu Windows, Windows Vista vous invite explicitement à donner votre autorisation et à vous identifier avant de vous faire passer temporairement au rang d'administrateur pour achever la tâche en cours. Pour un utilisateur standard, cela signifie concrètement la saisie d'un nom d'utilisateur et d'un mot de passe qui appartiennent à un membre du groupe Administrateurs

Dans Windows Vista avec le modèle UAC, les comptes utilisateurs standards ont été modifiés pour offrir des privilèges supplémentaires:

Dans les versions précédentes de Windows, un non-administrateur ne pouvait pas facilement comprendre quelles actions lui étaient autorisées. Dorénavant, Windows Vista utilise une icône de protection pour vous aider à comprendre quelles tâches seuls les administrateurs ont le droit d'effectuer