|
Site |
Cours VB.net |
|
|
|
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 ?
Windows 98:
![]() |
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.
|
Windows XP:
| 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
|
Windows Vista:
| 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'
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?
Aucun problème avec Windows 98.
Avec Windows XP puisque les comptes limités (comptes utilisateurs standards) n'ont pas accès en écriture au dossier %Program Files% et n'ont pas accès à HKEY-Local_Machine du registre; le problème à été résolu simplement: De manière générale les utilisateurs ont un compte administrateur, donc, ils ont tous les droits et peuvent écrire leurs données dans Program Files et modifier le registre!!
Vista "contourne ce problème": si on installe un programme qui veut utiliser le répertoire 'Program Files', Vista utilise un répertoire VirtualStore dans lequel il place un faux répertoire 'Program Files', en effet tous les programmes qui tentent d'écrire vers %Program Files% ou %windir% seront automatiquement redirigés vers 'C:\Users\Nom Utilisateur\AppData\Local\VirtualStore\Program Files'. Si le programme tente ensuite de lire le fichier précédemment écrit, le programme lira automatiquement le bon fichier. Tout ceci est invisible pour le programme, c'est Vista qui gère tout( le répertoire AppData\Local\VirtualStore serait caché). On appelle cela la 'virtualisation'. Attention donc, si le programme veut écrire dans C:\Program Files\MonProg\utilisateur , en fait, il écrira dans C:\Users\nom d'utilisateur\AppData\Local\VirtualStore\Program Files\MonProg\utilisateur. .
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