שקף שער - המשחק שלך באינטרנט
00:00-03:00
שתף מסך עם המשחקים מהשיעורים הקודמים פתוחים בדפדפן - שים לב שהכתובת היא file:///
"ערב טוב לכולם! בואו נודה באמת. בנינו משחקים מטורפים - סנייק, קליקר. אבל מה זה שווה אם אף אחד לא יכול לשחק בהם חוץ מכם?"
הצבע על שורת הכתובת בדפדפן שמראה file:///C:/Users/...
"תראו את הכתובת פה למעלה. file:///C:/Users/... - זה אומר שהקובץ תקוע אצלכם במחשב. אי אפשר לשלוח את זה בווטסאפ. אי אפשר להשוויץ באינסטגרם."
"היום אנחנו משנים את זה. עד סוף השיעור, לכל אחד מכם יהיה לינק אמיתי שאפשר לשלוח לכל אדם בעולם, והוא יוכל לשחק במשחקים שלכם מהנייד שלו."
"ולא רק לינק למשחק בודד - אנחנו הולכים לבנות אתר פורטפוליו, כמו סטודיו משחקים אמיתי, שמציג את כל היצירות שלכם."
מה נלמד היום - שלושה דברים חדשים
2. אתר פורטפוליו (Portfolio): דף בית מעוצב שמציג את כל המשחקים שלנו עם לינקים, תיאורים ואנימציות.
3. העלאה לאינטרנט (Deployment): לקחת את התיקייה מהמחשב ולהעלות אותה לאינטרנט - בגרירה אחת, בחינם, בלי שרתים.
"שלושה דברים חדשים היום:"
"מבנה פרויקט - איך מסדרים קבצים כמו מקצוענים. עד עכשיו זה היה בלגן על שולחן העבודה."
"אתר פורטפוליו - דף בית מעוצב שמציג את כל המשחקים שלכם. כמו דף נחיתה של חברת משחקים."
"העלאה לאינטרנט - ולזה מחכיתם. לינק שאפשר לשלוח לאמא, לחברים, לכל העולם."
הבעיה - תקוע במחשב
03:00-06:00https:// - כתובת אינטרנט אמיתית. כל אדם בעולם עם חיבור אינטרנט יכול לגשת לכתובת הזו ולראות את האתר.
פתח את משחק הסנייק בדפדפן והצבע על שורת הכתובת
"תראו את הכתובת שלי כאן למעלה. file:///C:/Users/danny/snake.html"
"המילה file אומרת שהדף הזה 'חי' רק במחשב שלי. אם אני שולח את הכתובת הזו לחבר, הוא מקבל שגיאה. כי הקובץ לא נמצא אצלו."
"מה שאנחנו רוצים זה להחליף את ה-file:/// ב-https:// - כתובת אינטרנט אמיתית שכל אחד יכול לפתוח."
"אבל לפני שאנחנו מעלים לאינטרנט, אנחנו צריכים לעשות סדר. אי אפשר להעלות קבצים מפוזרים - צריך תיקייה מסודרת."
מבנה פרויקט - Project Structure
06:00-10:00בפרויקט שלנו, כל הקבצים צריכים להיות באותה תיקייה:
MyGameStudio/ - התיקייה הראשית index.html - דף הבית (הפורטפוליו) snake.html - משחק הסנייק clicker.html - משחק הקליקר
פתח תיקייה חדשה - New Folder - וקרא לה MyGameStudio
"דבר ראשון, סדר. עד עכשיו זרקתם קבצים על שולחן העבודה כמו ילדים. היום אנחנו מתנהגים כמו מקצוענים."
"אנחנו יוצרים תיקייה חדשה. שם: MyGameStudio - או כל שם שבא לכם. זו 'הבית' של הפרויקט."
גרור את snake.html ו-clicker.html לתוך התיקייה
"עכשיו תגררו פנימה את הקבצים מהשיעורים הקודמים - snake.html ו-clicker.html."
"עכשיו יש לנו תיקייה עם שני קבצים. חסר לנו רק דבר אחד: דף הבית - ה-index.html."
"למה דווקא index.html? זו מוסכמה - כלל שלא כתוב בחוק, אבל כל האינטרנט עוקב אחריו. כשנעלה את התיקייה לאינטרנט, השרת ידע אוטומטית שזה דף הבית."
Relative Path - נתיב יחסי
דוגמה: כשאנחנו ב-index.html וכותבים
href="snake.html", הדפדפן מחפש את snake.html באותה תיקייה שבה נמצא index.html.למה זה חשוב? כי כשנעלה את כל התיקייה לאינטרנט, הנתיבים היחסיים ימשיכו לעבוד בדיוק כמו שהם עבדו במחשב.
snake.html = יחסי (מחפש באותה תיקייה). C:/Users/danny/MyGameStudio/snake.html = מוחלט (כתובת מלאה). תמיד נעדיף נתיב יחסי בפרויקט, כי הוא עובד בכל מקום.
"לפני שנבנה את דף הבית, אני רוצה שתבינו קונספט חשוב: נתיב יחסי - Relative Path."
"כשאנחנו כותבים בפרומפט שהלינק הוא snake.html - בלי נקודות, בלי תיקיות, סתם שם הקובץ - הדפדפן מבין: 'אה, תחפש את זה באותה תיקייה שאני נמצא בה.'"
"תחשבו על זה ככה: אם אני בדירה ואומר 'הדלת משמאל', זה נתיב יחסי. אם אני אומר 'דלת 5, קומה 3, רחוב הרצל 20, תל אביב', זה נתיב מוחלט."
"למה זה חשוב? כי כשנעלה את כל התיקייה לאינטרנט, הנתיבים היחסיים ימשיכו לעבוד. הם לא תלויים במחשב שלכם."
פורטפוליו - הבית של המשחקים
10:00-15:00במקרה שלנו, הפורטפוליו יכלול:
- כותרת עם שם הסטודיו
- About Me - פסקה קצרה על היוצר
- גלריית משחקים - כרטיסים עם לינקים למשחקים
- אפקטים ויזואליים - אנימציות hover
"חשבו על זה כמו נטפליקס. המשחקים שלכם הם הסרטים. אבל נטפליקס בלי דף בית? לא עובד. צריך מקום שבו בוחרים במה לשחק."
"זה בדיוק מה שפורטפוליו עושה. הוא הלובי של הקולנוע. ברגע שמישהו פותח את הלינק שלכם, הוא רואה את כל המשחקים מסודרים יפה עם תיאורים ותמונות."
"ואם אתם חושבים שזה סתם תרגיל - לא. כל מפתח אמיתי צריך פורטפוליו. זה כמו קורות חיים, רק הרבה יותר טוב. במקום לכתוב 'אני יודע לתכנת', אתם מראים את מה שבניתם."
הפרומפט לפורטפוליו
15:00-25:00
פתח את חלונית הצ'אט ב-Antigravity / Cursor
"אנחנו לא בוני אתרים, נכון? אנחנו מנהלים. אז בואו נבקש מהסוכן לבנות לנו אתר."
"אני שולח לכם את הפרומפט בצ'אט. שימו לב - אני מציין במפורש את שמות הקבצים: snake.html ו-clicker.html. ככה הסוכן יודע ליצור את הלינקים הנכונים."
הדבק את הפרומפט ולחץ Enter. חכה שהסוכן יסיים
"הסוכן כותב HTML ו-CSS... תראו את הקוד שרץ."
לחץ Preview
"והנה התוצאה. וואו. אתר שחור, נקי, כותרת ניאון סגולה. כשעוברים עם העכבר על המשחקים - יש אנימציה. נראה כאילו שילמתי למעצב אלפי שקלים."
לחץ על כרטיס הסנייק - הראה שהלינק עובד
"ועכשיו אני לוחץ על 'Neon Snake'... והופ, אני בתוך המשחק! הלינק עובד! כי שני הקבצים באותה תיקייה."
"עכשיו שנו את הטקסט ב-About Me לשם שלכם. 'היי, אני דני ואני בונה משחקים ב-AI'. פשוט, אישי, מקצועי."
Responsive Design - עיצוב רספונסיבי
- במחשב: כרטיסי המשחקים מופיעים זה ליד זה (Grid)
- בנייד: הכרטיסים מופיעים אחד מתחת לשני (Stack)
הטכנולוגיה שמאפשרת זאת נקראת Media Queries ב-CSS - כללים שמופעלים רק בגודל מסך מסוים.
"שימו לב שבפרומפט כתבנו 'Make it fully responsive'. מה זה אומר?"
"Responsive Design זה עיצוב שמתאים את עצמו לכל מסך. במחשב האתר נראה בצורה אחת, בנייד - בצורה אחרת. בלי שנכתוב שני אתרים."
כווץ את חלון הדפדפן לרוחב של נייד - הראה שהעיצוב משתנה
"תראו - אם אני מכווץ את החלון... הכרטיסים מתסדרים אחד מתחת לשני! האתר הבין שהמסך קטן והתאים את עצמו."
"למה זה חשוב? כי כשתשלחו את הלינק לחבר בווטסאפ, הוא יפתח את זה בנייד. אם האתר לא רספונסיבי, החבר שלכם יראה בלגן."
Hosting - איפה האתר גר?
25:00-30:00ללא Hosting: הקבצים במחשב שלכם, רק אתם רואים.
עם Hosting: הקבצים על שרת, כל העולם רואה.
"אוקיי, יש לנו אתר מושלם. הפורטפוליו מעוצב, הלינקים עובדים, הכל מדהים. אבל... הוא עדיין אצלי במחשב."
"כדי שאנשים אחרים יראו את האתר, אנחנו צריכים להעלות אותו לשרת - מחשב שמחובר לאינטרנט כל הזמן ומגיש את הדפים לכל מי שמבקש."
"הבשורות הטובות: לא צריך לקנות שרת. לא צריך לשלם שקל. יש שירות בשם Netlify Drop שנותן לכם hosting בחינם."
"הבשורות הטובות עוד יותר: להעלות אתר ל-Netlify לוקח פחות מדקה."
Deployment - ההעלאה לאוויר
30:00-40:00עם Netlify Drop התהליך פשוט בטירוף: גוררים את התיקייה לדפדפן, ומקבלים לינק. זהו.
פתח דפדפן חדש ונווט ל-app.netlify.com/drop
"פתחו טאב חדש. לכו ל-app.netlify.com/drop. לא צריך להירשם. לא צריך כרטיס אשראי."
"אתם רואים אזור גדול שכתוב עליו 'Drag and drop'? זה כל מה שצריך."
שוט המפתח: גרור את תיקיית MyGameStudio לתוך הדפדפן
"שימו לב, זה קורה מהר. אני לוקח את כל התיקייה MyGameStudio... וגורר אותה... לתוך הדפדפן."
[תנו לתלמידים לראות את הגרירה]
"בום. האתר באוויר. יש לי לינק."
העתק את הלינק ופתח אותו בטאב חדש
"אני פותח את הלינק... ושם הוא. הפורטפוליו שלי באינטרנט. אני לוחץ על Snake... והמשחק עובד!"
שלח את הלינק לעצמך בווטסאפ ופתח בנייד
"עכשיו הרגע שכולם חיכו לו. אני שולח את הלינק הזה לעצמי בווטסאפ... פותח בנייד... הנה האתר שלי בטלפון!"
"כל אחד מכם עכשיו עושה את זה. גוררים את התיקייה ל-Netlify ומקבלים לינק."
URL ו-Domain - כתובות באינטרנט
https:// - הפרוטוקול (מאובטח)dannygames - שם האתר שלכם.netlify.app - הדומיין של Netlify/snake.html - הדף הספציפי
Netlify נותנת לכם subdomain בחינם:
yourname.netlify.app. אפשר לשנות את "yourname" בהגדרות האתר.
"בואו נבין את הלינק שקיבלנו:"
"https:// - זה אומר שהחיבור מאובטח. Netlify נותנת את זה בחינם."
"random-name-12345.netlify.app - זה הכתובת. השם הזה נראה לכם מוזר? אפשר לשנות אותו!"
הראה איך משנים את שם האתר ב-Netlify: Site Settings ← Change site name
"נכנסים ל-Site Settings, לוחצים על 'Change site name', ומקלידים את השם שרוצים. למשל: danny-game-studio."
"עכשיו הכתובת שלכם היא: danny-game-studio.netlify.app. זה כתובת אמיתית, מקצועית, שאפשר לשים בביו של אינסטגרם."
סיכום, עדכונים ושיעורי בית
40:00-45:00התהליך: 1) מפתחים מקומית ← 2) בודקים ב-Preview ← 3) גוררים שוב ל-Netlify.
זה אותו מעגל איטרציה שלמדנו בשיעור 1, רק שעכשיו נוסף שלב: הפצה (Deployment).
index.html - שם מוסכם לדף הבית (Convention)
Relative Path - נתיב יחסי (snake.html במקום כתובת מלאה)
Portfolio - אתר תצוגה שמציג את העבודות שלך
Responsive Design - עיצוב שמתאים לכל גודל מסך
Media Query - כלל CSS שמופעל בגודל מסך מסוים
Hosting - אירוח האתר על שרת שמחובר לאינטרנט
Server - מחשב שמגיש תוכן למחשבים אחרים
Deployment - תהליך העלאת האתר מהמחשב לאינטרנט
URL - כתובת אינטרנט מלאה
Domain - השם הקריא של האתר
"חברים, תסתכלו מה עשינו ב-45 דקות:"
"ארגנו את הפרויקט בתיקייה מסודרת."
"בנינו אתר פורטפוליו מעוצב שמציג את כל המשחקים."
"העלינו הכל לאינטרנט בגרירה אחת."
"ויש לנו לינק אמיתי שאפשר לשלוח לכל אחד."
"סגרנו את המעגל: פיתוח ← בדיקה ← הפצה. אתם לא סתם משחקים בקוד, אתם מנהלים מוצר."
"ואם תרצו לעדכן? לשנות צבע? להוסיף משחק חדש? פשוט: תשנו ב-IDE, ותגררו שוב ל-Netlify. זהו. האתר מתעדכן תוך שניות."
"שיעורי בית:"
"1. התאימו את ה-About Me לעצמכם - שם, תיאור, אישיות."
"2. שנו את הצבעים או הכותרת - בקשו מהסוכן."
"3. מתקדמים: הוסיפו כרטיס שלישי למשחק חדש שתבנו לבד."
"4. והכי חשוב: שלחו את הלינק לשלושה אנשים ובקשו מהם לשחק."
"הלינק שלכם הוא הדרכון למקצוע. שימו אותו בביו, שלחו בווטסאפ, תהיו גאים."
"תודה רבה, נתראה בשיעור הבא!"