AlleCijfers.nl, over ons, hoe & waarom?

Hoe is AlleCijfers.nl gemaakt? Met ‘open data’ & ‘open source’!

Het mooie is dat de programma’s en gegevensbronnen die voor AlleCijfers.nl zijn gebruikt voor iedereen beschikbaar zijn. Het is echt iets om trots op te zijn dat de Nederlandse overheid zoveel gegevens via ‘open data’ beschikbaar stelt! Alle bronnen die voor AlleCijfers zijn gebruikt worden op de pagina’s met definities vermeld.

En het is echt positief dat er via internet en nieuwe technologieën zoveel mensen samenwerken aan ‘open source’ oplossingen! Dit maakt het mogelijk om AlleCijfers.nl via de volgende combinatie van standaarden en programma’s te maken:

  • De open data is op verschillende portalen beschikbaar. Afhankelijk van de aanbieder kan de data worden gedownload en/of met een directe interface (API) worden geladen. Downloads zijn bestanden in bijvoorbeeld CSV, Excel of JSON formaat. De APIs maken het mogelijk om grotere hoeveelheden data direct in te lezen in applicaties die de data verwerken. Beide oplossingen gebruik ik, afhankelijk van de situatie.
  • De data verwerk ik in Python. Hierbij maak ik gebruik van de Pandas module. Pandas maakt specifieke objecten van de data (series, dataframes en panels) waarmee het goed mogelijk is om de data effectief te bewerken. Er zijn veel statistische bewerkingen mogelijk (ook dankzij de Numpy module) en die worden in 1 keer op de hele dataset uitgevoerd.
  • Met Python genereer ik bestanden van het type ‘Mark Down’. Dat is mooi want hiermee kan in begrijpelijke taal de inhoud voor een webpagina worden voorbereid.
  • De Mark Down bestanden worden door het programma ‘Hugo’ (een zogenaamde “static templating website engine”) verwerkt en met pagina templates gecombineerd tot kant en klare statische web pagina’s.
  • Deze webpagina’s maken gebruik van verschillende standaard oplossingen.
  • Hierbij is het ‘bootstrap raamwerk’ heel belangrijk. Het ontwerp van de pagina’s op AlleCijfers is hierop gebaseerd. Hierdoor zijn alle pagina’s standaard ‘responsief’ zodat ze goed in ieder formaat worden weergegeven (desktop computer, laptop computer, ipads en andere tablets en mobiele telefoons). De wijze waarop je dit kunt doen staat bijvoorbeeld heel duidelijk op WebPlatform.org.
  • De data per onderwerp (bijvoorbeeld het verloop van het aantal leerlingen op een basisschool over de jaren) wordt in grafieken getoond met behulp van de Google Charts JavaScript oplossing. In de mark down staat de data in het formaat dat Google Charts verwacht, in de template staat de structuur van Google Charts en Hugo genereert hiermee een kant en klare pagina met grafieken.
  • De bestanden die voor bootstrap en Google Charts nodig zijn worden via internet ingeladen vanaf een “content delivery network”. Dit gebeurt ook voor de Google Adsense modules (gebruikt om advertenties te tonen) en de MailChimp bibliotheek (gebruikt om email adressen op te slaan en een notificatie te versturen als de gegevens van een nieuw kalender jaar zijn geladen).
  • Alle pagina’s samen vormen de website. De site wordt ‘statisch’ genoemd omdat de pagina’s alle informatie bevatten die nodig is. Het JavaScript wordt door de browser uitgevoerd. Er is geen aparte web server of applicatie server nodig. Daarom is AlleCijfers een ´serverless website´. Dit wordt ook wel JAMstack (JavaScript, APIs en Markdown opgestapeld) genoemd.
  • De webpagina’s worden naar de browser gestuurd door een ‘platform cloud service’: de pagina’s zijn via internet bereikbaar door ze op de ‘simpel storage solution’ (S3) van Amazon Web Services (AWS) te huisvesten (hosten). Je bekijkt hem nu! :)

Waarom AlleCijfers.nl ?

Leuk dat je hier bent (virtueel welliswaar :) ) en dit leest! De paginatitel is ‘over ons’, dat is koninklijk meervoud moet je maar denken:

Ik heb deze site gemaakt omdat ik het gewoon leuk vind! Voor sommigen is het misschien raar, voor mij is het waar: het geeft echt voldoening om van ‘open data’ interessante webpagina’s te maken:

  • Het is gaaf om met (nieuwe) technolgieën te werken en hierover te lezen en leren door het te gebruiken.
  • Het voelt goed om zelf iets te maken. Met AlleCijfers.nl kan ik lekker zelf schrijven, programmeren, experimenteren en resultaten opleveren.
  • Het is spannend om de bezoekersaantallen te volgen en helemaal leuk als hier ook nog advertentie inkomsten uit voortkomen!
  • Ik vind het ook een goed voorbeeld voor mijn 2 zoons om te laten zien wat je zelf allemaal met de computer kunt. Zowel technisch als qua ondernemerschap. Natuurlijk vinden zij dat de ‘maps’ die ze in hun favoriete spel ‘Minecraft’ maken net zoiets zijn :)
  • Transparantie en openheid zijn een groot goed. De overheid en diverse andere instanties bieden steeds meer gegevens als ‘open data’ aan en stimuleren burgers en bedrijven om hier informatie van te maken. Dat is geweldig, het ontsluiten van de data leidt tot meer inzicht in allerlei onderwerpen. Analyses en discussie naar aanleiding hiervan komt de kwaliteit en efficiëntie van de (publieke) dienstverlening ten goede en daar worden we allemaal beter van!

Contact gegevens:

Heb je een vraag of idee of heb je ergens een fout op de site gevonden? Neem even contact met me op:

Email: Wouter van Bijsterveld

LinkedIn profiel: LinkedIn

Vriendelijke groet, Wouter

Contact gegevens AlleCijfers.nl

Overzicht van de gebruikte programma's en platformen waarmee AlleCijfers.nl is gemaakt:


Afbeelding van de architectuur van de gebruikte programma's en platformen om tot de statische, serverloze oplossing voor AlleCijfers te komen.