#KLOOIENMETCOMPUTERS

Apache, MySQL en PHP

Arnout van Kempen over rommelen in een digitale wereld.

Als je vrolijk aan het coderen bent geslagen, in C, Python, of welke taal je maar wilt, loop je al snel tegen een praktische kwestie aan. Alles wat je maakt, werkt op je Raspberry Pi en alléén op je Pi. Leuk, dat we alle mogelijke tools hebben om de Pi aan de iPad te verbinden, maar uiteindelijk voegt dat wel een mooie interface aan de Pi toe, maar geen echte kracht aan je iPad.

Apple laat je nauwelijks toe om puur voor jezelf te programmeren voor de iPad. Je kunt wel apps bouwen die je vervolgens via de app-store kan publiceren, maar dat is veel te professioneel en daar zitten we hier niet voor. We zijn hier om te klooien tenslotte. Gelukkig biedt Apple daar wel een oplossing voor: een website. Als we een website kunnen bouwen die de functionaliteit heeft die wij willen, dan kan je daar een soort fake-app van maken door de site te openen in Safari, voor exporteren te kiezen via het vierkantje waar een pijl uit komt (rechtsboven) en dan te kiezen voor de optie Zet op beginscherm.

Maar dat is het einde van het verhaal. Het begint ergens anders. Om op deze manier functionaliteit van de Pi beschikbaar te maken op de iPad, heb je wel eerst een website nodig die op de Pi draait. Daar is een web-server voor nodig en de populairste is Apache. Dus die gaan we installeren, met deze instructie.

Let op: Niet alleen de Apache-server, want dan kom je niet verder dan eenvoudige html. De instructies gaan verder over hoe ook PHP te installeren. PHP is een taal die redelijk op C lijkt en die gebruikt kan worden om een dynamische website mee te bouwen. Als je de instructies volgt tot en met het extreem simpele voorbeeld programma om datum en tijd weer te geven, dan heb je genoeg om je eerste, vrij nutteloze app je te schrijven. Volg letterlijk de instructies, ga dan in Safari op je iPad naar x.x.x.x/example.php (waarbij x.x.x.x het IP-adres van je Pi is), maak er een icoon van op je beginscherm en je hebt zomaar een klokje gemaakt!

Oké, niet heel indrukwekkend, maar wie fantasie heeft ziet de mogelijkheden al.

Wil je serieus met iets aan de gang waarbij je veel data gaat verwerken, bijvoorbeeld je eigen grootboek-app, dan heb je al heel snel een relationele database nodig. Opnieuw zou ik hier kiezen voor wat in de praktijk heel erg veel gebruikt wordt en dat betekent MySQL. Instructies vind je hier en daarna hier.

Gebruik GitHub om te klooien met de computer!

Wie mee wil doen met #klooienmetcomputers, maar niet alle teksten van Arnout wil overtypen, of de eigen code wil delen met andere lezers, kan dat doen via GitHub:

1. Maak een account op www.github.com

2. Zoek naar Abmvk/kmc

Het account Abmvk volgen kan ook.

Arnout plaatst daar alle stukjes code voor #klooienmetcomputers, met als naam eerst een volgnummer van het stukje waar de code bij hoort en dan een term uit de titel. Zaken die bijvoorbeeld in een config-bestand thuishoren plaatst hij als .txt bestand, wat overtypen kan besparen. Ook plaatst hij stukjes code waar hij zelf mee rommelt en die niet in een stukje op accountant.nl terechtkomen. Die stukjes zijn te herkennen omdat er geen volgnummer voor staat.

Lezers zijn vrij te gebruiken wat ze willen en om zelf zaken toe te voegen of aan te passen, vragen te stellen of commentaar te leveren. Samen kom je een eind. Om dit goed te laten werken: maak een clone van Arnout’s repo, haal met pull nieuwe bestanden binnen en voeg met push zelf toe. Wie er niet uitkomt: laat het Arnout weten.

SQL is een extreem makkelijke taal om relationele databases mee te benaderen op de manier waarop mensen denken; SQL zorgt voor alle vertaling naar hoe de computer met data werkt. En je kunt SQL naadloos in PHP integreren. En wie nu denkt: maak eens een keuze? Python, C, nu weer PHP en SQL? Houdt het nooit op? Nee, waarschijnlijk niet. Maar bedenk dat iedere taal handig is voor specifieke toepassingen en minder voor andere. Maar je kunt ze allemaal laten samenwerken en vrij makkelijk integreren.

Het aardige van SQL gebruiken is trouwens dat het je helpt te leren denken in relationele databases. Ik hoor al jaren van accountants “je moet leren denken in journaalposten” en dat is terecht. Maar even terecht is het dat je als accountant moet leren denken in SQL-statements, als je wilt begrijpen wat echt in de informatiesystemen van je klant gebeurt. En hier is dus een mooie kans!

Arnout van Kempen di CCO CISA is Senior manager Risk & Compliance bij Baker Tilly. Hij schrijft op persoonlijke titel. Hij is lid van de Commissie Financiële verslaggeving & Accountancy van de AFM en lid van de signaleringsraad van de NBA. Daarnaast is hij diaken van het bisdom 's-Hertogenbosch.

Gerelateerd

reacties

Reageren op een artikel kan tot drie maanden na plaatsing. Reageren op dit artikel is daarom niet meer mogelijk.

Aanmelden nieuwsbrief

Ontvang elke werkdag (maandag t/m vrijdag) de laatste nieuwsberichten, opinies en artikelen in uw mailbox.

Bent u NBA-lid? Dan kunt u zich ook aanmelden via uw ledenprofiel op MijnNBA.nl.