English
תנועה
נגישותפרטיות
סיפור הפרויקט01 / 152025 – היום

הפלטפורמה הדיגיטלית של תע"ץ

מקום אחד, בעברית ובשירות עצמי, למידע הרשמי של תע"ץ, והפלטפורמה שמפעילה אותו.

תפקיד
ראש צוות, מוביל מוצר ומפתח ראשי
ארגון
תע״ץ – מרכז תעסוקת עובדי צה״ל
תקופה
2025 – היום
הקשר
תע״ץ (חלק מצה״ל)
צוות וקרדיטים
  • עידן אחרק — ראש צוות ומפתח ראשי: אפיון, תכנון, פיתוח, סקירות קוד ופריסה
  • מזל אביטבול — מפתחת: שירות ההתראות וסביבת הפיתוח המקומית
להדגמה החיה (נפתח בכרטיסייה חדשה)נתוני דמה · שינויים מתבטלים כעבור כ-3 שעות

01 / האתגר

המידע הרשמי של תע"ץ ישב באתר SharePoint מיושן. הוא היה מפוזר ולא מעודכן, ולכן סגלי משא"ן, מפקדים ועובדים שחיפשו נוהל או תשובה פשוטה התקשרו או כתבו לצוותי המשא"ן. זה היה איטי עבורם, העמיס על הסגלים, והתשובות לא תמיד היו אחידות.

תע"ץ הייתה צריכה מקור אמת אחד, זמין תמיד, שצוות התוכן שלה יוכל להפעיל בעצמו, ששום דבר לא עולה בו לאוויר לפני שאושר, ושמותקן ורץ ברשת סגורה ללא אינטרנט.

  • המידע היה מפוזר ולא מעודכן
  • שאלות שגרתיות הגיעו לסגלים בטלפון
  • התשובות לא תמיד היו אחידות
  • הכול היה חייב לרוץ ברשת סגורה

02 / מה בניתי

כתבתי את אפיון הפרויקט, ואז תכננתי ובניתי את הפלטפורמה. במרכזה הפורטל: אתר בעברית, מימין לשמאל, עם כתבות, הודעות, קישורים מהירים, תרשים "הכרת הצוות" של אנשי המרכז, חיפוש שמבין עברית ולוח אירועים שמסמן חגים יהודיים, נוצריים, מוסלמיים, דרוזיים ולאומיים.

מאחוריו עומדת מערכת ניהול תוכן (CMS) שבה עורכים כותבים, מפרסמים מאשרים ומנהלים מסדרים בעצמם את עמוד הבית והתפריטים. סביב שניהם בניתי את מה שארגון נאלץ בדרך כלל לקנות: שירות מאובטח לשמירת קבצים ומדיה, עיצוב משותף אחד שבזכותו כל המסכים נראים ועובדים אותו דבר, וכלים שמתקינים את כל הפלטפורמה ברשת הסגורה מחבילה לא מקוונת אחת. חברת צוות בנתה את שירות ההתראות על אותו מבנה.

איך זה נבנה

  1. אוקטובר 2025האפיון והגרסה הראשונהכתבתי אפיון דו-לשוני עם החזון, מסלול העבודה של העורך והתפקידים, התחלתי לבנות את הפורטל ואת מודל הנתונים, והעליתי את הגרסה הראשונה לאוויר ברשת הסגורה.
  2. דצמבר 2025ספרייה משותפת וחיפושספריית רכיבים משותפת, מנוע חיפוש, ייבוא קובצי Word ו-PDF לעורך, ותכנון אבטחה לשרתים של הפלטפורמה.
  3. ינואר 2026לוח שנה, קבצים והזדהותבין ינואר לפברואר 2026: לוח החגים הרב-דתי, שירות הקבצים והמדיה המאובטח, וכניסה אחת לכל המערכות עם מסכי התחברות בעברית.
  4. מרץ 2026פיצול לעבודת צוותגרסה 2: הקוד פוצל לפרויקט נפרד לכל חלק, כדי שמפתחת נוספת תוכל לעבוד במקביל. היא בנתה את שירות ההתראות.
  5. אפריל 2026גרסה 2 באוויר, וסקירהגרסה 2 עלתה לאוויר ברשת הסגורה, וכתבתי להנהלה סקירה בעברית של הפלטפורמה כולה.
  6. יוני 2026גרסה 3: סביבת עבודה אחתביום אחד איחדתי את החלקים לסביבת עבודה אחת, בלי לאבד היסטוריה, ואת מאגר הכניסה הוצאתי משימוש, כי הכניסה האחידה עברה לשירות חיצוני. אחר כך בניתי עם Claude Code כלי הפצה לא מקוונים לפי מסמכי תכנון.
  7. אוגוסט 2026בקשה שנמסרה ביום אחדבקשת ההנהלה להסתרת חגים הפכה להגדרה במערכת ניהול התוכן, וכלי הפריסה שלי Launchpad התקין את הפלטפורמה על שרת הייצור של תע"ץ.

03 / דגשים

01

אין פרסום בלי אישור

עורכים כותבים ומגישים, מפרסמים מאשרים או מחזירים לתיקון. הקוראים רואים רק את הגרסה המאושרת, וכל גרסה נשמרת.

02

ניהול האתר בלי קוד

כלי עריכה חזותי מאפשר למנהלי התוכן לסדר בעצמם את עמוד הבית, התפריטים והקרוסלות, עם תצוגה מקדימה חיה.

03

חיפוש שמבין עברית

מוצא מילים גם עם אותיות שימוש, וראשי תיבות כמו צה"ל עם גרשיים או בלעדיהם, ומדרג תוכן פופולרי גבוה יותר.

04

לוח שנה לכולם

תאריך עברי ולועזי וכ-2,300 חגים יהודיים, נוצריים, מוסלמיים, דרוזיים ולאומיים עד 2060, וההנהלה יכולה להסתיר כל חג.

05

מותקנת ברשת סגורה

מותקנת מחבילה אחת ברשת שאין בה חיבור לאינטרנט. כלי הפריסה שלי, Launchpad, מתקין אותה ומתעד בדיוק מה הותקן.

06

פיתוח עם בינה מלאכותית

את גרסאות 1 ו-2 בניתי עם Gemini, ומגרסה 3 עם Claude Code, שהנחיתי במסמכי תכנון, בתוכניות עבודה, בבדיקות ובסקירה שלי.

04 / מסכים

14 מסכים · נתוני דמה

הערת עיצובשפת עיצוב אחת לכל המסכים: שמונה חבילות משותפות ואתר Showcase שבו כל רכיב רץ על נתוני דמה, על Material UI עם פריסות שמתהפכות מימין לשמאל. העורכים מסדרים את דף הבית בעצמם, בעורך עם תצוגה מקדימה חיה.

עמוד הבית של הפורטל: סמל תע"ץ, תפריטים לסגלי משא"ן, למפקדים ולעובדים, תיבת חיפוש גדולה וקישורים מהירים.
01 עמוד הבית של הפורטל: סמל תע"ץ, תפריטים לסגלי משא"ן, למפקדים ולעובדים, תיבת חיפוש גדולה וקישורים מהירים.
תרשים: עובדים, מפקדים וסגלי משא"ן, עורכים ומפרסמים, וצוותים ששומרים קבצים נכנסים דרך שער HTTPS מאובטח לשרת האפליקציות, שמריץ את הפורטל, מערכת ניהול התוכן, שירות הקבצים והמדיה, ההתראות ומנוע החיפוש בעברית על מערכת עיצוב משותפת אחת; לצידו שרת נתונים עם Microsoft SQL Server ומערכת ההזדהות הארגונית, והכול בתוך הרשת הסגורה
02 כך הפלטפורמה בנויה: שלוש קבוצות משתמשים, שער כניסה מאובטח אחד, חמישה שירותים על שרת האפליקציות, שרת נתונים עם מסד נתונים נפרד לכל שירות, וההזדהות הארגונית, והכול בתוך הרשת הסגורה ומותקן מחבילה לא מקוונת אחת.
תרשים תהליך העבודה: טיוטה ← ממתין לאישור ← פורסם, עם החזרה לתיקון אצל העורך, עדכונים שממתינים לאישור בזמן שהגרסה החיה נשארת באוויר, וארבעת התפקידים: עורך, מפרסם, מנהל וקורא
03 שום דבר לא עולה לאוויר בלי אישור: תהליך העבודה וארבעת התפקידים. כל שלב נרשם וכל גרסה נשמרת.
החלק התחתון של עמוד הבית: קרוסלת כרטיסים תלת-ממדית בשם "עדכונים אחרונים" והפוטר הכחול של האתר עם התפריטים
04 בהמשך עמוד הבית: קרוסלת "עדכונים אחרונים", שנבנית אוטומטית מהכתבות שפורסמו, והפוטר.
עמוד כתבה: באנר תמונה עם נתיב ניווט והכותרת "קצת עלינו", כפתור "שתף במייל", תאריך הפרסום ותגיות לצד טקסט הכתבה והתמונה שלה
05 עמוד כתבה (מרץ 2026): נתיב ניווט, תאריך פרסום, תגיות ו"שתף במייל" לצד הכתבה. טקסט הכתבה הוא טקסט דמה בעברית.
לוח האירועים הציבורי לאוקטובר 2026 עם תאריכים עבריים ולועזיים, אירועים לפי סוג ומסננים לחגים יהודיים, נוצריים, מוסלמיים, דרוזיים ולאומיים
06 לוח האירועים הציבורי: תאריך עברי ולועזי, אירועים לפי סוג, ומסנן לחגים של כל קהילה.
שלושה מסכי טלפון: עמוד הבית עם החיפוש והקישורים המהירים, קרוסלת ההודעות החשובות ומסנני לוח האירועים
07 הפורטל בטלפון: עמוד הבית, קרוסלת "הודעות חשובות" ומסנני לוח האירועים.
לוח הבקרה של ה-CMS: אריחים של צפיות, מבקרים ייחודיים, מעורבות בתוכן וכתבות שפורסמו, גרף תנועה של 30 יום ותרשים טבעת של סטטוס התוכן
08 לוח הבקרה של ה-CMS: צפיות, מבקרים ייחודיים, מעורבות וכתבות שפורסמו עם המגמות שלהם, תנועה יומית ופילוח התוכן לפי סטטוס.
שלושה תורים זה לצד זה ב-CMS: הטיוטות שלי, ממתין לאישור עם כפתורי בדיקה, ובסבב תיקונים, מעל יומן הפעילות האחרונה
09 תהליך העבודה בתוך ה-CMS: הטיוטות שלי, כתבות שממתינות לאישור עם כפתור "בדוק", כתבות בסבב תיקונים, ויומן הפעילות האחרונה.
עורך הכתבות שנפתח מתור האישור, עם תווית "ממתין לאישור", עורך טקסט עשיר בעברית, כפתורי ייבוא, דחייה, שחזור, שמירה ופרסום, תמונת באנר, כתובת בעברית ותגיות
10 בדיקת כתבה: העורך בעברית עם ייבוא מ-Word ומ-PDF, והפעולות לדחות, לשחזר לגרסה שפורסמה, לשמור או לפרסם.
בונה תבנית עמוד הבית: עץ של אזורי עמוד הבית עם עורך הקרוסלה פתוח, תצוגה מקדימה חיה משמאל והגדרות סגנון, כרטיס, אנימציה ופס התקדמות מימין
11 בונה עמוד הבית ללא קוד: עמוד הבית כעץ של אזורים, עם קרוסלת "עדכונים אחרונים" פתוחה בעורך שלה ותצוגה מקדימה חיה.
יומן האירועים ב-CMS עם חלון ניהול החגים פתוח, חיפוש "ראש השנה" והסתרת "ראש השנה לבהמות"
12 בקשת הנהלה שהפכה להגדרה: חיפוש "ראש השנה" והסתרת "ראש השנה לבהמות" מלוח האירועים, לכל המשתמשים ובכל השנים.
לוח הבקרה של שירות הקבצים והמדיה: נפח אחסון, אירועי אבטחה, העלאות, באקטים פעילים, גרף פעילות, ואחסון ופעילות לפי באקט
13 לוח הבקרה של שירות הקבצים והמדיה המאובטח (מרץ 2026): אחסון, העלאות, אירועי אבטחה ופעילות בכל מרחב אחסון.
אתר ה-Showcase של תע"ץ: קטלוג הרכיבים בתפריט הצד ורכיב "הכרת הצוות" בעיצוב תרשים ארגוני היררכי
14 ה-Showcase של תע"ץ: ספריית הרכיבים המשותפת על נתוני דמה, כאן תרשים "הכרת הצוות" באחד משישת העיצובים שלו.

05 / השפעה

14,500+משתמשים בכל היחידות, שעבורם היא נבנתה
5חלקים במראה משותף אחד: הפורטל, מערכת ניהול התוכן, שירות הקבצים והמדיה, ההתראות והחיפוש בעברית
271כתבות ודפים שפורסמו
3 שבועותמההגעה שלי לתע"ץ ועד שהגרסה הראשונה עלתה לאוויר ברשת שלו, שאין בה חיבור לאינטרנט

הפורטל ריכז את המידע הרשמי של תע"ץ במקום אחד בשירות עצמי, פתוח מסביב לשעון, ונבנה עבור 14,500+ משתמשים בכל היחידות: עובדים, מפקדים וסגלי משא"ן. הגרסה הראשונה שלו עלתה לאוויר ברשת הסגורה של תע"ץ באוקטובר 2025, שלושה שבועות אחרי שהגעתי בסוף ספטמבר. דרך תהליך האישור כתבו ואישרו תוכן 42 אנשים ופורסמו 271 כתבות ודפים, והפורטל משך יותר מ-800 מבקרים ייחודיים ומעל 3,000 צפיות בחודש. בשלב הבא, המערכות הוותיקות הרבות שבאחריותי, ליועצים, לחוזים, לתאונות עבודה, לפנסיה ועוד, מתאחדות לאפליקציה אחת בסגנון CRM, שנמצאת בפיתוח ותצטרף לפלטפורמה.

ההנהלה יכלה לכוון את האתר ישירות: כשביקשה להסתיר חג מלוח האירועים, הפכתי את הבקשה להגדרה שבשליטתה, ובעזרת Claude Code כתבתי מסמך תכנון, בדיקות וקוד ביום אחד. הטמעתי את Claude Code כשיטת עבודה סטנדרטית בכל המדור, ובמרץ 2026 קיבלתי מגן הוקרה על תרומתי לטרנספורמציה הדיגיטלית בארגון. הפלטפורמה היא גם בסיס למערכות הבאות של תע"ץ: מערכת עיצוב משותפת, שירות קבצים ומדיה מאובטח והתקנה לא מקוונת שאפשר לחזור עליה בכל פעם.

06 / התפקיד והטכנולוגיה

אני מוביל שני צוותים במרכז תע"ץ: ארבעה מפתחים, כולל אותי, וחמישה אנשי תקשוב ותשתיות. לצד הפלטפורמה הזו, שאני מוביל וכתבתי את רובה, אני אחראי על המערכות הוותיקות בתחומי משא"ן (יועצים, חוזים, תאונות עבודה, הלוואות, פנסיה ועוד) ועל השרתים שהן רצות עליהם, ונותן תמיכה מקצה לקצה, מבאג בקוד ועד תקלת חומרה. בחנתי את OpenShift כפלטפורמת קונטיינרים לפלטפורמה של תע"ץ, ומצאתי שהיא פחות מתאימה לצורך. אני לוקח חלק גם בפרויקטים רוחביים לייעול העבודה, ומתעד את המערכות כדי שהידע לא יהיה תלוי רק בי.

בפלטפורמה הובלתי את הדרך מהאפיון ועד העלייה לאוויר: מודל הנתונים, הארכיטקטורה ותכנון האבטחה, רוב הקוד, ותיעוד להנהלה, למפתחים ולאנשי ה-IT. כשמפתחת נוספת הצטרפה לפרויקט במרץ 2026, פיצלתי את הקוד כדי שנוכל לעבוד במקביל, קבעתי את המבנה שעליו היא בנתה, וסקרתי ומיזגתי את העבודה שלה. מתוך 452 הקומיטים של הפלטפורמה 430 הם שלי.

את גרסאות 1 ו-2 בניתי עם Gemini. מגרסה 3 (יוני 2026) עבדתי עם Claude Code לפי כללים שקבעתי ושמורים במאגר הקוד: שינויים גדולים התחילו במסמך תכנון ובתוכנית עבודה שאישרתי, לוו בבדיקות ועברו את הסקירה שלי. כך נעשו 179 מתוך 217 הקומיטים מאז. ההחלטות הן שלי.

טכנולוגיות

  • React
  • TypeScript
  • Material UI
  • Python
  • Flask
  • Microsoft SQL Server
  • Meilisearch
  • Tesseract OCR
  • FFmpeg
  • nginx
  • Launchpad
  • Claude Code
  • Vite
  • TinyMCE
  • SQLAlchemy
  • Alembic
  • Authlib (OpenID Connect)
  • PyCasbin
  • SQLite
  • Waitress
  • NSSM
  • pnpm
  • pytest
  • Gemini

איך זה בנוי

הפורטל ושירות הקבצים והמדיה הם אפליקציות ווב ב-React וב-TypeScript מעל ממשקי API ב-Python וב-Flask, עם Microsoft SQL Server על שרת נתונים של Windows בסביבת הייצור, מנוע חיפוש Meilisearch שכוונן לעברית, ו-Tesseract ו-FFmpeg לקריאת מסמכים סרוקים ולהמרת וידאו. כל מסך בנוי מספריית רכיבים משותפת אחת, וכל הפלטפורמה יושבת בסביבת קוד אחת. היא נארזת בחבילה לא מקוונת אחת, וכלי הפריסה שלי Launchpad מתקין את השירותים שלה מאחורי nginx, כשירותי Windows על השרת. את גרסאות 1 ו-2 בניתי עם Gemini, ומגרסה 3 עם Claude Code, לפי כללים ומיומנויות לסוכן שנשמרים במאגר הקוד, ולפי מסמכי תכנון, תוכניות עבודה ובדיקות.

הובלתי את הפלטפורמה הדיגיטלית של תע"ץ מאפיון כתוב ועד עלייה לאוויר, ובניתי את הבסיס שעליו יוכלו לעמוד המערכות הבאות שלה.

פרקים