Une application web mobile de réseau social permettant aux utilisateurs de partager leurs profils, leurs passions et de se connecter avec d'autres personnes via différents réseaux sociaux.
ConnectMobile est une plateforme de partage de contacts sociaux conçue spécialement pour les appareils mobiles. L'application permet aux utilisateurs de créer un profil complet avec leurs informations personnelles et leurs liens vers différents réseaux sociaux (WhatsApp, Facebook, Instagram, Telegram), de partager leurs passions avec des images, et de rechercher d'autres utilisateurs.
- Inscription : Création de compte avec informations personnelles (nom, prénom, email, ville, profession)
- Connexion : Authentification sécurisée avec email et mot de passe hashé
- Profil utilisateur : Page de profil personnalisée avec photo de profil et photo de couverture
- Modification de profil : Mise à jour des informations personnelles et des liens sociaux
- Suppression de compte : Possibilité de supprimer son profil et toutes les données associées
- Intégration de multiples plateformes :
✈️ Telegram
- Affichage des liens sur le profil avec icônes
- Ajout de passions avec images personnalisées
- Galerie de passions sur le profil
- Upload d'images pour illustrer chaque passion
- Moteur de recherche pour trouver d'autres utilisateurs
- Affichage des résultats avec cartes de profil
- Navigation intuitive avec barre de navigation fixe en bas
- Design responsive optimisé pour mobile
- Navigation en bas de l'écran pour faciliter l'utilisation à une main
- Icônes Font Awesome pour une meilleure expérience utilisateur
- Interface en français
-
Frontend :
- HTML5
- CSS3
- JavaScript
- Font Awesome 6.0.0
-
Backend :
- PHP (programmation côté serveur)
- Sessions PHP pour la gestion de l'authentification
-
Base de données :
- MySQL
- Tables :
users,passions
connectmobile/
├── index_mobile.html # Page d'accueil
├── login_mobile.php # Page de connexion
├── signup_mobile.php # Page d'inscription
├── profile_mobile.php # Page de profil utilisateur
├── search_mobile.php # Page de recherche
├── add_passion_mobile.php # Ajout de passions
├── delete_profile_mobile.php # Suppression de profil
├── logout_mobile.php # Déconnexion
├── goodbye_mobile.php # Page de confirmation après suppression
├── db_connect.php # Connexion à la base de données
├── assets/ # Images et médias
│ ├── passion_images/ # Images des passions
│ └── [photos de profil] # Photos de profil et couverture
└── css/
└── styles.css # Feuilles de style
- Serveur web avec PHP (Apache, Nginx, etc.)
- PHP 7.4 ou supérieur
- MySQL 5.7 ou supérieur
- phpMyAdmin (recommandé pour la gestion de la base de données)
-
Cloner le projet
git clone https://github.com/jocha28/connectmobile.git cd connectmobile -
Configurer le serveur web
- Placer les fichiers dans le répertoire web de votre serveur (par exemple :
/var/www/html/ouhtdocs) - Assurez-vous que PHP est activé sur votre serveur
- Placer les fichiers dans le répertoire web de votre serveur (par exemple :
-
Créer la base de données
CREATE DATABASE social_network;
-
Créer les tables nécessaires
USE social_network; -- Table des utilisateurs CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, first_name VARCHAR(100) NOT NULL, last_name VARCHAR(100) NOT NULL, email VARCHAR(255) UNIQUE NOT NULL, password VARCHAR(255) NOT NULL, whatsapp VARCHAR(100), facebook VARCHAR(255), instagram VARCHAR(255), telegram VARCHAR(100), city VARCHAR(100), profession VARCHAR(100), profile_picture VARCHAR(255) DEFAULT 'assets/default.jpeg', cover_photo VARCHAR(255) DEFAULT 'assets/default.jpeg', consent TINYINT(1) DEFAULT 0, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -- Note : Le code actuel utilise 'assets/🧸.jpeg' comme fichier par défaut. -- Pour production, renommez ce fichier en 'default.jpeg' et mettez à jour les références dans le code. -- Table des passions CREATE TABLE passions ( id INT AUTO_INCREMENT PRIMARY KEY, user_id INT NOT NULL, name VARCHAR(255) NOT NULL, image_path VARCHAR(255), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE );
-
Configurer la connexion à la base de données
- La plupart des fichiers utilisent la base de données
social_network - Si vous souhaitez utiliser un nom différent, modifiez les connexions dans tous les fichiers PHP
- Exemple dans les fichiers
login_mobile.php,signup_mobile.php,profile_mobile.php, etc. :$conn = new mysqli("localhost", "root", "", "social_network");
- Note : Le fichier
db_connect.phputilise actuellementsocial_contacts. Pour corriger cette incohérence, modifiez la ligne 2 dedb_connect.php:// Remplacer : $conn = mysqli_connect('localhost', 'root', '', 'social_contacts'); // Par : $conn = mysqli_connect('localhost', 'root', '', 'social_network');
- La plupart des fichiers utilisent la base de données
-
Créer les dossiers pour les uploads
mkdir -p assets/passion_images chmod 755 assets chmod 755 assets/passion_images
-
Accéder à l'application
- Ouvrir votre navigateur
- Accéder à :
http://localhost/connectmobile/index_mobile.html
-
S'inscrire :
- Cliquer sur "Inscription" depuis la page d'accueil
- Remplir le formulaire avec vos informations
- Uploader une photo de profil (optionnel)
- Accepter les conditions d'utilisation
- Valider l'inscription
-
Se connecter :
- Entrer votre email et mot de passe
- Cliquer sur "Se connecter"
-
Compléter votre profil :
- Ajouter vos liens réseaux sociaux
- Uploader une photo de couverture
- Ajouter vos passions avec images
-
Rechercher des utilisateurs :
- Utiliser la barre de recherche
- Consulter les profils des autres utilisateurs
-
Gérer votre compte :
- Modifier vos informations depuis votre profil
- Déconnecter via le bouton de déconnexion
- Supprimer votre compte si nécessaire
- Les mots de passe sont hashés avec
password_hash()de PHP - Sessions PHP pour gérer l'authentification
- Validation des uploads de fichiers (types d'images autorisés)
- Protection contre les accès non autorisés aux pages protégées
- Ce projet utilise des requêtes SQL directes dans plusieurs fichiers (login_mobile.php, signup_mobile.php, profile_mobile.php). Pour une utilisation en production, il est fortement recommandé d'utiliser des requêtes préparées (prepared statements) pour prévenir les injections SQL.
- Exemple de remplacement recommandé :
// Au lieu de : $sql = "SELECT * FROM users WHERE email='$email'"; // Utiliser : $stmt = $conn->prepare("SELECT * FROM users WHERE email = ?"); $stmt->bind_param("s", $email); $stmt->execute();
- Les fichiers par défaut dans le code utilisent des emojis dans les noms (ex: 🧸.jpeg). Pour éviter des problèmes de compatibilité, il est recommandé de :
- Renommer le fichier
assets/🧸.jpegenassets/default.jpeg - Mettre à jour les références dans
signup_mobile.php(lignes 27-28) et autres fichiers qui utilisent ce nom de fichier
- Renommer le fichier
Éditer le fichier css/styles.css et les balises <style> dans les fichiers PHP pour personnaliser :
- Couleur principale :
#4CAF50(vert) - Couleurs de fond
- Styles des boutons et formulaires
- Modifier les fichiers PHP concernés (signup, profile)
- Ajouter les champs dans la base de données
- Ajouter les icônes Font Awesome correspondantes
Les contributions sont les bienvenues ! N'hésitez pas à :
- Signaler des bugs
- Proposer de nouvelles fonctionnalités
- Améliorer la documentation
- Soumettre des pull requests
Ce projet est un projet éducatif open source.
Développé par jocha28
Pour toute question ou problème :
- Ouvrir une issue sur GitHub
- Consulter la documentation du code
Remarque : Cette application est conçue principalement pour un usage mobile. Pour une meilleure expérience, utilisez-la sur un smartphone ou un navigateur en mode développeur mobile.