Εισαγωγή - Απαραίτητα εργαλεία

Για την ανάπτυξη ιστοσελίδων απαιτούνται κάποια εργαλεία, κάποια από τα οποία είναι ήδη εγκατεστημένα στον υπολογιστή του χρήστη. Τα εργαλεία που χρειάζονται είναι:

  • Text editor
  • Web browser
  • Web server
  • PHP
  • MySQL
  • FTP client (προαιρετικά)

 

Text editor
Ένας text editor (επεξεργαστής κειμένου) είναι ένα είδος προγράμματος που χρησιμοποιείται για την επεξεργασία απλού κειμένου. Σε έναν text editor μπορεί κανείς να γράψει τον κώδικα που απαιτείται για να αναπτύξει την ιστοσελίδα του.

Κάθε λειτουργικό σύστημα έχει προεγκατεστημένο έναν text editor. Π.χ.

  • Windows: notepad
  • Mac OS: textedit
  • Linux Ubuntu: getid

Στα παραδείγματα του μαθήματος θα αναφερόμαστε στον text editor notepad++ (http://notepad-plus-plus.org/), το οποίο είναι δωρεάν λογισμικό και παρέχει παραπάνω δυνατότητες από το notepad που υπάρχει εγκατεστημένο στα windows. Ωστόσο, για τον εκπαιδευόμενο δεν αποτελεί προϋπόθεση για να παρακολουθήσει το μάθημα και μπορεί να επιλέξει εκείνο που θεωρεί πως του ταιριάζει καλύτερα.

 

Web browser
Ο web browser (φυλλομετρητής) είναι ένα λογισμικό που επιτρέπει στο χρήστη να προβάλλει μία ιστοσελίδα που βρίσκεται στον υπολογιστή του, σε τοπικό δίκτυο ή στο διαδίκτυο. Στην ιστοσελίδα μπορούν να είναι αναρτημένα κείμενα, εικόνες, βίντεο, παιχνίδια και άλλες πληροφορίες. Ένας web browser χρησιμοποιεί τη γλώσσα μορφοποίησης HTML για την προβολή των ιστοσελίδων. Οι προεγκατεστημένοι web browsers στα κυριότερα λειτουργικά συστήματα είναι:

  • Microsoft Internet Explorer (Windows)
  • Apple Safari (Mac OS)
  • Mozilla Firefox (Linux Ubuntu)

Άλλοι γνωστοί web browsers είναι οι:

  • Opera
  • Google Chrome

Επίσης, για κάποιους από τους παραπάνω υπάρχουν και αντίστοιχες εκδόσεις και στα άλλα λειτουργικά συστήματα. Π.χ. οι firefox, chrome και opera μπορούν να εγκατασταθούν οι κατάλληλες εκδόσεις και στα τρία λειτουργικά συστήματα. Κάθε ένας διαφέρει σε ταχύτητα, ασφάλεια, ακόμα και στον τρόπο προβολής μίας ιστοσελίδας. Καλό είναι, λοιπόν, ένας προγραμματιστής να πραγματοποιεί τα τεστ της ιστοσελίδας σε διάφορους web browsers ώστε να είναι σίγουρος ότι το αποτέλεσμα είναι κοινό σε όλους. Οι παραπάνω είναι εκείνοι που χρησιμοποιούνται ευρέως και αρκεί η δοκιμή σε αυτούς.

 

Web Server
Ένας web server μπορεί να αναφέρεται σε έναν υπολογιστή ή σε μία εφαρμογή που αναλαμβάνει να εξυπηρετήσει ένα πελάτη (web browser) παραδίδοντάς το περιεχόμενο της ιστοσελίδας που επιθυμεί να δει. Στην ουσία είναι ένα πρόγραμμα εγκατεστημένο σε έναν υπολογιστή, το οποίο 'τρέχει' μία ιστοσελίδα. Η επικοινωνία του web server και του client πραγματοποιείται με τη βοήθεια του πρωτοκόλλου http (hypertext transfer protocol). O πελάτης στέλνει στον εξυπηρετητή αιτήσεις (http requests) και ο τελευταίος 'απαντά' στέλνοντας έγγραφα html (ιστοσελίδα). Κατά την αποστολή αιτήσεων, ο web server μπορεί να εκτελεί διάφορα κομμάτια κώδικα, όπως αναζήτηση της πληροφορίας σε μία βάση δεδομένων ή έλεγχος στοιχείων που έχει καταχωρήσει ένας χρήστης σε μία ιστοσελίδα. Μία πολύ απλή σχηματική αναπαράσταση του μοντέλου εξυπηρέτησης web server – web browser (client) φαίνεται στο παρακάτω σχήμα:

Μοντέλο επικοινωνίας web browser – web server
Μοντέλο επικοινωνίας web browser – web server

  1. Ο χρήστης πληκτρολογεί στο web browser μία διεύθυνση (π.χ. http://www.google.gr).
  2. Ο web server λαμβάνει την αίτηση από το χρήση, συνδέεται με τη βάση δεδομένων και στέλνει ανάλογη αίτηση.
  3. Η βάση δεδομένων επιστρέφει την πληροφορία που ζητήθηκε ή σφάλμα σε περίπτωση αδυναμίας σύνδεσης.
  4. Ο web server επιστρέφει την ιστοσελίδα στην πλευρά του χρήστη και εκείνη προβάλεται μέσω του web browser.

Για να είναι ορατή μία σελίδα στο διαδίκτυο, είναι απαραίτητο να υπάρχει ένας υπολογιστής μονίμως συνδεδεμένος στο διαδίκτυο, στον οποίο θα είναι εγκατεστημένος ένας web server και θα περιέχονται και τα αρχεία του κώδικα της ιστοσελίδας. Η διαδικτυακή υπηρεσία που επιτρέπει στους χρήστες να διαθέτουν μία ιστοσελίδα συνεχώς αναρτημένη στο διαδίκτυο, ονομάζεται φιλοξενία ιστοσελίδων (web hosting). Συνήθως η υπηρεσία αυτή παρέχεται από εταιρείες φιλοξενίας ιστοσελίδων που προσφέρουν χώρο στο διακομιστή τους και μέρος της σύνδεσής τους προς το internet.

Ωστόσο, ένας χρήστης μπορεί να εγκαταστήσει τοπικά στον υπολογιστή του ένα web server και να αναπτύξει την ιστοσελίδα που επιθυμεί. Πληκτρολογώντας την κατάλληλη διεύθυνση στον browser, μπορεί να παρακολουθεί το αποτέλεσμα ανάλογα με τον κώδικα που έχει συντάξει. Στην περίπτωση αυτή, η σελίδα δεν είναι ορατή σε όλους τους χρήστες του διαδικτύου πάρα μόνο στο χρήστη του συγκεκριμένου υπολογιστή. Ακόμα και αν ο υπολογιστής είναι συνδεδεμένος στο διαδίκτυο, απαιτείται να εγκατασταθούν κι άλλες εφαρμογές με τις κατάλληλες ρυθμίσεις (όπως dns server κλπ) ώστε να είναι η σελίδα προσβάσιμη και από άλλους χρήστες.

Μερικοί από τους πιο διαδεδομένους web servers που μπορούμε να εγκαταστήσουμε στον υπολογιστή μας είναι οι:

 

PHP
Η PHP είναι μια γλώσσα προγραμματισμού που χρησιμοποιείται κυρίως για τη δημιουργία ιστοσελίδων με δυναμικό περιεχόμενο. Ανήκει στην κατηγορία των server-side γλωσσών, γεγονός που σημαίνει ότι εκτελείται στην πλευρά του server. Αντίθετα, η html που είδαμε παραπάνω εκτελείται στην πλευρά του client (web browser). Μία σελίδα PHP, λοιπόν, δε στέλνεται άμεσα σε ένα χρήστη αλλά αρχικά αναλύεται και επεξεργάζεται από τον server και τελικώς αποστέλλεται το παραγόμενο αποτέλεσμα. Ο κώδικας PHP μπορεί να επικοινωνήσει με βάση δεδομένων, να δημιουργήσει εικόνες, να ανεβάσει και να επεξεργαστεί αρχεία κ.α. Μπορεί να ενσωματωθεί σε κώδικα html, ο οποίος θα έχει το ρόλο της επιθυμητής μορφοποίησης αποτελεσμάτων. Για να μπορεί ο server να διαχειριστεί κώδικα PHP, θα πρέπει να γίνει εγκατάσταση της τελευταίας.

 

MySQL
Η MySQL αποτελεί σχεσιακό σύστημα διαχείρισης βάσεων δεδομένων. Η ονομασία της χωρίζεται σε δύο κομμάτια: My, το οποίο είναι το όνομα της κόρης του προγραμματιστή της MySQL Michael Widenius και SQL που είναι τα αρχικά των λέξεων Structured Query Language. Η SQL είναι γλώσσα προγραμματισμού που χρησιμοποιείται για τη διαχείριση δεδομένων σε σχεσιακά συστήματα βάσεων δεδομένων.

Η MySQL δίνει στο χρήστη τη δυνατότητα να δημιουργεί βάσεις δεδομένων, στις οποίες θα καταχωρεί τα δεδομένα των ιστοσελίδων που αναπτύσσει. Για παράδειγμα μία ειδησεογραφική ιστοσελίδα μπορεί να έχει καταχωρημένες τις ειδήσεις της σε μία βαση δεδομένων της MySQL. Επίση, μία ιστοσελίδα κοινωνικής δικτύωσης (π.χ. Facebook) έχει αποθηκευμένες τις πληροφορίες όλων των χρηστών (ονόματα, γενέθλια, μηνύμα κ.ο.κ.).

Αποτελεί μία από τις πιο δημοφιλείς επιλογές για τη διαχείριση βάσεων δεδομένων και είναι δωρεάν εφαρμογή ανοιχτού κώδικα. Υπάρχουν και εμπορικές εκδόσεις που προσφέρουν επιπρόσθετες λειτουργίες, ωστόσο δεν αποτελούν κομμάτι του συγκεκριμένου μαθήματος. Για να έχει μία ιστοσελίδα δυναμικό περιεχόμενο, είναι απαραίτητη η εγκατάστασή της στο server που φιλοξενεί τη σελίδα.

 

FTP Client
Το πρωτόκολλο FTP (File Transfer Protocol) χρησιμοποιείται για τη μεταφορά αρχείων από έναν υπολογιστή σε έναν άλλον που είναι απομακρυσμένοι μεταξύ τους. Βασίζεται στο μοντέλο server – client και επιτρέπει τη σύνδεση δύο υπολογιστών μεταξύ τους, συνήθως μετά από κάποια διαδικασίας πιστοποίησης του client με κωδικό. Στην περίπτωση που η ιστοσελίδα είναι εγκατεστημένη τοπικά στον υπολογιστή του χρήση, δεν είναι απαραίτητη η ύπαρξη ftp client αλλά αν η ιστοσελίδα φιλοξενείται σε κάποιον απομακρυσμένο υπολογιστή, θα πρέπει ο τελευταίος να έχει ftp server που θα δίνει τη δυνατότητα στον προγραμματιστή να χρησιμοποιεί ftp client για συνδεθεί και να μεταφέρει τα αρχεία με τον κώδικα του. Ενδεικτικά αναφέρουμε μερικούς ftp clients: