feat: add Jordan 3D topographic platform, Siro Map cinematic orbit studio, sun-shadow simulation, and sovereign intelligence security gating
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
Copyright 2018 Boutros International. (http://www.boutrosfonts.com)
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
http://scripts.sil.org/OFL
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 4.0 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.0 MiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 1.0 MiB |
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,501 @@
|
||||
<!doctype html>
|
||||
<html lang="ar" dir="rtl">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>المنظومة الوطنية للسيادة المكانية والملاحة التراثية | مذكرة الطرح الاستراتيجي</title>
|
||||
<meta name="description" content="مذكرة استراتيجية وهندسية موجهة لوزارة الثقافة ودائرة الآثار العامة لتحويل التراث الأردني إلى منظومة ملاحة مكانية سيادية تعمل بدون إنترنت.">
|
||||
|
||||
<!-- Fonts -->
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Tajawal:wght@400;500;700;800;900&family=Plus+Jakarta+Sans:wght@500;700;800&family=JetBrains+Mono:wght@500&display=swap" rel="stylesheet">
|
||||
|
||||
<style>
|
||||
:root {
|
||||
--navy: #061d42;
|
||||
--navy-light: #0d2e61;
|
||||
--gold: #b59247;
|
||||
--gold-light: #e5cb8e;
|
||||
--gold-bg: rgba(181, 146, 71, 0.08);
|
||||
--ink: #102238;
|
||||
--muted: #596b82;
|
||||
--pale: #f4f7fb;
|
||||
--line: #dbe4ef;
|
||||
--white: #ffffff;
|
||||
--font: 'Tajawal', -apple-system, BlinkMacSystemFont, 'Segoe UI', Tahoma, sans-serif;
|
||||
}
|
||||
|
||||
* { box-sizing: border-box; margin: 0; padding: 0; }
|
||||
html { scroll-behavior: smooth; }
|
||||
body {
|
||||
font-family: var(--font);
|
||||
background-color: var(--pale);
|
||||
color: var(--ink);
|
||||
line-height: 1.85;
|
||||
font-size: 17px;
|
||||
direction: rtl;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 1080px;
|
||||
margin: 0 auto;
|
||||
padding: 40px 24px 80px;
|
||||
}
|
||||
|
||||
/* Header & Branding */
|
||||
header {
|
||||
background: var(--navy);
|
||||
color: var(--white);
|
||||
border-radius: 24px;
|
||||
padding: 50px 45px;
|
||||
margin-bottom: 40px;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 20px 45px rgba(6, 29, 66, 0.15);
|
||||
}
|
||||
header::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: -120px;
|
||||
left: -80px;
|
||||
width: 400px;
|
||||
height: 400px;
|
||||
background: radial-gradient(circle, rgba(181, 146, 71, 0.25), transparent 70%);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.tagline {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
background: rgba(181, 146, 71, 0.15);
|
||||
border: 1px solid rgba(181, 146, 71, 0.35);
|
||||
color: var(--gold-light);
|
||||
padding: 6px 16px;
|
||||
border-radius: 30px;
|
||||
font-size: 14px;
|
||||
font-weight: 700;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: clamp(28px, 4vw, 42px);
|
||||
font-weight: 900;
|
||||
line-height: 1.3;
|
||||
margin-bottom: 12px;
|
||||
color: var(--white);
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
font-size: clamp(18px, 2.2vw, 22px);
|
||||
color: #b8ccdf;
|
||||
font-weight: 500;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.meta-bar {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
|
||||
gap: 16px;
|
||||
border-top: 1px solid rgba(255, 255, 255, 0.15);
|
||||
padding-top: 25px;
|
||||
font-size: 14px;
|
||||
}
|
||||
.meta-item b {
|
||||
color: var(--gold-light);
|
||||
display: block;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
.meta-item span {
|
||||
color: #e2ebf4;
|
||||
}
|
||||
|
||||
/* Content Cards */
|
||||
.card {
|
||||
background: var(--white);
|
||||
border-radius: 20px;
|
||||
border: 1px solid var(--line);
|
||||
padding: 40px;
|
||||
margin-bottom: 35px;
|
||||
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 26px;
|
||||
font-weight: 800;
|
||||
color: var(--navy);
|
||||
margin-bottom: 20px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
}
|
||||
h2::before {
|
||||
content: '';
|
||||
display: inline-block;
|
||||
width: 6px;
|
||||
height: 26px;
|
||||
background: var(--gold);
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 20px;
|
||||
font-weight: 700;
|
||||
color: var(--navy-light);
|
||||
margin: 24px 0 12px;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-bottom: 16px;
|
||||
color: var(--ink);
|
||||
}
|
||||
|
||||
.highlight-box {
|
||||
background: var(--gold-bg);
|
||||
border-right: 4px solid var(--gold);
|
||||
padding: 20px 24px;
|
||||
border-radius: 12px;
|
||||
margin: 24px 0;
|
||||
font-size: 18px;
|
||||
font-weight: 700;
|
||||
color: var(--navy);
|
||||
line-height: 1.7;
|
||||
}
|
||||
|
||||
/* Table Styling */
|
||||
.table-wrapper {
|
||||
overflow-x: auto;
|
||||
margin: 25px 0;
|
||||
border-radius: 14px;
|
||||
border: 1px solid var(--line);
|
||||
}
|
||||
table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
text-align: right;
|
||||
font-size: 15px;
|
||||
}
|
||||
th {
|
||||
background: var(--navy);
|
||||
color: var(--white);
|
||||
padding: 16px 20px;
|
||||
font-weight: 800;
|
||||
font-size: 16px;
|
||||
}
|
||||
td {
|
||||
padding: 16px 20px;
|
||||
border-bottom: 1px solid var(--line);
|
||||
color: var(--ink);
|
||||
}
|
||||
tr:nth-child(even) td {
|
||||
background: #fafbfd;
|
||||
}
|
||||
tr:hover td {
|
||||
background: #f1f6fb;
|
||||
}
|
||||
|
||||
/* Code & Architecture */
|
||||
pre {
|
||||
background: var(--navy);
|
||||
color: #d1e2f7;
|
||||
padding: 24px;
|
||||
border-radius: 14px;
|
||||
overflow-x: auto;
|
||||
font-family: 'JetBrains Mono', monospace;
|
||||
font-size: 13.5px;
|
||||
direction: ltr;
|
||||
text-align: left;
|
||||
margin: 20px 0;
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
/* List styles */
|
||||
ul, ol {
|
||||
margin: 16px 24px 24px 0;
|
||||
}
|
||||
li {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
/* Badges & Steps */
|
||||
.badge {
|
||||
display: inline-block;
|
||||
font-size: 12px;
|
||||
font-weight: 700;
|
||||
padding: 3px 10px;
|
||||
border-radius: 20px;
|
||||
background: #e9f0f9;
|
||||
color: #1a4f8b;
|
||||
}
|
||||
|
||||
.phase-card {
|
||||
border: 1px solid var(--line);
|
||||
border-radius: 14px;
|
||||
padding: 24px;
|
||||
margin-bottom: 16px;
|
||||
background: #fafbfd;
|
||||
transition: all .2s;
|
||||
}
|
||||
.phase-card:hover {
|
||||
border-color: var(--gold);
|
||||
box-shadow: 0 8px 24px rgba(6, 29, 66, 0.06);
|
||||
}
|
||||
.phase-header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
.phase-header strong {
|
||||
font-size: 18px;
|
||||
color: var(--navy);
|
||||
}
|
||||
|
||||
/* Action Footer */
|
||||
.cta-footer {
|
||||
background: var(--navy);
|
||||
color: var(--white);
|
||||
border-radius: 20px;
|
||||
padding: 35px;
|
||||
text-align: center;
|
||||
margin-top: 50px;
|
||||
}
|
||||
.cta-footer h3 {
|
||||
color: var(--gold-light);
|
||||
font-size: 24px;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
.cta-footer p {
|
||||
color: #cfddec;
|
||||
max-width: 750px;
|
||||
margin: 0 auto 20px;
|
||||
}
|
||||
.btn-gold {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
background: var(--gold);
|
||||
color: var(--navy);
|
||||
font-weight: 800;
|
||||
padding: 14px 32px;
|
||||
border-radius: 10px;
|
||||
text-decoration: none;
|
||||
transition: all .2s;
|
||||
}
|
||||
.btn-gold:hover {
|
||||
background: var(--gold-light);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="container">
|
||||
|
||||
<!-- Header -->
|
||||
<header>
|
||||
<div class="tagline">مبادرة وطنية للسيادة المكانية والتراث الرقمي</div>
|
||||
<h1>المنظومة الوطنية للسيادة المكانية والملاحة التراثية</h1>
|
||||
<div class="subtitle">مذكرة الطرح الاستراتيجي والمعماري الموحد للشراكة الحكومية</div>
|
||||
|
||||
<div class="meta-bar">
|
||||
<div class="meta-item">
|
||||
<b>المُعدّ والخبير الاستراتيجي:</b>
|
||||
<span>حمزة عايد (Founding Tech Architect & Mobility Strategist)</span>
|
||||
</div>
|
||||
<div class="meta-item">
|
||||
<b>المرجع والتوثيق:</b>
|
||||
<span>التدقيق الاستقصائي المقارن لبيانات التراث الأردني (سبتمبر 2026)</span>
|
||||
</div>
|
||||
<div class="meta-item">
|
||||
<b>الجهات الشريكة المستهدفة:</b>
|
||||
<span>وزارة الثقافة · دائرة الآثار العامة · وزارة السياحة · هيئة النقل البري</span>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<!-- Section 1 -->
|
||||
<section class="card">
|
||||
<h2>1. الملخص التنفيذي وقراءة الفجوة الوطنية</h2>
|
||||
|
||||
<div class="highlight-box">
|
||||
"تمتلك المملكة الأردنية الهاشمية أثمن محتوى تراثي وأضخم قاعدة بيانات أثرية موثقة في المنطقة، لكنها تعاني من عجز ميداني كامل في نقل هذه البيانات من الرفوف الرقمية إلى حركة الملاحة الواقعية".
|
||||
</div>
|
||||
|
||||
<p>
|
||||
كشف التدقيق الاستقصائي المشترك للمنصات الرقمية الأردنية القائمة عن انفصال حاد بين ثلاث جزر مؤسسية تعمل كل منها بمعزل عن الأخرى:
|
||||
</p>
|
||||
|
||||
<ol>
|
||||
<li>
|
||||
<b>وزارة الثقافة (منصة تراثي ومشاريع التوثيق):</b>
|
||||
تمتلك رصيداً معرفياً هائلاً يشمل <b>75,000 مفردة</b> موثقة في 5 مجلدات علمية بـ "مكنز التراث الشعبي الأردني"، ومئات الساعات الصوتية النادرة لأشرطة الكاسيت المسجلة في السبعينيات، و6 مسارات تشمل 65 محطة، ومشروع السردية الأردنية.
|
||||
<br>
|
||||
<i>العجز الفعلي:</i> غياب تام لتطبيق هواتف ذكية رسمي (موقع ويب فقط)، انعدام الملاحة والتوجيه المنعطف بمنعطف، عجز كامل عن العمل دون اتصال بالإنترنت (Offline)، واعتماد دبابيس عشوائية تسقط في المركز الهندسي للمعلم بدلاً من بوابات الدخول ومواقف السيارات.
|
||||
</li>
|
||||
<li>
|
||||
<b>دائرة الآثار العامة (نظام ميجا الأردن - MEGA-Jordan):</b>
|
||||
تمتلك سجلاً مكانياً جغرافياً ضخماً يوثق أكثر من <b>15,000 موقع أثري و54,000 مكوّن موقعي</b>، مع مسار ترحيل جارٍ نحو منصة Arches v5 بالشراكة مع معهد جيتي وجامعة أكسفورد.
|
||||
<br>
|
||||
<i>العجز الفعلي:</i> نظام إداري ورقابي داخلي مغلق مخصص لحماية الآثار ومعاملات تراخيص الأبنية، واجهته العامة غير مستقرة، ومفصول كلياً عن خدمة الزوار أو تزويدهم بالملاحة.
|
||||
</li>
|
||||
<li>
|
||||
<b>قطاع السياحة والنقل والحركة اليومية:</b>
|
||||
جزر رقمية منفصلة (هيئة تنشيط السياحة، برنامج أردننا جنة، هيئة تنظيم النقل البري، الحرفيين في المحافظات) دون أي ترابط مع قواعد بيانات التراث.
|
||||
</li>
|
||||
</ol>
|
||||
</section>
|
||||
|
||||
<!-- Section 2 -->
|
||||
<section class="card">
|
||||
<h2>2. مصفوفة القيمة: تحويل العجز الحكومي إلى تفوق سيادي</h2>
|
||||
<p>مقارنة مباشرة بين الواقع التشغيلي الحالي وما تقدمه منصتنا السيادية كشريك تقني وطني:</p>
|
||||
|
||||
<div class="table-wrapper">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 25%;">المعيار التشغيلي الميداني</th>
|
||||
<th style="width: 35%;">الواقع الحكومي الحالي (تراثي / ميجا)</th>
|
||||
<th style="width: 40%;">حل منصة الخرائط السيادية (Map SaaS)</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>الملاحة الميدانية ودقة الوصول</b></td>
|
||||
<td>إلقاء دبوس عشوائي في منتصف الموقع يقود السائح لجروف صخرية أو أسوار مغلقة.</td>
|
||||
<td><b>نظام التوجيه المزدوج:</b> ملاحة قيادة سيارات حتى موقف المركبات المعتمد، ثم ملاحة مشاة فورية نحو بوابة التذاكر والمسار الداخلي الآمن.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>العمل دون اتصال بالإنترنت</b></td>
|
||||
<td>منعدم كلياً؛ شلل كامل للخدمة في وادي رم، فينان، الكرك، البترا، وقلاع البادية عند انقطاع الشبكة الخلوية.</td>
|
||||
<td><b>حزم جغرافية محلية مسبقة التنزيل (Offline):</b> خرائط متجهات وتوجيه وتوثيق صوتي يعمل بنسبة 100% بنظام GPS بلا إنترنت.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>تكاليف التراخيص والسيادة الرقمية</b></td>
|
||||
<td>تبعية دولارية تصاعدية لواجهات خرائط جوجل (Google Maps APIs) ترهق موازنات الوزارات.</td>
|
||||
<td><b>بنية تحتية محلية مستقلة:</b> خوادم متجهات وطنية سيادية مستضافة محلياً تمنح الدولة استخداماً غير محدود بلا أي كلفة ترخيص أجنبية.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>تفعيل خريطة الحكايات</b></td>
|
||||
<td>تبويب نصي مكتبي ثابت يعتمد على قراءة المستخدم من شاشة الكمبيوتر.</td>
|
||||
<td><b>السياج الجغرافي الصوتي (Audio Geofencing):</b> تشغيل التسجيلات الصوتية النادرة لحكاية المكان تلقائياً بمجرد اقتراب السائح من المعلم دون لمس الشاشة.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>الربط بالنقل والتمكين الاقتصادي</b></td>
|
||||
<td>انفصال تام عن حركة المركبات والحافلات وأرزاق الحرفيين في القرى والمحافظات.</td>
|
||||
<td><b>تكامل حركي فوري:</b> زر مباشر لطلب وسيلة نقل نحو المعلم، وربط مشاغل الحرفيين بالدفع الرقمي المباشر.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Section 3 -->
|
||||
<section class="card">
|
||||
<h2>3. المعمارية الهندسية المتكاملة لربط المنظومات الوطنية</h2>
|
||||
<p>المخطط الهيكلي الذي يربط المحتوى التراثي لوزارة الثقافة مع سجلات الآثار ومنظومة الملاحة والنقل الذكي:</p>
|
||||
|
||||
<pre>
|
||||
┌──────────────────────────────────────┐ ┌─────────────────────────────────────┐
|
||||
│ وزارة الثقافة (منصة تراثي) │ │ دائرة الآثار العامة │
|
||||
│ المكنز (75 ألف مفردة) • السردية │ │ نظام MEGA-Jordan (15 ألف موقع) │
|
||||
│ أرشيف كاسيت السبعينيات النادر │ │ سجل Arches v5 │
|
||||
└──────────────────┬───────────────────┘ └──────────────────┬──────────────────┘
|
||||
│ │
|
||||
▼ ▼
|
||||
┌────────────────────────────────────────────────────────────┐
|
||||
│ الطبقة الجغرافية السيادية للتراث (Heritage Graph Engine) │
|
||||
│ محرك PostGIS • خادم بلاطات متجهة وطني • إحداثيات البوابات │
|
||||
│ معرف تراثي وطني موحد (Unified Heritage Place ID) │
|
||||
└────────────────────────────┬───────────────────────────────┘
|
||||
│
|
||||
┌───────────────┴───────────────┐
|
||||
▼ ▼
|
||||
┌─────────────────────────┐ ┌─────────────────────────┐
|
||||
│ تطبيق الهاتف الذكي السيادي│ │ بوابة النقل والتمكين │
|
||||
│ • توجيه مزدوج (سيارة+مشاة)│ │ • ربط حافلات وتطبيقات │
|
||||
│ • حزم تنزيل Offline │ │ • دعم الحرفيين والدفع │
|
||||
│ • سياج صوتي للحكايات │ │ • خفض تكلفة جوجل ($0) │
|
||||
└─────────────────────────┘ └─────────────────────────┘
|
||||
</pre>
|
||||
</section>
|
||||
|
||||
<!-- Section 4 -->
|
||||
<section class="card">
|
||||
<h2>4. نموذج هيكل البيانات المكاني المقترح (Data Schema)</h2>
|
||||
<p>هيكل بيانات موحد يربط أنظمة الدولة الثلاثة دون أي تضارب أو كشف للمواقع الأثرية الحساسة غير المفتوحة للزيارة:</p>
|
||||
|
||||
<pre>
|
||||
-- هيكل بيانات المعلم التراثي السيادي الموحد
|
||||
CREATE TABLE sovereign_heritage_asset (
|
||||
heritage_id VARCHAR(64) PRIMARY KEY, -- المعرف الوطني الموحد (مرتبط بـ MEGA و Turathi)
|
||||
site_name_ar VARCHAR(255) NOT NULL, -- الاسم الرسمي بالعربية
|
||||
site_name_en VARCHAR(255), -- الاسم بالإنجليزية
|
||||
governorate VARCHAR(64) NOT NULL, -- المحافظة (معان، مادبا، جرش، إلخ)
|
||||
category VARCHAR(64) NOT NULL, -- التصنيف (يونسكو، قلاع، متاحف، مسارات)
|
||||
|
||||
-- الفصل بين الإحداثيات الإدارية والملاحة الميدانية
|
||||
centroid_location GEOMETRY(Point, 4326), -- المركز الجغرافي العام
|
||||
parking_gate_location GEOMETRY(Point, 4326), -- موقع موقف السيارات ونقطة إنزال الركاب
|
||||
visitor_entrance_location GEOMETRY(Point, 4326), -- بوابة التذاكر ودخول المشاة الفعلي
|
||||
|
||||
-- الأصول الثقافية والصوتية الوطنية
|
||||
story_summary_60s TEXT, -- نبذة الـ 60 ثانية المركزة
|
||||
audio_narrative_url VARCHAR(512), -- تسجيلات أشرطة السبعينيات النادرة
|
||||
thesaurus_terms JSONB, -- مفردات المكنز التراثي الأردني المرتبطة بالمكان
|
||||
historical_era VARCHAR(128), -- الحقبة وفق مشروع السردية الأردنية
|
||||
|
||||
-- معايير السلامة والتشغيل
|
||||
is_offline_available BOOLEAN DEFAULT TRUE, -- هل المعلم مشمول بحزمة التنزيل المسبق
|
||||
requires_ticket BOOLEAN DEFAULT FALSE, -- هل يتطلب تذكرة دخول
|
||||
accessibility_level VARCHAR(32) -- مستوى المواءمة لذوي الإعاقة وكبار السن
|
||||
);
|
||||
</pre>
|
||||
</section>
|
||||
|
||||
<!-- Section 5 -->
|
||||
<section class="card">
|
||||
<h2>5. خطة العمل والشراكة الحكومية المقترحة</h2>
|
||||
|
||||
<div class="phase-card">
|
||||
<div class="phase-header">
|
||||
<strong>المرحلة الأولى: تقديم ورقة المفهوم المشتركة (Concept Note)</strong>
|
||||
<span class="badge">الشهر 1 - 2</span>
|
||||
</div>
|
||||
<p>عرض المذكرة التنفيذية على وزير الثقافة وأمين عام الوزارة ومدير عام الآثار العامة، والتأكيد على مبدأ التكامل السيادي: الوزارة توفر المحتوى وسردية الأرض والإنسان والاعتماد الرسمي، ونحن نوفر البنية المكانية ومحرك الخرائط المستقل.</p>
|
||||
</div>
|
||||
|
||||
<div class="phase-card">
|
||||
<div class="phase-header">
|
||||
<strong>المرحلة الثانية: إطلاق المسار التجريبي الريادي (Flagship PoC)</strong>
|
||||
<span class="badge">الشهر 3 - 5</span>
|
||||
</div>
|
||||
<p>اختيار مسار نموذجي مثل <b>مسار مادبا التراثي (10 محطات)</b> أو <b>مسار عجلون الزيتون (10 محطات)</b>، ورفع إحداثيات البوابات والمواقف الحقيقية، ودمج التسجيلات الصوتية الشعبية النادرة ومفردات المكنز داخل تطبيق الموبايل، وتشغيله أمام قيادات الوزارة وهيئة تنشيط السياحة بالكامل في وضع عدم الاتصال لإثبات الفارق التقني الميداني.</p>
|
||||
</div>
|
||||
|
||||
<div class="phase-card">
|
||||
<div class="phase-header">
|
||||
<strong>المرحلة الثالثة: التعميم الوطني والربط الاقتصادي</strong>
|
||||
<span class="badge">الشهر 6 - 12</span>
|
||||
</div>
|
||||
<p>شمول الـ 65 محطة المعتمدة في منصة تراثي، والتوسع تدريجياً ليشمل الـ 15 ألف موقع أثري المسجلة في نظام ميجا بصيغة سياحية آمنة، مع ربط خطوط النقل السياحي وتطبيقات التوصيل لإنعاش اقتصاد المحافظات ودعم الحرفيين المحليين.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- CTA Footer -->
|
||||
<div class="cta-footer">
|
||||
<h3>جاهزية المنظومة للتنفيذ الفوري</h3>
|
||||
<p>تمتلك منصتنا اليوم خوادم المتجهات الوطنية ومحرك التوجيه السيادي وتطبيق الموبايل الميداني الجاهز للتكامل مع قواعد بيانات الدولة الأردنية لخدمة أهداف التنمية والسيادة الرقمية.</p>
|
||||
<a href="https://map-saas.intaleqapp.com/sovereignty-brief.html" class="btn-gold">
|
||||
<span>معاينة العرض التنفيذي للسيادة المكانية</span>
|
||||
<span>←</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,501 @@
|
||||
<!doctype html>
|
||||
<html lang="ar" dir="rtl">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>المنظومة الوطنية للسيادة المكانية والملاحة التراثية | مذكرة الطرح الاستراتيجي</title>
|
||||
<meta name="description" content="مذكرة استراتيجية وهندسية موجهة لوزارة الثقافة ودائرة الآثار العامة لتحويل التراث الأردني إلى منظومة ملاحة مكانية سيادية تعمل بدون إنترنت.">
|
||||
|
||||
<!-- Fonts -->
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Tajawal:wght@400;500;700;800;900&family=Plus+Jakarta+Sans:wght@500;700;800&family=JetBrains+Mono:wght@500&display=swap" rel="stylesheet">
|
||||
|
||||
<style>
|
||||
:root {
|
||||
--navy: #061d42;
|
||||
--navy-light: #0d2e61;
|
||||
--gold: #b59247;
|
||||
--gold-light: #e5cb8e;
|
||||
--gold-bg: rgba(181, 146, 71, 0.08);
|
||||
--ink: #102238;
|
||||
--muted: #596b82;
|
||||
--pale: #f4f7fb;
|
||||
--line: #dbe4ef;
|
||||
--white: #ffffff;
|
||||
--font: 'Tajawal', -apple-system, BlinkMacSystemFont, 'Segoe UI', Tahoma, sans-serif;
|
||||
}
|
||||
|
||||
* { box-sizing: border-box; margin: 0; padding: 0; }
|
||||
html { scroll-behavior: smooth; }
|
||||
body {
|
||||
font-family: var(--font);
|
||||
background-color: var(--pale);
|
||||
color: var(--ink);
|
||||
line-height: 1.85;
|
||||
font-size: 17px;
|
||||
direction: rtl;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 1080px;
|
||||
margin: 0 auto;
|
||||
padding: 40px 24px 80px;
|
||||
}
|
||||
|
||||
/* Header & Branding */
|
||||
header {
|
||||
background: var(--navy);
|
||||
color: var(--white);
|
||||
border-radius: 24px;
|
||||
padding: 50px 45px;
|
||||
margin-bottom: 40px;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 20px 45px rgba(6, 29, 66, 0.15);
|
||||
}
|
||||
header::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: -120px;
|
||||
left: -80px;
|
||||
width: 400px;
|
||||
height: 400px;
|
||||
background: radial-gradient(circle, rgba(181, 146, 71, 0.25), transparent 70%);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.tagline {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
background: rgba(181, 146, 71, 0.15);
|
||||
border: 1px solid rgba(181, 146, 71, 0.35);
|
||||
color: var(--gold-light);
|
||||
padding: 6px 16px;
|
||||
border-radius: 30px;
|
||||
font-size: 14px;
|
||||
font-weight: 700;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: clamp(28px, 4vw, 42px);
|
||||
font-weight: 900;
|
||||
line-height: 1.3;
|
||||
margin-bottom: 12px;
|
||||
color: var(--white);
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
font-size: clamp(18px, 2.2vw, 22px);
|
||||
color: #b8ccdf;
|
||||
font-weight: 500;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.meta-bar {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
|
||||
gap: 16px;
|
||||
border-top: 1px solid rgba(255, 255, 255, 0.15);
|
||||
padding-top: 25px;
|
||||
font-size: 14px;
|
||||
}
|
||||
.meta-item b {
|
||||
color: var(--gold-light);
|
||||
display: block;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
.meta-item span {
|
||||
color: #e2ebf4;
|
||||
}
|
||||
|
||||
/* Content Cards */
|
||||
.card {
|
||||
background: var(--white);
|
||||
border-radius: 20px;
|
||||
border: 1px solid var(--line);
|
||||
padding: 40px;
|
||||
margin-bottom: 35px;
|
||||
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 26px;
|
||||
font-weight: 800;
|
||||
color: var(--navy);
|
||||
margin-bottom: 20px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
}
|
||||
h2::before {
|
||||
content: '';
|
||||
display: inline-block;
|
||||
width: 6px;
|
||||
height: 26px;
|
||||
background: var(--gold);
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 20px;
|
||||
font-weight: 700;
|
||||
color: var(--navy-light);
|
||||
margin: 24px 0 12px;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-bottom: 16px;
|
||||
color: var(--ink);
|
||||
}
|
||||
|
||||
.highlight-box {
|
||||
background: var(--gold-bg);
|
||||
border-right: 4px solid var(--gold);
|
||||
padding: 20px 24px;
|
||||
border-radius: 12px;
|
||||
margin: 24px 0;
|
||||
font-size: 18px;
|
||||
font-weight: 700;
|
||||
color: var(--navy);
|
||||
line-height: 1.7;
|
||||
}
|
||||
|
||||
/* Table Styling */
|
||||
.table-wrapper {
|
||||
overflow-x: auto;
|
||||
margin: 25px 0;
|
||||
border-radius: 14px;
|
||||
border: 1px solid var(--line);
|
||||
}
|
||||
table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
text-align: right;
|
||||
font-size: 15px;
|
||||
}
|
||||
th {
|
||||
background: var(--navy);
|
||||
color: var(--white);
|
||||
padding: 16px 20px;
|
||||
font-weight: 800;
|
||||
font-size: 16px;
|
||||
}
|
||||
td {
|
||||
padding: 16px 20px;
|
||||
border-bottom: 1px solid var(--line);
|
||||
color: var(--ink);
|
||||
}
|
||||
tr:nth-child(even) td {
|
||||
background: #fafbfd;
|
||||
}
|
||||
tr:hover td {
|
||||
background: #f1f6fb;
|
||||
}
|
||||
|
||||
/* Code & Architecture */
|
||||
pre {
|
||||
background: var(--navy);
|
||||
color: #d1e2f7;
|
||||
padding: 24px;
|
||||
border-radius: 14px;
|
||||
overflow-x: auto;
|
||||
font-family: 'JetBrains Mono', monospace;
|
||||
font-size: 13.5px;
|
||||
direction: ltr;
|
||||
text-align: left;
|
||||
margin: 20px 0;
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
/* List styles */
|
||||
ul, ol {
|
||||
margin: 16px 24px 24px 0;
|
||||
}
|
||||
li {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
/* Badges & Steps */
|
||||
.badge {
|
||||
display: inline-block;
|
||||
font-size: 12px;
|
||||
font-weight: 700;
|
||||
padding: 3px 10px;
|
||||
border-radius: 20px;
|
||||
background: #e9f0f9;
|
||||
color: #1a4f8b;
|
||||
}
|
||||
|
||||
.phase-card {
|
||||
border: 1px solid var(--line);
|
||||
border-radius: 14px;
|
||||
padding: 24px;
|
||||
margin-bottom: 16px;
|
||||
background: #fafbfd;
|
||||
transition: all .2s;
|
||||
}
|
||||
.phase-card:hover {
|
||||
border-color: var(--gold);
|
||||
box-shadow: 0 8px 24px rgba(6, 29, 66, 0.06);
|
||||
}
|
||||
.phase-header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
.phase-header strong {
|
||||
font-size: 18px;
|
||||
color: var(--navy);
|
||||
}
|
||||
|
||||
/* Action Footer */
|
||||
.cta-footer {
|
||||
background: var(--navy);
|
||||
color: var(--white);
|
||||
border-radius: 20px;
|
||||
padding: 35px;
|
||||
text-align: center;
|
||||
margin-top: 50px;
|
||||
}
|
||||
.cta-footer h3 {
|
||||
color: var(--gold-light);
|
||||
font-size: 24px;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
.cta-footer p {
|
||||
color: #cfddec;
|
||||
max-width: 750px;
|
||||
margin: 0 auto 20px;
|
||||
}
|
||||
.btn-gold {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
background: var(--gold);
|
||||
color: var(--navy);
|
||||
font-weight: 800;
|
||||
padding: 14px 32px;
|
||||
border-radius: 10px;
|
||||
text-decoration: none;
|
||||
transition: all .2s;
|
||||
}
|
||||
.btn-gold:hover {
|
||||
background: var(--gold-light);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="container">
|
||||
|
||||
<!-- Header -->
|
||||
<header>
|
||||
<div class="tagline">مبادرة وطنية للسيادة المكانية والتراث الرقمي</div>
|
||||
<h1>المنظومة الوطنية للسيادة المكانية والملاحة التراثية</h1>
|
||||
<div class="subtitle">مذكرة الطرح الاستراتيجي والمعماري الموحد للشراكة الحكومية</div>
|
||||
|
||||
<div class="meta-bar">
|
||||
<div class="meta-item">
|
||||
<b>المُعدّ والخبير الاستراتيجي:</b>
|
||||
<span>حمزة عايد (Founding Tech Architect & Mobility Strategist)</span>
|
||||
</div>
|
||||
<div class="meta-item">
|
||||
<b>المرجع والتوثيق:</b>
|
||||
<span>التدقيق الاستقصائي المقارن لبيانات التراث الأردني (سبتمبر 2026)</span>
|
||||
</div>
|
||||
<div class="meta-item">
|
||||
<b>الجهات الشريكة المستهدفة:</b>
|
||||
<span>وزارة الثقافة · دائرة الآثار العامة · وزارة السياحة · هيئة النقل البري</span>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<!-- Section 1 -->
|
||||
<section class="card">
|
||||
<h2>1. الملخص التنفيذي وقراءة الفجوة الوطنية</h2>
|
||||
|
||||
<div class="highlight-box">
|
||||
"تمتلك المملكة الأردنية الهاشمية أثمن محتوى تراثي وأضخم قاعدة بيانات أثرية موثقة في المنطقة، لكنها تعاني من عجز ميداني كامل في نقل هذه البيانات من الرفوف الرقمية إلى حركة الملاحة الواقعية".
|
||||
</div>
|
||||
|
||||
<p>
|
||||
كشف التدقيق الاستقصائي المشترك للمنصات الرقمية الأردنية القائمة عن انفصال حاد بين ثلاث جزر مؤسسية تعمل كل منها بمعزل عن الأخرى:
|
||||
</p>
|
||||
|
||||
<ol>
|
||||
<li>
|
||||
<b>وزارة الثقافة (منصة تراثي ومشاريع التوثيق):</b>
|
||||
تمتلك رصيداً معرفياً هائلاً يشمل <b>75,000 مفردة</b> موثقة في 5 مجلدات علمية بـ "مكنز التراث الشعبي الأردني"، ومئات الساعات الصوتية النادرة لأشرطة الكاسيت المسجلة في السبعينيات، و6 مسارات تشمل 65 محطة، ومشروع السردية الأردنية.
|
||||
<br>
|
||||
<i>العجز الفعلي:</i> غياب تام لتطبيق هواتف ذكية رسمي (موقع ويب فقط)، انعدام الملاحة والتوجيه المنعطف بمنعطف، عجز كامل عن العمل دون اتصال بالإنترنت (Offline)، واعتماد دبابيس عشوائية تسقط في المركز الهندسي للمعلم بدلاً من بوابات الدخول ومواقف السيارات.
|
||||
</li>
|
||||
<li>
|
||||
<b>دائرة الآثار العامة (نظام ميجا الأردن - MEGA-Jordan):</b>
|
||||
تمتلك سجلاً مكانياً جغرافياً ضخماً يوثق أكثر من <b>15,000 موقع أثري و54,000 مكوّن موقعي</b>، مع مسار ترحيل جارٍ نحو منصة Arches v5 بالشراكة مع معهد جيتي وجامعة أكسفورد.
|
||||
<br>
|
||||
<i>العجز الفعلي:</i> نظام إداري ورقابي داخلي مغلق مخصص لحماية الآثار ومعاملات تراخيص الأبنية، واجهته العامة غير مستقرة، ومفصول كلياً عن خدمة الزوار أو تزويدهم بالملاحة.
|
||||
</li>
|
||||
<li>
|
||||
<b>قطاع السياحة والنقل والحركة اليومية:</b>
|
||||
جزر رقمية منفصلة (هيئة تنشيط السياحة، برنامج أردننا جنة، هيئة تنظيم النقل البري، الحرفيين في المحافظات) دون أي ترابط مع قواعد بيانات التراث.
|
||||
</li>
|
||||
</ol>
|
||||
</section>
|
||||
|
||||
<!-- Section 2 -->
|
||||
<section class="card">
|
||||
<h2>2. مصفوفة القيمة: تحويل العجز الحكومي إلى تفوق سيادي</h2>
|
||||
<p>مقارنة مباشرة بين الواقع التشغيلي الحالي وما تقدمه منصتنا السيادية كشريك تقني وطني:</p>
|
||||
|
||||
<div class="table-wrapper">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 25%;">المعيار التشغيلي الميداني</th>
|
||||
<th style="width: 35%;">الواقع الحكومي الحالي (تراثي / ميجا)</th>
|
||||
<th style="width: 40%;">حل منصة الخرائط السيادية (Map SaaS)</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>الملاحة الميدانية ودقة الوصول</b></td>
|
||||
<td>إلقاء دبوس عشوائي في منتصف الموقع يقود السائح لجروف صخرية أو أسوار مغلقة.</td>
|
||||
<td><b>نظام التوجيه المزدوج:</b> ملاحة قيادة سيارات حتى موقف المركبات المعتمد، ثم ملاحة مشاة فورية نحو بوابة التذاكر والمسار الداخلي الآمن.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>العمل دون اتصال بالإنترنت</b></td>
|
||||
<td>منعدم كلياً؛ شلل كامل للخدمة في وادي رم، فينان، الكرك، البترا، وقلاع البادية عند انقطاع الشبكة الخلوية.</td>
|
||||
<td><b>حزم جغرافية محلية مسبقة التنزيل (Offline):</b> خرائط متجهات وتوجيه وتوثيق صوتي يعمل بنسبة 100% بنظام GPS بلا إنترنت.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>تكاليف التراخيص والسيادة الرقمية</b></td>
|
||||
<td>تبعية دولارية تصاعدية لواجهات خرائط جوجل (Google Maps APIs) ترهق موازنات الوزارات.</td>
|
||||
<td><b>بنية تحتية محلية مستقلة:</b> خوادم متجهات وطنية سيادية مستضافة محلياً تمنح الدولة استخداماً غير محدود بلا أي كلفة ترخيص أجنبية.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>تفعيل خريطة الحكايات</b></td>
|
||||
<td>تبويب نصي مكتبي ثابت يعتمد على قراءة المستخدم من شاشة الكمبيوتر.</td>
|
||||
<td><b>السياج الجغرافي الصوتي (Audio Geofencing):</b> تشغيل التسجيلات الصوتية النادرة لحكاية المكان تلقائياً بمجرد اقتراب السائح من المعلم دون لمس الشاشة.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>الربط بالنقل والتمكين الاقتصادي</b></td>
|
||||
<td>انفصال تام عن حركة المركبات والحافلات وأرزاق الحرفيين في القرى والمحافظات.</td>
|
||||
<td><b>تكامل حركي فوري:</b> زر مباشر لطلب وسيلة نقل نحو المعلم، وربط مشاغل الحرفيين بالدفع الرقمي المباشر.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Section 3 -->
|
||||
<section class="card">
|
||||
<h2>3. المعمارية الهندسية المتكاملة لربط المنظومات الوطنية</h2>
|
||||
<p>المخطط الهيكلي الذي يربط المحتوى التراثي لوزارة الثقافة مع سجلات الآثار ومنظومة الملاحة والنقل الذكي:</p>
|
||||
|
||||
<pre>
|
||||
┌──────────────────────────────────────┐ ┌─────────────────────────────────────┐
|
||||
│ وزارة الثقافة (منصة تراثي) │ │ دائرة الآثار العامة │
|
||||
│ المكنز (75 ألف مفردة) • السردية │ │ نظام MEGA-Jordan (15 ألف موقع) │
|
||||
│ أرشيف كاسيت السبعينيات النادر │ │ سجل Arches v5 │
|
||||
└──────────────────┬───────────────────┘ └──────────────────┬──────────────────┘
|
||||
│ │
|
||||
▼ ▼
|
||||
┌────────────────────────────────────────────────────────────┐
|
||||
│ الطبقة الجغرافية السيادية للتراث (Heritage Graph Engine) │
|
||||
│ محرك PostGIS • خادم بلاطات متجهة وطني • إحداثيات البوابات │
|
||||
│ معرف تراثي وطني موحد (Unified Heritage Place ID) │
|
||||
└────────────────────────────┬───────────────────────────────┘
|
||||
│
|
||||
┌───────────────┴───────────────┐
|
||||
▼ ▼
|
||||
┌─────────────────────────┐ ┌─────────────────────────┐
|
||||
│ تطبيق الهاتف الذكي السيادي│ │ بوابة النقل والتمكين │
|
||||
│ • توجيه مزدوج (سيارة+مشاة)│ │ • ربط حافلات وتطبيقات │
|
||||
│ • حزم تنزيل Offline │ │ • دعم الحرفيين والدفع │
|
||||
│ • سياج صوتي للحكايات │ │ • خفض تكلفة جوجل ($0) │
|
||||
└─────────────────────────┘ └─────────────────────────┘
|
||||
</pre>
|
||||
</section>
|
||||
|
||||
<!-- Section 4 -->
|
||||
<section class="card">
|
||||
<h2>4. نموذج هيكل البيانات المكاني المقترح (Data Schema)</h2>
|
||||
<p>هيكل بيانات موحد يربط أنظمة الدولة الثلاثة دون أي تضارب أو كشف للمواقع الأثرية الحساسة غير المفتوحة للزيارة:</p>
|
||||
|
||||
<pre>
|
||||
-- هيكل بيانات المعلم التراثي السيادي الموحد
|
||||
CREATE TABLE sovereign_heritage_asset (
|
||||
heritage_id VARCHAR(64) PRIMARY KEY, -- المعرف الوطني الموحد (مرتبط بـ MEGA و Turathi)
|
||||
site_name_ar VARCHAR(255) NOT NULL, -- الاسم الرسمي بالعربية
|
||||
site_name_en VARCHAR(255), -- الاسم بالإنجليزية
|
||||
governorate VARCHAR(64) NOT NULL, -- المحافظة (معان، مادبا، جرش، إلخ)
|
||||
category VARCHAR(64) NOT NULL, -- التصنيف (يونسكو، قلاع، متاحف، مسارات)
|
||||
|
||||
-- الفصل بين الإحداثيات الإدارية والملاحة الميدانية
|
||||
centroid_location GEOMETRY(Point, 4326), -- المركز الجغرافي العام
|
||||
parking_gate_location GEOMETRY(Point, 4326), -- موقع موقف السيارات ونقطة إنزال الركاب
|
||||
visitor_entrance_location GEOMETRY(Point, 4326), -- بوابة التذاكر ودخول المشاة الفعلي
|
||||
|
||||
-- الأصول الثقافية والصوتية الوطنية
|
||||
story_summary_60s TEXT, -- نبذة الـ 60 ثانية المركزة
|
||||
audio_narrative_url VARCHAR(512), -- تسجيلات أشرطة السبعينيات النادرة
|
||||
thesaurus_terms JSONB, -- مفردات المكنز التراثي الأردني المرتبطة بالمكان
|
||||
historical_era VARCHAR(128), -- الحقبة وفق مشروع السردية الأردنية
|
||||
|
||||
-- معايير السلامة والتشغيل
|
||||
is_offline_available BOOLEAN DEFAULT TRUE, -- هل المعلم مشمول بحزمة التنزيل المسبق
|
||||
requires_ticket BOOLEAN DEFAULT FALSE, -- هل يتطلب تذكرة دخول
|
||||
accessibility_level VARCHAR(32) -- مستوى المواءمة لذوي الإعاقة وكبار السن
|
||||
);
|
||||
</pre>
|
||||
</section>
|
||||
|
||||
<!-- Section 5 -->
|
||||
<section class="card">
|
||||
<h2>5. خطة العمل والشراكة الحكومية المقترحة</h2>
|
||||
|
||||
<div class="phase-card">
|
||||
<div class="phase-header">
|
||||
<strong>المرحلة الأولى: تقديم ورقة المفهوم المشتركة (Concept Note)</strong>
|
||||
<span class="badge">الشهر 1 - 2</span>
|
||||
</div>
|
||||
<p>عرض المذكرة التنفيذية على وزير الثقافة وأمين عام الوزارة ومدير عام الآثار العامة، والتأكيد على مبدأ التكامل السيادي: الوزارة توفر المحتوى وسردية الأرض والإنسان والاعتماد الرسمي، ونحن نوفر البنية المكانية ومحرك الخرائط المستقل.</p>
|
||||
</div>
|
||||
|
||||
<div class="phase-card">
|
||||
<div class="phase-header">
|
||||
<strong>المرحلة الثانية: إطلاق المسار التجريبي الريادي (Flagship PoC)</strong>
|
||||
<span class="badge">الشهر 3 - 5</span>
|
||||
</div>
|
||||
<p>اختيار مسار نموذجي مثل <b>مسار مادبا التراثي (10 محطات)</b> أو <b>مسار عجلون الزيتون (10 محطات)</b>، ورفع إحداثيات البوابات والمواقف الحقيقية، ودمج التسجيلات الصوتية الشعبية النادرة ومفردات المكنز داخل تطبيق الموبايل، وتشغيله أمام قيادات الوزارة وهيئة تنشيط السياحة بالكامل في وضع عدم الاتصال لإثبات الفارق التقني الميداني.</p>
|
||||
</div>
|
||||
|
||||
<div class="phase-card">
|
||||
<div class="phase-header">
|
||||
<strong>المرحلة الثالثة: التعميم الوطني والربط الاقتصادي</strong>
|
||||
<span class="badge">الشهر 6 - 12</span>
|
||||
</div>
|
||||
<p>شمول الـ 65 محطة المعتمدة في منصة تراثي، والتوسع تدريجياً ليشمل الـ 15 ألف موقع أثري المسجلة في نظام ميجا بصيغة سياحية آمنة، مع ربط خطوط النقل السياحي وتطبيقات التوصيل لإنعاش اقتصاد المحافظات ودعم الحرفيين المحليين.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- CTA Footer -->
|
||||
<div class="cta-footer">
|
||||
<h3>جاهزية المنظومة للتنفيذ الفوري</h3>
|
||||
<p>تمتلك منصتنا اليوم خوادم المتجهات الوطنية ومحرك التوجيه السيادي وتطبيق الموبايل الميداني الجاهز للتكامل مع قواعد بيانات الدولة الأردنية لخدمة أهداف التنمية والسيادة الرقمية.</p>
|
||||
<a href="https://map-saas.intaleqapp.com/sovereignty-brief.html" class="btn-gold">
|
||||
<span>معاينة العرض التنفيذي للسيادة المكانية</span>
|
||||
<span>←</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,675 @@
|
||||
{
|
||||
"version": 8,
|
||||
"name": "Intaleq Sovereign 3D Topographic & Terrain Style (خريطة التضاريس ثلاثية الأبعاد السيادية)",
|
||||
"metadata": {
|
||||
"brand": "Intaleq",
|
||||
"version": "3.5.0-terrain-3d",
|
||||
"description": "High-fidelity Sovereign 3D Topographic Style with DEM terrain displacement, dynamic hillshading, contour lines, and 3D architectural extrusions"
|
||||
},
|
||||
"center": [
|
||||
35.4337,
|
||||
29.5763
|
||||
],
|
||||
"zoom": 12.5,
|
||||
"pitch": 65,
|
||||
"bearing": -35,
|
||||
"glyphs": "https://cdn.protomaps.com/fonts/pbf/{fontstack}/{range}.pbf",
|
||||
"sources": {
|
||||
"terrain-dem": {
|
||||
"type": "raster-dem",
|
||||
"tiles": [
|
||||
"https://s3.amazonaws.com/elevation-tiles-prod/terrarium/{z}/{x}/{y}.png",
|
||||
"https://tiles.intaleqapp.com/raster_dem/{z}/{x}/{y}.png"
|
||||
],
|
||||
"encoding": "terrarium",
|
||||
"tileSize": 256,
|
||||
"maxzoom": 15
|
||||
},
|
||||
"esri-satellite": {
|
||||
"type": "raster",
|
||||
"tiles": [
|
||||
"https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}"
|
||||
],
|
||||
"tileSize": 256,
|
||||
"maxzoom": 18,
|
||||
"attribution": "© Esri, DigitalGlobe, GeoEye, Earthstar Geographics"
|
||||
},
|
||||
"opentopo-contours": {
|
||||
"type": "raster",
|
||||
"tiles": [
|
||||
"https://a.tile.opentopomap.org/{z}/{x}/{y}.png",
|
||||
"https://b.tile.opentopomap.org/{z}/{x}/{y}.png",
|
||||
"https://c.tile.opentopomap.org/{z}/{x}/{y}.png"
|
||||
],
|
||||
"tileSize": 256,
|
||||
"maxzoom": 17
|
||||
},
|
||||
"jordan_contours": {
|
||||
"type": "vector",
|
||||
"tiles": [
|
||||
"https://tiles.intaleqapp.com/jordan_contours/{z}/{x}/{y}"
|
||||
],
|
||||
"minzoom": 8,
|
||||
"maxzoom": 16
|
||||
},
|
||||
"local-osm-polygons": {
|
||||
"type": "vector",
|
||||
"tiles": [
|
||||
"https://tiles.intaleqapp.com/planet_osm_polygon/{z}/{x}/{y}"
|
||||
],
|
||||
"maxzoom": 14,
|
||||
"attribution": "© Intaleq | © OpenStreetMap contributors"
|
||||
},
|
||||
"local-osm-lines": {
|
||||
"type": "vector",
|
||||
"tiles": [
|
||||
"https://tiles.intaleqapp.com/planet_osm_line/{z}/{x}/{y}"
|
||||
],
|
||||
"maxzoom": 14
|
||||
},
|
||||
"local-osm-points": {
|
||||
"type": "vector",
|
||||
"tiles": [
|
||||
"https://tiles.intaleqapp.com/planet_osm_point/{z}/{x}/{y}"
|
||||
],
|
||||
"maxzoom": 14
|
||||
},
|
||||
"places_jordan": {
|
||||
"type": "vector",
|
||||
"tiles": [
|
||||
"https://tiles.intaleqapp.com/places_jordan/{z}/{x}/{y}"
|
||||
],
|
||||
"maxzoom": 14
|
||||
},
|
||||
"overture_buildings": {
|
||||
"type": "vector",
|
||||
"tiles": [
|
||||
"https://tiles.intaleqapp.com/overture_building/{z}/{x}/{y}"
|
||||
],
|
||||
"maxzoom": 16
|
||||
},
|
||||
"approved_roads": {
|
||||
"type": "vector",
|
||||
"tiles": [
|
||||
"https://tiles.intaleqapp.com/approved_roads/{z}/{x}/{y}"
|
||||
],
|
||||
"minzoom": 8,
|
||||
"maxzoom": 18
|
||||
}
|
||||
},
|
||||
"layers": [
|
||||
{
|
||||
"id": "topo-background",
|
||||
"type": "background",
|
||||
"paint": {
|
||||
"background-color": "#EFECE6"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "satellite-base-layer",
|
||||
"type": "raster",
|
||||
"source": "esri-satellite",
|
||||
"layout": {
|
||||
"visibility": "none"
|
||||
},
|
||||
"paint": {
|
||||
"raster-opacity": 0.95,
|
||||
"raster-saturation": 0.1
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "terrain-3d-hillshading",
|
||||
"type": "hillshade",
|
||||
"source": "terrain-dem",
|
||||
"layout": {
|
||||
"visibility": "visible"
|
||||
},
|
||||
"paint": {
|
||||
"hillshade-illumination-direction": 315,
|
||||
"hillshade-illumination-anchor": "viewport",
|
||||
"hillshade-shadow-color": "#261d15",
|
||||
"hillshade-highlight-color": "#fffbf2",
|
||||
"hillshade-accent-color": "#784a28",
|
||||
"hillshade-exaggeration": 0.75
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "natural-water-poly",
|
||||
"type": "fill",
|
||||
"source": "local-osm-polygons",
|
||||
"source-layer": "planet_osm_polygon",
|
||||
"filter": [
|
||||
"any",
|
||||
["==", "natural", "water"],
|
||||
["==", "water", "lake"],
|
||||
["==", "waterway", "riverbank"]
|
||||
],
|
||||
"paint": {
|
||||
"fill-color": "#0284c7",
|
||||
"fill-opacity": 0.85
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "natural-wood-forest",
|
||||
"type": "fill",
|
||||
"source": "local-osm-polygons",
|
||||
"source-layer": "planet_osm_polygon",
|
||||
"filter": [
|
||||
"any",
|
||||
["==", "natural", "wood"],
|
||||
["==", "landuse", "forest"],
|
||||
["==", "leisure", "nature_reserve"]
|
||||
],
|
||||
"paint": {
|
||||
"fill-color": "#4d7c0f",
|
||||
"fill-opacity": 0.25
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "natural-sand-dune",
|
||||
"type": "fill",
|
||||
"source": "local-osm-polygons",
|
||||
"source-layer": "planet_osm_polygon",
|
||||
"filter": [
|
||||
"any",
|
||||
["==", "natural", "sand"],
|
||||
["==", "natural", "desert"],
|
||||
["==", "natural", "scree"]
|
||||
],
|
||||
"paint": {
|
||||
"fill-color": "#ea580c",
|
||||
"fill-opacity": 0.12
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "wadis-waterways",
|
||||
"type": "line",
|
||||
"source": "local-osm-lines",
|
||||
"source-layer": "planet_osm_line",
|
||||
"filter": [
|
||||
"in",
|
||||
"waterway",
|
||||
"river",
|
||||
"stream",
|
||||
"canal",
|
||||
"wadi"
|
||||
],
|
||||
"paint": {
|
||||
"line-color": "#0284c7",
|
||||
"line-width": [
|
||||
"interpolate",
|
||||
["linear"],
|
||||
["zoom"],
|
||||
8, 1,
|
||||
14, 3.5
|
||||
],
|
||||
"line-opacity": 0.7
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "contours-raster-overlay",
|
||||
"type": "raster",
|
||||
"source": "opentopo-contours",
|
||||
"minzoom": 8,
|
||||
"maxzoom": 18,
|
||||
"layout": {
|
||||
"visibility": "visible"
|
||||
},
|
||||
"paint": {
|
||||
"raster-opacity": 0.55,
|
||||
"raster-contrast": 0.2
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "contour-minor-lines",
|
||||
"type": "line",
|
||||
"source": "jordan_contours",
|
||||
"source-layer": "jordan_contours",
|
||||
"minzoom": 11,
|
||||
"layout": {
|
||||
"visibility": "visible",
|
||||
"line-join": "round",
|
||||
"line-cap": "round"
|
||||
},
|
||||
"paint": {
|
||||
"line-color": "#a88358",
|
||||
"line-width": 0.75,
|
||||
"line-opacity": 0.5
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "contour-major-lines",
|
||||
"type": "line",
|
||||
"source": "jordan_contours",
|
||||
"source-layer": "jordan_contours",
|
||||
"minzoom": 9,
|
||||
"filter": [
|
||||
"==",
|
||||
"type",
|
||||
"index"
|
||||
],
|
||||
"layout": {
|
||||
"visibility": "visible",
|
||||
"line-join": "round",
|
||||
"line-cap": "round"
|
||||
},
|
||||
"paint": {
|
||||
"line-color": "#784a28",
|
||||
"line-width": 1.4,
|
||||
"line-opacity": 0.75
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "roads-casing",
|
||||
"type": "line",
|
||||
"source": "local-osm-lines",
|
||||
"source-layer": "planet_osm_line",
|
||||
"filter": [
|
||||
"in",
|
||||
"highway",
|
||||
"motorway",
|
||||
"trunk",
|
||||
"primary",
|
||||
"secondary"
|
||||
],
|
||||
"paint": {
|
||||
"line-color": "#ffffff",
|
||||
"line-width": [
|
||||
"interpolate",
|
||||
["linear"],
|
||||
["zoom"],
|
||||
8, 2,
|
||||
14, 6
|
||||
],
|
||||
"line-opacity": 0.9
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "roads-core-highways",
|
||||
"type": "line",
|
||||
"source": "local-osm-lines",
|
||||
"source-layer": "planet_osm_line",
|
||||
"filter": [
|
||||
"in",
|
||||
"highway",
|
||||
"motorway",
|
||||
"trunk"
|
||||
],
|
||||
"paint": {
|
||||
"line-color": "#d97706",
|
||||
"line-width": [
|
||||
"interpolate",
|
||||
["linear"],
|
||||
["zoom"],
|
||||
8, 1.2,
|
||||
14, 4.5
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "roads-core-primary",
|
||||
"type": "line",
|
||||
"source": "local-osm-lines",
|
||||
"source-layer": "planet_osm_line",
|
||||
"filter": [
|
||||
"in",
|
||||
"highway",
|
||||
"primary",
|
||||
"secondary"
|
||||
],
|
||||
"paint": {
|
||||
"line-color": "#f59e0b",
|
||||
"line-width": [
|
||||
"interpolate",
|
||||
["linear"],
|
||||
["zoom"],
|
||||
9, 1,
|
||||
14, 3.2
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "roads-core-minor",
|
||||
"type": "line",
|
||||
"source": "local-osm-lines",
|
||||
"source-layer": "planet_osm_line",
|
||||
"filter": [
|
||||
"in",
|
||||
"highway",
|
||||
"residential",
|
||||
"service",
|
||||
"unclassified",
|
||||
"living_street"
|
||||
],
|
||||
"minzoom": 13.5,
|
||||
"paint": {
|
||||
"line-color": "#ffffff",
|
||||
"line-width": [
|
||||
"interpolate",
|
||||
["linear"],
|
||||
["zoom"],
|
||||
13.5, 0.9,
|
||||
16, 2.5
|
||||
],
|
||||
"line-opacity": 0.8
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "road-labels-highways",
|
||||
"type": "symbol",
|
||||
"source": "local-osm-lines",
|
||||
"source-layer": "planet_osm_line",
|
||||
"filter": [
|
||||
"in",
|
||||
"highway",
|
||||
"motorway",
|
||||
"trunk",
|
||||
"primary"
|
||||
],
|
||||
"minzoom": 12,
|
||||
"layout": {
|
||||
"text-field": [
|
||||
"coalesce",
|
||||
["get", "name:ar"],
|
||||
["get", "name"],
|
||||
""
|
||||
],
|
||||
"text-font": [
|
||||
"Noto Sans Arabic Bold",
|
||||
"Open Sans Bold"
|
||||
],
|
||||
"text-size": [
|
||||
"interpolate",
|
||||
["linear"],
|
||||
["zoom"],
|
||||
12, 10,
|
||||
15, 12,
|
||||
18, 14
|
||||
],
|
||||
"symbol-placement": "line",
|
||||
"text-rotation-alignment": "map",
|
||||
"text-pitch-alignment": "map",
|
||||
"text-keep-upright": true,
|
||||
"text-letter-spacing": 0.05,
|
||||
"text-padding": 24,
|
||||
"symbol-spacing": 700,
|
||||
"text-max-angle": 20,
|
||||
"text-allow-overlap": false,
|
||||
"text-ignore-placement": false
|
||||
},
|
||||
"paint": {
|
||||
"text-color": "#1e293b",
|
||||
"text-halo-color": "rgba(255, 255, 255, 0.95)",
|
||||
"text-halo-width": 2.2
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "road-labels-major",
|
||||
"type": "symbol",
|
||||
"source": "local-osm-lines",
|
||||
"source-layer": "planet_osm_line",
|
||||
"filter": [
|
||||
"in",
|
||||
"highway",
|
||||
"secondary",
|
||||
"tertiary"
|
||||
],
|
||||
"minzoom": 13.5,
|
||||
"layout": {
|
||||
"text-field": [
|
||||
"coalesce",
|
||||
["get", "name:ar"],
|
||||
["get", "name"],
|
||||
""
|
||||
],
|
||||
"text-font": [
|
||||
"Noto Sans Arabic Bold",
|
||||
"Open Sans Bold"
|
||||
],
|
||||
"text-size": [
|
||||
"interpolate",
|
||||
["linear"],
|
||||
["zoom"],
|
||||
13.5, 9.5,
|
||||
16, 11,
|
||||
18, 13
|
||||
],
|
||||
"symbol-placement": "line",
|
||||
"text-rotation-alignment": "map",
|
||||
"text-pitch-alignment": "map",
|
||||
"text-keep-upright": true,
|
||||
"text-letter-spacing": 0.04,
|
||||
"text-padding": 20,
|
||||
"symbol-spacing": 600,
|
||||
"text-max-angle": 20,
|
||||
"text-allow-overlap": false,
|
||||
"text-ignore-placement": false
|
||||
},
|
||||
"paint": {
|
||||
"text-color": "#334155",
|
||||
"text-halo-color": "rgba(255, 255, 255, 0.9)",
|
||||
"text-halo-width": 2.0
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "road-labels-minor",
|
||||
"type": "symbol",
|
||||
"source": "local-osm-lines",
|
||||
"source-layer": "planet_osm_line",
|
||||
"filter": [
|
||||
"in",
|
||||
"highway",
|
||||
"residential",
|
||||
"unclassified"
|
||||
],
|
||||
"minzoom": 16,
|
||||
"layout": {
|
||||
"text-field": [
|
||||
"coalesce",
|
||||
["get", "name:ar"],
|
||||
["get", "name"],
|
||||
""
|
||||
],
|
||||
"text-font": [
|
||||
"Noto Sans Arabic Regular",
|
||||
"Open Sans Regular"
|
||||
],
|
||||
"text-size": [
|
||||
"interpolate",
|
||||
["linear"],
|
||||
["zoom"],
|
||||
16, 9.5,
|
||||
18, 11.5
|
||||
],
|
||||
"symbol-placement": "line",
|
||||
"text-rotation-alignment": "map",
|
||||
"text-pitch-alignment": "map",
|
||||
"text-keep-upright": true,
|
||||
"text-letter-spacing": 0.04,
|
||||
"text-padding": 20,
|
||||
"symbol-spacing": 600,
|
||||
"text-max-angle": 18,
|
||||
"text-allow-overlap": false,
|
||||
"text-ignore-placement": false
|
||||
},
|
||||
"paint": {
|
||||
"text-color": "#475569",
|
||||
"text-halo-color": "rgba(255, 255, 255, 0.9)",
|
||||
"text-halo-width": 1.8
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "approved-road-labels",
|
||||
"type": "symbol",
|
||||
"source": "approved_roads",
|
||||
"source-layer": "approved_roads",
|
||||
"minzoom": 16.5,
|
||||
"layout": {
|
||||
"text-field": [
|
||||
"coalesce",
|
||||
["get", "name:ar"],
|
||||
["get", "name"],
|
||||
""
|
||||
],
|
||||
"text-font": [
|
||||
"Noto Sans Arabic Bold",
|
||||
"Open Sans Bold"
|
||||
],
|
||||
"text-size": [
|
||||
"interpolate",
|
||||
["linear"],
|
||||
["zoom"],
|
||||
16.5, 9,
|
||||
18, 11.5
|
||||
],
|
||||
"symbol-placement": "line",
|
||||
"text-rotation-alignment": "map",
|
||||
"text-pitch-alignment": "map",
|
||||
"text-keep-upright": true,
|
||||
"text-letter-spacing": 0.05,
|
||||
"text-padding": 20,
|
||||
"symbol-spacing": 650,
|
||||
"text-max-angle": 20,
|
||||
"text-allow-overlap": false,
|
||||
"text-ignore-placement": false
|
||||
},
|
||||
"paint": {
|
||||
"text-color": "#1e293b",
|
||||
"text-halo-color": "rgba(255, 255, 255, 0.95)",
|
||||
"text-halo-width": 2.2
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "3d-buildings-ground-shadows",
|
||||
"type": "fill",
|
||||
"source": "overture_buildings",
|
||||
"source-layer": "overture_building",
|
||||
"minzoom": 13.5,
|
||||
"layout": {
|
||||
"visibility": "visible"
|
||||
},
|
||||
"paint": {
|
||||
"fill-color": "#0f172a",
|
||||
"fill-opacity": 0.45,
|
||||
"fill-translate": [12, 4],
|
||||
"fill-translate-anchor": "map"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "3d-buildings-extrusion",
|
||||
"type": "fill-extrusion",
|
||||
"source": "overture_buildings",
|
||||
"source-layer": "overture_building",
|
||||
"minzoom": 13.5,
|
||||
"layout": {
|
||||
"visibility": "visible"
|
||||
},
|
||||
"paint": {
|
||||
"fill-extrusion-color": [
|
||||
"interpolate",
|
||||
["linear"],
|
||||
["coalesce", ["get", "height"], 12],
|
||||
0, "#e7e5e4",
|
||||
30, "#d6d3d1",
|
||||
70, "#a8a29e",
|
||||
150, "#78716c"
|
||||
],
|
||||
"fill-extrusion-height": [
|
||||
"coalesce",
|
||||
["get", "height"],
|
||||
["*", ["coalesce", ["get", "num_floors"], 3], 3.5]
|
||||
],
|
||||
"fill-extrusion-base": 0,
|
||||
"fill-extrusion-opacity": 0.88
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "mountain-peaks-points",
|
||||
"type": "circle",
|
||||
"source": "local-osm-points",
|
||||
"source-layer": "planet_osm_point",
|
||||
"filter": [
|
||||
"==",
|
||||
"natural",
|
||||
"peak"
|
||||
],
|
||||
"minzoom": 10,
|
||||
"paint": {
|
||||
"circle-radius": 4.5,
|
||||
"circle-color": "#991b1b",
|
||||
"circle-stroke-width": 1.5,
|
||||
"circle-stroke-color": "#ffffff"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "mountain-peaks-labels",
|
||||
"type": "symbol",
|
||||
"source": "local-osm-points",
|
||||
"source-layer": "planet_osm_point",
|
||||
"filter": [
|
||||
"==",
|
||||
"natural",
|
||||
"peak"
|
||||
],
|
||||
"minzoom": 10,
|
||||
"layout": {
|
||||
"text-field": [
|
||||
"format",
|
||||
["coalesce", ["get", "name:ar"], ["get", "name"], "قمة جبلية"],
|
||||
{},
|
||||
"\n▲ ",
|
||||
{ "font-scale": 0.8 },
|
||||
["concat", ["coalesce", ["get", "ele"], ""], " م"],
|
||||
{ "font-scale": 0.75 }
|
||||
],
|
||||
"text-font": ["Noto Sans Arabic Regular", "Open Sans Regular"],
|
||||
"text-size": 11.5,
|
||||
"text-offset": [0, 1.2],
|
||||
"text-anchor": "top",
|
||||
"text-max-width": 10
|
||||
},
|
||||
"paint": {
|
||||
"text-color": "#451a03",
|
||||
"text-halo-color": "#ffffff",
|
||||
"text-halo-width": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "jordan-city-labels",
|
||||
"type": "symbol",
|
||||
"source": "places_jordan",
|
||||
"source-layer": "places_jordan",
|
||||
"filter": [
|
||||
"any",
|
||||
["==", "category", "city"],
|
||||
["==", "category", "town"],
|
||||
["==", "category", "governorate"],
|
||||
["==", "category", "capital"]
|
||||
],
|
||||
"minzoom": 6,
|
||||
"maxzoom": 11,
|
||||
"layout": {
|
||||
"text-field": ["coalesce", ["get", "name_ar"], ["get", "name"], ""],
|
||||
"text-font": ["Noto Sans Arabic Bold", "Open Sans Bold"],
|
||||
"text-size": [
|
||||
"interpolate",
|
||||
["linear"],
|
||||
["zoom"],
|
||||
6, 10,
|
||||
9, 12,
|
||||
11, 14
|
||||
],
|
||||
"text-padding": 24,
|
||||
"text-allow-overlap": false,
|
||||
"text-ignore-placement": false,
|
||||
"text-transform": "uppercase",
|
||||
"text-letter-spacing": 0.05
|
||||
},
|
||||
"paint": {
|
||||
"text-color": "#1c1917",
|
||||
"text-halo-color": "#fafaf9",
|
||||
"text-halo-width": 2.2
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,457 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ar" dir="rtl">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>خطة العمل التنفيذية والهندسية | سيرو ماب ونظام المرشدين المحليين</title>
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Tajawal:wght@400;500;700;800;900&family=JetBrains+Mono:wght@400;600;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-base: #0a0f1d;
|
||||
--bg-surface: #111827;
|
||||
--bg-card: #1e293b;
|
||||
--border-subtle: rgba(255, 255, 255, 0.08);
|
||||
--border-accent: rgba(56, 189, 248, 0.3);
|
||||
--text-primary: #f8fafc;
|
||||
--text-secondary: #94a3b8;
|
||||
--accent-cyan: #38bdf8;
|
||||
--accent-emerald: #10b981;
|
||||
--accent-gold: #f59e0b;
|
||||
--accent-purple: #a855f7;
|
||||
--accent-rose: #f43f5e;
|
||||
}
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: var(--bg-base);
|
||||
color: var(--text-primary);
|
||||
font-family: 'Tajawal', sans-serif;
|
||||
line-height: 1.8;
|
||||
padding: 2.5rem 1.25rem;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 1180px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
header {
|
||||
text-align: center;
|
||||
margin-bottom: 3rem;
|
||||
padding-bottom: 2rem;
|
||||
border-bottom: 1px solid var(--border-subtle);
|
||||
}
|
||||
|
||||
.badge {
|
||||
display: inline-block;
|
||||
padding: 0.35rem 1.2rem;
|
||||
background: rgba(56, 189, 248, 0.1);
|
||||
color: var(--accent-cyan);
|
||||
border: 1px solid rgba(56, 189, 248, 0.3);
|
||||
border-radius: 9999px;
|
||||
font-size: 0.85rem;
|
||||
font-weight: 800;
|
||||
margin-bottom: 1rem;
|
||||
letter-spacing: 0.5px;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 2.3rem;
|
||||
font-weight: 900;
|
||||
color: #ffffff;
|
||||
margin-bottom: 0.75rem;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: var(--text-secondary);
|
||||
font-size: 1.1rem;
|
||||
max-width: 850px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.pillar-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
|
||||
gap: 1.5rem;
|
||||
margin-bottom: 3rem;
|
||||
}
|
||||
|
||||
.pillar-card {
|
||||
background: var(--bg-surface);
|
||||
border: 1px solid var(--border-subtle);
|
||||
border-radius: 14px;
|
||||
padding: 1.75rem;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.pillar-card.highlight {
|
||||
border-color: var(--accent-cyan);
|
||||
box-shadow: 0 10px 30px -10px rgba(56, 189, 248, 0.15);
|
||||
}
|
||||
|
||||
.pillar-icon {
|
||||
width: 44px;
|
||||
height: 44px;
|
||||
border-radius: 10px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-bottom: 1rem;
|
||||
font-weight: 900;
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
|
||||
.pillar-title {
|
||||
font-size: 1.2rem;
|
||||
font-weight: 800;
|
||||
color: #ffffff;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
.pillar-desc {
|
||||
color: var(--text-secondary);
|
||||
font-size: 0.95rem;
|
||||
}
|
||||
|
||||
.section-title {
|
||||
font-size: 1.6rem;
|
||||
font-weight: 900;
|
||||
color: #ffffff;
|
||||
margin-bottom: 1.5rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.75rem;
|
||||
border-right: 4px solid var(--accent-cyan);
|
||||
padding-right: 0.75rem;
|
||||
}
|
||||
|
||||
.phase-box {
|
||||
background: var(--bg-surface);
|
||||
border: 1px solid var(--border-subtle);
|
||||
border-radius: 14px;
|
||||
padding: 2rem;
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
|
||||
.phase-header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-bottom: 1.25rem;
|
||||
flex-wrap: wrap;
|
||||
gap: 0.75rem;
|
||||
}
|
||||
|
||||
.phase-num {
|
||||
background: rgba(16, 185, 129, 0.15);
|
||||
color: var(--accent-emerald);
|
||||
border: 1px solid rgba(16, 185, 129, 0.3);
|
||||
padding: 0.25rem 0.75rem;
|
||||
border-radius: 6px;
|
||||
font-weight: 800;
|
||||
font-size: 0.85rem;
|
||||
font-family: 'JetBrains Mono', monospace;
|
||||
}
|
||||
|
||||
.phase-name {
|
||||
font-size: 1.35rem;
|
||||
font-weight: 800;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.code-block {
|
||||
direction: ltr;
|
||||
text-align: left;
|
||||
background: #070b14;
|
||||
border: 1px solid var(--border-subtle);
|
||||
border-radius: 8px;
|
||||
padding: 1.25rem;
|
||||
font-family: 'JetBrains Mono', monospace;
|
||||
font-size: 0.85rem;
|
||||
color: #38bdf8;
|
||||
overflow-x: auto;
|
||||
margin: 1.25rem 0;
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
margin: 1.5rem 0;
|
||||
font-size: 0.95rem;
|
||||
}
|
||||
|
||||
th, td {
|
||||
padding: 0.9rem 1rem;
|
||||
text-align: right;
|
||||
border-bottom: 1px solid var(--border-subtle);
|
||||
}
|
||||
|
||||
th {
|
||||
background: rgba(255, 255, 255, 0.03);
|
||||
color: var(--accent-cyan);
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
td {
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
td strong {
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.badge-point {
|
||||
display: inline-block;
|
||||
padding: 0.2rem 0.6rem;
|
||||
background: rgba(245, 158, 11, 0.15);
|
||||
color: var(--accent-gold);
|
||||
border-radius: 6px;
|
||||
font-weight: 800;
|
||||
font-family: 'JetBrains Mono', monospace;
|
||||
direction: ltr;
|
||||
}
|
||||
|
||||
.actions {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 1rem;
|
||||
margin-top: 3rem;
|
||||
}
|
||||
|
||||
.btn {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 0.5rem;
|
||||
padding: 0.85rem 1.75rem;
|
||||
border-radius: 10px;
|
||||
font-weight: 800;
|
||||
text-decoration: none;
|
||||
font-size: 1rem;
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
|
||||
.btn-primary {
|
||||
background: #0284c7;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.btn-primary:hover {
|
||||
background: #0369a1;
|
||||
}
|
||||
|
||||
.btn-secondary {
|
||||
background: var(--bg-card);
|
||||
color: var(--text-primary);
|
||||
border: 1px solid var(--border-subtle);
|
||||
}
|
||||
|
||||
.btn-secondary:hover {
|
||||
background: #334155;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="container">
|
||||
<header>
|
||||
<div class="badge">SIRO MAPS MASTER ROADMAP & ARCHITECTURE</div>
|
||||
<h1>خطة العمل التنفيذية والهندسية: منظومة سيرو ماب</h1>
|
||||
<p class="subtitle">
|
||||
بناء المسارات التراثية ونظام المرشدين المحليين (Local Guides) مع التدقيق اليدوي ومحرك التلعيب، مع ضمان العزل التام للخدمات التجارية القائمة.
|
||||
</p>
|
||||
</header>
|
||||
|
||||
<!-- Operating Principles -->
|
||||
<div class="pillar-grid">
|
||||
<div class="pillar-card highlight">
|
||||
<div class="pillar-icon" style="background: rgba(56, 189, 248, 0.15); color: var(--accent-cyan);">1</div>
|
||||
<div class="pillar-title">الكتابة على الماك والبناء على السيرفر</div>
|
||||
<div class="pillar-desc">
|
||||
تطوير الكود واختباره محلياً في بيئة العمل الصارمة، ثم المزامنة التكتيكية مع خادم الإنتاج عبر سكريبت المزامنة الجاهز.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="pillar-card highlight">
|
||||
<div class="pillar-icon" style="background: rgba(16, 185, 129, 0.15); color: var(--accent-emerald);">2</div>
|
||||
<div class="pillar-title">عزل تام لخدمات الإنتاج (Zero Risk)</div>
|
||||
<div class="pillar-desc">
|
||||
محرك الملاحة GraphHopper، والبحث الجغرافي B2B، وتتبع السائقين، والفوترة تبقى معزولة تماماً بنسبة 100% دون أي تعديل.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="pillar-card highlight">
|
||||
<div class="pillar-icon" style="background: rgba(245, 158, 11, 0.15); color: var(--accent-gold);">3</div>
|
||||
<div class="pillar-title">التلعيب والتدقيق اليدوي الصارم</div>
|
||||
<div class="pillar-desc">
|
||||
نظام مرشدين وطني يمنح نقاطاً وأوسمة للمساهمات، ولكن لا يُنشر أي تعديل للخريطة إلا بعد موافقة المشرف من لوحة التحكم.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Phase 1 -->
|
||||
<div class="phase-box">
|
||||
<div class="phase-header">
|
||||
<div class="phase-name">المرحلة 1: البنية التحتية والمخططات المعزولة في PostGIS</div>
|
||||
<div class="phase-num">PHASE 01 : DATABASE</div>
|
||||
</div>
|
||||
<p style="color: var(--text-secondary); margin-bottom: 1rem;">
|
||||
إنشاء مخططي <code>heritage</code> و <code>community</code> داخل نفس قاعدة البيانات لتجنب استهلاك الذاكرة، مع ضمان سرعة الربط المكاني اللحظي عبر خادم مارتن للبلاطات الشعاعية.
|
||||
</p>
|
||||
|
||||
<div class="code-block">
|
||||
CREATE SCHEMA IF NOT EXISTS heritage;
|
||||
CREATE SCHEMA IF NOT EXISTS community;
|
||||
|
||||
-- جدول المعالم والبوابات الدقيقة
|
||||
CREATE TABLE heritage.landmarks (
|
||||
id SERIAL PRIMARY KEY,
|
||||
name_ar VARCHAR(255) NOT NULL,
|
||||
category VARCHAR(100) NOT NULL,
|
||||
centroid_geom geometry(Point, 4326) NOT NULL,
|
||||
access_gate_geom geometry(Point, 4326),
|
||||
parking_geom geometry(Point, 4326),
|
||||
narrative_ar TEXT,
|
||||
audio_url VARCHAR(500)
|
||||
);
|
||||
|
||||
-- جدول مساهمات المرشدين الخاضعة للمراجعة
|
||||
CREATE TABLE community.contributions (
|
||||
id SERIAL PRIMARY KEY,
|
||||
guide_id INT,
|
||||
contribution_type VARCHAR(50), -- ADD_PLACE, CORRECT_STREET, CONFIRM_GATE
|
||||
suggested_data JSONB,
|
||||
suggested_geom geometry(Geometry, 4326),
|
||||
status VARCHAR(30) DEFAULT 'PENDING'
|
||||
);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Phase 2 -->
|
||||
<div class="phase-box">
|
||||
<div class="phase-header">
|
||||
<div class="phase-name">المرحلة 2: الوحدات المستقلة في خادم التطبيقات (NestJS Modules)</div>
|
||||
<div class="phase-num">PHASE 02 : BACKEND API</div>
|
||||
</div>
|
||||
<p style="color: var(--text-secondary); margin-bottom: 1rem;">
|
||||
بناء موديولين معزولين تماماً داخل <code>apps/api</code>:
|
||||
</p>
|
||||
<ul style="color: var(--text-secondary); padding-right: 1.5rem; margin-bottom: 1.25rem;">
|
||||
<li><code>HeritageModule</code>: لخدمة المعالم، المسارات الستة، والملفات الصوتية.</li>
|
||||
<li><code>CommunityModule</code>: لإدارة نقاط المرشدين، لوحة المتصدرين، وتلقي المساهمات.</li>
|
||||
</ul>
|
||||
|
||||
<h4 style="color: var(--accent-gold); margin-top: 1.5rem; margin-bottom: 0.5rem;">جدول نقاط التلعيب المعتمد للمرشدين (Gamification Scorecard):</h4>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>نوع المساهمة الميدانية</th>
|
||||
<th>النقاط الممنوحة</th>
|
||||
<th>طريقة التدقيق</th>
|
||||
<th>الأثر الميداني</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>تأكيد بوابة أو موقف سيارات</strong></td>
|
||||
<td><span class="badge-point">+50 PTS</span></td>
|
||||
<td>فحص جوي سريع بالأقمار الصناعية</td>
|
||||
<td>توجيه السيارات مباشرة للمدخل الحقيقي</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>إضافة معلم محلي أو تراثي جديد</strong></td>
|
||||
<td><span class="badge-point">+100 PTS</span></td>
|
||||
<td>تدقيق يدوي عبر لوحة المشرف</td>
|
||||
<td>إثراء الخريطة السيادية بمعالم غير متوفرة تجارياً</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>تصحيح اسم شارع أو اتجاه</strong></td>
|
||||
<td><span class="badge-point">+75 PTS</span></td>
|
||||
<td>فحص الاتصال بشبكة الطرق</td>
|
||||
<td>رفع جودة التوجيه الملاحي في القرى والبوادي</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>توثيق حكاية أو تسجيل صوتي تراثي</strong></td>
|
||||
<td><span class="badge-point">+150 PTS</span></td>
|
||||
<td>مراجعة محتوى وتوافق تاريخي</td>
|
||||
<td>ربط المكان بالسردية الوطنية الأردنية</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!-- Phase 3 -->
|
||||
<div class="phase-box">
|
||||
<div class="phase-header">
|
||||
<div class="phase-name">المرحلة 3: لوحة التدقيق الإدارية الخفيفة (Moderation Console)</div>
|
||||
<div class="phase-num">PHASE 03 : ADMIN CONSOLE</div>
|
||||
</div>
|
||||
<p style="color: var(--text-secondary); margin-bottom: 1rem;">
|
||||
شاشة خفيفة وسريعة جداً مبنية داخل لوحة التحكم الحالية (Vanilla JS بدون مكتبات ثقيلة)، تمكن المشرف من:
|
||||
</p>
|
||||
<ul style="color: var(--text-secondary); padding-right: 1.5rem;">
|
||||
<li>استعراض المساهمات المعلقة ومقارنتها فوراً مع صور الأقمار الصناعية.</li>
|
||||
<li>الموافقة بضغطة زر واحدة (Approve) فتنزل النقطة فوراً في خريطة الإنتاج وتُصرف النقاط للمرشد.</li>
|
||||
<li>الرفض مع كتابة سبب تنبيهي للمرشد (Reject with Feedback) لحماية نقاوة البيانات.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<!-- Phase 4 -->
|
||||
<div class="phase-box">
|
||||
<div class="phase-header">
|
||||
<div class="phase-name">المرحلة 4: تكامل تطبيق الموبايل (Flutter - Siro Maps)</div>
|
||||
<div class="phase-num">PHASE 04 : MOBILE APP</div>
|
||||
</div>
|
||||
<p style="color: var(--text-secondary); margin-bottom: 1rem;">
|
||||
تفعيل الميزات التالية داخل كود <code>apps/siro_maps</code>:
|
||||
</p>
|
||||
<ul style="color: var(--text-secondary); padding-right: 1.5rem;">
|
||||
<li>مفتاح تفعيل طبقة المعالم والمسارات التراثية التكتيكية.</li>
|
||||
<li>واجهة "اقترح تعديلاً أو أضف مكاناً" مع التقاط الإحداثية الحالية للمستخدم.</li>
|
||||
<li>شاشة ملف المرشد الشخصي (رصيد النقاط، الرتبة، والأوسمة المكتسبة).</li>
|
||||
<li>دعم التخزين المحلي Offline Cache لضمان العمل في المناطق النائية.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<!-- Phase 5 -->
|
||||
<div class="phase-box">
|
||||
<div class="phase-header">
|
||||
<div class="phase-name">المرحلة 5: المزامنة، النشر والتحقق (Deployment & Testing)</div>
|
||||
<div class="phase-num">PHASE 05 : VERIFICATION</div>
|
||||
</div>
|
||||
<p style="color: var(--text-secondary); margin-bottom: 1rem;">
|
||||
دورة النشر الآمنة:
|
||||
</p>
|
||||
<div class="code-block">
|
||||
1. Run local integration tests on Mac
|
||||
2. bash sync_to_server.sh
|
||||
3. Execute database migration on map-db container
|
||||
4. Rebuild API container safely: docker compose up -d --build api
|
||||
5. Smoke test commercial B2B endpoints (Route, Geocode) -> Must return 200 OK
|
||||
6. Verify new Heritage & Community endpoints -> Must return 200 OK
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="actions">
|
||||
<a href="/architecture-diagram.html" class="btn btn-secondary">
|
||||
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M19 12H5M12 19l-7-7 7-7"/></svg>
|
||||
معاينة المخطط المعماري
|
||||
</a>
|
||||
<a href="/siro-maps.html" class="btn btn-primary">
|
||||
بوابة سيرو ماب التفاعلية
|
||||
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M5 12h14M12 5l7 7-7 7"/></svg>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,457 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ar" dir="rtl">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>خطة العمل التنفيذية والهندسية | سيرو ماب ونظام المرشدين المحليين</title>
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Tajawal:wght@400;500;700;800;900&family=JetBrains+Mono:wght@400;600;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-base: #0a0f1d;
|
||||
--bg-surface: #111827;
|
||||
--bg-card: #1e293b;
|
||||
--border-subtle: rgba(255, 255, 255, 0.08);
|
||||
--border-accent: rgba(56, 189, 248, 0.3);
|
||||
--text-primary: #f8fafc;
|
||||
--text-secondary: #94a3b8;
|
||||
--accent-cyan: #38bdf8;
|
||||
--accent-emerald: #10b981;
|
||||
--accent-gold: #f59e0b;
|
||||
--accent-purple: #a855f7;
|
||||
--accent-rose: #f43f5e;
|
||||
}
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: var(--bg-base);
|
||||
color: var(--text-primary);
|
||||
font-family: 'Tajawal', sans-serif;
|
||||
line-height: 1.8;
|
||||
padding: 2.5rem 1.25rem;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 1180px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
header {
|
||||
text-align: center;
|
||||
margin-bottom: 3rem;
|
||||
padding-bottom: 2rem;
|
||||
border-bottom: 1px solid var(--border-subtle);
|
||||
}
|
||||
|
||||
.badge {
|
||||
display: inline-block;
|
||||
padding: 0.35rem 1.2rem;
|
||||
background: rgba(56, 189, 248, 0.1);
|
||||
color: var(--accent-cyan);
|
||||
border: 1px solid rgba(56, 189, 248, 0.3);
|
||||
border-radius: 9999px;
|
||||
font-size: 0.85rem;
|
||||
font-weight: 800;
|
||||
margin-bottom: 1rem;
|
||||
letter-spacing: 0.5px;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 2.3rem;
|
||||
font-weight: 900;
|
||||
color: #ffffff;
|
||||
margin-bottom: 0.75rem;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: var(--text-secondary);
|
||||
font-size: 1.1rem;
|
||||
max-width: 850px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.pillar-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
|
||||
gap: 1.5rem;
|
||||
margin-bottom: 3rem;
|
||||
}
|
||||
|
||||
.pillar-card {
|
||||
background: var(--bg-surface);
|
||||
border: 1px solid var(--border-subtle);
|
||||
border-radius: 14px;
|
||||
padding: 1.75rem;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.pillar-card.highlight {
|
||||
border-color: var(--accent-cyan);
|
||||
box-shadow: 0 10px 30px -10px rgba(56, 189, 248, 0.15);
|
||||
}
|
||||
|
||||
.pillar-icon {
|
||||
width: 44px;
|
||||
height: 44px;
|
||||
border-radius: 10px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-bottom: 1rem;
|
||||
font-weight: 900;
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
|
||||
.pillar-title {
|
||||
font-size: 1.2rem;
|
||||
font-weight: 800;
|
||||
color: #ffffff;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
.pillar-desc {
|
||||
color: var(--text-secondary);
|
||||
font-size: 0.95rem;
|
||||
}
|
||||
|
||||
.section-title {
|
||||
font-size: 1.6rem;
|
||||
font-weight: 900;
|
||||
color: #ffffff;
|
||||
margin-bottom: 1.5rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.75rem;
|
||||
border-right: 4px solid var(--accent-cyan);
|
||||
padding-right: 0.75rem;
|
||||
}
|
||||
|
||||
.phase-box {
|
||||
background: var(--bg-surface);
|
||||
border: 1px solid var(--border-subtle);
|
||||
border-radius: 14px;
|
||||
padding: 2rem;
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
|
||||
.phase-header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-bottom: 1.25rem;
|
||||
flex-wrap: wrap;
|
||||
gap: 0.75rem;
|
||||
}
|
||||
|
||||
.phase-num {
|
||||
background: rgba(16, 185, 129, 0.15);
|
||||
color: var(--accent-emerald);
|
||||
border: 1px solid rgba(16, 185, 129, 0.3);
|
||||
padding: 0.25rem 0.75rem;
|
||||
border-radius: 6px;
|
||||
font-weight: 800;
|
||||
font-size: 0.85rem;
|
||||
font-family: 'JetBrains Mono', monospace;
|
||||
}
|
||||
|
||||
.phase-name {
|
||||
font-size: 1.35rem;
|
||||
font-weight: 800;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.code-block {
|
||||
direction: ltr;
|
||||
text-align: left;
|
||||
background: #070b14;
|
||||
border: 1px solid var(--border-subtle);
|
||||
border-radius: 8px;
|
||||
padding: 1.25rem;
|
||||
font-family: 'JetBrains Mono', monospace;
|
||||
font-size: 0.85rem;
|
||||
color: #38bdf8;
|
||||
overflow-x: auto;
|
||||
margin: 1.25rem 0;
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
margin: 1.5rem 0;
|
||||
font-size: 0.95rem;
|
||||
}
|
||||
|
||||
th, td {
|
||||
padding: 0.9rem 1rem;
|
||||
text-align: right;
|
||||
border-bottom: 1px solid var(--border-subtle);
|
||||
}
|
||||
|
||||
th {
|
||||
background: rgba(255, 255, 255, 0.03);
|
||||
color: var(--accent-cyan);
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
td {
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
td strong {
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.badge-point {
|
||||
display: inline-block;
|
||||
padding: 0.2rem 0.6rem;
|
||||
background: rgba(245, 158, 11, 0.15);
|
||||
color: var(--accent-gold);
|
||||
border-radius: 6px;
|
||||
font-weight: 800;
|
||||
font-family: 'JetBrains Mono', monospace;
|
||||
direction: ltr;
|
||||
}
|
||||
|
||||
.actions {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 1rem;
|
||||
margin-top: 3rem;
|
||||
}
|
||||
|
||||
.btn {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 0.5rem;
|
||||
padding: 0.85rem 1.75rem;
|
||||
border-radius: 10px;
|
||||
font-weight: 800;
|
||||
text-decoration: none;
|
||||
font-size: 1rem;
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
|
||||
.btn-primary {
|
||||
background: #0284c7;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.btn-primary:hover {
|
||||
background: #0369a1;
|
||||
}
|
||||
|
||||
.btn-secondary {
|
||||
background: var(--bg-card);
|
||||
color: var(--text-primary);
|
||||
border: 1px solid var(--border-subtle);
|
||||
}
|
||||
|
||||
.btn-secondary:hover {
|
||||
background: #334155;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="container">
|
||||
<header>
|
||||
<div class="badge">SIRO MAPS MASTER ROADMAP & ARCHITECTURE</div>
|
||||
<h1>خطة العمل التنفيذية والهندسية: منظومة سيرو ماب</h1>
|
||||
<p class="subtitle">
|
||||
بناء المسارات التراثية ونظام المرشدين المحليين (Local Guides) مع التدقيق اليدوي ومحرك التلعيب، مع ضمان العزل التام للخدمات التجارية القائمة.
|
||||
</p>
|
||||
</header>
|
||||
|
||||
<!-- Operating Principles -->
|
||||
<div class="pillar-grid">
|
||||
<div class="pillar-card highlight">
|
||||
<div class="pillar-icon" style="background: rgba(56, 189, 248, 0.15); color: var(--accent-cyan);">1</div>
|
||||
<div class="pillar-title">الكتابة على الماك والبناء على السيرفر</div>
|
||||
<div class="pillar-desc">
|
||||
تطوير الكود واختباره محلياً في بيئة العمل الصارمة، ثم المزامنة التكتيكية مع خادم الإنتاج عبر سكريبت المزامنة الجاهز.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="pillar-card highlight">
|
||||
<div class="pillar-icon" style="background: rgba(16, 185, 129, 0.15); color: var(--accent-emerald);">2</div>
|
||||
<div class="pillar-title">عزل تام لخدمات الإنتاج (Zero Risk)</div>
|
||||
<div class="pillar-desc">
|
||||
محرك الملاحة GraphHopper، والبحث الجغرافي B2B، وتتبع السائقين، والفوترة تبقى معزولة تماماً بنسبة 100% دون أي تعديل.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="pillar-card highlight">
|
||||
<div class="pillar-icon" style="background: rgba(245, 158, 11, 0.15); color: var(--accent-gold);">3</div>
|
||||
<div class="pillar-title">التلعيب والتدقيق اليدوي الصارم</div>
|
||||
<div class="pillar-desc">
|
||||
نظام مرشدين وطني يمنح نقاطاً وأوسمة للمساهمات، ولكن لا يُنشر أي تعديل للخريطة إلا بعد موافقة المشرف من لوحة التحكم.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Phase 1 -->
|
||||
<div class="phase-box">
|
||||
<div class="phase-header">
|
||||
<div class="phase-name">المرحلة 1: البنية التحتية والمخططات المعزولة في PostGIS</div>
|
||||
<div class="phase-num">PHASE 01 : DATABASE</div>
|
||||
</div>
|
||||
<p style="color: var(--text-secondary); margin-bottom: 1rem;">
|
||||
إنشاء مخططي <code>heritage</code> و <code>community</code> داخل نفس قاعدة البيانات لتجنب استهلاك الذاكرة، مع ضمان سرعة الربط المكاني اللحظي عبر خادم مارتن للبلاطات الشعاعية.
|
||||
</p>
|
||||
|
||||
<div class="code-block">
|
||||
CREATE SCHEMA IF NOT EXISTS heritage;
|
||||
CREATE SCHEMA IF NOT EXISTS community;
|
||||
|
||||
-- جدول المعالم والبوابات الدقيقة
|
||||
CREATE TABLE heritage.landmarks (
|
||||
id SERIAL PRIMARY KEY,
|
||||
name_ar VARCHAR(255) NOT NULL,
|
||||
category VARCHAR(100) NOT NULL,
|
||||
centroid_geom geometry(Point, 4326) NOT NULL,
|
||||
access_gate_geom geometry(Point, 4326),
|
||||
parking_geom geometry(Point, 4326),
|
||||
narrative_ar TEXT,
|
||||
audio_url VARCHAR(500)
|
||||
);
|
||||
|
||||
-- جدول مساهمات المرشدين الخاضعة للمراجعة
|
||||
CREATE TABLE community.contributions (
|
||||
id SERIAL PRIMARY KEY,
|
||||
guide_id INT,
|
||||
contribution_type VARCHAR(50), -- ADD_PLACE, CORRECT_STREET, CONFIRM_GATE
|
||||
suggested_data JSONB,
|
||||
suggested_geom geometry(Geometry, 4326),
|
||||
status VARCHAR(30) DEFAULT 'PENDING'
|
||||
);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Phase 2 -->
|
||||
<div class="phase-box">
|
||||
<div class="phase-header">
|
||||
<div class="phase-name">المرحلة 2: الوحدات المستقلة في خادم التطبيقات (NestJS Modules)</div>
|
||||
<div class="phase-num">PHASE 02 : BACKEND API</div>
|
||||
</div>
|
||||
<p style="color: var(--text-secondary); margin-bottom: 1rem;">
|
||||
بناء موديولين معزولين تماماً داخل <code>apps/api</code>:
|
||||
</p>
|
||||
<ul style="color: var(--text-secondary); padding-right: 1.5rem; margin-bottom: 1.25rem;">
|
||||
<li><code>HeritageModule</code>: لخدمة المعالم، المسارات الستة، والملفات الصوتية.</li>
|
||||
<li><code>CommunityModule</code>: لإدارة نقاط المرشدين، لوحة المتصدرين، وتلقي المساهمات.</li>
|
||||
</ul>
|
||||
|
||||
<h4 style="color: var(--accent-gold); margin-top: 1.5rem; margin-bottom: 0.5rem;">جدول نقاط التلعيب المعتمد للمرشدين (Gamification Scorecard):</h4>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>نوع المساهمة الميدانية</th>
|
||||
<th>النقاط الممنوحة</th>
|
||||
<th>طريقة التدقيق</th>
|
||||
<th>الأثر الميداني</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>تأكيد بوابة أو موقف سيارات</strong></td>
|
||||
<td><span class="badge-point">+50 PTS</span></td>
|
||||
<td>فحص جوي سريع بالأقمار الصناعية</td>
|
||||
<td>توجيه السيارات مباشرة للمدخل الحقيقي</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>إضافة معلم محلي أو تراثي جديد</strong></td>
|
||||
<td><span class="badge-point">+100 PTS</span></td>
|
||||
<td>تدقيق يدوي عبر لوحة المشرف</td>
|
||||
<td>إثراء الخريطة السيادية بمعالم غير متوفرة تجارياً</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>تصحيح اسم شارع أو اتجاه</strong></td>
|
||||
<td><span class="badge-point">+75 PTS</span></td>
|
||||
<td>فحص الاتصال بشبكة الطرق</td>
|
||||
<td>رفع جودة التوجيه الملاحي في القرى والبوادي</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>توثيق حكاية أو تسجيل صوتي تراثي</strong></td>
|
||||
<td><span class="badge-point">+150 PTS</span></td>
|
||||
<td>مراجعة محتوى وتوافق تاريخي</td>
|
||||
<td>ربط المكان بالسردية الوطنية الأردنية</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!-- Phase 3 -->
|
||||
<div class="phase-box">
|
||||
<div class="phase-header">
|
||||
<div class="phase-name">المرحلة 3: لوحة التدقيق الإدارية الخفيفة (Moderation Console)</div>
|
||||
<div class="phase-num">PHASE 03 : ADMIN CONSOLE</div>
|
||||
</div>
|
||||
<p style="color: var(--text-secondary); margin-bottom: 1rem;">
|
||||
شاشة خفيفة وسريعة جداً مبنية داخل لوحة التحكم الحالية (Vanilla JS بدون مكتبات ثقيلة)، تمكن المشرف من:
|
||||
</p>
|
||||
<ul style="color: var(--text-secondary); padding-right: 1.5rem;">
|
||||
<li>استعراض المساهمات المعلقة ومقارنتها فوراً مع صور الأقمار الصناعية.</li>
|
||||
<li>الموافقة بضغطة زر واحدة (Approve) فتنزل النقطة فوراً في خريطة الإنتاج وتُصرف النقاط للمرشد.</li>
|
||||
<li>الرفض مع كتابة سبب تنبيهي للمرشد (Reject with Feedback) لحماية نقاوة البيانات.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<!-- Phase 4 -->
|
||||
<div class="phase-box">
|
||||
<div class="phase-header">
|
||||
<div class="phase-name">المرحلة 4: تكامل تطبيق الموبايل (Flutter - Siro Maps)</div>
|
||||
<div class="phase-num">PHASE 04 : MOBILE APP</div>
|
||||
</div>
|
||||
<p style="color: var(--text-secondary); margin-bottom: 1rem;">
|
||||
تفعيل الميزات التالية داخل كود <code>apps/siro_maps</code>:
|
||||
</p>
|
||||
<ul style="color: var(--text-secondary); padding-right: 1.5rem;">
|
||||
<li>مفتاح تفعيل طبقة المعالم والمسارات التراثية التكتيكية.</li>
|
||||
<li>واجهة "اقترح تعديلاً أو أضف مكاناً" مع التقاط الإحداثية الحالية للمستخدم.</li>
|
||||
<li>شاشة ملف المرشد الشخصي (رصيد النقاط، الرتبة، والأوسمة المكتسبة).</li>
|
||||
<li>دعم التخزين المحلي Offline Cache لضمان العمل في المناطق النائية.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<!-- Phase 5 -->
|
||||
<div class="phase-box">
|
||||
<div class="phase-header">
|
||||
<div class="phase-name">المرحلة 5: المزامنة، النشر والتحقق (Deployment & Testing)</div>
|
||||
<div class="phase-num">PHASE 05 : VERIFICATION</div>
|
||||
</div>
|
||||
<p style="color: var(--text-secondary); margin-bottom: 1rem;">
|
||||
دورة النشر الآمنة:
|
||||
</p>
|
||||
<div class="code-block">
|
||||
1. Run local integration tests on Mac
|
||||
2. bash sync_to_server.sh
|
||||
3. Execute database migration on map-db container
|
||||
4. Rebuild API container safely: docker compose up -d --build api
|
||||
5. Smoke test commercial B2B endpoints (Route, Geocode) -> Must return 200 OK
|
||||
6. Verify new Heritage & Community endpoints -> Must return 200 OK
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="actions">
|
||||
<a href="/architecture-diagram.html" class="btn btn-secondary">
|
||||
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M19 12H5M12 19l-7-7 7-7"/></svg>
|
||||
معاينة المخطط المعماري
|
||||
</a>
|
||||
<a href="/siro-maps.html" class="btn btn-primary">
|
||||
بوابة سيرو ماب التفاعلية
|
||||
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M5 12h14M12 5l7 7-7 7"/></svg>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,80 @@
|
||||
<!doctype html>
|
||||
<html lang="ar" dir="rtl">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="theme-color" content="#061d42">
|
||||
<meta name="description" content="سيرو ماب: خرائط سهلة بلا تسجيل للعراق والأردن وسوريا ومصر، ورؤية لدليل سياحي يبدأ من معالم العراق.">
|
||||
<title>سيرو ماب — كل طريق، بداية حكاية</title>
|
||||
<link rel="icon" type="image/png" href="assets/siro-maps.png">
|
||||
<style>
|
||||
@font-face {
|
||||
font-family: 'Tajawal';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url(assets/tajawal-400.ttf) format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Tajawal';
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-display: swap;
|
||||
src: url(assets/tajawal-500.ttf) format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Tajawal';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url(assets/tajawal-700.ttf) format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Tajawal';
|
||||
font-style: normal;
|
||||
font-weight: 800;
|
||||
font-display: swap;
|
||||
src: url(assets/tajawal-800.ttf) format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Tajawal';
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
font-display: swap;
|
||||
src: url(assets/tajawal-900.ttf) format('truetype');
|
||||
}
|
||||
|
||||
:root{--navy:#061d42;--blue:#124f9f;--gold:#b59247;--pale:#edf3f9;--ink:#132844;--muted:#5c6c80;--line:#dce3ec;--white:#fff;--font:'Tajawal','Geeza Pro',Tahoma,sans-serif}
|
||||
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff;color:var(--ink);font-family:var(--font);font-size:18px;line-height:1.85}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #c6a057;outline-offset:6px}button{cursor:pointer}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.35}h2{font-size:clamp(32px,3.5vw,49px);font-weight:800;letter-spacing:-.6px}h3{font-size:25px}::selection{background:#d6bb7b;color:var(--navy)}.wrap{width:min(1190px,calc(100% - 88px));margin:auto}.eyebrow{font-size:14px;letter-spacing:1.8px;font-weight:700;color:var(--gold);display:flex;align-items:center;gap:12px;margin-bottom:22px}.eyebrow:before{content:'';width:28px;height:2px;background:currentColor}.latin{font-family:Arial,sans-serif;letter-spacing:2.5px;font-size:12px;direction:ltr;display:inline-block}.muted{color:var(--muted)}
|
||||
header{height:100px;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);position:relative;z-index:5}.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;gap:13px;align-items:center}.brand img{width:62px;height:62px;border-radius:15px}.brand strong{font-size:23px;display:block;line-height:1.3}.brand small{color:var(--muted);font-size:11px;letter-spacing:2.2px;display:block;direction:ltr}.links{display:flex;align-items:center;gap:30px;font-size:16px;font-weight:600}.links a{transition:color .2s}.links a:hover{color:var(--blue)}.nav-tag{font-size:14px;color:var(--blue);border:1px solid #c9d8ed;padding:7px 17px;border-radius:30px;white-space:nowrap}
|
||||
.hero{position:relative;overflow:hidden;background:var(--navy);color:white;padding:75px 0 0}.hero:before{content:'';position:absolute;width:740px;height:740px;left:-140px;top:-220px;background:radial-gradient(circle,rgba(39,105,180,.38),transparent 67%);pointer-events:none}.hero-grid{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:65px;position:relative;min-height:470px;padding-bottom:65px}.hero h1{font-size:clamp(44px,5.7vw,76px);font-weight:800;line-height:1.24;letter-spacing:-1px}.hero h1 span{color:#dbbc77}.hero p{font-size:20px;color:#c0ccdc;max-width:530px;margin-top:27px;line-height:1.9}.hero .eyebrow{color:#ddbd78}.hero-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:33px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:11px 23px;border-radius:7px;font-size:17px;font-weight:700;border:1px solid transparent;min-height:50px}.btn-gold{background:#dbbc77;color:#0b2547}.btn-gold:hover{background:#efd49b}.btn-outline{border-color:#526580;color:#e3eaf3}.btn-outline:hover{background:#ffffff0c}.arrow{font-family:Arial;font-size:23px;font-weight:400}.hero-status{display:block;font-size:14px;color:#acbbcf;margin-top:17px}.brand-stage{position:relative;display:flex;justify-content:center;align-items:center;min-height:420px;padding:15px}.brand-stage:before,.brand-stage:after{content:'';position:absolute;border:1px solid #759ed12b;border-radius:50%;width:410px;height:410px;pointer-events:none}.brand-stage:after{width:480px;height:480px;border-style:dashed;opacity:.6}.hero-icon{width:330px;border-radius:70px;transform:rotate(-6deg);box-shadow:0 30px 60px #0004;z-index:1}.float-label{position:absolute;z-index:2;border:1px solid #6986af6b;background:#0b2b55eb;box-shadow:0 10px 35px #0002;backdrop-filter:blur(15px);padding:10px 17px;border-radius:10px;font-size:16px;display:flex;align-items:center;gap:12px}.float-label svg{width:22px;height:22px;stroke:#e0bf7d;fill:none;stroke-width:1.6}.label-one{left:-5px;top:60px}.label-two{right:4px;bottom:43px}.hero-facts{position:relative;border-top:1px solid #ffffff20;display:grid;grid-template-columns:repeat(3,1fr);padding:24px 0;gap:30px}.fact{display:flex;gap:17px;align-items:center}.fact:not(:last-child){border-left:1px solid #ffffff20}.fact b{font-size:35px;color:#dfc28a;font-weight:500;line-height:1}.fact span{display:block;font-size:17px}.fact small{display:block;color:#a8b8cd;font-size:14px}
|
||||
.story{padding:88px 0;display:grid;grid-template-columns:.9fr 1.1fr;gap:95px;align-items:center}.story p{color:var(--muted);font-size:20px}.story .accent{color:var(--ink);font-weight:700}.story .eyebrow{margin-bottom:16px}.section-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:37px}.section-intro p{max-width:430px;color:var(--muted)}
|
||||
.coverage{background:var(--pale);padding:72px 0 78px}.country-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.country-tab{display:flex;align-items:center;justify-content:space-between;padding:17px 22px;background:transparent;border:1px solid #cdd8e6;color:var(--ink);border-radius:8px;transition:background .2s;min-height:83px}.country-tab strong{font-size:23px}.country-tab small{display:block;font-size:12px;letter-spacing:2px;line-height:1.2;color:var(--muted);direction:ltr}.country-tab .number{font-family:Arial;font-size:14px;color:#8b9db3}.country-tab[aria-selected=true]{background:var(--navy);border-color:var(--navy);color:white}.country-tab[aria-selected=true] small,.country-tab[aria-selected=true] .number{color:#d8bd81}.country-panel{background:#fff;border-radius:12px;padding:27px 32px;display:grid;grid-template-columns:1fr 1.4fr;gap:35px;align-items:center;border:1px solid #e2e9f2}.country-panel h3{font-size:28px;margin-bottom:5px}.country-panel p{font-size:17px;color:var(--muted)}.panel-note{border-right:2px solid #c4a266;padding-right:24px}.pill{display:inline-block;font-size:13px;border:1px solid #d9e1ec;background:#f7f9fc;padding:2px 10px;border-radius:30px;color:#49617f;margin-bottom:9px}
|
||||
.tourism{padding:90px 0}.tourism-feature{display:grid;grid-template-columns:1.15fr 1fr;background:var(--navy);color:white;border-radius:18px;overflow:hidden;min-height:415px}.tourism-photo{position:relative;background:#15395e;min-height:380px;overflow:hidden}.tourism-photo img{width:100%;height:100%;object-fit:cover;position:absolute}.photo-caption{position:absolute;bottom:0;right:0;left:0;color:white;padding:45px 28px 22px;background:linear-gradient(transparent,#041a35e6);font-size:16px}.photo-caption small{display:block;opacity:.8;font-size:12px;direction:ltr;text-align:right}.tourism-copy{padding:42px 40px;align-self:center}.tourism-copy h3{font-size:35px;margin:12px 0 15px}.tourism-copy p{color:#beccdd}.tourism-copy .pill{background:#ffffff0c;border-color:#597087;color:#e2c388}.tourism-list{padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:25px 0 0;font-size:16px;color:#e7edf6}.tourism-list li:before{content:'+';color:#d8b975;padding-left:10px}.tourism-foot{display:flex;justify-content:space-between;gap:25px;margin-top:20px;font-size:15px;color:var(--muted)}.tourism-foot a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
|
||||
.ideas{background:#f7f9fc;padding:75px 0 82px}.ideas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.idea{padding:32px 29px 30px}.idea:not(:last-child){border-left:1px solid var(--line)}.idea-index{font-size:13px;direction:ltr;display:block;text-align:right;color:#977837;letter-spacing:2px;margin-bottom:22px}.idea svg{width:34px;height:34px;fill:none;stroke:var(--blue);stroke-width:1.5;margin-bottom:15px}.idea h3{margin-bottom:13px;font-size:25px}.idea p{font-size:17px;color:var(--muted)}.benefit{margin-top:24px;padding-top:17px;border-top:1px solid var(--line);font-size:15px;color:var(--blue)}.ideas-note{font-size:14px;color:var(--muted);margin-top:20px}
|
||||
.roadmap{padding:90px 0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:42px}.step{border-top:2px solid #dce3ec;padding-top:22px}.step.current{border-top-color:var(--gold)}.step-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.step-top span{font-size:14px;color:#728096}.step-top b{font-size:28px;font-family:Arial;font-weight:400;color:#a7b4c4}.step.current .step-top span{color:#907132}.step h3{font-size:25px;margin-bottom:12px}.step p{color:var(--muted);font-size:17px}
|
||||
.partnership{border:1px solid var(--line);border-radius:15px;display:grid;grid-template-columns:160px 1fr;gap:40px;padding:32px 40px;align-items:center;margin-bottom:70px}.prize-logo{width:150px}.partnership .eyebrow{font-size:13px;margin-bottom:11px}.partnership h3{font-size:29px;margin-bottom:9px}.partnership p{font-size:18px;color:var(--muted);max-width:820px}.closing{background:var(--navy);color:white;text-align:center;padding:65px 24px}.closing .latin{color:#dbbc77;margin-bottom:15px}.closing h2{font-size:clamp(29px,4vw,46px)}.closing p{color:#acbed4;margin-top:15px;font-size:18px}.footer{padding:23px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:14px;color:var(--muted)}.footer a{color:var(--blue)}.footer .latin{font-size:11px;letter-spacing:1px}
|
||||
@media(min-width:1500px){.hero-grid{min-height:530px}}
|
||||
@media(max-width:1050px){.wrap{width:calc(100% - 48px)}.links{gap:18px}.nav-tag{display:none}.hero-grid{gap:25px}.hero-icon{width:280px;border-radius:58px}.brand-stage:before{width:340px;height:340px}.brand-stage:after{width:390px;height:390px}.label-one{left:0;top:45px}.label-two{right:0;bottom:45px}.story{gap:45px}.tourism-copy{padding:30px}.idea{padding:28px 20px}.country-tab{padding:15px}.hero h1{font-size:58px}}
|
||||
@media(max-width:760px){body{font-size:17px}.wrap{width:calc(100% - 36px)}header{height:auto;min-height:86px}.nav{padding:13px 0;flex-wrap:wrap;gap:10px}.brand img{width:48px;height:48px}.brand strong{font-size:20px}.brand small{font-size:10px}.links{gap:19px;font-size:14px}.links a:last-child{display:none}.hero{padding-top:44px}.hero-grid{grid-template-columns:1fr;gap:23px;padding-bottom:35px}.hero h1{font-size:clamp(44px,10vw,62px);line-height:1.3}.hero p{font-size:18px;margin-top:20px}.hero-actions{margin-top:25px}.btn{font-size:16px;padding:10px 19px}.hero-status{font-size:13px}.brand-stage{min-height:325px;width:min(100%,390px);margin:auto}.hero-icon{width:240px;border-radius:52px}.brand-stage:before{width:285px;height:285px}.brand-stage:after{width:320px;height:320px}.float-label{font-size:14px;padding:8px 12px}.label-one{top:39px;left:0}.label-two{bottom:23px;right:0}.hero-facts{gap:15px;padding:20px 0}.fact{gap:8px;display:block}.fact b{font-size:27px}.fact span{font-size:14px}.fact small{font-size:12px}.story{grid-template-columns:1fr;gap:22px;padding:53px 0}.story p{font-size:18px}.eyebrow{font-size:13px;margin-bottom:15px}.section-intro{display:block;margin-bottom:27px}.section-intro p{margin-top:17px;font-size:17px}.coverage{padding:48px 0}.country-tabs{grid-template-columns:repeat(2,1fr);gap:9px}.country-tab{min-height:78px}.country-tab strong{font-size:22px}.country-panel{grid-template-columns:1fr;gap:18px;padding:24px}.panel-note{padding-right:16px}.tourism{padding:55px 0}.tourism-feature{grid-template-columns:1fr}.tourism-photo{min-height:280px}.tourism-copy{padding:29px 25px}.tourism-copy h3{font-size:30px}.tourism-foot{display:block;font-size:14px}.tourism-foot a{display:inline-block;margin-top:7px}.ideas{padding:50px 0}.ideas-grid{grid-template-columns:1fr}.idea{padding:28px 4px}.idea:not(:last-child){border-left:0;border-bottom:1px solid var(--line)}.idea-index{margin-bottom:14px}.idea svg{float:left}.benefit{margin-top:17px}.roadmap{padding:53px 0}.steps{grid-template-columns:1fr;gap:28px;margin-top:25px}.step{padding-top:14px}.step-top{margin-bottom:8px}.partnership{grid-template-columns:1fr;gap:18px;padding:26px;margin-bottom:45px}.prize-logo{width:120px}.partnership h3{font-size:25px}.partnership p{font-size:17px}.closing{padding:45px 22px}.footer{flex-direction:column;align-items:flex-start;gap:8px}.tourism-list{font-size:15px}}
|
||||
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
|
||||
@media print{header,.hero-actions,.hero-status,.country-tabs,.footer a{display:none}body{font-size:12pt}.hero,.closing,.tourism-feature{print-color-adjust:exact;-webkit-print-color-adjust:exact}.wrap{width:92%}.hero{padding-top:30px}.hero-grid{min-height:0;gap:25px}.hero h1{font-size:38px}.hero p{font-size:16px}.brand-stage{min-height:250px}.hero-icon{width:200px}.brand-stage:before,.brand-stage:after,.float-label{display:none}.story,.tourism,.ideas,.roadmap,.coverage{padding:25px 0}.section-intro h2,h2{font-size:28px}.story p{font-size:16px}.tourism-feature{break-inside:avoid}.idea,.step,.partnership{break-inside:avoid}.partnership{margin-bottom:25px}.closing{padding:25px}}
|
||||
</style>
|
||||
</head>
|
||||
<body id="top">
|
||||
<header><nav class="wrap nav" aria-label="التنقل الرئيسي"><a class="brand" href="#top" aria-label="سيرو ماب، بداية الصفحة"><img src="assets/siro-maps.png" alt="شعار سيرو ماب" width="62" height="62"><span><strong>سيرو ماب</strong><small>SIRO MAP</small></span></a><div class="links"><a href="#coverage">الانطلاقة</a><a href="#tourism">اكتشف العراق</a><a href="#ideas">آفاق سيرو ماب</a><a href="#journey">رحلتنا</a></div><span class="nav-tag">من سيرو ماب، إلى كل وجهة</span></nav></header>
|
||||
<main>
|
||||
<section class="hero" aria-labelledby="hero-title"><div class="wrap"><div class="hero-grid"><div><div class="eyebrow">الانطلاقة الأولى · سيرو ماب</div><h1 id="hero-title">كل طريق،<br>بداية <span>حكاية.</span></h1><p>خرائط تقرّب المسافات، وحكايات تقرّبنا من المكان.<br>نبدأ بأربع دول، ونفتح من العراق بابًا لاكتشاف الثقافة والمعالم والوجهات.</p><div class="hero-actions"><a class="btn btn-gold" href="#coverage">اكتشف الانطلاقة <span class="arrow" aria-hidden="true">←</span></a><a class="btn btn-outline" href="#ideas">ما الذي نبنيه معًا؟</a></div><small class="hero-status">نسخة التطبيق قيد المراجعة على Google Play</small></div><div class="brand-stage"><img class="hero-icon" src="assets/siro-maps.png" alt="شعار سيرو ماب الذكي للملاحة والتنقل" width="512" height="512"><span class="float-label label-one"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M20 10c0 6-8 11-8 11S4 16 4 10a8 8 0 1 1 16 0Z"/><circle cx="12" cy="10" r="2.5"/></svg>وجهتك أقرب</span><span class="float-label label-two"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="m3 5 6-2 6 2 6-2v16l-6 2-6-2-6 2Z M9 3v16 M15 5v16"/></svg>اكتشف حكاية المكان</span></div></div><div class="hero-facts"><div class="fact"><b>04</b><div><span>دول في الانطلاقة</span><small>العراق · الأردن · سوريا · مصر</small></div></div><div class="fact"><b>01</b><div><span>بداية للدليل السياحي</span><small>معالم العراق أولًا</small></div></div><div class="fact"><b>ببساطة</b><div><span>خرائط بلا تسجيل</span><small>افتح التطبيق، وابدأ رحلتك</small></div></div></div></div></section>
|
||||
<section class="wrap story" aria-labelledby="story-title"><div><div class="eyebrow">فكرة تجمعنا</div><h2 id="story-title">من اسم يحمل حضارة،<br>إلى خدمة ترافق الناس.</h2></div><p>تعتمد سيرو ماب على الابتكار والسيادة الرقمية وتوفير التكاليف. واليوم، نمنح هذا المشروع حضورًا قويًا في الحياة اليومية: خرائط سهلة ومستقلة، ودليل يكشف ما حولنا من وجهات ومعالم.<br><span class="accent">خطوة أولى لشراكتنا، وأساس ننمو عليه معًا.</span></p></section>
|
||||
<section class="coverage" id="coverage" aria-labelledby="coverage-title"><div class="wrap"><div class="section-intro"><div><div class="eyebrow">أربع دول · تجربة واحدة</div><h2 id="coverage-title">بداية قريبة منّا.</h2></div><p>خرائط للاستخدام دون إنشاء حساب. ننطلق بهذا النطاق، ونواصل تحسين البيانات والتجربة قبل التوسع إلى مزيد من الدول العربية.</p></div><div class="country-tabs" role="tablist" aria-label="دول الانطلاقة"><button id="tab-iq" class="country-tab" role="tab" aria-selected="true" aria-controls="country-panel" data-country="iq"><span><strong>العراق</strong><small>IRAQ</small></span><span class="number">01</span></button><button id="tab-jo" class="country-tab" role="tab" aria-selected="false" aria-controls="country-panel" tabindex="-1" data-country="jo"><span><strong>الأردن</strong><small>JORDAN</small></span><span class="number">02</span></button><button id="tab-sy" class="country-tab" role="tab" aria-selected="false" aria-controls="country-panel" tabindex="-1" data-country="sy"><span><strong>سوريا</strong><small>SYRIA</small></span><span class="number">03</span></button><button id="tab-eg" class="country-tab" role="tab" aria-selected="false" aria-controls="country-panel" tabindex="-1" data-country="eg"><span><strong>مصر</strong><small>EGYPT</small></span><span class="number">04</span></button></div><div id="country-panel" class="country-panel" role="tabpanel" tabindex="0" aria-labelledby="tab-iq"><div><span class="pill">ضمن نطاق الانطلاقة</span><h3 id="country-title">العراق، هنا تبدأ الحكاية.</h3><p id="country-description">الخرائط أولًا، ومنها نبدأ بناء الدليل السياحي.</p></div><p id="country-note" class="panel-note">نبدأ بإثراء المعالم السياحية والأثرية العراقية: قصة المكان، موقعه، ومعلومات تساعد على زيارته.</p></div></div></section>
|
||||
<section class="wrap tourism" id="tourism" aria-labelledby="tourism-title"><div class="section-intro"><div><div class="eyebrow">الخطوة التالية · الدليل السياحي</div><h2 id="tourism-title">للمكان أكثر من عنوان.</h2></div><p>من معالم العراق نبدأ. نريد أن تتحول النقطة على الخريطة إلى حكاية تعرفها، ووجهة تستطيع التخطيط لزيارتها.</p></div><div class="tourism-feature"><div class="tourism-photo" id="tourism-photo"><img src="assets/erbil-citadel.jpg" alt="قلعة أربيل التاريخية والأسواق المحيطة بها" width="4032" height="3024" loading="lazy"><div class="photo-caption">قلعة أربيل · العراق<small>الصورة: <a href="https://commons.wikimedia.org/wiki/File:Citadel_of_Erbil.jpg" target="_blank" rel="noopener">Sarbast.T.Hameed / Wikimedia Commons</a> · <a href="https://creativecommons.org/licenses/by-sa/4.0/" target="_blank" rel="noopener">CC BY-SA 4.0</a> · عرض مقتصّ</small></div></div><div class="tourism-copy"><span class="pill">تصور قادم داخل التطبيق</span><h3>اكتشف ما حولك،<br>واعرف ما وراءه.</h3><p>دليل قريب منك للمعالم والمواقع الأثرية، بمعلومات موثقة تُراجع وتُحدّث مع الشركاء المحليين.</p><ul class="tourism-list"><li>قصة موجزة لكل معلم</li><li>صور وتعريف بالمكان</li><li>المداخل ومعلومات الزيارة</li><li>وجهات قريبة منك</li></ul></div></div><div class="tourism-foot"><span>أمثلة للإثراء: قلعة أربيل، بابل، وآثار ومدن العراق. تُراجع إتاحة الزيارة لكل موقع قبل إدراجه.</span><a href="https://whc.unesco.org/en/statesparties/iq" target="_blank" rel="noopener">تراث العراق لدى اليونسكو ↗</a></div></section>
|
||||
<section class="ideas" id="ideas" aria-labelledby="ideas-title"><div class="wrap"><div class="section-intro"><div><div class="eyebrow">آفاق سيرو ماب</div><h2 id="ideas-title">كل إضافة، قيمة جديدة.</h2></div><p>أفكار نطوّرها تدريجيًا؛ تخدم المستخدم، وتمنح شركاء سيرو ماب حضورًا يصل إلى الناس.</p></div><div class="ideas-grid"><article class="idea"><span class="idea-index">01 / الشركاء</span><svg viewBox="0 0 32 32" aria-hidden="true"><rect x="3" y="7" width="26" height="19" rx="3"/><path d="M3 13h26 M8 20h6 M21 18v6 M18 21h6"/></svg><h3>مزايا أقرب إليك</h3><p>دليل للمستشفيات والفنادق ومراكز الدورات المتعاقدة مع شبكة سيرو، يعرض موقع كل جهة ومزايا البطاقة وشروطها المعتمدة.</p><div class="benefit">الفائدة: يجد حامل البطاقة أين يستفيد منها.</div></article><article class="idea"><span class="idea-index">02 / الفعاليات</span><svg viewBox="0 0 32 32" aria-hidden="true"><rect x="5" y="6" width="22" height="23" rx="3"/><path d="M10 3v7 M22 3v7 M5 14h22 M10 20h4 M18 20h4 M10 24h4"/></svg><h3>من الدعوة إلى الوجهة</h3><p>خريطة للمؤتمرات والفعاليات الكبرى: موقع القاعة، المداخل، المواقف والوجهات المحيطة، تُشارك برابط أو رمز QR.</p><div class="benefit">الفائدة: كل مناسبة فرصة حقيقية لتجربة التطبيق.</div></article><article class="idea"><span class="idea-index">03 / جودة البيانات</span><svg viewBox="0 0 32 32" aria-hidden="true"><path d="M25 14c0 7-9 14-9 14S7 21 7 14a9 9 0 1 1 18 0Z"/><path d="m12 14 3 3 6-6"/></svg><h3>معًا، نصحّح الخريطة</h3><p>اقتراح مكان، تصحيح عنوان أو تحديد مدخل. مساهمات تُراجع، وبيانات استخدام اختيارية تساعد على تحسين التجربة.</p><div class="benefit">الفائدة: عناوين أدق، وأساس أفضل للنقل لاحقًا.</div></article></div><p class="ideas-note">هذه إضافات مقترحة للتطوير؛ ظهور الجهات والمزايا مرتبط بتأكيد بياناتها واتفاقاتها.</p></div></section>
|
||||
<section class="wrap roadmap" id="journey" aria-labelledby="journey-title"><div class="eyebrow">رحلة تنمو بخطوات واضحة</div><h2 id="journey-title">نبدأ بما ينفع اليوم.<br>ونبني ما نحتاجه غدًا.</h2><div class="steps"><article class="step current"><div class="step-top"><span>الانطلاقة الأولى</span><b>01</b></div><h3>خرائط بين يدي الناس</h3><p>أربع دول، بلا تسجيل. تعريف بسيرو ماب، وتجارب فعلية تُحسّن المنتج وتبني حضور الاسم.</p></article><article class="step"><div class="step-top"><span>الإثراء التدريجي</span><b>02</b></div><h3>دليل يستحق العودة</h3><p>معالم العراق أولًا، ثم الشركاء والفعاليات؛ أسباب متجددة لفتح التطبيق والاستفادة منه.</p></article><article class="step"><div class="step-top"><span>الأفق القادم</span><b>03</b></div><h3>نحو سيرو للنقل الذكي</h3><p>ربط اكتشاف الوجهة بالوصول إليها عند إطلاق خدمة النقل، والتوسع إلى دول عربية أخرى تدريجيًا.</p></article></div></section>
|
||||
|
||||
<section class="closing"><span class="latin">SIRO MAP · THE FIRST JOURNEY</span><h2>من هنا تبدأ حكايتنا على الخريطة.</h2><p>العراق · الأردن · سوريا · مصر</p></section>
|
||||
</main><footer class="wrap footer"><span>سيرو ماب © 2026 <span aria-hidden="true"> — </span> الانطلاقة الأولى ورؤية التطوير</span><a href="#top">العودة إلى البداية ↑</a></footer>
|
||||
<script>
|
||||
const countries={iq:{title:'العراق، هنا تبدأ الحكاية.',description:'الخرائط أولًا، ومنها نبدأ بناء الدليل السياحي.',note:'نبدأ بإثراء المعالم السياحية والأثرية العراقية: قصة المكان، موقعه، ومعلومات تساعد على زيارته.'},jo:{title:'الأردن، ضمن أولى وجهاتنا.',description:'استخدام الخرائط دون الحاجة إلى إنشاء حساب.',note:'الأردن ضمن نطاق الخرائط في الانطلاقة الأولى. يبدأ إثراء المحتوى السياحي من العراق، ثم يتوسع تدريجيًا.'},sy:{title:'سوريا، أقرب على الخريطة.',description:'تجربة خرائط سهلة ضمن الدول الأربع الأولى.',note:'نطوّر جودة البيانات بالاختبار والمراجعة ومساهمات المستخدمين؛ لتصبح معلومات الأماكن أكثر دقة وفائدة.'},eg:{title:'مصر، امتداد لانطلاقتنا.',description:'خرائط بلا تسجيل ضمن تجربة سيرو ماب.',note:'مصر ضمن نطاق الانطلاقة. نبدأ بخدمة الخرائط، ونضيف الدليل والوجهات والشراكات على مراحل واضحة.'}};
|
||||
const tabs=[...document.querySelectorAll('[role=tab]')];function choose(tab){tabs.forEach(t=>{const selected=t===tab;t.setAttribute('aria-selected',String(selected));t.tabIndex=selected?0:-1});const item=countries[tab.dataset.country];document.getElementById('country-title').textContent=item.title;document.getElementById('country-description').textContent=item.description;document.getElementById('country-note').textContent=item.note;document.getElementById('country-panel').setAttribute('aria-labelledby',tab.id)}tabs.forEach((tab,index)=>{tab.addEventListener('click',()=>choose(tab));tab.addEventListener('keydown',event=>{let next;if(event.key==='ArrowLeft')next=(index+1)%tabs.length;if(event.key==='ArrowRight')next=(index-1+tabs.length)%tabs.length;if(event.key==='Home')next=0;if(event.key==='End')next=tabs.length-1;if(next!==undefined){event.preventDefault();choose(tabs[next]);tabs[next].focus()}})});
|
||||
</script>
|
||||
</body></html>
|
||||
@@ -0,0 +1,161 @@
|
||||
{
|
||||
"info": {
|
||||
"name": "Siro Maps - Sovereign Heritage & Community Guides API",
|
||||
"description": "Production Endpoints for National Heritage Landmarks, Precision Gate Navigation, and Moderated Local Guides Gamification.",
|
||||
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
|
||||
},
|
||||
"variable": [
|
||||
{
|
||||
"key": "baseUrl",
|
||||
"value": "https://map-saas.intaleqapp.com/api",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"key": "apiKey",
|
||||
"value": "zP9vL5mK2nQ8xR7jT4wS1yB6hG3fV0cX",
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"item": [
|
||||
{
|
||||
"name": "1. Heritage - List All Landmarks",
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"header": [],
|
||||
"url": {
|
||||
"raw": "{{baseUrl}}/v1/heritage/landmarks",
|
||||
"host": ["{{baseUrl}}"],
|
||||
"path": ["v1", "heritage", "landmarks"]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "2. Heritage - Nearby Landmarks (Spatial Query)",
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"header": [],
|
||||
"url": {
|
||||
"raw": "{{baseUrl}}/v1/heritage/landmarks?lat=31.9539&lng=35.9350&radius=10000",
|
||||
"host": ["{{baseUrl}}"],
|
||||
"path": ["v1", "heritage", "landmarks"],
|
||||
"query": [
|
||||
{ "key": "lat", "value": "31.9539" },
|
||||
{ "key": "lng", "value": "35.9350" },
|
||||
{ "key": "radius", "value": "10000" }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "3. Heritage - Single Landmark by Slug",
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"header": [],
|
||||
"url": {
|
||||
"raw": "{{baseUrl}}/v1/heritage/landmarks/amman-citadel",
|
||||
"host": ["{{baseUrl}}"],
|
||||
"path": ["v1", "heritage", "landmarks", "amman-citadel"]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4. Heritage - Offline Pack for Mobile",
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"header": [],
|
||||
"url": {
|
||||
"raw": "{{baseUrl}}/v1/heritage/offline-pack",
|
||||
"host": ["{{baseUrl}}"],
|
||||
"path": ["v1", "heritage", "offline-pack"]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "5. Community - List Badges",
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"header": [],
|
||||
"url": {
|
||||
"raw": "{{baseUrl}}/v1/community/badges",
|
||||
"host": ["{{baseUrl}}"],
|
||||
"path": ["v1", "community", "badges"]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "6. Community - Submit Contribution (Suggest Gate)",
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"header": [
|
||||
{ "key": "Content-Type", "value": "application/json" }
|
||||
],
|
||||
"body": {
|
||||
"mode": "raw",
|
||||
"raw": "{\n \"userId\": \"guide_hamza_001\",\n \"displayName\": \"حمزة عايد\",\n \"contributionType\": \"CONFIRM_GATE\",\n \"targetTable\": \"heritage.landmarks\",\n \"targetId\": 3,\n \"placeName\": \"جرش - البوابة الجنوبية السياحية\",\n \"lat\": 32.2735,\n \"lng\": 35.8928,\n \"suggestedData\": { \"gate_name\": \"South Main Gate\" },\n \"notes\": \"تم التحقق من موقع بوابة التذاكر الميدانية\"\n}"
|
||||
},
|
||||
"url": {
|
||||
"raw": "{{baseUrl}}/v1/community/contribute",
|
||||
"host": ["{{baseUrl}}"],
|
||||
"path": ["v1", "community", "contribute"]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7. Community - Guide Profile & Points",
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"header": [],
|
||||
"url": {
|
||||
"raw": "{{baseUrl}}/v1/community/profile/guide_hamza_001",
|
||||
"host": ["{{baseUrl}}"],
|
||||
"path": ["v1", "community", "profile", "guide_hamza_001"]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "8. Community - Leaderboard",
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"header": [],
|
||||
"url": {
|
||||
"raw": "{{baseUrl}}/v1/community/leaderboard",
|
||||
"host": ["{{baseUrl}}"],
|
||||
"path": ["v1", "community", "leaderboard"]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "9. Admin - Moderation Pending Queue",
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"header": [
|
||||
{ "key": "x-api-key", "value": "{{apiKey}}" }
|
||||
],
|
||||
"url": {
|
||||
"raw": "{{baseUrl}}/v1/admin/moderation/pending",
|
||||
"host": ["{{baseUrl}}"],
|
||||
"path": ["v1", "admin", "moderation", "pending"]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "10. Admin - Review Contribution (Approve)",
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"header": [
|
||||
{ "key": "Content-Type", "value": "application/json" },
|
||||
{ "key": "x-api-key", "value": "{{apiKey}}" }
|
||||
],
|
||||
"body": {
|
||||
"mode": "raw",
|
||||
"raw": "{\n \"contributionId\": 2,\n \"action\": \"APPROVE\",\n \"reviewerName\": \"Hamza Ayed (Admin)\",\n \"reviewerNotes\": \"معتمدة ومطابقة لصور الأقمار الصناعية\"\n}"
|
||||
},
|
||||
"url": {
|
||||
"raw": "{{baseUrl}}/v1/admin/moderation/review",
|
||||
"host": ["{{baseUrl}}"],
|
||||
"path": ["v1", "admin", "moderation", "review"]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
<!doctype html>
|
||||
<html lang="ar" dir="rtl">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="theme-color" content="#061d42">
|
||||
<meta name="description" content="سيرو ماب: خرائط سهلة بلا تسجيل للعراق والأردن وسوريا ومصر، ورؤية لدليل سياحي يبدأ من معالم العراق.">
|
||||
<title>سيرو ماب — كل طريق، بداية حكاية</title>
|
||||
<link rel="icon" type="image/png" href="assets/siro-maps.png">
|
||||
<style>
|
||||
@font-face {
|
||||
font-family: 'Tajawal';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url(assets/tajawal-400.ttf) format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Tajawal';
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-display: swap;
|
||||
src: url(assets/tajawal-500.ttf) format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Tajawal';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url(assets/tajawal-700.ttf) format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Tajawal';
|
||||
font-style: normal;
|
||||
font-weight: 800;
|
||||
font-display: swap;
|
||||
src: url(assets/tajawal-800.ttf) format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Tajawal';
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
font-display: swap;
|
||||
src: url(assets/tajawal-900.ttf) format('truetype');
|
||||
}
|
||||
|
||||
:root{--navy:#061d42;--blue:#124f9f;--gold:#b59247;--pale:#edf3f9;--ink:#132844;--muted:#5c6c80;--line:#dce3ec;--white:#fff;--font:'Tajawal','Geeza Pro',Tahoma,sans-serif}
|
||||
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff;color:var(--ink);font-family:var(--font);font-size:18px;line-height:1.85}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #c6a057;outline-offset:6px}button{cursor:pointer}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.35}h2{font-size:clamp(32px,3.5vw,49px);font-weight:800;letter-spacing:-.6px}h3{font-size:25px}::selection{background:#d6bb7b;color:var(--navy)}.wrap{width:min(1190px,calc(100% - 88px));margin:auto}.eyebrow{font-size:14px;letter-spacing:1.8px;font-weight:700;color:var(--gold);display:flex;align-items:center;gap:12px;margin-bottom:22px}.eyebrow:before{content:'';width:28px;height:2px;background:currentColor}.latin{font-family:Arial,sans-serif;letter-spacing:2.5px;font-size:12px;direction:ltr;display:inline-block}.muted{color:var(--muted)}
|
||||
header{height:100px;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);position:relative;z-index:5}.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;gap:13px;align-items:center}.brand img{width:62px;height:62px;border-radius:15px}.brand strong{font-size:23px;display:block;line-height:1.3}.brand small{color:var(--muted);font-size:11px;letter-spacing:2.2px;display:block;direction:ltr}.links{display:flex;align-items:center;gap:30px;font-size:16px;font-weight:600}.links a{transition:color .2s}.links a:hover{color:var(--blue)}.nav-tag{font-size:14px;color:var(--blue);border:1px solid #c9d8ed;padding:7px 17px;border-radius:30px;white-space:nowrap}
|
||||
.hero{position:relative;overflow:hidden;background:var(--navy);color:white;padding:75px 0 0}.hero:before{content:'';position:absolute;width:740px;height:740px;left:-140px;top:-220px;background:radial-gradient(circle,rgba(39,105,180,.38),transparent 67%);pointer-events:none}.hero-grid{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:65px;position:relative;min-height:470px;padding-bottom:65px}.hero h1{font-size:clamp(44px,5.7vw,76px);font-weight:800;line-height:1.24;letter-spacing:-1px}.hero h1 span{color:#dbbc77}.hero p{font-size:20px;color:#c0ccdc;max-width:530px;margin-top:27px;line-height:1.9}.hero .eyebrow{color:#ddbd78}.hero-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:33px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:11px 23px;border-radius:7px;font-size:17px;font-weight:700;border:1px solid transparent;min-height:50px}.btn-gold{background:#dbbc77;color:#0b2547}.btn-gold:hover{background:#efd49b}.btn-outline{border-color:#526580;color:#e3eaf3}.btn-outline:hover{background:#ffffff0c}.arrow{font-family:Arial;font-size:23px;font-weight:400}.hero-status{display:block;font-size:14px;color:#acbbcf;margin-top:17px}.brand-stage{position:relative;display:flex;justify-content:center;align-items:center;min-height:420px;padding:15px}.brand-stage:before,.brand-stage:after{content:'';position:absolute;border:1px solid #759ed12b;border-radius:50%;width:410px;height:410px;pointer-events:none}.brand-stage:after{width:480px;height:480px;border-style:dashed;opacity:.6}.hero-icon{width:330px;border-radius:70px;transform:rotate(-6deg);box-shadow:0 30px 60px #0004;z-index:1}.float-label{position:absolute;z-index:2;border:1px solid #6986af6b;background:#0b2b55eb;box-shadow:0 10px 35px #0002;backdrop-filter:blur(15px);padding:10px 17px;border-radius:10px;font-size:16px;display:flex;align-items:center;gap:12px}.float-label svg{width:22px;height:22px;stroke:#e0bf7d;fill:none;stroke-width:1.6}.label-one{left:-5px;top:60px}.label-two{right:4px;bottom:43px}.hero-facts{position:relative;border-top:1px solid #ffffff20;display:grid;grid-template-columns:repeat(3,1fr);padding:24px 0;gap:30px}.fact{display:flex;gap:17px;align-items:center}.fact:not(:last-child){border-left:1px solid #ffffff20}.fact b{font-size:35px;color:#dfc28a;font-weight:500;line-height:1}.fact span{display:block;font-size:17px}.fact small{display:block;color:#a8b8cd;font-size:14px}
|
||||
.story{padding:88px 0;display:grid;grid-template-columns:.9fr 1.1fr;gap:95px;align-items:center}.story p{color:var(--muted);font-size:20px}.story .accent{color:var(--ink);font-weight:700}.story .eyebrow{margin-bottom:16px}.section-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:37px}.section-intro p{max-width:430px;color:var(--muted)}
|
||||
.coverage{background:var(--pale);padding:72px 0 78px}.country-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.country-tab{display:flex;align-items:center;justify-content:space-between;padding:17px 22px;background:transparent;border:1px solid #cdd8e6;color:var(--ink);border-radius:8px;transition:background .2s;min-height:83px}.country-tab strong{font-size:23px}.country-tab small{display:block;font-size:12px;letter-spacing:2px;line-height:1.2;color:var(--muted);direction:ltr}.country-tab .number{font-family:Arial;font-size:14px;color:#8b9db3}.country-tab[aria-selected=true]{background:var(--navy);border-color:var(--navy);color:white}.country-tab[aria-selected=true] small,.country-tab[aria-selected=true] .number{color:#d8bd81}.country-panel{background:#fff;border-radius:12px;padding:27px 32px;display:grid;grid-template-columns:1fr 1.4fr;gap:35px;align-items:center;border:1px solid #e2e9f2}.country-panel h3{font-size:28px;margin-bottom:5px}.country-panel p{font-size:17px;color:var(--muted)}.panel-note{border-right:2px solid #c4a266;padding-right:24px}.pill{display:inline-block;font-size:13px;border:1px solid #d9e1ec;background:#f7f9fc;padding:2px 10px;border-radius:30px;color:#49617f;margin-bottom:9px}
|
||||
.tourism{padding:90px 0}.tourism-feature{display:grid;grid-template-columns:1.15fr 1fr;background:var(--navy);color:white;border-radius:18px;overflow:hidden;min-height:415px}.tourism-photo{position:relative;background:#15395e;min-height:380px;overflow:hidden}.tourism-photo img{width:100%;height:100%;object-fit:cover;position:absolute}.photo-caption{position:absolute;bottom:0;right:0;left:0;color:white;padding:45px 28px 22px;background:linear-gradient(transparent,#041a35e6);font-size:16px}.photo-caption small{display:block;opacity:.8;font-size:12px;direction:ltr;text-align:right}.tourism-copy{padding:42px 40px;align-self:center}.tourism-copy h3{font-size:35px;margin:12px 0 15px}.tourism-copy p{color:#beccdd}.tourism-copy .pill{background:#ffffff0c;border-color:#597087;color:#e2c388}.tourism-list{padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:25px 0 0;font-size:16px;color:#e7edf6}.tourism-list li:before{content:'+';color:#d8b975;padding-left:10px}.tourism-foot{display:flex;justify-content:space-between;gap:25px;margin-top:20px;font-size:15px;color:var(--muted)}.tourism-foot a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
|
||||
.pillars-section{padding:80px 0}.pillars-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:35px}.pillar-card{background:var(--pale);border:1px solid #dce5f0;border-radius:16px;padding:32px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .2s,box-shadow .2s}.pillar-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(6,29,66,.08);border-color:#b59247}.pillar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.pillar-num{font-size:32px;font-weight:900;color:var(--gold);line-height:1}.pillar-tag{font-size:13px;font-weight:700;color:var(--blue);background:rgba(18,79,159,.08);padding:4px 12px;border-radius:20px}.pillar-card h3{font-size:24px;margin-bottom:12px;color:var(--navy)}.pillar-card p{color:var(--muted);font-size:16px;line-height:1.7;margin-bottom:20px}.pillar-badge{font-size:13px;font-weight:600;color:var(--gold);border-top:1px solid #dce5f0;padding-top:14px}
|
||||
.ideas{background:#f7f9fc;padding:75px 0 82px}.ideas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.idea{padding:32px 29px 30px}.idea:not(:last-child){border-left:1px solid var(--line)}.idea-index{font-size:13px;direction:ltr;display:block;text-align:right;color:#977837;letter-spacing:2px;margin-bottom:22px}.idea svg{width:34px;height:34px;fill:none;stroke:var(--blue);stroke-width:1.5;margin-bottom:15px}.idea h3{margin-bottom:13px;font-size:25px}.idea p{font-size:17px;color:var(--muted)}.benefit{margin-top:24px;padding-top:17px;border-top:1px solid var(--line);font-size:15px;color:var(--blue)}.ideas-note{font-size:14px;color:var(--muted);margin-top:20px}
|
||||
.roadmap{padding:90px 0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:42px}.step{border-top:2px solid #dce3ec;padding-top:22px}.step.current{border-top-color:var(--gold)}.step-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.step-top span{font-size:14px;color:#728096}.step-top b{font-size:28px;font-family:Arial;font-weight:400;color:#a7b4c4}.step.current .step-top span{color:#907132}.step h3{font-size:25px;margin-bottom:12px}.step p{color:var(--muted);font-size:17px}
|
||||
.partnership{border:1px solid var(--line);border-radius:15px;display:grid;grid-template-columns:160px 1fr;gap:40px;padding:32px 40px;align-items:center;margin-bottom:70px}.prize-logo{width:150px}.partnership .eyebrow{font-size:13px;margin-bottom:11px}.partnership h3{font-size:29px;margin-bottom:9px}.partnership p{font-size:18px;color:var(--muted);max-width:820px}.closing{background:var(--navy);color:white;text-align:center;padding:65px 24px}.closing .latin{color:#dbbc77;margin-bottom:15px}.closing h2{font-size:clamp(29px,4vw,46px)}.closing p{color:#acbed4;margin-top:15px;font-size:18px}.footer{padding:23px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:14px;color:var(--muted)}.footer a{color:var(--blue)}.footer .latin{font-size:11px;letter-spacing:1px}
|
||||
@media(min-width:1500px){.hero-grid{min-height:530px}}
|
||||
@media(max-width:1050px){.wrap{width:calc(100% - 48px)}.links{gap:18px}.nav-tag{display:none}.hero-grid{gap:25px}.hero-icon{width:280px;border-radius:58px}.brand-stage:before{width:340px;height:340px}.brand-stage:after{width:390px;height:390px}.label-one{left:0;top:45px}.label-two{right:0;bottom:45px}.story{gap:45px}.tourism-copy{padding:30px}.idea{padding:28px 20px}.country-tab{padding:15px}.hero h1{font-size:58px}}
|
||||
@media(max-width:760px){body{font-size:17px}.wrap{width:calc(100% - 36px)}header{height:auto;min-height:86px}.nav{padding:13px 0;flex-wrap:wrap;gap:10px}.brand img{width:48px;height:48px}.brand strong{font-size:20px}.brand small{font-size:10px}.links{gap:19px;font-size:14px}.links a:last-child{display:none}.hero{padding-top:44px}.hero-grid{grid-template-columns:1fr;gap:23px;padding-bottom:35px}.hero h1{font-size:clamp(44px,10vw,62px);line-height:1.3}.hero p{font-size:18px;margin-top:20px}.hero-actions{margin-top:25px}.btn{font-size:16px;padding:10px 19px}.hero-status{font-size:13px}.brand-stage{min-height:325px;width:min(100%,390px);margin:auto}.hero-icon{width:240px;border-radius:52px}.brand-stage:before{width:285px;height:285px}.brand-stage:after{width:320px;height:320px}.float-label{font-size:14px;padding:8px 12px}.label-one{top:39px;left:0}.label-two{bottom:23px;right:0}.hero-facts{gap:15px;padding:20px 0}.fact{gap:8px;display:block}.fact b{font-size:27px}.fact span{font-size:14px}.fact small{font-size:12px}.story{grid-template-columns:1fr;gap:22px;padding:53px 0}.story p{font-size:18px}.eyebrow{font-size:13px;margin-bottom:15px}.section-intro{display:block;margin-bottom:27px}.section-intro p{margin-top:17px;font-size:17px}.coverage{padding:48px 0}.country-tabs{grid-template-columns:repeat(2,1fr);gap:9px}.country-tab{min-height:78px}.country-tab strong{font-size:22px}.country-panel{grid-template-columns:1fr;gap:18px;padding:24px}.panel-note{padding-right:16px}.tourism{padding:55px 0}.tourism-feature{grid-template-columns:1fr}.tourism-photo{min-height:280px}.tourism-copy{padding:29px 25px}.tourism-copy h3{font-size:30px}.tourism-foot{display:block;font-size:14px}.tourism-foot a{display:inline-block;margin-top:7px}.ideas{padding:50px 0}.ideas-grid{grid-template-columns:1fr}.idea{padding:28px 4px}.idea:not(:last-child){border-left:0;border-bottom:1px solid var(--line)}.idea-index{margin-bottom:14px}.idea svg{float:left}.benefit{margin-top:17px}.roadmap{padding:53px 0}.steps{grid-template-columns:1fr;gap:28px;margin-top:25px}.step{padding-top:14px}.step-top{margin-bottom:8px}.partnership{grid-template-columns:1fr;gap:18px;padding:26px;margin-bottom:45px}.prize-logo{width:120px}.partnership h3{font-size:25px}.partnership p{font-size:17px}.closing{padding:45px 22px}.footer{flex-direction:column;align-items:flex-start;gap:8px}.tourism-list{font-size:15px}}
|
||||
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
|
||||
@media print{header,.hero-actions,.hero-status,.country-tabs,.footer a{display:none}body{font-size:12pt}.hero,.closing,.tourism-feature{print-color-adjust:exact;-webkit-print-color-adjust:exact}.wrap{width:92%}.hero{padding-top:30px}.hero-grid{min-height:0;gap:25px}.hero h1{font-size:38px}.hero p{font-size:16px}.brand-stage{min-height:250px}.hero-icon{width:200px}.brand-stage:before,.brand-stage:after,.float-label{display:none}.story,.tourism,.ideas,.roadmap,.coverage{padding:25px 0}.section-intro h2,h2{font-size:28px}.story p{font-size:16px}.tourism-feature{break-inside:avoid}.idea,.step,.partnership{break-inside:avoid}.partnership{margin-bottom:25px}.closing{padding:25px}}
|
||||
</style>
|
||||
</head>
|
||||
<body id="top">
|
||||
<header><nav class="wrap nav" aria-label="التنقل الرئيسي"><a class="brand" href="#top" aria-label="سيرو ماب، بداية الصفحة"><img src="assets/siro-maps.png" alt="شعار سيرو ماب" width="62" height="62"><span><strong>سيرو ماب</strong><small>SIRO MAP</small></span></a><div class="links"><a href="#coverage">الانطلاقة</a><a href="#tourism">اكتشف العراق</a><a href="#pillars">ركائز الدليل</a><a href="#ideas">آفاق سيرو ماب</a><a href="#journey">رحلتنا</a></div><span class="nav-tag">من سيرو ماب، إلى كل وجهة</span></nav></header>
|
||||
<main>
|
||||
<section class="hero" aria-labelledby="hero-title"><div class="wrap"><div class="hero-grid"><div><div class="eyebrow">الانطلاقة الأولى · سيرو ماب</div><h1 id="hero-title">كل طريق،<br>بداية <span>حكاية.</span></h1><p>خرائط تقرّب المسافات، وحكايات تقرّبنا من المكان.<br>نبدأ بأربع دول، ونفتح من العراق بابًا لاكتشاف الثقافة والمعالم والوجهات.</p><div class="hero-actions"><a class="btn btn-gold" href="#coverage">اكتشف الانطلاقة <span class="arrow" aria-hidden="true">←</span></a><a class="btn btn-outline" href="#ideas">ما الذي نبنيه معًا؟</a></div><small class="hero-status">نسخة التطبيق قيد المراجعة على Google Play</small></div><div class="brand-stage"><img class="hero-icon" src="assets/siro-maps.png" alt="شعار سيرو ماب الذكي للملاحة والتنقل" width="512" height="512"><span class="float-label label-one"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M20 10c0 6-8 11-8 11S4 16 4 10a8 8 0 1 1 16 0Z"/><circle cx="12" cy="10" r="2.5"/></svg>وجهتك أقرب</span><span class="float-label label-two"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="m3 5 6-2 6 2 6-2v16l-6 2-6-2-6 2Z M9 3v16 M15 5v16"/></svg>اكتشف حكاية المكان</span></div></div><div class="hero-facts"><div class="fact"><b>04</b><div><span>دول في الانطلاقة</span><small>العراق · الأردن · سوريا · مصر</small></div></div><div class="fact"><b>01</b><div><span>بداية للدليل السياحي</span><small>معالم العراق أولًا</small></div></div><div class="fact"><b>ببساطة</b><div><span>خرائط بلا تسجيل</span><small>افتح التطبيق، وابدأ رحلتك</small></div></div></div></div></section>
|
||||
<section class="wrap story" aria-labelledby="story-title"><div><div class="eyebrow">فكرة تجمعنا</div><h2 id="story-title">من اسم يحمل حضارة،<br>إلى خدمة ترافق الناس.</h2></div><p>تعتمد سيرو ماب على الابتكار والسيادة الرقمية وتوفير التكاليف. واليوم، نمنح هذا المشروع حضورًا قويًا في الحياة اليومية: خرائط سهلة ومستقلة، ودليل يكشف ما حولنا من وجهات ومعالم.<br><span class="accent">خطوة أولى لشراكتنا، وأساس ننمو عليه معًا.</span></p></section>
|
||||
<section class="coverage" id="coverage" aria-labelledby="coverage-title"><div class="wrap"><div class="section-intro"><div><div class="eyebrow">أربع دول · تجربة واحدة</div><h2 id="coverage-title">بداية قريبة منّا.</h2></div><p>خرائط للاستخدام دون إنشاء حساب. ننطلق بهذا النطاق، ونواصل تحسين البيانات والتجربة قبل التوسع إلى مزيد من الدول العربية.</p></div><div class="country-tabs" role="tablist" aria-label="دول الانطلاقة"><button id="tab-iq" class="country-tab" role="tab" aria-selected="true" aria-controls="country-panel" data-country="iq"><span><strong>العراق</strong><small>IRAQ</small></span><span class="number">01</span></button><button id="tab-jo" class="country-tab" role="tab" aria-selected="false" aria-controls="country-panel" tabindex="-1" data-country="jo"><span><strong>الأردن</strong><small>JORDAN</small></span><span class="number">02</span></button><button id="tab-sy" class="country-tab" role="tab" aria-selected="false" aria-controls="country-panel" tabindex="-1" data-country="sy"><span><strong>سوريا</strong><small>SYRIA</small></span><span class="number">03</span></button><button id="tab-eg" class="country-tab" role="tab" aria-selected="false" aria-controls="country-panel" tabindex="-1" data-country="eg"><span><strong>مصر</strong><small>EGYPT</small></span><span class="number">04</span></button></div><div id="country-panel" class="country-panel" role="tabpanel" tabindex="0" aria-labelledby="tab-iq"><div><span class="pill">ضمن نطاق الانطلاقة</span><h3 id="country-title">العراق، هنا تبدأ الحكاية.</h3><p id="country-description">الخرائط أولًا، ومنها نبدأ بناء الدليل السياحي.</p></div><p id="country-note" class="panel-note">نبدأ بإثراء المعالم السياحية والأثرية العراقية: قصة المكان، موقعه، ومعلومات تساعد على زيارته.</p></div></div></section>
|
||||
<section class="wrap tourism" id="tourism" aria-labelledby="tourism-title"><div class="section-intro"><div><div class="eyebrow">الخطوة التالية · الدليل السياحي</div><h2 id="tourism-title">للمكان أكثر من عنوان.</h2></div><p>من معالم العراق نبدأ. نريد أن تتحول النقطة على الخريطة إلى حكاية تعرفها، ووجهة تستطيع التخطيط لزيارتها.</p></div><div class="tourism-feature"><div class="tourism-photo" id="tourism-photo"><img src="assets/erbil-citadel.jpg" alt="قلعة أربيل التاريخية والأسواق المحيطة بها" width="4032" height="3024" loading="lazy"><div class="photo-caption">قلعة أربيل · العراق<small>الصورة: <a href="https://commons.wikimedia.org/wiki/File:Citadel_of_Erbil.jpg" target="_blank" rel="noopener">Sarbast.T.Hameed / Wikimedia Commons</a> · <a href="https://creativecommons.org/licenses/by-sa/4.0/" target="_blank" rel="noopener">CC BY-SA 4.0</a> · عرض مقتصّ</small></div></div><div class="tourism-copy"><span class="pill">تصور قادم داخل التطبيق</span><h3>اكتشف ما حولك،<br>واعرف ما وراءه.</h3><p>دليل قريب منك للمعالم والمواقع الأثرية، بمعلومات موثقة تُراجع وتُحدّث مع الشركاء المحليين.</p><ul class="tourism-list"><li>قصة موجزة لكل معلم</li><li>صور وتعريف بالمكان</li><li>المداخل ومعلومات الزيارة</li><li>وجهات قريبة منك</li></ul></div></div><div class="tourism-foot"><span>أمثلة للإثراء: قلعة أربيل، بابل، وآثار ومدن العراق. تُراجع إتاحة الزيارة لكل موقع قبل إدراجه.</span><a href="https://whc.unesco.org/en/statesparties/iq" target="_blank" rel="noopener">تراث العراق لدى اليونسكو ↗</a></div></section>
|
||||
<section class="wrap pillars-section" id="pillars" aria-labelledby="pillars-title"><div class="section-intro"><div><div class="eyebrow">منهجية العمل · الركائز الأربع للدليل</div><h2 id="pillars-title">كيف نُعيد صياغة تجربة المعالم؟</h2></div><p>لا نكتفي بوضع نقطة صامتة على الخارطة؛ بل نمزج دقة الملاحة الميدانية بسردية التاريخ والسيادة التقنية.</p></div><div class="pillars-grid"><div class="pillar-card"><div class="pillar-header"><span class="pillar-num">01</span><span class="pillar-tag">الملاحة الواقعية</span></div><h3>التوجيه للبوابات الفعلية</h3><p>توجيه السائقين والزوار مباشرة إلى نقاط الدخول الرسمية ومواقف السيارات بدلاً من التوجيه الخاطئ إلى منتصف المواقع الشاسعة أو الأسوار المغلقة.</p><div class="pillar-badge">دقة الوصول الميداني</div></div><div class="pillar-card"><div class="pillar-header"><span class="pillar-num">02</span><span class="pillar-tag">التوثيق الحضاري</span></div><h3>سردية المكان في 60 ثانية</h3><p>بطاقة ذكية ومكثفة لكل معلم: الحقبة التاريخية، من بنى المكان، وأهميته التراثية العالمية، بصور موثقة بدعم المبادرات الثقافية الوطنية.</p><div class="pillar-badge">معرفة سريعة وموثوقة</div></div><div class="pillar-card"><div class="pillar-header"><span class="pillar-num">03</span><span class="pillar-tag">السيادة التقنية</span></div><h3>استكشاف كامل بدون إنترنت</h3><p>حزم محلية خفيفة تحفظ قصص المعالم ومساراتها على الهاتف، لتعمل بكفاءة وسرعة فائقة حتى في المناطق الصحراوية والنائية.</p><div class="pillar-badge">استمرارية في الميدان</div></div><div class="pillar-card"><div class="pillar-header"><span class="pillar-num">04</span><span class="pillar-tag">منظومة النقل</span></div><h3>جسر مباشر بين الاستكشاف والوصول</h3><p>ربط قرار الزيارة فوراً بطلب وسيلة مواصلات ذكية أو بدء مسار الملاحة، لتحويل الاكتشاف الثقافي إلى حركة يومية واقتصاد سياحي نابض.</p><div class="pillar-badge">تكامل ذكي مع الحركة</div></div></div></section>
|
||||
<section class="ideas" id="ideas" aria-labelledby="ideas-title"><div class="wrap"><div class="section-intro"><div><div class="eyebrow">آفاق سيرو ماب</div><h2 id="ideas-title">كل إضافة، قيمة جديدة.</h2></div><p>أفكار نطوّرها تدريجيًا؛ تخدم المستخدم، وتمنح شركاء سيرو ماب حضورًا يصل إلى الناس.</p></div><div class="ideas-grid"><article class="idea"><span class="idea-index">01 / الشركاء</span><svg viewBox="0 0 32 32" aria-hidden="true"><rect x="3" y="7" width="26" height="19" rx="3"/><path d="M3 13h26 M8 20h6 M21 18v6 M18 21h6"/></svg><h3>مزايا أقرب إليك</h3><p>دليل للمستشفيات والفنادق ومراكز الدورات المتعاقدة مع شبكة سيرو، يعرض موقع كل جهة ومزايا البطاقة وشروطها المعتمدة.</p><div class="benefit">الفائدة: يجد حامل البطاقة أين يستفيد منها.</div></article><article class="idea"><span class="idea-index">02 / الفعاليات</span><svg viewBox="0 0 32 32" aria-hidden="true"><rect x="5" y="6" width="22" height="23" rx="3"/><path d="M10 3v7 M22 3v7 M5 14h22 M10 20h4 M18 20h4 M10 24h4"/></svg><h3>من الدعوة إلى الوجهة</h3><p>خريطة للمؤتمرات والفعاليات الكبرى: موقع القاعة، المداخل، المواقف والوجهات المحيطة، تُشارك برابط أو رمز QR.</p><div class="benefit">الفائدة: كل مناسبة فرصة حقيقية لتجربة التطبيق.</div></article><article class="idea"><span class="idea-index">03 / جودة البيانات</span><svg viewBox="0 0 32 32" aria-hidden="true"><path d="M25 14c0 7-9 14-9 14S7 21 7 14a9 9 0 1 1 18 0Z"/><path d="m12 14 3 3 6-6"/></svg><h3>معًا، نصحّح الخريطة</h3><p>اقتراح مكان، تصحيح عنوان أو تحديد مدخل. مساهمات تُراجع، وبيانات استخدام اختيارية تساعد على تحسين التجربة.</p><div class="benefit">الفائدة: عناوين أدق، وأساس أفضل للنقل لاحقًا.</div></article></div><p class="ideas-note">هذه إضافات مقترحة للتطوير؛ ظهور الجهات والمزايا مرتبط بتأكيد بياناتها واتفاقاتها.</p></div></section>
|
||||
<section class="wrap roadmap" id="journey" aria-labelledby="journey-title"><div class="eyebrow">رحلة تنمو بخطوات واضحة</div><h2 id="journey-title">نبدأ بما ينفع اليوم.<br>ونبني ما نحتاجه غدًا.</h2><div class="steps"><article class="step current"><div class="step-top"><span>الانطلاقة الأولى</span><b>01</b></div><h3>خرائط بين يدي الناس</h3><p>أربع دول، بلا تسجيل. تعريف بسيرو ماب، وتجارب فعلية تُحسّن المنتج وتبني حضور الاسم.</p></article><article class="step"><div class="step-top"><span>الإثراء التدريجي</span><b>02</b></div><h3>دليل يستحق العودة</h3><p>معالم العراق أولًا، ثم الشركاء والفعاليات؛ أسباب متجددة لفتح التطبيق والاستفادة منه.</p></article><article class="step"><div class="step-top"><span>الأفق القادم</span><b>03</b></div><h3>نحو سيرو للنقل الذكي</h3><p>ربط اكتشاف الوجهة بالوصول إليها عند إطلاق خدمة النقل، والتوسع إلى دول عربية أخرى تدريجيًا.</p></article></div></section>
|
||||
|
||||
<section class="closing"><span class="latin">SIRO MAP · THE FIRST JOURNEY</span><h2>من هنا تبدأ حكايتنا على الخريطة.</h2><p>العراق · الأردن · سوريا · مصر</p></section>
|
||||
</main><footer class="wrap footer"><span>سيرو ماب © 2026 <span aria-hidden="true"> — </span> الانطلاقة الأولى ورؤية التطوير</span><a href="#top">العودة إلى البداية ↑</a></footer>
|
||||
<script>
|
||||
const countries={iq:{title:'العراق، هنا تبدأ الحكاية.',description:'الخرائط أولًا، ومنها نبدأ بناء الدليل السياحي.',note:'نبدأ بإثراء المعالم السياحية والأثرية العراقية: قصة المكان، موقعه، ومعلومات تساعد على زيارته.'},jo:{title:'الأردن، ضمن أولى وجهاتنا.',description:'استخدام الخرائط دون الحاجة إلى إنشاء حساب.',note:'الأردن ضمن نطاق الخرائط في الانطلاقة الأولى. يبدأ إثراء المحتوى السياحي من العراق، ثم يتوسع تدريجيًا.'},sy:{title:'سوريا، أقرب على الخريطة.',description:'تجربة خرائط سهلة ضمن الدول الأربع الأولى.',note:'نطوّر جودة البيانات بالاختبار والمراجعة ومساهمات المستخدمين؛ لتصبح معلومات الأماكن أكثر دقة وفائدة.'},eg:{title:'مصر، امتداد لانطلاقتنا.',description:'خرائط بلا تسجيل ضمن تجربة سيرو ماب.',note:'مصر ضمن نطاق الانطلاقة. نبدأ بخدمة الخرائط، ونضيف الدليل والوجهات والشراكات على مراحل واضحة.'}};
|
||||
const tabs=[...document.querySelectorAll('[role=tab]')];function choose(tab){tabs.forEach(t=>{const selected=t===tab;t.setAttribute('aria-selected',String(selected));t.tabIndex=selected?0:-1});const item=countries[tab.dataset.country];document.getElementById('country-title').textContent=item.title;document.getElementById('country-description').textContent=item.description;document.getElementById('country-note').textContent=item.note;document.getElementById('country-panel').setAttribute('aria-labelledby',tab.id)}tabs.forEach((tab,index)=>{tab.addEventListener('click',()=>choose(tab));tab.addEventListener('keydown',event=>{let next;if(event.key==='ArrowLeft')next=(index+1)%tabs.length;if(event.key==='ArrowRight')next=(index-1+tabs.length)%tabs.length;if(event.key==='Home')next=0;if(event.key==='End')next=tabs.length-1;if(next!==undefined){event.preventDefault();choose(tabs[next]);tabs[next].focus()}})});
|
||||
</script>
|
||||
</body></html>
|
||||
@@ -0,0 +1,93 @@
|
||||
Copyright 2018 Boutros International. (http://www.boutrosfonts.com)
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
http://scripts.sil.org/OFL
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 4.0 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.0 MiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 1.0 MiB |
@@ -0,0 +1,82 @@
|
||||
<!doctype html>
|
||||
<html lang="ar" dir="rtl">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="theme-color" content="#061d42">
|
||||
<meta name="description" content="سيرو ماب: خرائط سهلة بلا تسجيل للعراق والأردن وسوريا ومصر، ورؤية لدليل سياحي يبدأ من معالم العراق.">
|
||||
<title>سيرو ماب — كل طريق، بداية حكاية</title>
|
||||
<link rel="icon" type="image/png" href="assets/siro-maps.png">
|
||||
<style>
|
||||
@font-face {
|
||||
font-family: 'Tajawal';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url(assets/tajawal-400.ttf) format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Tajawal';
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-display: swap;
|
||||
src: url(assets/tajawal-500.ttf) format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Tajawal';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url(assets/tajawal-700.ttf) format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Tajawal';
|
||||
font-style: normal;
|
||||
font-weight: 800;
|
||||
font-display: swap;
|
||||
src: url(assets/tajawal-800.ttf) format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Tajawal';
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
font-display: swap;
|
||||
src: url(assets/tajawal-900.ttf) format('truetype');
|
||||
}
|
||||
|
||||
:root{--navy:#061d42;--blue:#124f9f;--gold:#b59247;--pale:#edf3f9;--ink:#132844;--muted:#5c6c80;--line:#dce3ec;--white:#fff;--font:'Tajawal','Geeza Pro',Tahoma,sans-serif}
|
||||
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff;color:var(--ink);font-family:var(--font);font-size:18px;line-height:1.85}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #c6a057;outline-offset:6px}button{cursor:pointer}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.35}h2{font-size:clamp(32px,3.5vw,49px);font-weight:800;letter-spacing:-.6px}h3{font-size:25px}::selection{background:#d6bb7b;color:var(--navy)}.wrap{width:min(1190px,calc(100% - 88px));margin:auto}.eyebrow{font-size:14px;letter-spacing:1.8px;font-weight:700;color:var(--gold);display:flex;align-items:center;gap:12px;margin-bottom:22px}.eyebrow:before{content:'';width:28px;height:2px;background:currentColor}.latin{font-family:Arial,sans-serif;letter-spacing:2.5px;font-size:12px;direction:ltr;display:inline-block}.muted{color:var(--muted)}
|
||||
header{height:100px;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);position:relative;z-index:5}.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;gap:13px;align-items:center}.brand img{width:62px;height:62px;border-radius:15px}.brand strong{font-size:23px;display:block;line-height:1.3}.brand small{color:var(--muted);font-size:11px;letter-spacing:2.2px;display:block;direction:ltr}.links{display:flex;align-items:center;gap:30px;font-size:16px;font-weight:600}.links a{transition:color .2s}.links a:hover{color:var(--blue)}.nav-tag{font-size:14px;color:var(--blue);border:1px solid #c9d8ed;padding:7px 17px;border-radius:30px;white-space:nowrap}
|
||||
.hero{position:relative;overflow:hidden;background:var(--navy);color:white;padding:75px 0 0}.hero:before{content:'';position:absolute;width:740px;height:740px;left:-140px;top:-220px;background:radial-gradient(circle,rgba(39,105,180,.38),transparent 67%);pointer-events:none}.hero-grid{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:65px;position:relative;min-height:470px;padding-bottom:65px}.hero h1{font-size:clamp(44px,5.7vw,76px);font-weight:800;line-height:1.24;letter-spacing:-1px}.hero h1 span{color:#dbbc77}.hero p{font-size:20px;color:#c0ccdc;max-width:530px;margin-top:27px;line-height:1.9}.hero .eyebrow{color:#ddbd78}.hero-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:33px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:11px 23px;border-radius:7px;font-size:17px;font-weight:700;border:1px solid transparent;min-height:50px}.btn-gold{background:#dbbc77;color:#0b2547}.btn-gold:hover{background:#efd49b}.btn-outline{border-color:#526580;color:#e3eaf3}.btn-outline:hover{background:#ffffff0c}.arrow{font-family:Arial;font-size:23px;font-weight:400}.hero-status{display:block;font-size:14px;color:#acbbcf;margin-top:17px}.brand-stage{position:relative;display:flex;justify-content:center;align-items:center;min-height:420px;padding:15px}.brand-stage:before,.brand-stage:after{content:'';position:absolute;border:1px solid #759ed12b;border-radius:50%;width:410px;height:410px;pointer-events:none}.brand-stage:after{width:480px;height:480px;border-style:dashed;opacity:.6}.hero-icon{width:330px;border-radius:70px;transform:rotate(-6deg);box-shadow:0 30px 60px #0004;z-index:1}.float-label{position:absolute;z-index:2;border:1px solid #6986af6b;background:#0b2b55eb;box-shadow:0 10px 35px #0002;backdrop-filter:blur(15px);padding:10px 17px;border-radius:10px;font-size:16px;display:flex;align-items:center;gap:12px}.float-label svg{width:22px;height:22px;stroke:#e0bf7d;fill:none;stroke-width:1.6}.label-one{left:-5px;top:60px}.label-two{right:4px;bottom:43px}.hero-facts{position:relative;border-top:1px solid #ffffff20;display:grid;grid-template-columns:repeat(3,1fr);padding:24px 0;gap:30px}.fact{display:flex;gap:17px;align-items:center}.fact:not(:last-child){border-left:1px solid #ffffff20}.fact b{font-size:35px;color:#dfc28a;font-weight:500;line-height:1}.fact span{display:block;font-size:17px}.fact small{display:block;color:#a8b8cd;font-size:14px}
|
||||
.story{padding:88px 0;display:grid;grid-template-columns:.9fr 1.1fr;gap:95px;align-items:center}.story p{color:var(--muted);font-size:20px}.story .accent{color:var(--ink);font-weight:700}.story .eyebrow{margin-bottom:16px}.section-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:37px}.section-intro p{max-width:430px;color:var(--muted)}
|
||||
.coverage{background:var(--pale);padding:72px 0 78px}.country-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.country-tab{display:flex;align-items:center;justify-content:space-between;padding:17px 22px;background:transparent;border:1px solid #cdd8e6;color:var(--ink);border-radius:8px;transition:background .2s;min-height:83px}.country-tab strong{font-size:23px}.country-tab small{display:block;font-size:12px;letter-spacing:2px;line-height:1.2;color:var(--muted);direction:ltr}.country-tab .number{font-family:Arial;font-size:14px;color:#8b9db3}.country-tab[aria-selected=true]{background:var(--navy);border-color:var(--navy);color:white}.country-tab[aria-selected=true] small,.country-tab[aria-selected=true] .number{color:#d8bd81}.country-panel{background:#fff;border-radius:12px;padding:27px 32px;display:grid;grid-template-columns:1fr 1.4fr;gap:35px;align-items:center;border:1px solid #e2e9f2}.country-panel h3{font-size:28px;margin-bottom:5px}.country-panel p{font-size:17px;color:var(--muted)}.panel-note{border-right:2px solid #c4a266;padding-right:24px}.pill{display:inline-block;font-size:13px;border:1px solid #d9e1ec;background:#f7f9fc;padding:2px 10px;border-radius:30px;color:#49617f;margin-bottom:9px}
|
||||
.tourism{padding:90px 0}.tourism-feature{display:grid;grid-template-columns:1.15fr 1fr;background:var(--navy);color:white;border-radius:18px;overflow:hidden;min-height:415px}.tourism-photo{position:relative;background:#15395e;min-height:380px;overflow:hidden}.tourism-photo img{width:100%;height:100%;object-fit:cover;position:absolute}.photo-caption{position:absolute;bottom:0;right:0;left:0;color:white;padding:45px 28px 22px;background:linear-gradient(transparent,#041a35e6);font-size:16px}.photo-caption small{display:block;opacity:.8;font-size:12px;direction:ltr;text-align:right}.tourism-copy{padding:42px 40px;align-self:center}.tourism-copy h3{font-size:35px;margin:12px 0 15px}.tourism-copy p{color:#beccdd}.tourism-copy .pill{background:#ffffff0c;border-color:#597087;color:#e2c388}.tourism-list{padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:25px 0 0;font-size:16px;color:#e7edf6}.tourism-list li:before{content:'+';color:#d8b975;padding-left:10px}.tourism-foot{display:flex;justify-content:space-between;gap:25px;margin-top:20px;font-size:15px;color:var(--muted)}.tourism-foot a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
|
||||
.pillars-section{padding:80px 0}.pillars-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:35px}.pillar-card{background:var(--pale);border:1px solid #dce5f0;border-radius:16px;padding:32px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .2s,box-shadow .2s}.pillar-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(6,29,66,.08);border-color:#b59247}.pillar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.pillar-num{font-size:32px;font-weight:900;color:var(--gold);line-height:1}.pillar-tag{font-size:13px;font-weight:700;color:var(--blue);background:rgba(18,79,159,.08);padding:4px 12px;border-radius:20px}.pillar-card h3{font-size:24px;margin-bottom:12px;color:var(--navy)}.pillar-card p{color:var(--muted);font-size:16px;line-height:1.7;margin-bottom:20px}.pillar-badge{font-size:13px;font-weight:600;color:var(--gold);border-top:1px solid #dce5f0;padding-top:14px}
|
||||
.ideas{background:#f7f9fc;padding:75px 0 82px}.ideas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.idea{padding:32px 29px 30px}.idea:not(:last-child){border-left:1px solid var(--line)}.idea-index{font-size:13px;direction:ltr;display:block;text-align:right;color:#977837;letter-spacing:2px;margin-bottom:22px}.idea svg{width:34px;height:34px;fill:none;stroke:var(--blue);stroke-width:1.5;margin-bottom:15px}.idea h3{margin-bottom:13px;font-size:25px}.idea p{font-size:17px;color:var(--muted)}.benefit{margin-top:24px;padding-top:17px;border-top:1px solid var(--line);font-size:15px;color:var(--blue)}.ideas-note{font-size:14px;color:var(--muted);margin-top:20px}
|
||||
.roadmap{padding:90px 0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:42px}.step{border-top:2px solid #dce3ec;padding-top:22px}.step.current{border-top-color:var(--gold)}.step-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.step-top span{font-size:14px;color:#728096}.step-top b{font-size:28px;font-family:Arial;font-weight:400;color:#a7b4c4}.step.current .step-top span{color:#907132}.step h3{font-size:25px;margin-bottom:12px}.step p{color:var(--muted);font-size:17px}
|
||||
.partnership{border:1px solid var(--line);border-radius:15px;display:grid;grid-template-columns:160px 1fr;gap:40px;padding:32px 40px;align-items:center;margin-bottom:70px}.prize-logo{width:150px}.partnership .eyebrow{font-size:13px;margin-bottom:11px}.partnership h3{font-size:29px;margin-bottom:9px}.partnership p{font-size:18px;color:var(--muted);max-width:820px}.closing{background:var(--navy);color:white;text-align:center;padding:65px 24px}.closing .latin{color:#dbbc77;margin-bottom:15px}.closing h2{font-size:clamp(29px,4vw,46px)}.closing p{color:#acbed4;margin-top:15px;font-size:18px}.footer{padding:23px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:14px;color:var(--muted)}.footer a{color:var(--blue)}.footer .latin{font-size:11px;letter-spacing:1px}
|
||||
@media(min-width:1500px){.hero-grid{min-height:530px}}
|
||||
@media(max-width:1050px){.wrap{width:calc(100% - 48px)}.links{gap:18px}.nav-tag{display:none}.hero-grid{gap:25px}.hero-icon{width:280px;border-radius:58px}.brand-stage:before{width:340px;height:340px}.brand-stage:after{width:390px;height:390px}.label-one{left:0;top:45px}.label-two{right:0;bottom:45px}.story{gap:45px}.tourism-copy{padding:30px}.idea{padding:28px 20px}.country-tab{padding:15px}.hero h1{font-size:58px}}
|
||||
@media(max-width:760px){body{font-size:17px}.wrap{width:calc(100% - 36px)}header{height:auto;min-height:86px}.nav{padding:13px 0;flex-wrap:wrap;gap:10px}.brand img{width:48px;height:48px}.brand strong{font-size:20px}.brand small{font-size:10px}.links{gap:19px;font-size:14px}.links a:last-child{display:none}.hero{padding-top:44px}.hero-grid{grid-template-columns:1fr;gap:23px;padding-bottom:35px}.hero h1{font-size:clamp(44px,10vw,62px);line-height:1.3}.hero p{font-size:18px;margin-top:20px}.hero-actions{margin-top:25px}.btn{font-size:16px;padding:10px 19px}.hero-status{font-size:13px}.brand-stage{min-height:325px;width:min(100%,390px);margin:auto}.hero-icon{width:240px;border-radius:52px}.brand-stage:before{width:285px;height:285px}.brand-stage:after{width:320px;height:320px}.float-label{font-size:14px;padding:8px 12px}.label-one{top:39px;left:0}.label-two{bottom:23px;right:0}.hero-facts{gap:15px;padding:20px 0}.fact{gap:8px;display:block}.fact b{font-size:27px}.fact span{font-size:14px}.fact small{font-size:12px}.story{grid-template-columns:1fr;gap:22px;padding:53px 0}.story p{font-size:18px}.eyebrow{font-size:13px;margin-bottom:15px}.section-intro{display:block;margin-bottom:27px}.section-intro p{margin-top:17px;font-size:17px}.coverage{padding:48px 0}.country-tabs{grid-template-columns:repeat(2,1fr);gap:9px}.country-tab{min-height:78px}.country-tab strong{font-size:22px}.country-panel{grid-template-columns:1fr;gap:18px;padding:24px}.panel-note{padding-right:16px}.tourism{padding:55px 0}.tourism-feature{grid-template-columns:1fr}.tourism-photo{min-height:280px}.tourism-copy{padding:29px 25px}.tourism-copy h3{font-size:30px}.tourism-foot{display:block;font-size:14px}.tourism-foot a{display:inline-block;margin-top:7px}.ideas{padding:50px 0}.ideas-grid{grid-template-columns:1fr}.idea{padding:28px 4px}.idea:not(:last-child){border-left:0;border-bottom:1px solid var(--line)}.idea-index{margin-bottom:14px}.idea svg{float:left}.benefit{margin-top:17px}.roadmap{padding:53px 0}.steps{grid-template-columns:1fr;gap:28px;margin-top:25px}.step{padding-top:14px}.step-top{margin-bottom:8px}.partnership{grid-template-columns:1fr;gap:18px;padding:26px;margin-bottom:45px}.prize-logo{width:120px}.partnership h3{font-size:25px}.partnership p{font-size:17px}.closing{padding:45px 22px}.footer{flex-direction:column;align-items:flex-start;gap:8px}.tourism-list{font-size:15px}}
|
||||
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
|
||||
@media print{header,.hero-actions,.hero-status,.country-tabs,.footer a{display:none}body{font-size:12pt}.hero,.closing,.tourism-feature{print-color-adjust:exact;-webkit-print-color-adjust:exact}.wrap{width:92%}.hero{padding-top:30px}.hero-grid{min-height:0;gap:25px}.hero h1{font-size:38px}.hero p{font-size:16px}.brand-stage{min-height:250px}.hero-icon{width:200px}.brand-stage:before,.brand-stage:after,.float-label{display:none}.story,.tourism,.ideas,.roadmap,.coverage{padding:25px 0}.section-intro h2,h2{font-size:28px}.story p{font-size:16px}.tourism-feature{break-inside:avoid}.idea,.step,.partnership{break-inside:avoid}.partnership{margin-bottom:25px}.closing{padding:25px}}
|
||||
</style>
|
||||
</head>
|
||||
<body id="top">
|
||||
<header><nav class="wrap nav" aria-label="التنقل الرئيسي"><a class="brand" href="#top" aria-label="سيرو ماب، بداية الصفحة"><img src="assets/siro-maps.png" alt="شعار سيرو ماب" width="62" height="62"><span><strong>سيرو ماب</strong><small>SIRO MAP</small></span></a><div class="links"><a href="#coverage">الانطلاقة</a><a href="#tourism">اكتشف العراق</a><a href="#pillars">ركائز الدليل</a><a href="#ideas">آفاق سيرو ماب</a><a href="#journey">رحلتنا</a></div><span class="nav-tag">من سيرو ماب، إلى كل وجهة</span></nav></header>
|
||||
<main>
|
||||
<section class="hero" aria-labelledby="hero-title"><div class="wrap"><div class="hero-grid"><div><div class="eyebrow">الانطلاقة الأولى · سيرو ماب</div><h1 id="hero-title">كل طريق،<br>بداية <span>حكاية.</span></h1><p>خرائط تقرّب المسافات، وحكايات تقرّبنا من المكان.<br>نبدأ بأربع دول، ونفتح من العراق بابًا لاكتشاف الثقافة والمعالم والوجهات.</p><div class="hero-actions"><a class="btn btn-gold" href="#coverage">اكتشف الانطلاقة <span class="arrow" aria-hidden="true">←</span></a><a class="btn btn-outline" href="#ideas">ما الذي نبنيه معًا؟</a></div><small class="hero-status">نسخة التطبيق قيد المراجعة على Google Play</small></div><div class="brand-stage"><img class="hero-icon" src="assets/siro-maps.png" alt="شعار سيرو ماب الذكي للملاحة والتنقل" width="512" height="512"><span class="float-label label-one"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M20 10c0 6-8 11-8 11S4 16 4 10a8 8 0 1 1 16 0Z"/><circle cx="12" cy="10" r="2.5"/></svg>وجهتك أقرب</span><span class="float-label label-two"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="m3 5 6-2 6 2 6-2v16l-6 2-6-2-6 2Z M9 3v16 M15 5v16"/></svg>اكتشف حكاية المكان</span></div></div><div class="hero-facts"><div class="fact"><b>04</b><div><span>دول في الانطلاقة</span><small>العراق · الأردن · سوريا · مصر</small></div></div><div class="fact"><b>01</b><div><span>بداية للدليل السياحي</span><small>معالم العراق أولًا</small></div></div><div class="fact"><b>ببساطة</b><div><span>خرائط بلا تسجيل</span><small>افتح التطبيق، وابدأ رحلتك</small></div></div></div></div></section>
|
||||
<section class="wrap story" aria-labelledby="story-title"><div><div class="eyebrow">فكرة تجمعنا</div><h2 id="story-title">من اسم يحمل حضارة،<br>إلى خدمة ترافق الناس.</h2></div><p>تعتمد سيرو ماب على الابتكار والسيادة الرقمية وتوفير التكاليف. واليوم، نمنح هذا المشروع حضورًا قويًا في الحياة اليومية: خرائط سهلة ومستقلة، ودليل يكشف ما حولنا من وجهات ومعالم.<br><span class="accent">خطوة أولى لشراكتنا، وأساس ننمو عليه معًا.</span></p></section>
|
||||
<section class="coverage" id="coverage" aria-labelledby="coverage-title"><div class="wrap"><div class="section-intro"><div><div class="eyebrow">أربع دول · تجربة واحدة</div><h2 id="coverage-title">بداية قريبة منّا.</h2></div><p>خرائط للاستخدام دون إنشاء حساب. ننطلق بهذا النطاق، ونواصل تحسين البيانات والتجربة قبل التوسع إلى مزيد من الدول العربية.</p></div><div class="country-tabs" role="tablist" aria-label="دول الانطلاقة"><button id="tab-iq" class="country-tab" role="tab" aria-selected="true" aria-controls="country-panel" data-country="iq"><span><strong>العراق</strong><small>IRAQ</small></span><span class="number">01</span></button><button id="tab-jo" class="country-tab" role="tab" aria-selected="false" aria-controls="country-panel" tabindex="-1" data-country="jo"><span><strong>الأردن</strong><small>JORDAN</small></span><span class="number">02</span></button><button id="tab-sy" class="country-tab" role="tab" aria-selected="false" aria-controls="country-panel" tabindex="-1" data-country="sy"><span><strong>سوريا</strong><small>SYRIA</small></span><span class="number">03</span></button><button id="tab-eg" class="country-tab" role="tab" aria-selected="false" aria-controls="country-panel" tabindex="-1" data-country="eg"><span><strong>مصر</strong><small>EGYPT</small></span><span class="number">04</span></button></div><div id="country-panel" class="country-panel" role="tabpanel" tabindex="0" aria-labelledby="tab-iq"><div><span class="pill">ضمن نطاق الانطلاقة</span><h3 id="country-title">العراق، هنا تبدأ الحكاية.</h3><p id="country-description">الخرائط أولًا، ومنها نبدأ بناء الدليل السياحي.</p></div><p id="country-note" class="panel-note">نبدأ بإثراء المعالم السياحية والأثرية العراقية: قصة المكان، موقعه، ومعلومات تساعد على زيارته.</p></div></div></section>
|
||||
<section class="wrap tourism" id="tourism" aria-labelledby="tourism-title"><div class="section-intro"><div><div class="eyebrow">الخطوة التالية · الدليل السياحي</div><h2 id="tourism-title">للمكان أكثر من عنوان.</h2></div><p>من معالم العراق نبدأ. نريد أن تتحول النقطة على الخريطة إلى حكاية تعرفها، ووجهة تستطيع التخطيط لزيارتها.</p></div><div class="tourism-feature"><div class="tourism-photo" id="tourism-photo"><img src="assets/erbil-citadel.jpg" alt="قلعة أربيل التاريخية والأسواق المحيطة بها" width="4032" height="3024" loading="lazy"><div class="photo-caption">قلعة أربيل · العراق<small>الصورة: <a href="https://commons.wikimedia.org/wiki/File:Citadel_of_Erbil.jpg" target="_blank" rel="noopener">Sarbast.T.Hameed / Wikimedia Commons</a> · <a href="https://creativecommons.org/licenses/by-sa/4.0/" target="_blank" rel="noopener">CC BY-SA 4.0</a> · عرض مقتصّ</small></div></div><div class="tourism-copy"><span class="pill">تصور قادم داخل التطبيق</span><h3>اكتشف ما حولك،<br>واعرف ما وراءه.</h3><p>دليل قريب منك للمعالم والمواقع الأثرية، بمعلومات موثقة تُراجع وتُحدّث مع الشركاء المحليين.</p><ul class="tourism-list"><li>قصة موجزة لكل معلم</li><li>صور وتعريف بالمكان</li><li>المداخل ومعلومات الزيارة</li><li>وجهات قريبة منك</li></ul></div></div><div class="tourism-foot"><span>أمثلة للإثراء: قلعة أربيل، بابل، وآثار ومدن العراق. تُراجع إتاحة الزيارة لكل موقع قبل إدراجه.</span><a href="https://whc.unesco.org/en/statesparties/iq" target="_blank" rel="noopener">تراث العراق لدى اليونسكو ↗</a></div></section>
|
||||
<section class="wrap pillars-section" id="pillars" aria-labelledby="pillars-title"><div class="section-intro"><div><div class="eyebrow">منهجية العمل · الركائز الأربع للدليل</div><h2 id="pillars-title">كيف نُعيد صياغة تجربة المعالم؟</h2></div><p>لا نكتفي بوضع نقطة صامتة على الخارطة؛ بل نمزج دقة الملاحة الميدانية بسردية التاريخ والسيادة التقنية.</p></div><div class="pillars-grid"><div class="pillar-card"><div class="pillar-header"><span class="pillar-num">01</span><span class="pillar-tag">الملاحة الواقعية</span></div><h3>التوجيه للبوابات الفعلية</h3><p>توجيه السائقين والزوار مباشرة إلى نقاط الدخول الرسمية ومواقف السيارات بدلاً من التوجيه الخاطئ إلى منتصف المواقع الشاسعة أو الأسوار المغلقة.</p><div class="pillar-badge">دقة الوصول الميداني</div></div><div class="pillar-card"><div class="pillar-header"><span class="pillar-num">02</span><span class="pillar-tag">التوثيق الحضاري</span></div><h3>سردية المكان في 60 ثانية</h3><p>بطاقة ذكية ومكثفة لكل معلم: الحقبة التاريخية، من بنى المكان، وأهميته التراثية العالمية، بصور موثقة بدعم المبادرات الثقافية الوطنية.</p><div class="pillar-badge">معرفة سريعة وموثوقة</div></div><div class="pillar-card"><div class="pillar-header"><span class="pillar-num">03</span><span class="pillar-tag">السيادة التقنية</span></div><h3>استكشاف كامل بدون إنترنت</h3><p>حزم محلية خفيفة تحفظ قصص المعالم ومساراتها على الهاتف، لتعمل بكفاءة وسرعة فائقة حتى في المناطق الصحراوية والنائية.</p><div class="pillar-badge">استمرارية في الميدان</div></div><div class="pillar-card"><div class="pillar-header"><span class="pillar-num">04</span><span class="pillar-tag">منظومة النقل</span></div><h3>جسر مباشر بين الاستكشاف والوصول</h3><p>ربط قرار الزيارة فوراً بطلب وسيلة مواصلات ذكية أو بدء مسار الملاحة، لتحويل الاكتشاف الثقافي إلى حركة يومية واقتصاد سياحي نابض.</p><div class="pillar-badge">تكامل ذكي مع الحركة</div></div></div></section>
|
||||
<section class="ideas" id="ideas" aria-labelledby="ideas-title"><div class="wrap"><div class="section-intro"><div><div class="eyebrow">آفاق سيرو ماب</div><h2 id="ideas-title">كل إضافة، قيمة جديدة.</h2></div><p>أفكار نطوّرها تدريجيًا؛ تخدم المستخدم، وتمنح شركاء سيرو ماب حضورًا يصل إلى الناس.</p></div><div class="ideas-grid"><article class="idea"><span class="idea-index">01 / الشركاء</span><svg viewBox="0 0 32 32" aria-hidden="true"><rect x="3" y="7" width="26" height="19" rx="3"/><path d="M3 13h26 M8 20h6 M21 18v6 M18 21h6"/></svg><h3>مزايا أقرب إليك</h3><p>دليل للمستشفيات والفنادق ومراكز الدورات المتعاقدة مع شبكة سيرو، يعرض موقع كل جهة ومزايا البطاقة وشروطها المعتمدة.</p><div class="benefit">الفائدة: يجد حامل البطاقة أين يستفيد منها.</div></article><article class="idea"><span class="idea-index">02 / الفعاليات</span><svg viewBox="0 0 32 32" aria-hidden="true"><rect x="5" y="6" width="22" height="23" rx="3"/><path d="M10 3v7 M22 3v7 M5 14h22 M10 20h4 M18 20h4 M10 24h4"/></svg><h3>من الدعوة إلى الوجهة</h3><p>خريطة للمؤتمرات والفعاليات الكبرى: موقع القاعة، المداخل، المواقف والوجهات المحيطة، تُشارك برابط أو رمز QR.</p><div class="benefit">الفائدة: كل مناسبة فرصة حقيقية لتجربة التطبيق.</div></article><article class="idea"><span class="idea-index">03 / جودة البيانات</span><svg viewBox="0 0 32 32" aria-hidden="true"><path d="M25 14c0 7-9 14-9 14S7 21 7 14a9 9 0 1 1 18 0Z"/><path d="m12 14 3 3 6-6"/></svg><h3>معًا، نصحّح الخريطة</h3><p>اقتراح مكان، تصحيح عنوان أو تحديد مدخل. مساهمات تُراجع، وبيانات استخدام اختيارية تساعد على تحسين التجربة.</p><div class="benefit">الفائدة: عناوين أدق، وأساس أفضل للنقل لاحقًا.</div></article></div><p class="ideas-note">هذه إضافات مقترحة للتطوير؛ ظهور الجهات والمزايا مرتبط بتأكيد بياناتها واتفاقاتها.</p></div></section>
|
||||
<section class="wrap roadmap" id="journey" aria-labelledby="journey-title"><div class="eyebrow">رحلة تنمو بخطوات واضحة</div><h2 id="journey-title">نبدأ بما ينفع اليوم.<br>ونبني ما نحتاجه غدًا.</h2><div class="steps"><article class="step current"><div class="step-top"><span>الانطلاقة الأولى</span><b>01</b></div><h3>خرائط بين يدي الناس</h3><p>أربع دول، بلا تسجيل. تعريف بسيرو ماب، وتجارب فعلية تُحسّن المنتج وتبني حضور الاسم.</p></article><article class="step"><div class="step-top"><span>الإثراء التدريجي</span><b>02</b></div><h3>دليل يستحق العودة</h3><p>معالم العراق أولًا، ثم الشركاء والفعاليات؛ أسباب متجددة لفتح التطبيق والاستفادة منه.</p></article><article class="step"><div class="step-top"><span>الأفق القادم</span><b>03</b></div><h3>نحو سيرو للنقل الذكي</h3><p>ربط اكتشاف الوجهة بالوصول إليها عند إطلاق خدمة النقل، والتوسع إلى دول عربية أخرى تدريجيًا.</p></article></div></section>
|
||||
|
||||
<section class="closing"><span class="latin">SIRO MAP · THE FIRST JOURNEY</span><h2>من هنا تبدأ حكايتنا على الخريطة.</h2><p>العراق · الأردن · سوريا · مصر</p></section>
|
||||
</main><footer class="wrap footer"><span>سيرو ماب © 2026 <span aria-hidden="true"> — </span> الانطلاقة الأولى ورؤية التطوير</span><a href="#top">العودة إلى البداية ↑</a></footer>
|
||||
<script>
|
||||
const countries={iq:{title:'العراق، هنا تبدأ الحكاية.',description:'الخرائط أولًا، ومنها نبدأ بناء الدليل السياحي.',note:'نبدأ بإثراء المعالم السياحية والأثرية العراقية: قصة المكان، موقعه، ومعلومات تساعد على زيارته.'},jo:{title:'الأردن، ضمن أولى وجهاتنا.',description:'استخدام الخرائط دون الحاجة إلى إنشاء حساب.',note:'الأردن ضمن نطاق الخرائط في الانطلاقة الأولى. يبدأ إثراء المحتوى السياحي من العراق، ثم يتوسع تدريجيًا.'},sy:{title:'سوريا، أقرب على الخريطة.',description:'تجربة خرائط سهلة ضمن الدول الأربع الأولى.',note:'نطوّر جودة البيانات بالاختبار والمراجعة ومساهمات المستخدمين؛ لتصبح معلومات الأماكن أكثر دقة وفائدة.'},eg:{title:'مصر، امتداد لانطلاقتنا.',description:'خرائط بلا تسجيل ضمن تجربة سيرو ماب.',note:'مصر ضمن نطاق الانطلاقة. نبدأ بخدمة الخرائط، ونضيف الدليل والوجهات والشراكات على مراحل واضحة.'}};
|
||||
const tabs=[...document.querySelectorAll('[role=tab]')];function choose(tab){tabs.forEach(t=>{const selected=t===tab;t.setAttribute('aria-selected',String(selected));t.tabIndex=selected?0:-1});const item=countries[tab.dataset.country];document.getElementById('country-title').textContent=item.title;document.getElementById('country-description').textContent=item.description;document.getElementById('country-note').textContent=item.note;document.getElementById('country-panel').setAttribute('aria-labelledby',tab.id)}tabs.forEach((tab,index)=>{tab.addEventListener('click',()=>choose(tab));tab.addEventListener('keydown',event=>{let next;if(event.key==='ArrowLeft')next=(index+1)%tabs.length;if(event.key==='ArrowRight')next=(index-1+tabs.length)%tabs.length;if(event.key==='Home')next=0;if(event.key==='End')next=tabs.length-1;if(next!==undefined){event.preventDefault();choose(tabs[next]);tabs[next].focus()}})});
|
||||
</script>
|
||||
</body></html>
|
||||
Reference in New Issue
Block a user