CHƯƠNG 1: TỔNG QUAN 1.1 Lý do chọn đề tài Công nghệ thông tin là một trong các động lực quan trọng nhất của sự phát triển, cùng với một số ngành công nghệ cao khác đang làm biến đổi sâu sắc đời sống kinh tế, văn hoá, xã hội của thế giới hiện đại. Ứng dụng và phát triển công nghệ thông tin là một nhiệm vụ ưu tiên trong chiến lược phát triển kinh tếxã hội, là phương tiện chủ lực đi tắt đón đầu, rút ngắn khoảng cách phát triển so với các nước đi trước. Mọi lĩnh vực hoạt động văn hóa kinh tế, văn hóa, xã hội, an ninh, quốc phòng đều phải ứng dụng công nghệ thông tin để phát triển. Hiện nay, việc ứng dựng mã nguồn mở vào các cơ sở giáo dục và đào tạo là ưu tiên hàng đầu được nhà nước khuyến khích áp dụng. Có một website để giới thiệu quảng bá hình ảnh trường học, thuận tiện cho công việc giảng dạy của giáo viên, giúp học sinh học tập, tiếp cận tìm hiểu rõ quyền lợi và trách nhiệm của mình, trong thời gian tới việc thiết kế một website cho các trường là điều hết sức cần thiết. Với các lý do trên, chúng em mạnh dạn đề xuất đề tài “ Xây dựng website giới thiệu công ty TNHH G.S Việt Nam” dựa trên mã nguồn mở Joomla làm đề tài đồ án . Em thấy đây là đề tài mang tính thực tế cao, giúp mọi người tìm hiểu và biết đến công ty cũng như sử dụng các dòng sản phẩm của công ty TNHH G.S Việt Nam, đồng thời việc xây dựng, quản trị và cập nhật thông tin của một website là một công việc phù hợp với em sau khi rời ghế nhà trường. 1.2 Mục tiêu của đề tài Đề tài xây dựng dựng một website bằng ngôn ngữ php trên nền tảng mã nguồn mở Joomla với công nghệ web mới. Hệ thống Website triển khai tại công ty TNHH G.S Việt Nam. Nhằm tạo ra website tin tức phục vụ hoạt động của công ty. 1.3 Nội dung thực hiện Website là nơi quảng bá, giới thiệu về công ty bao gồm tất cả các hoạt động, lĩnh vực sản xuất kinh doanh các sản phẩm, cũng như các thông tin về công ty trong hệ thống website giúp cho khách hàng, người xem có thể tìm kiếm, xem thông tin hoạt động và các sản phẩm mà công ty sản xuất. Nội dung thực hiện cụ thể như sau: • Nghiên cứu các hệ thống trên các nền tảng công nghệ php, java, .net. • Tìm hiểu hoạt động của hệ thống website ngôn ngữ php, sử dụng cơ sở dữ liệu (CSDL). • Phân tích chức năng hoạt động của hệ quản trị nội dung mã nguồn mở Joomla. • Phân tích bài toán thiết kế website tin tức. • Xây dựng biểu đồ chức năng user – case đặc tả hệ thống website tin tức. • Khảo sát phân tích thiết kế hệ thống website giới thiệu cho công ty TNHH G.S Việt Nam. 1.4 Phương pháp tiếp cận • Cách tiếp cận: Nghiên cứu các hệ thống website trên các nền tảng công nghệ khác nhau như PHP, .NET, JAVA. • Sử dụng các phương pháp nghiên cứu: Phương pháp đọc tài liệu; Phương pháp phân tích mẫu; Phương pháp thực nghiệm. CHƯƠNG 2: TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH PHP VÀ CƠ SỞ DỮ LIỆU MYSQL 2.1 Mã nguồn mở 2.1.1 Khái niệm Phần mềm nguồn mở là phần mềm với mã nguồn được công bố và sử dụng một giấy phép nguồn mở. Giấy phép này cho phép bất cứ ai cũng có thể nghiên cứu, thay đổi và cải tiến phần mềm, và phân phối phần mềm ở dạng chưa thay đổi hoặc đã thay đổi. Năm 1998 một nhóm người chủ trương rằng thuật ngữ phần mềm tự do nên được thay thế bằng phần mềm nguồn mở vì thuật ngữ này ít mơ hồ hơn và dễ sử dụng hơn cho giới doanh nghiệp. Phần mềm OSS và FOSS Chúng ta thường nghe nói tới các phần mềm nguồn mở OSS (Open Source Software). Tuy nhiên còn một cụm từ thường được sử dụng khác là FOSS (Free Open Source Software), có nghĩa là các phần mềm nguồn mở và tự do, dùng để chỉ các phần mềm có giấy phép sử dụng theo kiểu GNU. Những phần mềm này cho phép người sử dụng quyền tự do chạy, quyền tự do sao chép, quyền tự do phân phối lại, nghiên cứu, thay đổi và cải tiến cho phù hợp với nhu cầu sử dụng của mình mà không cần phải tới sự cho phép, hoặc phải trả tiền, cho bất cứ cá nhân hoặc nhóm người nào. Cụm từ tự do trong FOSS không ám chỉ sự miễn phí, mà chỉ nói về các quyền tự do mà FOSS mang lại cho người sử dụng. Cụm từ nguồn mở nhấn mạnh đến quyền của người sử dụng được nghiên cứu, thay đổi và cải tiến mã nguồn – có nghĩa là cả thiết kế chi tiết của các ứng dụng FOSS. Các phần mềm tự do thường mang yếu tố mã nguồn mở và ngược lại, vì cả hai loại phần mềm này đều nằm trong cùng một tập hợp các quyền tự do dành cho người sử dụng phần mềm và đã được Richard Stallman định nghĩa từ cuối những năm 1980
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN
XÂY DỰNG WEBSITE GIỚI THIỆU CÔNG TY
HƯNG YÊN – 2014
Trang 3NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 1
Hưng yên, Ngày….tháng……năm 2014
Chữ ký của giáo viên
Trang 4NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 2
Hưng yên, Ngày….tháng……năm 2014
Chữ ký của giáo viên
Trang 5NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Hưng yên, Ngày….tháng……năm 2014
Chữ ký của giáo viên
MỤC LỤ
Trang 6NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 1 3
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 2 4
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 5
MỤC LỤC 6
DANH SÁCH HÌNH VẼ 8
DANH SÁCH TỪ VIẾT TẮT 9
LỜI CẢM ƠN 10
CHƯƠNG 1: TỔNG QUAN 11
1.1 Lý do chọn đề tài 11
1.2 Mục tiêu của đề tài 11
1.3 Nội dung thực hiện 12
1.4 Phương pháp tiếp cận 12
CHƯƠNG 2: TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH PHP VÀ CƠ SỞ DỮ LIỆU MYSQL 13
2.1 Mã nguồn mở 13
2.1.1 Khái niệm 13
2.1.2 Lợi ích và hạn chế 14
2.1.3 Khái niệm PHP 15
2.1.4 Hoạt động của ngôn nghữ PHP 16
2.2 Giới thiệu về hệ quản trị CSDL Mysql 18
2.3 Hệ quản trị nội dung 19
2.3.1 Giới thiệu hệ quản trị nội dung 19
2.3.2 Giới thiệu sơ lược về Joomla 20
Trang 72.3.3 Các giải thưởng mà Joomla! Đã đạt được 22
2.3.4 Các Phiên Bản Của Joomla 22
2.3.5 Kiến trúc Joomla 24
2.3.6 Thành phần mở rộng của Joomla 24
CHƯƠNG 3: XÂY DỰNG WEBSITE GIỚI THIỆU CÔNG TY G.S VIỆT NAM 32
3.1 Khảo sát 32
3.2 Phân tích 33
3.2.1 Chức năng quản lý tin tức 34
3.2.2 Chức năng quản lí hình ảnh 35
3.3 Thiết kế 36
3.3.1 Biểu đồ chức năng 36
3.3.2 Sơ đồ User- case 37
3.4 Tổng quan về Website 38
3.4.1 Giao diện cho người quản trị 38
3.4.2 Giao diện người dùng 41
CHƯƠNG 4: KẾT LUẬN 44
4.1 Kết quả đạt được của đề tài 44
4.2 Hạn chế của đề tài 44
4.3 Hướng phát triển của đề tài 44
TÀI LIỆU THAM KHẢO 45
Trang 8DANH SÁCH HÌNH VẼ
Hình 2-1: Hoạt động của website viết bằng HTML 17
Hình 2-2: Hoạt động của website viết bằng PHP 17
Hình 2-3: Kiến trúc Joomla 24
Hình 2-4: Menu quản lý các Component của Joomla 25
Hình 2-5: Danh sách các component mặc định của Joomla 2.5 25
Hình 2-6: Các module mặc định của Joomla 2.5 27
Hình 2-7: Menu quản lý Joomla Plugin từ trang quản trị 28
Hình 2-8: Danh sách 8 loại plugin mặc định của Joomla 29
Hình 2-9: Quản lý Template Joomla từ trang quản trị 30
Hình 2-10: Template của Joomla 30
Hình 3-1: Sơ đồ phân cấp tin tức 35
Hình 3-2: Quản lí hình ảnh 35
Hình 3-3: Biểu đồ user-case 37
Hình 3-4: Mô hình truy xuất thông tin 37
Hình 3-5: Giao diện đăng nhập hệ thống 38
Hình 3-6: Giao diện chính trang quản trị 38
Hình 3-7 : Giao diện quản lí bài viết tin tức 39
Hình 3-8: Thêm bài viết mới 39
Hình 3-9: Giao diện trang quản lí phương tiện 40
Hình 3-10: Giao diện quản lí các thành phần mở rộng 40
Hình 3-11: Giao diện trang chủ 42
Hình 3-12: Giao diện trang liên hệ 43
Trang 9DANH SÁCH TỪ VIẾT TẮT
Từ viết tắt Từ đầy đủ Giải thích
CMS Content Management System Hệ quản trị nội dung
OSS Open Source Software Phần mềm nguồn mở
PHP Personal Home Page Ngôn ngữ web PHP
PMNM Phần mềm nguồn mở
Trang 10LỜI CẢM ƠN
Đầu tiên, chúng em xin chân thành cảm ơn Ban giám hiệu, qúy thầy cô trường
ĐH Sư phạm kỹ thuật Hưng Yên, đặc biệt là thầy cô trong khoa Công Nghệ Thông Tin
đã tận tình giảng dạy và truyền đạt cho tôi những kiến thức quý báu trong những nămhọc vừa qua
Xin chân thành gửi lời cảm ơn đến thầy Lê Văn Vịnh giảng viên khoa CôngNghệ Thông Tin đã tận tình hướng dẫn, giúp đỡ tôi trong quá trình định hướng, nghiêncứu và hoàn thiện đồ án này một cách tốt so với những gì đã đặt ra
Xin cảm ơn tất cả bạn bè đã giúp đỡ trong thời gian vừa qua
Trong quá trình thực hiện đồ án, mặc dù đã có nhiều cố gắng tuy nhiên vẫn còn
có nhiều thiếu sót và hạn chế, kính mong các thầy (cô) và các bạn đóng góp ý kiến củamình để đồ án được hoàn thiện hơn
Hưng Yên, tháng 11 năm 2014
Sinh viên thực hiệnTrần Thị Ngọc
Trang 11CHƯƠNG 1: TỔNG QUAN
1.1 Lý do chọn đề tài
Công nghệ thông tin là một trong các động lực quan trọng nhất của sự phát triển,cùng với một số ngành công nghệ cao khác đang làm biến đổi sâu sắc đời sống kinh tế,văn hoá, xã hội của thế giới hiện đại Ứng dụng và phát triển công nghệ thông tin làmột nhiệm vụ ưu tiên trong chiến lược phát triển kinh tế-xã hội, là phương tiện chủ lực
đi tắt đón đầu, rút ngắn khoảng cách phát triển so với các nước đi trước Mọi lĩnh vựchoạt động văn hóa kinh tế, văn hóa, xã hội, an ninh, quốc phòng đều phải ứng dụngcông nghệ thông tin để phát triển
Hiện nay, việc ứng dựng mã nguồn mở vào các cơ sở giáo dục và đào tạo là ưutiên hàng đầu được nhà nước khuyến khích áp dụng Có một website để giới thiệuquảng bá hình ảnh trường học, thuận tiện cho công việc giảng dạy của giáo viên, giúphọc sinh học tập, tiếp cận tìm hiểu rõ quyền lợi và trách nhiệm của mình, trong thờigian tới việc thiết kế một website cho các trường là điều hết sức cần thiết
Với các lý do trên, chúng em mạnh dạn đề xuất đề tài “ Xây dựng website giớithiệu công ty TNHH G.S Việt Nam” dựa trên mã nguồn mở Joomla làm đề tài đồ án
Em thấy đây là đề tài mang tính thực tế cao, giúp mọi người tìm hiểu và biết đến công
ty cũng như sử dụng các dòng sản phẩm của công ty TNHH G.S Việt Nam, đồng thờiviệc xây dựng, quản trị và cập nhật thông tin của một website là một công việc phùhợp với em sau khi rời ghế nhà trường
1.2 Mục tiêu của đề tài
Đề tài xây dựng dựng một website bằng ngôn ngữ php trên nền tảng mã nguồn
mở Joomla với công nghệ web mới
Hệ thống Website triển khai tại công ty TNHH G.S Việt Nam Nhằm tạo rawebsite tin tức phục vụ hoạt động của công ty
Trang 121.3 Nội dung thực hiện
Website là nơi quảng bá, giới thiệu về công ty bao gồm tất cả các hoạt động, lĩnhvực sản xuất kinh doanh các sản phẩm, cũng như các thông tin về công ty trong hệthống website giúp cho khách hàng, người xem có thể tìm kiếm, xem thông tin hoạtđộng và các sản phẩm mà công ty sản xuất
Nội dung thực hiện cụ thể như sau:
Nghiên cứu các hệ thống trên các nền tảng công nghệ php, java, net
Tìm hiểu hoạt động của hệ thống website ngôn ngữ php, sử dụng cơ sở
dữ liệu (CSDL)
Phân tích chức năng hoạt động của hệ quản trị nội dung mã nguồn mởJoomla
Phân tích bài toán thiết kế website tin tức
Xây dựng biểu đồ chức năng user – case đặc tả hệ thống website tin tức
Khảo sát phân tích thiết kế hệ thống website giới thiệu cho công tyTNHH G.S Việt Nam
1.4 Phương pháp tiếp cận
Cách tiếp cận: Nghiên cứu các hệ thống website trên các nền tảng côngnghệ khác nhau như PHP, NET, JAVA
Sử dụng các phương pháp nghiên cứu:
Phương pháp đọc tài liệu;
Phương pháp phân tích mẫu;
Phương pháp thực nghiệm
Trang 13CHƯƠNG 2: TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH PHP VÀ
CƠ SỞ DỮ LIỆU MYSQL
2.1 Mã nguồn mở
2.1.1 Khái niệm
Phần mềm nguồn mở là phần mềm với mã nguồn được công bố và sử dụng mộtgiấy phép nguồn mở Giấy phép này cho phép bất cứ ai cũng có thể nghiên cứu, thayđổi và cải tiến phần mềm, và phân phối phần mềm ở dạng chưa thay đổi hoặc đã thayđổi
Năm 1998 một nhóm người chủ trương rằng thuật ngữ phần mềm tự do nên đượcthay thế bằng phần mềm nguồn mở vì thuật ngữ này ít mơ hồ hơn và dễ sử dụng hơncho giới doanh nghiệp
Phần mềm OSS và FOSS
Chúng ta thường nghe nói tới các phần mềm nguồn mở OSS (Open SourceSoftware) Tuy nhiên còn một cụm từ thường được sử dụng khác là FOSS (Free &Open Source Software), có nghĩa là các phần mềm nguồn mở và tự do, dùng để chỉ cácphần mềm có giấy phép sử dụng theo kiểu GNU Những phần mềm này cho phépngười sử dụng quyền tự do chạy, quyền tự do sao chép, quyền tự do phân phối lại,nghiên cứu, thay đổi và cải tiến cho phù hợp với nhu cầu sử dụng của mình mà khôngcần phải tới sự cho phép, hoặc phải trả tiền, cho bất cứ cá nhân hoặc nhóm người nào Cụm từ tự do trong FOSS không ám chỉ sự miễn phí, mà chỉ nói về các quyền tự
do mà FOSS mang lại cho người sử dụng Cụm từ nguồn mở nhấn mạnh đến quyềncủa người sử dụng được nghiên cứu, thay đổi và cải tiến mã nguồn – có nghĩa là cảthiết kế chi tiết của các ứng dụng FOSS Các phần mềm tự do thường mang yếu tố mãnguồn mở và ngược lại, vì cả hai loại phần mềm này đều nằm trong cùng một tập hợpcác quyền tự do dành cho người sử dụng phần mềm và đã được Richard Stallman địnhnghĩa từ cuối những năm 1980
Trang 142.1.2 Lợi ích và hạn chế
a) Lợi ích
Chi phí thấp: PMNM được dùng miễn phí về bản quyền và nếu có chiphí thì cũng chỉ là chi phí cho đóng gói sản phẩm và dịch vụ cho sản phẩm Vì vậy,chi phí rất thấp so với các phần mềm thương mại
Độc lập: PMNM không bị lệ thuộc vào bất kỳ một nhà cung cấp nào Sựđộc lập này là rất quan trọng vì các cơ quan Nhà nước đều cần có những giải phápchung, chuẩn hóa và không muốn phụ thuộc vào các sản phẩm sở hữu riêng của cácnhà cung cấp
Tính thích ứng và sáng tạo: Thực tế đã cho thấy rất ít chương trình có thểtồn tại không cần thay đổi, nâng cấp trong một thời gian dài Vì thế, khả năng chophép lập trình viên xác định và sửa các lỗi cũng như thích ứng phần mềm với cácyêu cầu mới phát sinh là một vấn đề rất quan trọng Sự sẵn sàng có mã nguồn và cóquyền thay đổi chúng giúp cho công việc này dễ dàng hơn Việc có được mã nguồncũng giúp những nhà lập trình sáng tạo ra phần mềm riêng của mình, đặc biệt đốivới thế hệ trẻ và các doanh nghiệp phục vụ các yêu cầu đa dạng của khách hàng
Chất lượng tin cậy: Nhiều phần mềm có chất lượng và độ tin cậy cao.Các PMNM khi đã hoàn thành thông thường sẽ được thử nghiệm, đánh giá, pháthiện lỗi và hoàn thiện bổ sung bởi nhiều rất nhiều nhà phát triển khác nhau trên toànthế giới và công việc này cũng không bị áp lực về thời gian Các nhà sản xuất phầnmềm thương mại lại thường công bố thời điểm ra đời của một phiên bản nào đó rồisau đó buộc phải tung ra thị trường những sản phẩm vẫn còn có lỗi để giữ đúng thờihạn đã công bố
Tính lâu dài: PMNM không có một chủ sở hữu duy nhất là lý do bảođảm để không ai có thể làm ngừng hoặc “giết chết” sản phẩm này Việc sản phẩm bịngừng hay bị “giết chết” dễ dàng xảy ra đối với phần mềm thương mại như ở trongcác trường hợp sau: công ty bị phá sản, hoặc sát nhập, hoặc bán lại cho một công tykhác, hoặc thay đổi chiến lược và phương hướng kinh doanh Do đó người sử dụng
Trang 15PMNM sẽ không bị lo ngại xảy ra trường hợp bị bắt buộc chuyển sang giải phápkhác như đối với phần mềm thương mại khi nhà cung cấp phần mềm thương mạiquyết định ngừng hỗ trợ kỹ thuật.
Phát triển dễ dàng: Những dự án và phát triển phần mềm mới có thểđược thực hiện mà không cần phải xin phép ai trước khi triển khai Việc này phùhợp với các kỹ thuật phát triển mới: tạo ra giải pháp bằng cách tập hợp nhiều đốitượng đã có mà không sợ rủi ro bị ngừng giữa chừng vì những hạn chế pháp lý vànhững qui định về sở hữu trí tuệ đối với phần mềm
b) Hạn chế
Đa dạng và phức tạp: Cộng đồng mã nguồn mở đã phát triển nhiều ứngdụng đa dạng với những chức năng tương tự nhau Điều này gây khó khăn chonhững người mới sử dụng trong việc chọn lựa
Sự dư thừa: Sự chia nhánh mã nguồn có thể dẫn đến sự lãng phí trongquá trình phát triển nó Nếu các nguồn phát triển được kết hợp và tổ chức lại mộtcách tốt hơn thì hiệu suất sẽ được nâng cao
Thiếu các ứng dụng: Vẫn còn những lĩnh vực vắng bóng các PMNM.(VD: một trình biên soạn HTML như MS Frontpage)
Bất tiện: Mã nguồn mở thường chỉ tập trung vào các mã của nó mà ít chú
ý đến thiết kế giao diện và phát triển các tiện ích
Tính tương hỗ với các hệ thống phần mềm đóng: Các phần mềm nguồn
mở, nhất là khi cài trên máy để bàn, thường không hoàn toàn tương thích với phầnmềm đóng
2.2 Giới thiệu ngôn ngữ php
2.1.3 Khái niệm PHP
Cái tên PHP ban đầu được viết tắt bởi cụm từ Personal Home Page và được pháttriển từ năm 1994 bởi Rasmus Lerdorf Lúc đầu chỉ là bộ đặc tả Perl, được sử dụng đểlưu dấu vết người dùng trên các web Sau đó Rasmus Lerdorf đã phát triển PHP như là
Trang 16một máy đặc tả (Scripting engine) Vào giữa năm 1997, PHP đã phát triển nhanhchóng trong sự yêu thích của nhiều người PHP đã không còn là một dự án cá nhân củaRasmus Lerdorf và đã trở thành công nghệ web quan trọng Zeev Suraski và AndiGutmans đã hoàn thiện việc phân tích cú pháp cho ngôn ngữ để rồi tháng 6 năm 1998,PHP3 đã ra đời (phiên bản này có phần mở rộng là *.php3) Cho đến tận thời điểm đó,PHP chưa 1 lần được phát triển chính thức, một yêu cầu viết lại bộ đặc tả được đưa ra,ngay sau đó PHP4 ra đời (phiên bản này có phần mở rộng không phải là *.php4 mà là
*php) PHP4 nhanh hơn PHP3 rất nhiều PHP bây giờ được gọi là PHP HypertextPreProcesor Tính đến thời điểm hiện thời, phiên bản PHP ổn định mới nhất là 5.3.5
2.1.4 Hoạt động của ngôn nghữ PHP
Như chúng ta đã biết, rất nhiều website được xây dựng bởi ngôn ngữ HTML(Hypertext Markup Language) Đây chỉ là những website tĩnh, nghĩa là chứng chỉ chứađựng một nội dung cụ thể với những dòng văn bản đơn thuần, hình ảnh và có thể được
hỗ trợ bởi ngôn ngữ JavaScript hoặc Java Apple Tuy nhiên, website cần được cậpnhật nội dung một cách linh hoạt dễ dàng, vì vậy nó cần tới cơ sở dữ liệu Các websitenhư vậy được gọi là website động Bởi nội dung của chúng luôn thay đổi tuỳ thuộc vào
dữ liệu và người sử dụng PHP là ngôn ngữ đáp ứng được những yêu cầu trên Bằngcách chạy chương trình PHP trên máy chủ Web Sever, chúng ta có thể tạo ra ứng dụng
có sự tương tác với cơ sở dữ liệu
Chúng ta hãy xem xét cách hoạt động của những trang web được viết bằng ngônngữ HTML và PHP như thế nào:
a) Với các trang HTML
Khi có yêu cầu tới mọi trang web từ phía người sử dụng (browser) Web serverthực hiện ba bước sau:
Đọc yêu cầu từ phía browser
Tìm trang web trên server
Gởi trang web đó trở lại cho browser nếu tìm thấy
Trang 17Hình 2-1: Hoạt động của website viết bằng HTML b) Với các trang PHP
Khác với các trang HTML, khi một trang PHP được yêu cầu, web server phântích và thi hành các đoạn mã PHP để tạo ra trang HTML Điều này được thực hiệnbằng bốn bước sau:
Đọc yêu cầu từ phía browser
Tìm trang web trên server
Thực hiện các đoạn mã PHP trên trang web đó để sửa đổi nội dung củatrang
Gửi nội dung cho browser ở dạng HTML
Hình 2-2: Hoạt động của website viết bằng PHP
Trang 18Tóm lại, sự khác nhau giữa HTML và PHP là HTML không được thực hiện xử lýtrên máy chủ Web server còn các trang viết bằng mã PHP được thực hiện và xử lý trênmáy chủ Web server, do đó PHP linh động và mềm dẻo hơn.
c) Những điểm mạnh của PHP
PHP thực hiện với tốc độ rất nhanh và hiệu quả Một Server bình thường
có thể đáp ứng được hơn hàng chục triệu truy cập trong một ngày
PHP hỗ trợ kết nối tới rất nhiều CSDL khác nhau như PostgreSQL,Microsoft SQL Server, Oracle, dbm, filePro Ngoài ra còn hỗ trợ kết nối tới ODBCthông qua đó có thể kết nối với nhiều ngôn ngữ khác mà ODBC hỗ trợ
PHP cung cấp một hệ thống thư viện phong phú và ngày càng phát triển
Do PHP ngay từ đầu được thiết kế nhằm mục đích xây dựng và phát triển các ứngdụng trên web nên PHP cung cấp rất nhiều hàm xây dựng sẵn giúp thực hiện cáccông việc rất dễ dàng: gửi, nhận mail, làm việc với cookie…
PHP là một ngôn ngữ rất dễ dùng, dễ học và đơn giản hơn nhiều so vớicác ngôn ngữ khác như Perl, Java
Đặc biệt, PHP là ngôn ngữ mã nguồn mở Có rất nhiều phần mềmwebsite mã nguồn mở được viết trên nền tảng của PHP như Joomla, Drupal,Nukeviet
2.2 Giới thiệu về hệ quản trị CSDL Mysql
MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới và đượccác nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng Vì MySQL là cơ
sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều
hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh.Với tốc độ và tínhbảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập cơ sở dữ liệu trêninternet MySQL miễn phí hoàn toàn, có rất nhiều phiên bản cho các hệ điều hànhkhác nhau: Phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X,Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS, …
Trang 19Sự kết hợp tuyệt vời giữa PHP và MySQL đã cho ra đời phần mềm mã nguồn mởJoomla.
Các đặc điểm của MySQL:
MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữliệu quan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL)
MySQL là một phần mềm quản trị CSDL mã nguồn mở, miễn phí nằmtrong nhóm LAMP (Linux - Apache -MySQL - PHP)
MySQL là một hệ quản trị nhỏ, bảo mật và rất dễ sử dụng Thường sửdụng cho các ứng dụng nhỏ và trung bình Nó được sử dụng cho các ứng dụngclient-server với máy chủ mạnh như UNIX, Windows, và đặc biệt là máy chủUNIX
MySQL hỗ trợ các điểm vào là ANSI 92 và ODBC mức 0-2 SQL chuẩn
MySQL hỗ trợ nhiều ngôn ngữ cho việc thông báo lỗi như: Czec, Dutc,English, Estonia, Polish, Porugue, Spanish and Swedish Ngôn nữ được hỗ trợ mặcđịnh cho dữ liệu là ISO-8859-1(Latin1)
Ngôn ngữ lập trình được sử dụng để viết các hàm API để nhập cơ sở dữliệu MySQL có thể là C, Perl, PHP
Cơ sở dữ liệu MySQL rất dễ quản lý và có tốc độ xử lý cao hơn tớ babốn lần so với các hệ quản trị cơ sở dữ liệu khác
MySQL không cho phép thực hiện các câu lệnh SQL select truy vấn con
MySQL không hỗ trợ Stored Procedures, Triggers, Transactions, ForeignKeys và Views như các hệ quản trị cơ sở dữ liệu khác
2.3 Hệ quản trị nội dung
2.3.1 Giới thiệu hệ quản trị nội dung
Hệ quản trị nội dung hay còn gọi là hệ thống quản lý nội dung (CMS - ContentManagement System) là phần mềm để tổ chức và tạo môi trường cộng tác thuận lợi
Trang 20nhằm mục đích xây dựng một hệ thống tài liệu và các loại nội dung khác một cáchthống nhất Mới đây, thuật ngữ này liên kết với chương trình quản lý nội dung củawebsite Quản lý nội dung web (web content management) cũng đồng nghĩa như vậy.Các đặc điểm cơ bản của CMS bao gồm:
Phê chuẩn việc tạo hoặc thay đổi nội dung trực tuyến
Chế độ Soạn thảo WYSIWYG tiện lợi
Quản lý người dùng
Tìm kiếm và lập chỉ mục
Lưu trữ
Tuỳ biến giao diện
Quản lý ảnh và các liên kết (URL)
Với sự phát triển nhanh chóng hiện nay của internet, nếu chúng ta có một website
mà không có chức năng thay đổi, cập nhật nội dung mới, chúng ta sẽ trở nên tụt hậu vàgặp khó khăn trong việc cập nhật nội dung cũng như quảng bá hình ảnh công ty, tổchức Ý tưởng cho một website với hệ thống quản trị nội dung (Content ManagementSystems – CMS) được ra đời nhằm đáp ứng nhu cầu trên Và đặc biệt là sự xuất hiệncủa mã nguồn mở Joomla CMS Chúng ta có thể thấy được sức mạnh của hệ quản trịnội dung trong loại mã nguồn mở này
2.3.2 Giới thiệu sơ lược về Joomla
a) Joomla! là gì?
Joomla! là một nền tảng mã nguồn mở được viết bằng ngôn ngữ PHP và sử dụng
cơ sở dữ liệu MySQL, cho phép người dùng có thể dễ dàng soạn thảo và xuất bản cácnội dung (bài viết, tài liệu ) của họ lên Internet hoặc Intranet
Joomla! giúp xây dựng và triển khai các website blog, website tin tức, websitebán hàng, website thương mại điện tử cho tới mạng cộng đồng, mạng xã hội trongmột thời gian ngắn và tiết kiệm nhiều công sức
Trang 21Joomla! được phát âm theo tiếng Swahili như là jumla nghĩa là "đồng tâm hiệplực" Khẩu ngữ này khẳng định sự đoàn kết và quyết tâm của cộng đồng Joomla!
b) Tại sao sử dụng Joomla?
Joomla là mã nguồn mở và được cung cấp hoàn toàn miễn phí
Joomla là nền tảng mã nguồn mở được xây dựng và đóng góp bởi những chuyêngia hàng đầu và những thành viên tích cực khác
Joomla! có một cộng đồng phát triển cũng như sử dụng rất lớn Điều đó có nghĩa
là ngay khi bạn gặp vấn đề khó khăn, rất nhiều người tình nguyện sẵn sàng giúp đỡbạn
Joomla! giúp tiết kiệm thời gian và công sức thiết kế Website
Sử dụng Joomla rất dễ dàng và thân thiện đối với cả những người nghiệp dư vàcác chuyên gia
Joomla! cung cấp rất nhiều chức năng ở các lĩnh vực khác nhau thông qua cácthành phần mở rộng được phát triển bởi các hãng thứ ba, trong khi phần lớn trong sốchúng cũng đều có mã nguồn mở và miễn phí
Joomla! có một số lượng template (giao diện) khổng lồ, từ những giao diện ởmức đơn giản cho tới phức tạp
Joomla! có hàng trăm website cung cấp các tài liệu hướng dẫn sử dụng từ cơ bảncho tới nâng cao Các hướng dẫn đều rõ ràng, dễ hiểu và có các minh họa bằng hìnhảnh, video clip kèm theo
Tài liệu API dành cho lập trình viên, phát triển viên được cung cấp đầy đủ
Các hoạt động của Joomla! như triển lãm Joomla (Joomla Exhibition), hội thảoJoomla (Joomla Workshop), ngày hội Joomla (Joomla! Day) được tổ chức thường niên
ở các thành phố lớn của các nước như Úc, Mỹ, Anh, Pháp luôn thu hút đông đảo cácthành viên tham gia
Trang 222.3.3 Các giải thưởng mà Joomla! Đã đạt được
Hệ quản trị nội dung mã nguồn mở PHP tốt nhất do Packt Publishing trao tặngtháng 10/2007
Hệ quản trị nội dung mã nguồn mở tốt nhất do Packt Publishing công bố tháng11/2006
Dự án mã nguồn mở/ Linux tốt nhất tại triễn lãm LinuxWorld 2006 ở Anh tháng10/2006
Dự án mã nguồn mở/ Linux tốt nhất tại triễn lãm LinuxWorld 2005 ở Anh tháng10/2005
2.3.4 Các Phiên Bản Của Joomla
Hiện tại Joomla có sáu phiên bản chính:
Joomla 1.0.x: Phiên bản thế hệ 1 (được cộng đồng người sử dụng và các nhà
phát triển đánh giá rất ổn định) Phiên bản đầu tiên là phiên bản Joomla 1.0.0 (ngày25/9/2005) có nguồn gốc từ mambo 4.5.2.3 Phiên bản phát hành cuối cùng của
Joomla 1.0 là phiên bản Joomla 1.0.15 (ngày 22/2/2008)
Dòng phiên bản 1.5.x: Phiên bản thế hệ 2 (ổn định), đây là phiên bản cải tiến
từ phiên bản Joomla 1.0.x trong đó phần code được viết mới hoàn toàn, tuy nhiên vẫngiữ cách hành xử như phiên bản cũ Phiên bản Joomla 1.5.x được coi như Mambo 4.6.Phiên bản Joomla 1.5 tiếp tục duy trì một giao diện look and feel (nhìn và cảm nhận)rất thuận tiện đối với người sử dụng Cả Joomla 1.5 và mambo 4.6 đều hỗ trợ đa ngônngữ Joomla sử dụng file định dạng “.ini” để lưu trữ các thông tin chuyển đổi ngônngữ, nó hỗ trợ tất cả các ngôn ngữ có tập kí tự được biểu diễn bằng bảng mã UTF-8,phù hợp với ngôn ngữ Việt Nam Joomla 1.5 cũng bao gồm các đặc tính mới như:
Hỗ trợ các hình thức chứng thực LDAP, Gmail
Hỗ trợ mô hình Client-Server hỗ trợ giao thức gọi hàm từ xa Xml-Rpc
Trang 23Hỗ trợ các trình điều khiển cớ sở dữ liệu dành cho MySQL 4.1+ (trên nền PHP5)
và tăng cường hỗ trợ cho MySQL 5, đồng thời nó cũng hỗ trợ các hệ quản trị cơ sở dữliệu khác
Phiên bản 1.6.x: Với một khoảng thời gian chuẩn bị xấp xỉ 3 năm, cuối cùng
Joomla phiên bản 1.6 cũng đã chính thức được ra mắt (ngày 11/01/2011) với các tínhnăng được chờ đợi từ rất lâu của cộng đồng Joomla như:
Quản lý truy xuất của người dùng (ACL)
Phân loại nội dung đa cấp thay vì chỉ có hai cấp như phiên bản trước
Quản lý và nâng cấp các thành phần mở rộng chỉ với vài cú nhấp chuột
Khả năng cài đặt một lúc nhiều loại thành phần mở rộng
Thư viện JForm mới giúp việc tạo và quản lý Form trong trang web dễdàng hơn, giúp tăng tốc trong việc phát triển các thành phần mở rộng trongJoomla
Và rất nhiều cải tiến khác giúp tăng tốc độ tải trang, cải thiện trải nghiệmcho người dùng, tối ưu hoá cho các bộ máy tìm kiếm.v.v
Phiên bản 1.7.x: Như dự đoán, Joomla! 1.6 chỉ là bước đệm để tiến tới Joomla!
1.7, phiên bản thật sự được mọi người mong đợi với những tính năng mới và hoànthiện hơn
Phiên bản 2.5.x: Phần mềm mã nguồn mở Joomla đã chính thức phát hành bản
thử nghiệm phiên bản Joomla 2.5 Đây là lần phát hành thứ 2 theo chu kỳ 6 tháng kể từkhi phiên bản Joomla 1.6 được ra mắt vào tháng 1 năm 2011 Hiện tại đây là phiên bản
ổn định và tương thích
Phiên bản 3.0.x: Phần mềm mã nguồn mở Joomla đã chính thức phát hành bản
thử nghiệm phiên bản Joomla 3.0