Le rire paresseux vient-il lorsque vous entendez parler de la transformation numérique? Ne croyez-vous plus aux promesses de données ouvertes? Pensez-vous qu'il est moche de gaspiller de l'argent public dans des "Portalitos"? Vous êtes au bon endroit.
Le plan est de créer des API décentes qui consultent les sources de données publiques (par exemple, les pages Web) pour utiliser les services d'administration de manière programmatique.
Essayez de consulter quelques exemples dans une vraie démo:
Il existe de nombreux services à inclure et je ne pourrai pas le faire seul. Collaborer!
Le projet est divisé en plusieurs packages:
egov-api-server utilise ce package.Serveur HTTP qui expose une API GraphQL pour accéder aux données publiques réelles (essayez la démo). Il est développé sur Node.js (TypeScript) avec Apollo GraphQL et est le moyen le plus simple d'accéder aux données.

Vous pouvez consulter le schéma de données. J'ai commencé avec les données des emplacements géographiques et des services de télécommunications disponibles dans la région (antennes, chaînes de télévision numérique, réseaux disponibles).
Vous avez juste besoin de node.js 10+. Vous devez initialiser le projet après l'avoir fermé pour la première fois:
git clone [email protected]:palmerabollo/egov.git
cd egov
npm install
Et l'exécutez:
npm run start:api-server
Sur http: // localhost: 4000, vous aurez l'accès au site Web à l'API GraphQL pour exécuter vos requêtes. Si vous en avez envie, il y a plus de détails sur le processus de développement dans le Guide des collaborateurs.
Remarque: Certaines administrations ont des serveurs insécurisés, affectés par les vulnérabilités (CVE-2009-3555) pendant plus d'une décennie. Cela empêche le support de Node.js> 16 / OpenSL 3.x. Il est nécessaire d'étudier si elle peut être ignorée avec la variable
SSL_OP_LEGACY_SERVER_CONNECT.
Il comprend la mise en œuvre des fournisseurs de données: services de consultation qui extraient les données des sources publiques. Certains services consultent les données lorsqu'ils sont demandés (en ligne) et d'autres utilisent des données locales (hors ligne).
La création d'un nouveau service est très simple. Les éléments suivants sont actuellement développés. Consultez et proposer de nouvelles idées dans les problèmes ou envoyez votre demande de traction avec de nouveaux services. C'est très facile.
| Service | Classe | Origine des données | En ligne |
|---|---|---|---|
| Rechercher des populations et des codes postaux Catégorie: Général | PostalCodeService | Geonames.org | ❎ (Fichier local) |
| Emplacement des antennes de téléphone mobile Catégorie: Telco | AntennaService | geoportal.minetur.gob.es | ✅ (API) |
| Vérification de la couverture 4G à 800 MHz Catégorie: Telco | NetworkService | www.llega800.es | ✅ (API) |
| Signaux de télévision par emplacement géographique Catégorie: Telco | DigitalTelevisionService | www.televisiongital.gob.es | ✅ (HTML) |
| Radars de la circulation Catégorie: trafic | TrafficRadarService | www.dgt.es | ✅ (HTML, PDF) |
| Informations sur le véhicule Catégorie: trafic | TrafficVehicleService | www.dgt.es | ✅ (HTML, PDF) |
Exemples d'utilisation programmatique des services de consultation disponibles dans egov-data-providers .
import * as egov from '@egov/data-providers' ;
let service = new egov . AntennaService ( ) ;
let antennas = await service . findAntennas ( 41.73 , - 5.32 ) ;
console . table ( antennas , [ 'code' , 'latitude' , 'longitude' ] ) ;
// output
// ┌─────────┬───────────────────────────────────┬───────────┬───────────┐
// │ (index) │ code │ latitude │ longitude │
// ├─────────┼───────────────────────────────────┼───────────┼───────────┤
// │ 0 │ 'VODAFONE ESPAÑA, S.A. - 144588' │ 41.471472 │ -4.989911 │
// │ 1 │ 'VODAFONE ESPAÑA, S.A. - 144589' │ 41.479806 │ -5.048222 │
// │ 2 │ 'ORANGE ESPAGNE, SAU - CYLR2147A' │ 41.471472 │ -4.989911 │
// │ 3 │ 'ORANGE ESPAGNE, SAU - CYLR2223B' │ 41.479806 │ -5.048222 │
// └─────────┴───────────────────────────────────┴───────────┴───────────┘Le code EGOV est développé sur Node.js (TypeScript). Ceux qui souhaitent contribuer à de nouveaux fournisseurs de données dans un autre langage de programmation ont la possibilité d'être exécutés en tant que processus indépendants qui exposent une interface HTTP. Ces processus d'adaptateur peuvent obtenir les données, les traiter et les offrir à EGOV via cette interface HTTP.
Il y a une preuve de concept pour obtenir des radars de trafic avec un processus Python qui fermer les données des radars DGT. Ce processus est exécuté en tant que fonction sans serveur dans AWS Lambda.
Data-provider- (http) -> adaptateur- (http scrasse) -> dataSource
Pourquoi sans serveur? Parce que c'est la façon de réaliser le projet économiquement durable, sans avoir à demander de l'argent pour l'instant.
Copyright 2019 - Guido García (Guido.garcia à ProtonMail Dot Com)
Licencié en vertu du GNU, licence publique générale, version 2.0 (la "licence"); Vous ne pouvez pas utiliser ce fichier sauf conforme à la licence.
Les codes postaux de l'information sont fournis par Geonames sous une licence Creative Commons Attribution 4.0.