ACCESS : Audit de parc informatique – RPNG Access 97

Dans les années 90, les produits d’audit de parc informatique étaient rares (3 identifiés à l’époque) et très onéreux (plusieurs milliers de dollars, hors assistance obligatoire). Quand on compte 3000 postes PC et une petite centaine de MAC répartis sur 3 sites sensibles, faire l’inventaire des logiciels installés est une véritable mission chronophage.

En quelques jours, avec Microsoft Access 97, j’ai créé un outil d’analyse des postes PC distants. Je me suis fixé les limites d’acceptabilités suivantes :

  • rapidité de collecte d’information du poste pour ne pas gêner l’utilisateur
  • possibilité de faire la collecte en dehors de certaines plages horaire
  • création de persistance pour faciliter l’analyse rapide des données
  • fonctionner en autonomie pour permettre à la petite équipe de se consacrer à l’analyse des données collectées
  • utiliser un RAD (Access est un RAD !) pour pouvoir faire évoluer l’outil suivant les demandes et limiter les coûts d’un produit jetable.

J’ai utilisé des commandes systèmes pour collecter les informations de chaque poste et persisté sur une base Jet (la base de données interne d’Access sur cette version) parfaitement dimensionnée pour le travail à réaliser.

Traitements

  • Les nouveaux logiciels identifiés ont fait l’objet d’un traitement d’identification manuel
  • Ceux déjà connus sont automatiquement identifiés
  • Plus la banque de données de référence (liste des logiciels) progresse moins les interventions manuelles sont nécessaires
  • Les postes inaccessibles (RH, Direction…) ont été traités manuellement, puis intégrés au processus automatisé
  • Les 200 premiers postes ont permis d’automatiser à 99 % le traitement des suivants
  • Une centaine de Mac nécessitent une intervention et une saisie manuelle, soit un rapport équivalent à 6,7 %, similaire à celui observé précédemment.

Grâce à l’enrichissement progressif de la base de référence et à l’apprentissage issu des premiers traitements manuels, le processus d’identification des logiciels a atteint un haut niveau d’automatisation, réduisant significativement les interventions humaines et permettant un traitement fiable et quasi intégral des postes restants.

Les résultats

Les résultats ont dépassé les attentes du client. En deux semaines, avec une équipe restreinte de deux personnes, nous avons réalisé un inventaire précis et fiable du parc.

Les résultats ont été consolidés dans un fichier Excel structuré, répertoriant les logiciels identifiés, leur taux de présence sur le parc, leur typologie fonctionnelle et leur localisation précise.

ACCESS : Plus qu’un RAD il est au cœur de l’intégration

Microsoft Access est souvent perçu comme un outil de base de données local. Pourtant, grâce à VBA et ses multiples bibliothèques, sa capacité à interagir avec les SGBDR du marché et son moteur ACE, il peut jouer un rôle central dans des architectures plus complexes. Il devient alors un véritable hub de connectivité entre différents systèmes.

Un exemple de connectivité Full Access :

  • Un CRM réalisé avec Access travaille avec MariaDb pour les données.
  • Il utilise ACE pour stocker certains paramètres locaux.
  • Une partie de données du CRM sont issus d’un logiciel métier sous PostgreSQL.
  • Un utilitaire autonome permet de faire une synchro client à heure fixe ou à la demande.

Un exemple d’utilisation sans ACE :

  • Un logiciel de création de modèle statistique réalisé avec Access.
  • Il utilise une base de données MariaDb hébergé.
  • Le logiciel récupère des données INSEE de plusieurs millions de lignes.
  • Les formats hétérogènes de ces données (CSV, DBase…) sont traités et envoyés vers MariaDb.
  • Le logiciel permet de créer des modèles statistiques réutilisables.
  • Le résultat est injecté dans des feuilles Excel pour créer des graphiques des tableaux de chiffre en vue de créer des présentations.

MS Access, un RAD central

MS Access a de multiples casquettes :

  • point de convergence pour des données hétérogènes (SQL, JSON, CSV…).
  • Client léger connecté à une base de données serveur.
  • Utilitaire autonome
  • Client lourd connecté à ACE en local ou intranet.

Grâce aux formulaires et états dotés de composants riches et paramétrables, l’utilisateur peut interagir avec les bases de données connectées via les formulaires et les états.

Important : ACE n’est pas compatible avec un cloud partagé (dropbox, onedrive…)

VBA un vrai langage

Le nuage VBA représente les interfaces de programmation qu’Access peut exploiter :

  • Windows API : pour interagir avec le système d’exploitation (fichiers, registres, processus…)
  • .NET COM : pour appeler des objets COM exposés par des bibliothèques .NET
  • API Web : pour envoyer des requêtes HTTP vers des services RESTful ou SOAP.
    Ces connexions permettent à Access de sortir de son périmètre local et d’interagir avec des services distants ou des composants système.
  • VBScript remplacé par PowerShell : véritable couteau suisse de Windows.

Access et les bases de données

Access peut aussi se connecter à des bases de données externes via ODBC ou des pilotes spécifiques :

  • MariaDb
  • SQL Server
  • PostgreSQL
  • Oracle
    Ces connexions permettent de centraliser les données dans Access tout en conservant la puissance des SGBD professionnels. Ces bases de données peuvent être locales, sur un serveur intranet ou totalement hébergées.

Le moteur ACE

Le moteur ACE (Access Connectivity Engine) est le moteur de base de données intégré à MS Access. Il permet :

  • L’accès aux fichiers de données accdb
  • L’utilisation d’Access comme source OLEDB dans d’autres applications
  • L’export/import de données vers Excel, CSV, etc.
  • ACE est aussi utilisé dans des contextes sans Access installé, comme dans des scripts PowerShell ou des applications .NET.

Conclusion

Access n’est pas juste un outil de bureau pour les petites bases de données. C’est un véritable orchestrateur, capable de dialoguer avec des APIs, des bases de données distantes, et des composants système. Grâce à VBA et ODBC il devient un pont entre le local et le cloud, entre l’utilisateur et les données.